@charset "UTF-8";

html {
  font-size: 100%;
}

@media (max-width: 1430px) {
  html {
    font-size: 1.1188811189vw;
  }
}

@media screen and (max-width: 767px) {
  html {
    font-size: 100%;
  }
}

@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  color: #262626;
  font-weight: 400;
  letter-spacing: 0.05em;
}

a,
button {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

a:hover,
button:hover {
  opacity: 0.7;
  cursor: pointer;
}

/*****************************
* A Modern CSS Reset (https://github.com/hankchizljaw/modern-css-reset)
* 上記に、ul要素,ol要素,a要素への記述追加
*****************************/
/* Box sizing rules */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

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

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
  list-style: none;
  padding: 0;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: auto;
}

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

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

a {
  text-decoration: none;
  color: inherit;
}

/*h1 {
  font-size: clamp(2.5rem, 5vw, 4rem);
  line-height: 1.2;
}

h2 {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  line-height: 1.3;
}

h3 {
  font-size: clamp(1.4rem, 2.5vw, 1.75rem);
}
h4 {
  font-size: clamp(1.1rem, 2.5vw, 1.4rem);
}

p {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  line-height: 1.7;
}

.small-text {
  font-size: clamp(0.8125rem, 1vw, 0.875rem);
}*/

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

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

button {
  border: none;
  padding: 0;
  background-color: transparent;
  background-color: initial;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

img.lazyload {
  opacity: 0;
  transition: opacity 0.6s ease;
}
img.lazyloaded {
  opacity: 1;
}

.l-inner {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 1430px;
  padding-right: 3.4375rem;
  padding-left: 3.4375rem;
}

@media screen and (max-width: 767px) {
  .l-inner {
    padding-right: 1.125rem;
    padding-left: 1.125rem;
  }
}

.c-topsecttl {
  font-weight: 600;
  text-align: center;
  font-size: 4.5rem;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .c-topsecttl {
    font-size: 3rem;
  }
}

.section__ttl {
  position: relative;
  font-weight: 700;
  font-size: max(4.5rem, 40px);
  color: #005db3;
  letter-spacing: 0.25rem;
  z-index: 99;
}
.section__subttl {
  position: relative;
  font-weight: 300;
  font-size: 1.45rem;
  color: #747474;
  z-index: 99;
  letter-spacing: 0.15rem;
}

@media screen and (max-width: 767px) {
  .section__ttl {
    font-size: max(2.5rem, 32px);
  }
  .section__subttl {
    font-size: 1.15rem;
  }
}

.p-business {
  padding-top: max(10.625rem, 120px);
  padding-bottom: 9.0625rem;
}

@media screen and (max-width: 767px) {
  .p-business {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.p-business__ttl {
  font-weight: 700;
  font-size: max(3.6rem, 36px);
}
.p-business__subttl {
  font-weight: 300;
  font-size: 1.35rem;
}

@media screen and (max-width: 767px) {
  .p-business__ttl {
    font-size: 36px;
  }
}

.p-business-body {
  position: relative;
  margin-top: 21px;
}

.p-business__contents {
  /* height: 100vh; */
  width: 100%;
  position: relative;
  /* overflow: hidden; */
  display: block;
  overflow: visible !important;
}

.p-business__item {
  position: sticky;
  position: -webkit-sticky;
  padding: 6.25rem 0 0;
  color: #fff;
  top: 1rem;
  min-height: 96vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 2px 40px rgba(0, 0, 0, 0.1);
  will-change: background-position;
  /* position: absolute;
  inset: 0;
  color: #fff;
  z-index: 0;
  padding: 2.25rem 0 0;
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
  -webkit-transition: -webkit-clip-path 0.3s ease;
  transition: -webkit-clip-path 0.3s ease;
  transition: clip-path 0.3s ease;
  transition: clip-path 0.3s ease, -webkit-clip-path 0.3s ease; */
}

@media screen and (max-width: 767px) {
  .p-business__item {
    padding: 5rem 0 0;
  }
}

.p-business__item .l-inner {
  height: calc(100% - 230px);
  padding-bottom: 30px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.p-business__item.--01 {
  background: url(../images/business01.png) no-repeat center bottom/cover;
  z-index: 1;
}

.p-business__item.--01 .width-wrap {
  max-width: 640px;
  margin-left: 0;
  margin-right: auto;
}

.p-business__item.--02 {
  background: url(../images/business02.jpg) no-repeat center bottom/cover;
  z-index: 2;
  color: #ffffff;
}

.p-business__item.--02 .width-wrap {
  max-width: 708px;
  margin-left: 0;
  margin-right: auto;
}

.p-business__item.--03 {
  background: url(../images/business04.png) no-repeat center 25%/cover;
  z-index: 3;
}

.p-business__item.--03 .width-wrap {
  max-width: 720px;
  margin-left: auto;
  margin-right: 0;
}

.p-business__item.--04 {
  background: url(../images/business03.png) no-repeat center 25%/cover;
  z-index: 4;
}

.p-business__item.--04::before {
  content: "";
  background-color: #0d3c1c5b;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  z-index: -9999;
}

.p-business__item.--03::before {
  content: "";
  background-color: #0f141917;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  z-index: -9999;
}

.p-business__item.--04 .width-wrap {
  max-width: 720px;
  margin-left: 0;
  margin-right: auto;
}

@media screen and (max-width: 767px) {
  .p-business__item.--01 {
    background: url(../images/business01.png) no-repeat center right 32%/cover;
  }

  .p-business__item.--01 .width-wrap {
    max-width: 84%;
  }

  .p-business__item.--02 {
    background: #fff url(../images/business02-sp.jpg) no-repeat center center/cover;
    background-position: right 50% bottom 36%;
    padding-top: 3rem;
  }

  .p-business__item.--02 .width-wrap {
    max-width: 90%;
  }

  .p-business__item.--03 .width-wrap {
    max-width: 100%;
  }

  .p-business__item.--04 .width-wrap {
    max-width: 84%;
  }
}

.p-business__item .num {
  font-weight: 700;
  font-size: max(3rem, 32px);
}

@media screen and (max-width: 767px) {
  .p-business__item .num {
    font-size: 36px;
  }
}

.p-business__item .ttl {
  margin-top: 12px;
  font-weight: 500;
  font-size: max(2rem, 24px);
  margin-bottom: 2.125rem;
  line-height: 1.3;
}

@media screen and (max-width: 767px) {
  .p-business__item .ttl {
    font-size: 22px;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
}

.p-business__item.--02 .ttl {
  margin-top: 19px;
  margin-bottom: 2.9375rem;
}

@media screen and (max-width: 767px) {
  .p-business__item.--02 .ttl {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
}

.p-business__item.--03 .ttl {
}

@media screen and (max-width: 767px) {
  .p-business__item.--03 .ttl {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
}

.p-business__item.--04 .ttl {
}

@media screen and (max-width: 767px) {
  .p-business__item.--04 .ttl {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
}

.p-business__item .subttl {
  font-weight: 300;
  font-size: 24px;
  margin-bottom: 1.6875rem;
}

@media screen and (max-width: 767px) {
  .p-business__item .subttl {
    margin-bottom: 2rem;
    font-size: 16px;
    line-height: 1.6;
  }
}

.p-business__item.--02 .subttl {
  margin-bottom: 1.3125rem;
}

@media screen and (max-width: 767px) {
  .p-business__item.--02 .subttl {
    margin-bottom: 2rem;
  }
}

.p-business__item.--03 .subttl {
  margin-bottom: 2.375rem;
}

@media screen and (max-width: 767px) {
  .p-business__item.--03 .subttl {
    margin-bottom: 2rem;
  }
}

.p-business__item .text {
  font-weight: 300;
  font-size: 20px;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .p-business__item .text {
    font-size: 16px;
  }
}

.p-business__item strong {
  font-weight: 500;
  font-size: 15px;
}

.p-business__btn {
  max-width: 410px;
  margin-top: 2rem;
}

@media screen and (max-width: 767px) {
  .p-business__btn {
    margin-top: 1rem;
    max-width: 300px;
  }
}

.p-business__btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  font-size: max(1.6rem, 18px);
  font-weight: 700;
  background-color: #005db3;
  color: #fff;
  border-radius: 8px;
  border: 0px solid #262626;
  padding: 1.6rem 2rem;
}

.p-business__btn a>.arrow {
  width: 20px;
  height: 20px;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  position: relative;
  transform: rotate(-45deg);
  margin: 0 6px;
  transition: all .3s ease;
}

.p-business__btn a>.arrow::before {
  display: block;
  background-color: currentColor;
  width: 24px;
  transform-origin: bottom right;
  height: 2px;
  position: absolute;
  opacity: 0;
  bottom: calc(-2px / 2);
  transform: rotate(45deg);
  transition: all .3s ease;
  content: "";
  right: 0;
}

.p-business__btn a:hover>.arrow {
  transform: rotate(-45deg) translate(4px, 4px);
  border-color: #222222;
}

.p-business__btn a:hover>.arrow::before {
  opacity: 1;
  width: 24px;
  background-color: #1b1b1b;
}

.p-business__btn a:hover {
  background-color: #A8C2D5;
  color: #1b1b1b;
}


@media screen and (max-width: 767px) {
  .p-business__btn a>.arrow {
    width: 14px;
    height: 14px;
  }

  .p-business__btn a {
    width: fit-content;
    gap: 0.7rem;
    font-size: 20px;
    font-weight: 400;
    padding: 0.75rem 1.35rem;
    border-radius: 28px;
  }

  .p-business__btn a::after {
    width: 2.1875rem;
  }
}

.p-business-slider {
  height: 209px;
  padding-top: 40px;
  padding-bottom: 40px;
}

.p-business__item.--01 .p-business-slider {
  background: #f5f5f500;
  backdrop-filter: blur(2px);
}

.p-business__item.--02 .p-business-slider {
  background: #f5f5f500;
  backdrop-filter: blur(2px);
}

.p-business__item.--03 .p-business-slider {
  background: #f5f5f500;
  backdrop-filter: blur(3px);
}

.p-business__item.--04 .p-business-slider {
  background: #f5f5f500;
  backdrop-filter: blur(8px);
}

.p-business-slider .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}

.p-business-slider .swiper-slide {
  width: 172px;
  aspect-ratio: 4/3;
}

.p-business-slider .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-company-mv {
  width: 100%;
  height: 60vh;
}

.p-company-mv img {
  width: 100%;
  height: 82%;
  position: fixed;
  z-index: -1;
  -o-object-fit: cover;
  object-fit: cover;
  object-position: 50% 70%;
}

@media screen and (max-width: 767px) {
  .p-business-slider {
    height: 180px;
    padding-top: 24px;
    padding-bottom: 24px;
  }
  .p-company-mv {
    height: 42vh;
  }

  .p-company-mv img {
    height: 62%;
  }
}

.p-company-pagettl {
  text-align: center;
  position: relative;
  height: 100%;
  padding-top: 6.1875rem;
  padding-bottom: 3.125rem;
}
.p-company__secttl02 {
  width: fit-content;
  font-weight: 400;
  margin: 2rem auto 0;
  font-size: 1.35rem;
  color: #545454;
  position: relative;
  z-index: 2;
}

.p-company__secttl02::before {
  content: "";
  background-color: #fb8083;
  display: block;
  position: absolute;
  padding: 0 1rem;
  bottom: -0.2rem;
  width: 110%;
  left: 50%;
  transform: translateX(-50%);
  height: 0.2rem;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .p-company__secttl02 {
    font-weight: 400;
    margin: 2rem auto 0;
    font-size: 1.125rem;
    color: #545454;
    position: relative;
    z-index: 2;
  }
  .p-company__secttl02::before {
    padding: 0 1rem;
    bottom: -0.2rem;
    width: 110%;
    left: 50%;
    transform: translateX(-50%);
    height: 0.1rem;
    z-index: -1;
  }
}

.p-company-curve {
  border-top-left-radius: 40% 40%;
  border-top-right-radius: 40% 40%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 1) 50%);
  height: 100%;
}

.p-company-pagettl .text {
  margin-top: 3rem;
  position: relative;
  font-weight: 700;
  font-size: max(4rem, 48px);
  color: #005db3;
}

@media screen and (max-width: 767px) {
  .p-company-pagettl .text {
    font-size: 36px;
  }
}

.p-company-bg {
  background: #fff;
}

.aside {
  width: auto;
  align-self: flex-start;
  display: flex;
  flex-direction: column;
  position: fixed;
  row-gap: 1rem;
  bottom: 0.25rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 99;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}

.aside.vision {
  opacity: 1;
}

.table_of_contents {
  padding: 0.5rem 4rem;
  background-color: #0055b6;
  border: 1px solid #0056b6;
  border-radius: 1rem;
  display: flex;
  gap: 2rem;
  flex-direction: row;
  list-style: none;
  position: relative;
}

.table_of_contents-item a {
  /*writing-mode: ;*/
  white-space: nowrap;
  color: #eaeaeab6;
  display: block;
  padding: 0rem !important;
  transition: all 0.3s ease-in-out;
  font-size: 1rem;
}

.table_of_contents-item a:hover {
  color: #ff8c8e;
  font-weight: 600;
}

.table_of_contents-item a.active {
  color: #ff8c8e;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .aside {
    width: 100vw;
    align-self: flex-start;
    display: flex;
    flex-direction: row;
    position: fixed;
    row-gap: 1rem;
    top: auto;
    bottom: 1rem !important;
    left: auto;
    right: 48%;
    transform: translateX(50%);
    z-index: 9;
  }

  #aside-inner {
    overflow: hidden;
    max-width: 100%;
    cursor: pointer;
    background-color: #0055b6;
    border-radius: 16px;
    padding: 0.75rem 1rem;
    z-index: 8;
  }

  .aside_txt {
    font-size: 0.9rem;
    letter-spacing: 2px;
    color: #fff;
    margin-left: 0.5rem;
    white-space: nowrap;
    transition: margin-left 0.5s, opacity 1s, font-size 0.5s;

  }

  .humburger-aside_wrapper {
    position: relative;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  #aside-inner #hamburger-aside {
    position: relative;
    width: 20px;
    height: 14px;
  }

  #aside-inner #hamburger-aside span {
    opacity: 1;
    left: 0;
    display: block;
    width: 100%;
    height: 1.6px;
    border-radius: 10px;
    color: black;
    background-color: white;
    position: absolute;
    transform: rotate(0deg);
    transition: .4s ease-in-out;
  }

  #aside-inner #hamburger-aside span:nth-child(1) {
    top: 0;
  }

  #aside-inner #hamburger-aside span:nth-child(2) {
    top: 7px;
  }

  #aside-inner #hamburger-aside span:nth-child(3) {
    top: 14px;
  }

  .aside_txt.open {
    opacity: 0;
    margin-left: 0;
    font-size: 0;
    letter-spacing: 0;
  }

  #aside-inner #hamburger-aside.open span:nth-child(1) {
    transform: translateY(7px) rotate(135deg);
  }

  #aside-inner #hamburger-aside.open span:nth-child(2) {
    opacity: 0;
    transform: translateX(-60px);
  }

  #aside-inner #hamburger-aside.open span:nth-child(3) {
    transform: translateY(-7px) rotate(-135deg);
  }

  .table_of_contents {
    width: 56%;
    padding: 3rem 1rem 6rem;
    background: white;
    box-shadow: rgba(100, 100, 100, 0.1) 6px 2px 10px;
    border: 1px solid #0056b6;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1rem;
    position: absolute;
    z-index: 7;
    overflow-y: auto;
    overflow-x: hidden;
    left: -110%;
    bottom: 0rem;

  }

  #aside01 li.accordion-toggle,
  #aside01 .menu-login {
    font-size: 16px;
    padding: 20px;
    text-transform: uppercase;
    border-top: 1px solid #dbdcd2;
  }

  #aside01 li:first-of-type {
    border-top: 0;
  }

  .table_of_contents-item a {
    writing-mode: horizontal-tb;
    border-radius: 0.25rem;
    color: #b6b6b6b6;
    display: block;
    padding: 0rem !important;
    transition: all 0.3s ease-in-out;
    font-size: 0.9rem;
  }

  .table_of_contents-item a:hover {
    color: #fb8083;
  }

  .table_of_contents-item a.active {
    color: #fb8083;
  }
}

.p-company-policy {
  padding-top: 8.625rem;
  margin-top: -1px;
}

@media screen and (max-width: 767px) {
  .p-company-policy {
    padding-top: 5rem;
  }
}

.p-company__secttl {
  font-weight: 700;
  font-size: max(3rem, 32px);
  color: #005db3;
}

@media screen and (max-width: 767px) {
  .p-company__secttl {
    font-size: 24px;
  }
}

.p-company-policy .p-company__secttl {
  text-align: center;
}

.p-company-policy__text {
  font-size: max(1.5rem, 18px);
  text-align: center;
  margin-top: 2rem;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .p-company-policy__text {
    font-size: 16px;
  }
}

.p-company-policy__contents {
  margin-top: 5.875rem;
}

@media screen and (max-width: 767px) {
  .p-company-policy__contents {
    margin-top: 2.5rem;
  }
}

.p-company-policy__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.5rem 1.4rem;
  width: 70%;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .p-company-policy__list {
    grid-template-columns: 1fr;
    gap: 2.8125rem;
    width: 100%;
  }
}

.p-company-policy__item .num img {
  width: 47px;
  margin-inline: auto;
}

@media screen and (max-width: 767px) {
  .p-company-policy__item .num img {
    width: 28px;
  }
}

.p-company-policy__item .circle {
  width: 70%;
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 1/1;
  border: 1px solid #005db3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 50%;
  margin-top: 24px;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .p-company-policy__item .circle {
    background: #005db3;
    margin-top: 16px;
    width: 52%;
    margin: 1rem auto 0;
  }
}

.p-company-policy__item .text01 {
  font-size: 1.5rem;
  color: #005db3;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-company-policy__item .text01 {
    color: #fff;
    font-size: 1.2rem;
  }
}

.p-company-policy__item .text02 {
  margin-top: 15px;
  color: #005db3;
  font-size: 1.35rem;
  letter-spacing: 0.15rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  line-height: 1.7;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-company-policy__item .text02 {
    opacity: 1;
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 767px) {
  .p-company-policy__item .text02 {
    font-size: 1.1rem;
    letter-spacing: 0.05rem;
  }
}

@media screen and (min-width: 768px) {
  .p-company-policy__item .circle:hover {
    background: #005db3;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }

  .p-company-policy__item .circle:hover .text01 {
    color: #fff;
    font-weight: 700;
  }

  .p-company-policy__item .circle:hover+.text02 {
    opacity: 1;
  }
}

.p-company-ceo {
  margin-top: 12.6875rem;
  padding-bottom: 12.875rem;
}

@media screen and (max-width: 767px) {
  .p-company-ceo {
    margin-top: 6.25rem;
    padding-bottom: 6.25rem;
  }
}

.p-company-ceo .l-inner {
  max-width: 1203px;
}

.p-company-ceo__lead {
  margin-top: 4.6875rem;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.12;
  letter-spacing: 0.24em;
}

@media screen and (max-width: 767px) {
  .p-company-ceo__lead {
    margin-top: 1.875rem;
    font-size: 1.35rem;
    letter-spacing: 0.2em;
    text-align: left;
  }
}

.p-company-ceo__contents {
  display: grid;
  grid-template-columns: 549fr 506fr;
  gap: 4.3125rem;
  margin-top: 4.875rem;
}

@media screen and (max-width: 767px) {
  .p-company-ceo__contents {
    grid-template-columns: 1fr;
    gap: 1.625rem;
    margin-top: 30px;
  }
}

@media screen and (max-width: 767px) {

  .p-company-ceo__contents .img picture,
  .p-company-ceo__contents .img img {
    margin-inline: auto;
  }
}

.p-company-ceo__contents .text {
  font-size: 16px;
  line-height: 1.778;
  letter-spacing: 0.15em;
}

@media screen and (max-width: 767px) {
  .p-company-ceo__contents .text {
    max-width: 500px;
    margin-inline: auto;
  }
}

.p-company-info {
  margin-top: 9.75rem;
}

@media screen and (max-width: 767px) {
  .p-company-info {
    margin-top: 6.25rem;
  }
}

.p-company-info .l-inner {
  max-width: 1344px;
}

.p-company-info__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.9375rem;
}

@media screen and (max-width: 767px) {
  .p-company-info__contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.25rem;
    max-width: 500px;
    margin-inline: auto;
  }
}

.p-company-info__detail {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border-top: 1px solid #262626;
  margin-top: 2.8em;
}

@media screen and (max-width: 767px) {
  .p-company-info__detail {
    margin-top: 0rem;
    border: none;
  }
}

.p-company-info__detail .row {
  border-bottom: 1px solid #262626;
  padding: 2.625rem 2.125rem;
  display: grid;
  grid-template-columns: 18.75rem 1fr;
  gap: 6.25rem;
}

@media screen and (max-width: 767px) {
  .p-company-info__detail .row {
    grid-template-columns: 1fr;
    gap: 0.625rem;
    padding: 1.5625rem;
  }
}

.p-company-info__detail dt {
  font-weight: 600;
  font-size: max(1.5rem, 18px);
}

@media screen and (max-width: 767px) {
  .p-company-info__detail dt {
    font-size: 18px;
  }
}

.p-company-info__detail dd {
  color: #005db3;
  font-size: max(1.25rem, 16px);
}

.p-company-info__detail dd.--pt {
  padding-top: 3.1875rem;
  padding-bottom: 5.3125rem;
  line-height: 1.6;
}

.p-company-info__detail dd a {
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .p-company-info__detail dd {
    font-size: 16px;
  }

  .p-company-info__detail dd.--pt {
    padding-top: 0;
    padding-bottom: 0;
  }
}

.p-company-info__btn {
  margin-top: 8.5rem;
  max-width: 1091px;
  margin-inline: auto;
}

@media screen and (max-width: 767px) {
  .p-company-info__btn {
    margin-top: 3.75rem;
    max-width: 500px;
    margin-inline: auto;
  }
}

.p-company-info__btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  font-size: max(3rem, 32px);
  font-weight: 700;
  background-color: #005db3;
  color: #fff;
  border-radius: 21px;
  border: 0px solid #262626;
  padding: 2.25rem 3.75rem;
}

.p-company-info__btn a>.arrow {
  width: 20px;
  height: 20px;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  position: relative;
  transform: rotate(-45deg);
  margin: 0 6px;
  transition: all .3s ease;
}

.p-company-info__btn a>.arrow::before {
  display: block;
  background-color: currentColor;
  width: 20px;
  transform-origin: bottom right;
  height: 2px;
  position: absolute;
  opacity: 0;
  bottom: calc(-2px / 2);
  transform: rotate(45deg);
  transition: all .3s ease;
  content: "";
  right: 0;
}

.p-company-info__btn a:hover>.arrow {
  transform: rotate(-45deg) translate(4px, 4px);
  border-color: #222222;
}

.p-company-info__btn a:hover>.arrow::before {
  opacity: 1;
  width: 32px;
  background-color: #1b1b1b;
}

.p-company-info__btn a:hover {
  background-color: #A8C2D5;
  color: #1b1b1b;
}


@media screen and (max-width: 767px) {
  .p-company-info__btn a {
    font-size: 24px;
    padding: 0.9375rem 1.875rem;
    border-radius: 50px;
  }

  .p-company-info__btn a::after {
    width: 2.1875rem;
  }
}

.p-company-store {
  margin-top: 9.875rem;
}

@media screen and (max-width: 767px) {
  .p-company-store {
    margin-top: 6.25rem;
    max-width: 500px;
    margin-inline: auto;
  }
}

.p-company-store .l-inner {
  max-width: 1190px;
}

.p-company-store__contents {
  margin-top: 3.0625rem;
}

@media screen and (max-width: 767px) {
  .p-company-store__contents {
    margin-top: 0;
  }
}

.p-company-store__item {
  padding: 4.6875rem 0;
  display: grid;
  grid-template-columns: 18.75rem 1fr;
  gap: 7.8125rem;
}

@media screen and (max-width: 767px) {
  .p-company-store__item {
    padding: 3.6875rem 0;
    grid-template-columns: 1fr;
    gap: 1.875rem;
  }
}

.p-company-store__item+.p-company-store__item {
  border-top: 1px solid #262626;
}

.p-company-store__item .name {
  padding: 0.75rem 0 0.75rem 0;
  font-weight: 700;
  font-size: max(2.25rem, 18px);
}

.p-company-store__item .name span {
  display: inline-block;
  padding-left: 1.6875rem;
  border-left: 33px solid #005db3;
  line-height: 1.88;
}

@media screen and (max-width: 767px) {
  .p-company-store__item .name {
    padding: 0;
    font-size: 24px;
  }

  .p-company-store__item .name span {
    padding-left: 0.9375rem;
    border-left: 13px solid #005db3;
  }
}

.p-company-store__item .body {
  font-size: max(1.25rem, 16px);
  display: grid;
  gap: 30px;
  line-height: 1.6;
  margin-top: 32px;
}

.p-company-store__item .body a {
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .p-company-store__item .body {
    margin-top: 4px;
    font-size: 18px;
  }
}

.p-company-store__item .btn {
  margin-top: 0px;
}

@media screen and (max-width: 767px) {
  .p-company-store__item .btn {
    margin-top: 0px;
  }
}

.p-company-store__item .btn a {
  display: inline-block;
  color: #005db3;
  padding-right: 54px;
  background: url(../images/company-store-arrow.png) no-repeat center right;
  background-size: 15px 21px;
  text-decoration: none;
}

.company-google_map {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  margin-top: 1rem;
}

.company-google_map .access {
  width: 40%;
  text-align: right;
}

.company-google_map .map {
  width: 70%;
  aspect-ratio: 4/2;
  margin-right: 0;
}

.company-google_map .map iframe {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .company-google_map {
    width: 100%;
    display: flex;
    justify-content: end;
    align-items: end;
    flex-direction: column;
    margin-top: 1rem;
  }

  .company-google_map .access {
    width: 100%;
    text-align: left;
  }

  .company-google_map .map {
    width: 100%;
    aspect-ratio: 3/2;
    margin-top: 0rem;
    margin-right: 0;
  }

  .company-google_map .map iframe {
    width: 100%;
    height: 100%;
  }
}

.p-company-group {
  margin-top: 4.9375rem;
}

@media screen and (max-width: 767px) {
  .p-company-group {
    margin-top: 25px;
    max-width: 500px;
    margin-inline: auto;
  }
}

.p-company-group .l-inner {
  max-width: 1193px;
}

.p-company-group__contents {
  margin-top: 5.25rem;
}

@media screen and (max-width: 767px) {
  .p-company-group__contents {
    margin-top: 25px;
  }
}

.p-company-group__contents .row {
  border-top: 1px solid #262626;
  display: grid;
  grid-template-columns: 32.125rem 1fr;
}

@media screen and (max-width: 767px) {
  .p-company-group__contents .row {
    grid-template-columns: 1fr;
  }
}

.p-company-group__contents .row:last-child {
  border-bottom: 1px solid #262626;
}

.p-company-group__contents dt {
  border-left: 1px solid #262626;
  border-right: 1px solid #262626;
  background: #005db3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #fff;
}

.p-company-group__contents dt .ttl {
  display: inline-block;
  padding: 0 14px 8px 14px;
  border-bottom: 1px solid #fff;
  font-weight: 500;
  font-size: 2.25rem;
}

@media screen and (max-width: 767px) {
  .p-company-group__contents dt .ttl {
    font-size: 1.5rem;
    border: none;
    padding: 5px;
  }
}

.p-company-group__contents dd {
  border-right: 1px solid #262626;
  padding-top: 2.6875rem;
  padding-left: 6.1875rem;
  padding-right: 3.8125rem;
  padding-bottom: 3.1875rem;
}

@media screen and (max-width: 767px) {
  .p-company-group__contents dd {
    border-left: 1px solid #262626;
    padding: 1.875rem;
  }
}

.p-company-group__contents dd .address {
  font-size: max(1.25rem, 16px);
}

@media screen and (max-width: 767px) {
  .p-company-group__contents dd .address {
    font-size: 15px;
  }
}

.p-company-group__contents dd .text {
  font-size: 15px;
  margin-top: 39px;
}

.p-company-group__contents dd .link {
  font-size: 15px;
  margin-top: 23px;
  display: inline-block;
  text-decoration: underline;
}

.p-company-organization {
  margin-top: 16.6875rem;
  padding-bottom: 20.625rem;
}

@media screen and (max-width: 767px) {
  .p-company-organization {
    margin-top: 6.25rem;
    padding-bottom: 9.375rem;
  }
}

.p-company-organization .l-inner {
  max-width: 1193px;
}

.p-company-organization__hr {
  margin-top: 4rem;
}

@media screen and (max-width: 767px) {
  .p-company-organization__hr {
    margin-top: 1.5625rem;
  }
}

.p-company-organization__contents {
  margin-top: 2.9375rem;
}

.p-details {
  padding-top: max(15.625rem, 150px);
  padding-bottom: 126px;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-details {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.p-details__ttl {
  padding-bottom: 3.0625rem;
  padding-left: 36px;
  border-bottom: 1px solid #262626;
  font-weight: 700;
  font-size: max(3rem, 32px);
}

@media screen and (max-width: 767px) {
  .p-details__ttl {
    font-size: 36px;
    padding-left: 0;
    padding-bottom: 25px;
  }
}

.p-details__catttl {
  font-weight: 500;
  font-size: 25px;
  margin-top: 4.1875rem;
}

@media screen and (max-width: 767px) {
  .p-details__catttl {
    font-size: 24px;
    margin-top: 30px;
  }
}

.p-details__list {
  padding-left: 2.8125rem;
  border-left: 1.1875rem solid #005db3;
  display: grid;
  grid-template-columns: 483px 1fr;
  gap: 4.3125rem;
  margin-top: 26px;
  font-size: 20px;
  padding-top: 11px;
  padding-bottom: 23px;
}

@media screen and (max-width: 1100px) {
  .p-details__list {
    grid-template-columns: 1fr;
    gap: 2.3125rem;
  }
}

@media screen and (max-width: 767px) {
  .p-details__list {
    gap: 20px;
    padding-left: 25px;
  }
}

.p-details__list ul li .ttl {
  display: block;
  font-weight: 500;
}

.p-details__list ul li .text {
  display: block;
  padding-left: 1em;
  margin-top: 8px;
}

.p-details__list ul li.grid ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4.3125rem;
}

.p-details__list ul li.grid ul li+li {
  margin-top: 0;
}

@media screen and (max-width: 1300px) {
  .p-details__list ul li.grid ul {
    display: block;
  }

  .p-details__list ul li.grid ul li+li {
    margin-top: 2.3125rem;
  }
}

@media screen and (max-width: 1300px) and (max-width: 767px) {
  .p-details__list ul li.grid ul li+li {
    margin-top: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .p-details__list ul li .text {
    font-size: 16px;
  }
}

.p-details__list ul li+li {
  margin-top: 2.3125rem;
}

@media screen and (max-width: 767px) {
  .p-details__list ul li+li {
    margin-top: 2rem;
  }
}

.p-details__Wrapper {
  position: relative;
  margin-top: 60px;
  padding-bottom: 6rem;
}

@media screen and (max-width: 767px) {
  .p-details__Wrapper {
    padding-bottom: 3rem;
  }
}

.p-details__swiper01,
.p-details__swiper02 {
  width: calc(50vw + 660px);
}

@media screen and (max-width: 1320px) {

  .p-details__swiper01,
  .p-details__swiper02 {
    width: calc(100vw - 3.4375rem);
  }
}

@media screen and (max-width: 767px) {

  .p-details__swiper01,
  .p-details__swiper02 {
    width: calc(100vw - 0.9375rem);
  }
}

.p-details__item {
  padding-bottom: 11px;
  width: 364px;
}

.p-details__item .details-card {
  text-align: center;
  display: block;
  height: 100%;
  padding-bottom: 1rem;
  -webkit-box-shadow: 0 4px 7.2px rgba(0, 0, 0, .125);
  box-shadow: 0 4px 7.2px rgba(0, 0, 0, .125);
}

.p-details__item .thumb {
  width: 100%;
  margin-inline: auto;
}

.p-details__item .thumb img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-details__item .ttl {
  margin-top: 1rem;
  font-weight: 400;
  font-size: 16px;
  color: #242424;
}

@media screen and (max-width: 767px) {
  .p-details__item {
    width: 260px;
  }
}

.p-details__contents .swiper-button-prev,
.p-details__contents .swiper-button-next {
  width: 3.5rem;
  height: 3.5rem;
}

@media screen and (max-width: 767px) {

  .p-details__contents .swiper-button-prev,
  .p-details__contents .swiper-button-next {
    height: 2.25rem;
    width: 2.25rem;
  }
}

.p-details__contents .swiper-button-prev {
  left: 0;
  top: auto;
  bottom: 0;
}

.p-details__contents .swiper-button-next {
  left: 4.6875rem;
  top: auto;
  bottom: 0;
}

@media screen and (max-width: 767px) {
  .p-details__contents .swiper-button-next {
    left: 3.125rem;
  }
}

.p-details__contents .swiper-button-prev:after {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../images/arrow-left.png) no-repeat center center/contain;
}

.p-details__contents .swiper-button-next:after {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../images/arrow-right.png) no-repeat center center/contain;
}

.p-details__contents .swiper-scrollbar {
  left: 10.1875rem;
  max-width: calc(100% - 394px);
  width: calc(63% - 394px);
  bottom: 1.625rem;
  background: #d9d9d9;
  height: 8px;
}

@media screen and (max-width: 767px) {
  .p-details__contents .swiper-scrollbar {
    left: 6.875rem;
    bottom: 14px;
    max-width: calc(100% - 17px);
    width: calc(63% - 17px);
  }
}

.p-details__contents .swiper-scrollbar-drag {
  background: #005db3;
}

.p-details__contents.--02 {
  margin-top: 8.875rem;
}

@media screen and (max-width: 767px) {
  .p-details__contents.--02 {
    margin-top: 5rem;
  }
}

.p-footer {
  background: #888888;
  color: #fff;
  padding: 124px 0 7.9375rem;
}

@media screen and (max-width: 767px) {
  .p-footer {
    padding: 4rem 0 10.8125rem;
  }
}

.p-footer__logo {
  display: flex;
  align-items: center;
  justify-content: center;
}

.logo-btn {
  width: 560px;
  margin-right: 3rem;
}

.sns-btn {
  width: 50px;
  display: flex;
  align-items: center;
  margin-right: 1.625rem;
}

@media screen and (max-width: 767px) {
  .p-footer__logo {
    gap: 
    0;
  }

  .logo-btn {
    width: 260px;
    margin-right: 1.4rem;
  }

  .sns-btn {
    width: 30px;
    margin-right: 1rem;
  }
}

.p-footer__contents {
  padding: 0 3.3125rem;
  display: grid;
  grid-template-columns: repeat(2,minmax(2rem, max-content));
  gap: 5.2rem;
  margin-top: 4rem;
  justify-content: center;
}

@media screen and (max-width: 1040px) {
  .p-footer__contents {
    grid-template-columns: 1fr 83%;
    padding: 0;
    margin-top: 2.4rem;
    gap: 3.2rem;
  }
}

@media screen and (max-width: 767px) {
  .p-footer__contents {
    grid-template-columns: 1fr;
    margin-top: 2.4rem;
  }
}

.p-footer__menu01 ul {
  width: fit-content;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .p-footer__menu01 ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 25px;
    width: auto;
  }
}

.p-footer__menu01 ul li+li {
  margin-top: 2rem;
}

@media screen and (max-width: 767px) {
  .p-footer__menu01 ul li+li {
    margin-top: 0;
  }
}

.p-footer__menu01 ul li a {
  display: inline-block;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-bottom: 4px;
  border-bottom: 1px solid #fff;
  font-weight: 500;
  font-size: 18px;
}

.p-footer__menu02 {
  display: grid;
  grid-template-columns: repeat(4,minmax(2rem, max-content));
  gap: 4.5rem;
}

@media screen and (max-width: 890px) {
  .p-footer__menu02 {
    grid-template-columns: 1fr;
  }
}

.p-footer__menuBlock {
  width: fit-content;
}

.p-footer__menuBlock .ttl {
  display: block;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-weight: 500;
  font-size: 18px;
  padding-bottom: 4px;
  border-bottom: 1px solid #fff;
  margin-bottom: 1rem;
}

.p-footer__menuBlock ul {
  display: grid;
}

.p-footer__menuBlock.--01 ul {
  grid-template-columns: 1fr;
  gap: 10px 2rem;
}

.p-footer__menuBlock.--02 ul {
  grid-template-columns: 1fr;
  gap: 10px 2rem;
}

.p-footer__menuBlock ul li {
}
.p-footer__menuBlock ul li a {
  font-size: 16px;
}

.p-footer.--blue {
  background: #005db3;
  color: #fff;
}

.google_map {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  margin-top: 3rem;
  gap: 2rem;
}

.google_map .access {
  width: fit-content;
  text-align: left;
}

.google_map .map {
  width: 30%;
  aspect-ratio: 3/2;
  margin-right: 0;
}

.google_map .map iframe {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .google_map {
    width: 100%;
    display: flex;
    justify-content: end;
    align-items: end;
    flex-direction: column;
    margin-top: 3rem;
  }

  .google_map .access {
    width: 100%;
    text-align: left;
  }

  .google_map .map {
    width: 100%;
    aspect-ratio: 1/1;
    margin-top: 2rem;
    margin-right: 0;
  }

  .google_map .map iframe {
    width: 100%;
    height: 100%;
  }
}

.single-post .p-footerContact {
  display: none;
}

.p-footerContact {
  background: #005db3;
  color: #fff;
  padding-bottom: 7.875rem;
}

@media screen and (max-width: 767px) {
  .p-footerContact {
    padding-bottom: 3.25rem;
  }
}

.p-footerContact__block {
  border-top: 0px solid #fff;
  border-bottom: 2px solid #fff;
  padding: 6.0625rem 0 5.4375rem;
}

@media screen and (max-width: 767px) {
  .p-footerContact__block {
    padding: 3.25rem 0 2.625rem;
  }
}

.p-footerContact__inner {
  max-width: 1272px;
}

.p-footerContact__contents {
  display: grid;
  grid-template-columns: 1fr 20.0625rem;
  gap: 10px;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

@media screen and (max-width: 767px) {
  .p-footerContact__contents {
    grid-template-columns: 1fr;
    text-align: center;
  }
}

.p-footerContact__body {
  padding-bottom: 29px;
}

@media screen and (max-width: 767px) {
  .p-footerContact__body {
    padding-bottom: 0;
  }
}

.p-footerContact__ttl {
  font-weight: 700;
  font-size: 3rem;
  line-height: 1;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .p-footerContact__ttl {
    font-size: 2rem;
  }
}

.p-footerContact__subttl {
  font-weight: 700;
  font-size: 24px;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .p-footerContact__subttl {
    font-size: 18px;
  }
}

.p-footerContact__text {
  font-size: 20px;
  margin-top: 42px;
  letter-spacing: 0.1em;
  line-height: 1.3;
}

@media screen and (max-width: 767px) {
  .p-footerContact__text {
    font-size: 15px;
    margin-top: 25px;
  }
}

.p-footerContact__btn a {
  display: block;
  padding-right: 3.3125rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  padding: 20px 0;
  width: 82%;
}

@media screen and (min-width: 768px) {
  .p-footerContact__btn a:hover {
    -webkit-transform: translateX(3.3125rem);
    transform: translateX(3.3125rem);
  }
}

@media screen and (max-width: 767px) {
  .p-footerContact__btn a {
    width: 100%;
    padding-right: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-footerContact__btn a img {
    width: 35px;
    height: 35px;
    margin-inline: auto;
  }
}

.p-footer__btn {
  max-width: 410px;
  margin-top: 2rem;
}

@media screen and (max-width: 767px) {
  .p-footer__btn {
    margin-top: 1rem;
    max-width: 300px;
  margin-left: auto;
  margin-right: auto;
  }
}

.p-footer__btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  font-size: max(1.2rem, 16px);
  font-weight: 500;
  background-color: #005db3;
  color: #fff;
  border-radius: 8px;
  border: 0px solid #262626;
  padding: 1.6rem 2rem;
}

.p-footer__btn a>.arrow {
  width: 18px;
  height: 18px;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  position: relative;
  transform: rotate(-45deg);
  margin: 0 6px;
  transition: all .3s ease;
}

.p-footer__btn a>.arrow::before {
  display: block;
  background-color: currentColor;
  width: 22px;
  transform-origin: bottom right;
  height: 2px;
  position: absolute;
  opacity: 0;
  bottom: calc(-2px / 2);
  transform: rotate(45deg);
  transition: all .3s ease;
  content: "";
  right: 0;
}

.p-footer__btn a.--wh {
  background-color: #fff;
  color: #005db3;
}
.p-footer__btn a.--wh>.arrow {
  border-right: 2px solid #005db3;
  border-bottom: 2px solid #005db3;
}

.p-footer__btn a:hover>.arrow {
  transform: rotate(-45deg) translate(4px, 4px);
  border-color: #222222;
}

.p-footer__btn a:hover>.arrow::before {
  opacity: 1;
  width: 24px;
  background-color: #1b1b1b;
}

.p-footer__btn a:hover {
  background-color: #A8C2D5;
  color: #1b1b1b;
}


@media screen and (max-width: 767px) {
  .p-footer__btn a>.arrow {
    width: 14px;
    height: 14px;
  }

  .p-footer__btn a {
    width: fit-content;
    gap: 0.7rem;
    font-size: 16px;
    line-height: normal;
    font-weight: 400;
    padding: 0.75rem 1.35rem;
    border-radius: 28px;
  }

  .p-footer__btn a::after {
    width: 2.1875rem;
  }
}



.p-footerContact.--white {
  background: #fff;
  color: #005db3;
}

.p-footerContact.--white .p-footerContact__block {
  border-top: 2px solid #005db3;
  border-bottom: 2px solid #005db3;
}

  .page-gallery {
    overflow-x: hidden;
  }


.p-gallery {
  padding-top: 160px;
}

@media screen and (max-width: 767px) {
  .p-gallery {
    padding-top: 120px;
  }
}

@media screen and (max-width: 767px) {
  .p-gallery__inner {
    
  }
}

.p-gallery__ttl {
  font-weight: 900;
  font-size: 3rem;
  letter-spacing: 0.04em;
  padding-bottom: 17px;
  border-bottom: 1px solid #262626;
  padding: 0 3.0625rem;
}

@media screen and (max-width: 767px) {
  .p-gallery__ttl {
    font-size: 36px;
    text-align: left;
    border-bottom: 19px solid #005db3;
    padding: 0 1.0625rem;
  }
}

.p-gallery__contents {
  margin-top: 64px;
  padding-bottom: 172px;
}

.p-gallery__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2.75rem;
}

@media screen and (min-width: 768px) {
  .p-gallery__contents {
    margin-top: 48px;
  }
  .p-gallery__grid {
    grid-auto-rows: 17.25rem;
  }
}

@media screen and (max-width: 767px) {
  .p-gallery__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.p-gallery__item {
  width: 100%;
  height: 100%;
  position: relative;
  cursor: pointer;
}

.p-gallery__item::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  width: 80%;
  height: 80%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: #005db3;
  z-index: -1;
  -webkit-transition: all ease 0.3s;
  transition: all ease 0.3s;
  border-radius: 27px;
  opacity: 0;
}

.p-gallery__item:hover {
  color: #fff;
  opacity: 1;
  z-index: 3;
}

.p-gallery__item:hover::before {
  width: calc(100% + 40px);
  height: calc(100% + 40px);
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .p-gallery__item {
    padding-top: 30px;
  }

  .p-gallery__item .ttl {
    position: absolute;
    top: 0;
    left: 0;
    padding-left: 16px;
    width: 100%;
    overflow: hidden;
  }
  .p-gallery__item:hover::before {
    width: calc(100% + 24px);
    height: calc(100% + 30px);
    opacity: 1;
  }
}

@media screen and (min-width: 768px) {
  .p-gallery__item .img img.pos-top {
    object-position: top 15% left 50%;
  }
  .p-gallery__item .img img.pos-bottom {
    object-position: bottom 15% left 50%;
  }
  .p-gallery__item .img img.pos-left {
    object-position: left;
  }
  .p-gallery__item .img img.pos-right {
    object-position: right;
  }
  .p-gallery__item .img img.pos-center {
    object-position: center;
  }
  .p-gallery__item.layout-square {
    grid-column: span 1;
    grid-row: span 1;
  }

  .p-gallery__item.layout-wide {
    grid-column: span 2;
    grid-row: span 1;
  }

  .p-gallery__item.layout-tall {
    grid-column: span 1;
    grid-row: span 2;
  }

  .p-gallery__item.layout-large {
    grid-column: span 2;
    grid-row: span 2;
  }

  .p-gallery__item.layout-hero {
    grid-column: span 3;
    grid-row: span 2;
  }
}

@media screen and (max-width: 767px) {
  .p-gallery__item .img img.sp_pos-top {
    object-position: top 10% left 50%;
  }
  .p-gallery__item .img img.sp_pos-bottom {
    object-position: bottom 10% left 50%;
  }
  .p-gallery__item .img img.sp_pos-center {
    object-position: center;
  }
}

.p-gallery__item .ttl {
  font-size: 20px;
}

.p-gallery__item .ttl span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 7px;
}

.p-gallery__item .ttl span::before {
  width: 0.6em;
  height: 0.6em;
  content: "";
  border-radius: 50%;
  background: #005db3;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
}

@media screen and (max-width: 767px) {
  .p-gallery__item .ttl {
    font-size: 16px;
  }
}

.p-gallery__item:hover .ttl span::before {
  background: #fff;
}

@media screen and (min-width: 768px) {
  .p-gallery__item.title-top {
    padding-top: 30px;
    position: relative;
  }

  .p-gallery__item.title-top .ttl {
    position: absolute;
    top: 0;
    left: 0;
    padding-left: 16px;
    width: 100%;
    overflow: hidden;
  }

  .p-gallery__item.title-bottom {
    padding-bottom: 30px;
    position: relative;
  }

  .p-gallery__item.title-bottom .ttl {
    position: absolute;
    bottom: 0;
    left: 0;
    padding-left: 16px;
    width: 100%;
    overflow: hidden;
  }

  .p-gallery__item.title-left {
    padding-left: 30px;
    position: relative;
  }

  .p-gallery__item.title-left .ttl {
    position: absolute;
    top: 0;
    left: 0;
    padding-top: 16px;
    height: 100%;
    overflow: hidden;
  }

  .p-gallery__item.title-left .ttl span {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    white-space: pre;
  }

  .p-gallery__item.title-right {
    padding-right: 30px;
    position: relative;
  }

  .p-gallery__item.title-right .ttl {
    position: absolute;
    top: 0;
    right: 0;
    padding-top: 16px;
    height: 100%;
    overflow: hidden;
  }

  .p-gallery__item.title-right .ttl span {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    white-space: pre;
  }
}

.p-gallery__item .img {
  width: 100%;
  height: 100%;
  border-radius: 27px;
  overflow: hidden;
  filter: brightness(0.9);
}

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

.p-gallery__item .img .no-thumbnail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: #f0f0f0;
}

@media screen and (max-width: 767px) {
  .p-gallery__item .img {
    aspect-ratio: 370/220;
  }
}

.p-gallery__modal {
  position: fixed!important;
  inset: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  z-index: 9999;
  opacity: 0;
  transform: translateY(10px);
  visibility: hidden;
  overflow: hidden;
}
.p-gallery__backdrop{
  position: fixed;
  inset: 0;
  background: linear-gradient(180deg,rgba(38, 38, 38, 0.2) 0%,rgba(64, 62, 62, 0.6) 100%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none; 
  z-index: 9998;
  will-change: opacity;
  backdrop-filter: blur(4px) saturate(120%);
  -webkit-backdrop-filter: blur(4px) saturate(120%);
}
.p-gallery__particles {
  position: absolute; inset: 0;
  pointer-events: none;
  z-index: 0;
}
.p-gallery__current{position:absolute;inset:0;pointer-events:none;z-index:0;}

.p-gallery__modal.opa {
  opacity: 1;
  visibility: visible;
}

.p-gallery__modal-inner {
  background: #fff;
  border-radius: 60px;
  padding: 3rem 3rem 4rem;
  max-width: 1100px;
  width: 64%;
  height: auto;
  max-height: 90vh;
  overflow: hidden;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-gallery__modal-inner {
    padding: 1rem 1rem 3rem;
    border-radius: 30px;
    width: 90%;
    overflow-y: scroll;
  }
}

.p-gallery__modal-close {
  position: absolute;
  top: 2.625rem;
  right: 2.8125rem;
  font-size: 24px;
  cursor: pointer;
  color: #fff;
  background: #005db3;
  width: 43px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .p-gallery__modal-close {
    top: 13px;
    right: 22px;
    width: 35px;
  }
}

.modal_wrap {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
  justify-content: center;
  align-items: flex-start;
    overscroll-behavior: contain;           /* スクロール連鎖を遮断 */
    -webkit-overflow-scrolling: touch;      /* iOS 慣性 */
    touch-action: pan-y;
}

.modal_wrap .modal-img {
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .modal_wrap {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 1rem;
  }
  .modal_wrap .modal-img {
    
    width: 100%;
  }
}

.p-gallery__modal .modal-img {
  width: 100%;
  max-height: 50%;
  overflow: hidden;
  display: flex;
  border-radius: 12px;
}

.p-gallery__modal .modal-img img {
  width: 60%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border-top-left-radius: 12px;
  border-bottom-left-radius: 12px;
}
@media screen and (max-width: 767px) {
  .p-gallery__modal .modal-img {
    flex-direction: column;
  }
  .p-gallery__modal .modal-img img {
    width: 100%;
    border-top-right-radius: 12px;
    border-bottom-left-radius: 0px;
  }
}

.p-gallery__modal .modal__desc {
  width: 40%;
  display: flex;
  gap: 1rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
  background-color: #0056b6;
}
@media screen and (max-width: 767px) {
  .p-gallery__modal .modal__desc {
    width: 100%;
    border-top-right-radius: 0px;
    border-bottom-left-radius: 12px;
  }
}

.p-gallery__modal .modal__detail {
  width: 100%;
  padding: 3rem 1.6rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
  gap: 1rem;
}
.p-gallery__modal .modal__detail p {
  color: #fff;
}

.p-gallery__modal .modal__detail h4 {
  color: #fff;
  font-size: 1.35rem;
}
@media screen and (max-width: 767px) {
  .p-gallery__modal .modal__detail {
    gap: 0.5rem;
    padding: 1.5rem;
  }
  .p-gallery__modal .modal__detail h4 {
    font-size: 1.05rem;
  }
}

.p-gallery__modal .modal__detail img {
  width: 60%;
  margin: auto;
}

.p-gallery__modal .detailBtn {
  margin-top: 1rem;
  margin-bottom: 1rem;
  margin-inline: auto;width: fit-content;
  box-shadow:inset 2px 2px 2px 0px rgba(255,255,255,.5),
   4px 4px 4px 0px rgba(0,0,0,.2),
   2px 2px 2px 0px rgba(0,0,0,.21);
  outline: none;
  border-radius: 6px;
}
.p-gallery__modal .detailBtn:hover {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .p-gallery__modal .detailBtn {
    margin-top: 0.5rem;
    margin-inline: auto;
  }
}

.p-gallery__modal .detailBtn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0.5rem;
  font-size: 1.125rem;
  font-weight: 400;
  background: linear-gradient(16deg, #E1E9E9 0%, #FCF0EC 67%, #E7F5F6 85%, #FCF0EC 100%);
  color: #151B28;
  border-radius: 6px;
  border: 0px solid #151B28;
  padding: 0.75rem 2rem;
  transition: all 0.1s;
}

.p-gallery__modal .detailBtn a>.arrow {
  width: 10px;
  height: 10px;
  border-right: 1.5px solid #151B28;
  border-bottom: 1.5px solid #151B28;
  position: relative;
  transform: rotate(-45deg);
  margin: 0 10px;
  transition: all .3s ease;
}

.p-gallery__modal .detailBtn a>.arrow::before {
  display: block;
  background-color: currentColor;
  width: 12px;
  transform-origin: bottom right;
  height: 1.5px;
  position: absolute;
  opacity: 0;
  bottom: calc(-2px / 2);
  transform: rotate(45deg);
  transition: all .3s ease;
  content: "";
  right: 0;
}

.p-gallery__modal .detailBtn a:hover>.arrow {
  transform: rotate(-45deg) translate(4px, 4px);
  border-color: #ba0c12;
}

.p-gallery__modal .detailBtn a:hover>.arrow::before {
  opacity: 1;
  width: 20px;
  background-color: #ba0c12;
}

.p-gallery__modal .detailBtn a:hover {
  opacity: 1;
  background: linear-gradient(14deg, #E1E9E9 0%, #FCF0EC 67%, #E7F5F6 85%, #FCF0EC 100%);
  color: #ba0c12;
  box-shadow:  4px 4px 6px 0 #637db454,
              -2px -2px 4px 0 rgba(35, 33, 123, 0.25), 
    inset -3px -3px 5px 0 rgba(255,255,255,.2),
    inset 2px 2px 4px 0 rgba(0, 0, 0, 0.6);

}


@media screen and (max-width: 767px) {
  .p-gallery__modal .detailBtn a {
    font-size: 14px;
    padding: 0.8375rem 1.875rem;
  }

  .p-gallery__modal .detailBtn a::after {
    width: 2.1875rem;
  }
}


.p-gallery__modal .modal-ttl {
  /*margin-top: 16px;*/
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center;
  color: #005db3;
  word-break: break-word;
  word-wrap: break-word;
}

@media screen and (max-width: 767px) {
  .p-gallery__modal .modal-ttl {
    font-size: 24px;
  }
}

.p-gallery__modal .modal-content {
  font-size: 16px;
  padding-bottom: 2.5rem;
  margin-top: 12px;
  border-bottom: 1px solid #262626;
}

.p-header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  padding-left: 5.8125rem;
  padding-right: 3.375rem;
  padding-top: 2.6875rem;
  padding-bottom: 2.6875rem;
  z-index: 100;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

@media screen and (max-width: 767px) {
  .p-header {
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 14px;
    padding-bottom: 14px;
  }
  .home .p-header {
    background: #005db3;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 8px;
    border-bottom-left-radius: 8px;
  }
}

.p-header.is-bg {
  padding-top: 16px;
  padding-bottom: 16px;
  background-color: #005db3;
  background: linear-gradient(-18deg,#15469bc3 0%,#005cb380 30%,#005cb3ae 60%,#005db3 100%);
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 24px;
  border-bottom-left-radius: 24px;
}
.p-header::before {
  filter: blur(4px);
}

.p-header.is-bg .p-header__hamburger {

}

@media screen and (max-width: 767px) {
  .p-header.is-bg {
    padding-top: 14px;
    padding-bottom: 14px;
    border-bottom-right-radius: 8px;
    border-bottom-left-radius: 8px;
  }
}

.p-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.p-header__logo {
  width: 22rem;
}

@media screen and (max-width: 767px) {
  .p-header__logo {
    width: 9.375rem;
  }
}

.p-header__nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 24px;
}

@media screen and (max-width: 767px) {
  .p-header__nav ul {
    gap: 12px;
  }
}

.p-header__navBtn a {
  display: inline-block;
  padding: 12px 30px;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  border-radius: 8px;
}
@media screen and (max-width: 767px) {
  .p-header__navBtn a {
    display: inline-block;
    padding: 8px 20px;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    border-radius: 8px;
  }
}

.p-header__navBtn a.--blue {
  background: #2777c2;
}

@media screen and (max-width: 767px) {
  .p-header__navBtn a.--blue {
    display: none;
  }
}

.p-header__navBtn a.--pink {
  background: #fb8083;
}

.p-header__hamburger {
  width: 67px;
  height: 67px;
}

.p-header__hamburger img,
.p-header__hamburger picture,
.p-header__hamburger button {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

@media screen and (max-width: 767px) {
  .p-header__hamburger {
    width: 35px;
    height: 35px;
  }
}

.p-header__hamburger button,
.p-globalMenu button {
  cursor: pointer;
}

.p-globalMenu {
  position: fixed;
  top: 0;
  right: 0;
  width: 100vw;
  height: 100vh;
  background-color: #005db3;
  background: linear-gradient(-15deg,#15469bee 0%,#005cb3c8 30%,#005cb3ea 75%,#179ee7c6 100%);
  backdrop-filter: blur(7px);
  color: #fff;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
}

.p-globalMenu.is-open {
  opacity: 1;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  pointer-events: auto;
}

.p-globalMenu__close {
  position: absolute;
  top: 2.75rem;
  right: 3.375rem;
}

@media screen and (max-width: 767px) {
  .p-globalMenu__close {
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
  }
}

.p-globalMenu__logo {
  position: absolute;
  top: 3.25rem;
  left: 5.8125rem;
  width: 396px;
}

@media screen and (max-width: 767px) {
  .p-globalMenu__logo {
    width: 9.375rem;
    top: 26px;
    left: 20px;
  }
}

.p-globalMenu__contents {
  position: absolute;
  top: 48%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
  .p-globalMenu__contents {
    position: absolute;
    top: 46%;
    left: 10%;
    -webkit-transform: translate(-0%, -50%);
    transform: translate(-0%, -50%);
  }
}

.p-globalMenu__ttl {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  color: rgb(255, 255, 255);
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .p-globalMenu__ttl {
    font-size: 20px;
    text-align: left;
  }
}

.p-globalMenu__list {
  margin-top: 5.375rem;
  display: grid;
  grid-template-columns: 15.625rem 15.625rem 15.625rem;
  gap: 5.25rem 10rem;
}

@media screen and (max-width: 767px) {
  .p-globalMenu__list {
    margin-top: 1.875rem;
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}

.p-globalMenu__list li {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-globalMenu__list li {
    text-align: left;
  }
}

.p-globalMenu__list li:nth-child(2),
.p-globalMenu__list li:nth-child(3),
.p-globalMenu__list li:nth-child(5),
.p-globalMenu__list li:nth-child(6) {
  position: relative;
}

.p-globalMenu__list li:nth-child(2)::before,
.p-globalMenu__list li:nth-child(3)::before,
.p-globalMenu__list li:nth-child(5)::before,
.p-globalMenu__list li:nth-child(6)::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 5rem;
  top: 50%;
  left: -5rem;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  background: #fff;
}

@media screen and (max-width: 767px) {

  .p-globalMenu__list li:nth-child(2)::before,
  .p-globalMenu__list li:nth-child(3)::before,
  .p-globalMenu__list li:nth-child(5)::before,
  .p-globalMenu__list li:nth-child(6)::before {
    content: none;
  }
}

.p-globalMenu__list li a {
  display: inline-block;
  font-size: 2.5rem;
}

@media screen and (max-width: 767px) {
  .p-globalMenu__list li a {
    font-size: 18px;
    letter-spacing: 0.25rem;
  }
}

.p-globalMenu__opt {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100vw;
}

.p-globalMenu__opt ul li {
  font-size: 1.6rem;
  padding: 1.25rem 0;
  text-align: center;
  background-image: linear-gradient(to right, #ffffff 6px, transparent 6px);
  background-size: 10px 1.6px;
  background-repeat: repeat-x;
  background-position: left top;
}

@media screen and (max-width: 767px) {
  .p-globalMenu {
    height: 100dvh;
  }
  .p-globalMenu__opt ul li {
    font-size: 18px;
    background-size: 10px 0.8px;
  }
}

.p-history {
  color: #fff;
  background: #005cb300;
}

.overlay {
  position: absolute;
  background: #0f1419;
  z-index: 99999;
  width: 0%;
  height: 100vh;
  top: 0;
  left: 0;
}

.p-history-mv {
  width: 100%;
  height: 76vh;
}

.p-history-mv img {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: -1;
  object-position: 50% 28%;
  -o-object-fit: cover;
  object-fit: cover
}

@media screen and (max-width: 767px) {
  .p-history-mv {
    width: 100%;
    height: 56vh;
  }

  .p-history-mv img {
    width: 100%;
    height: 60%;
    position: fixed;
    z-index: -1;
    object-position: 50% 54%;
    -o-object-fit: cover;
    object-fit: cover
  }
}

.p-history-head {
  text-align: center;
  padding-bottom: 5.625rem;
  position: relative;
  background: rgb(240, 248, 255);
}

.p-history-head::before {
  content: "";
  position: absolute;
  top: -12rem;
  left: 0;
  height: 12rem;
  width: 100%;
  background: linear-gradient(180deg, rgba(240, 248, 255, 0), rgb(240, 248, 255) 90%);
}

@media screen and (max-width: 767px) {
  .p-history-head::before {
    content: "";
    top: -11rem;
    height: 11rem;
  }
}

.p-history-head .ttl {
  font-weight: 700;
  font-size: 6.125rem;
  padding-top: 2rem;
  text-align: left;
  color: #2c2c2c;
}

.p-history-head .ttl .history_jp {
  font-size: 2rem;
}

@media screen and (max-width: 767px) {
  .p-history-head .ttl .history_jp {
    font-size: 1.35rem;
  }
}

.p-history-head .text {
  font-weight: 400;
  font-size: 1.35rem;
  margin-top: 4rem;
  line-height: 2.1;
  text-align: left;
  color: #2c2c2c;
}

@media screen and (max-width: 767px) {
  .p-history-head .ttl {
    font-size: 2.25rem;
  }

  .p-history-head .text {
    margin-top: 2.5rem;
    line-height: 1.8;
    font-size: 1rem;
  }
}

.p-history-contents {
  position: relative;
  padding-bottom: 0px;
  background-color: #0f1419;
}

.p-history-contents__head {
  position: absolute;
  top: 0;
  width: 100%;
  height: 8rem;
  z-index: 99;
  background: linear-gradient(0deg, rgba(240, 248, 255, 0), rgb(240, 248, 255) 80%);
}

.p-history-contents .l-inner {
  margin-top: 10rem;
  max-width: 1600px !important;
}

@media screen and (max-width: 767px) {
  .p-history-contents .l-inner {
    margin-top: 10rem;
  }
}


.p-history__bg {
  position: sticky;
  top: 0;
  height: 100vh;
  width: 100%;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.p-history__bg img {
  position: absolute;
  overflow: hidden;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  opacity: 0;
  -webkit-transition: opacity 1s ease;
  transition: opacity 0.88s ease;
}

.bg_filter {
  filter: brightness(56%) saturate(70%);
}

.bg_filter02 {
  filter: brightness(30%) saturate(40%);
}

.p-history__bg img.is-active {
  opacity: 1;
  z-index: 1;
}

.p-history-body {
  position: relative;
  z-index: 2;
  padding-left: 5.9375rem;
  padding-bottom: 10rem;
  margin-top: calc(-100vh + 30px);
  max-width: 1220px;
  margin-inline: auto;
}

.p-history-body::before {
  position: absolute;
  content: "";
  top: 0;
  left: 2.4375rem;
  width: 2px;
  height: 100%;
  background: url(../images/history-line02.svg) no-repeat center bottom/cover;
}

.p-history-body::after {
  display: none;
  position: absolute;
  content: "";
  top: 2.0625rem;
  left: 0.625rem;
  width: 3.3125rem;
  height: 100%;
  background: url(../images/history-line.png) no-repeat center top/contain;
}

@media screen and (max-width: 767px) {
  .p-history-body {
    padding-left: 2.5rem;
    padding-right: 0.75rem;
  }

  .p-history-body::before {
    left: 0.875rem;
    width: 2px;
  }

  .p-history-body::after {
    top: 7px;
    left: 2px;
    width: 1.5625rem;
  }
}

.p-history-item {
  display: grid;
  gap: 2.75rem;
  grid-template-columns: 19.75rem 70px 1fr;
  font-size: 1.5rem;
  padding: 6.125rem 0;
  border-bottom: 1px solid #fff;
  position: relative;
}

.p-history-item::before {
  position: absolute;
  content: "";
  top: 50%;
  left: -4.3125rem;
  width: 28px;
  height: 28px;
  background: #fff;
  border-radius: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .p-history-item {
    gap: 1.875rem 0.9375rem;
    grid-template-columns: 180px 1fr;
    grid-template-rows: auto auto;
    padding: 4.125rem 0;
    font-size: 1.1rem;
  }

  .p-history-item> :nth-child(3) {
    grid-column: 1/-1;
    width: 100%;
  }

  .p-history-item::before {
    left: -2.2rem;
    width: 20px;
    height: 20px;
  }
}

.p-history-item .text {
  line-height: 1.75;
}

.p-post {
  padding-top: 254px;
  padding-bottom: 17.8125rem;
}

@media screen and (max-width: 767px) {
  .p-post {
    padding-top: 8rem;
    padding-bottom: 5rem;
  }
}

.p-post__inner {
  display: grid;
  grid-template-columns: 195px 1fr;
  gap: 40px;
}

@media screen and (max-width: 767px) {
  .p-post__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.p-post__side {
  position: relative;
}

.p-post__sideContents {
  position: sticky;
  top: 261px;
}

@media screen and (max-width: 767px) {
  .p-post__sideContents {
    position: static;
  }
}

.p-post__sideTitle {
  font-size: 20px;
}

@media screen and (max-width: 767px) {
  .p-post__sideTitle {
    font-size: 15px;
  }
}

.p-post__catList {
  margin-top: 3.5rem;
}

@media screen and (max-width: 767px) {
  .p-post__catList {
    margin-top: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.p-post__catList li {
  margin-bottom: 8px;
}

@media screen and (max-width: 767px) {
  .p-post__catList li {
    padding-bottom: 10px;
    margin-right: 20px;
  }
}

.p-post__catList li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-post__catList .dot {
  display: inline-block;
  width: 16px;
  aspect-ratio: 1/1;
  background: #d9d9d9;
  border-radius: 50%;
  margin-right: 15px;
}

@media screen and (max-width: 767px) {
  .p-post__catList .dot {
    margin-right: 5px;
  }
}

.p-post__catList a.is-active .dot {
  background: #005db3;
}

.p-post__main {
  max-width: 965px;
}

.p-post__title {
  font-size: 48px;
  letter-spacing: 0.5em;
}

@media screen and (max-width: 767px) {
  .p-post__title {
    font-size: 36px;
  }
}

.p-post__list {
  margin-top: 43px;
}

.p-post__item {
  border: 1px solid #262626;
  border-radius: 32px;
  padding: 3rem;
  min-height: 10rem;
  margin-bottom: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.875rem;
}

@media screen and (max-width: 1000px) {
  .p-post__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 2rem;
    gap: 1.25rem;
  }
}

.p-post__item.is-blue {
  border: 1px solid #005db3;
  background: #005db3;
  color: #fff;
}

.p-post__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 14.5px;
  font-weight: 700;
  color: #005db3;
}

.p-post__meta time {
  letter-spacing: 0.1em;
}

.p-post__item.is-blue .p-post__meta {
  color: #fff;
}

.p-post__cat {
  background: #005db3;
  color: #fff;
  border-radius: 50px;
  padding: 6px 24px;
  margin-left: 24px;
}

.p-post__item.is-blue .p-post__cat {
  background: #fff;
  color: #005db3;
}

.p-post__heading {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.6;
  letter-spacing: 0.1em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-post__heading {
    font-size: 20px;
  }
}


.p-post__btn {
  padding: 12px 27px;
  background: #005db3;
  color: #fff;
  border-radius: 6px;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-post__item.is-blue .p-post__btn {
  background: #fff;
  color: #005bac;
}

.p-post__back {
  margin-top: 23px;
}

.p-post__back a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 12px;
}

.p-post__back a img {
  width: 20px;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-post__back a span {
  font-size: 16px;
}

.p-single__article {
  margin-top: 40px;
}

.p-single__heading {
  font-size: 48px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-top: 24px;
  padding-bottom: 2.125rem;
  border-bottom: 1px solid #262626;
  margin-bottom: 2.125rem;
}

@media screen and (max-width: 767px) {
  .p-single__heading {
    font-size: 32px;
  }
}

.p-single__content {
  margin-top: 40px;
  font-size: 20px;
  line-height: 1.8;
}

.p-single__content p {
  margin-bottom: 1.6em;
}

.p-single__content h1,
.p-single__content h2,
.p-single__content h3,
.p-single__content h4,
.p-single__content h5,
.p-single__content h6 {
  margin: 2em 0 1em;
  font-weight: bold;
  line-height: 1.4;
  word-break: break-all;
}

.p-single__content h1 {
  font-size: 2em;
}

.p-single__content h2 {
  font-size: 1.8em;
}

.p-single__content h3 {
  font-size: 1.5em;
}

.p-single__content h4 {
  font-size: 1.2em;
}

.p-single__content h5 {
  font-size: 1em;
}

.p-single__content h6 {
  font-size: 0.9em;
}

.p-single__content ul,
.p-single__content ol {
  margin: 1.5em 0 1.5em 1.5em;
  padding-left: 1.2em;
}

.p-single__content ul li {
  list-style: disc;
  margin-bottom: 0.5em;
}

.p-single__content ol li {
  list-style: decimal;
  margin-bottom: 0.5em;
}

.p-single__content img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 2em auto;
}

.p-single__content blockquote {
  margin: 1.5em 0;
  padding: 1em 1.5em;
  background: #f9f9f9;
  border-left: 5px solid #ccc;
  color: #555;
  font-style: italic;
}

.p-single__content a {
  color: #005bac;
  text-decoration: underline;
}

.p-single__content strong {
  font-weight: bold;
}

.p-products {
  padding-top: 250px;
  padding-bottom: 200px;
  overflow-x: hidden;
}

@media screen and (max-width: 767px) {
  .p-products {
    padding-top: 90px;
    padding-bottom: 60px;
  }
}

.products-list {
  transition: all 1s ease-in-out;
}
.products-list.--bg_dark {
  background-color: #f2f3ff;
  color: #151515;
}

.p-products__head {
  padding-bottom: 3.5625rem;
  padding-left: 36px;
  border-bottom: 1px solid #262626;
}

@media screen and (max-width: 767px) {
  .p-products__head {
    padding-left: 8px;
    padding-bottom: 25px;
  }
}

.p-products__ttl {
  font-weight: 700;
  font-size: 48px;
}

.p-products__ttl .ichiran {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  white-space: nowrap;
}

.p-products__ttl .ichiran::after {
  content: "";
  display: block;
  width: 0.6525rem;
  height: 2.1875rem;
  background: url(../images/products-ttl-arrow.png) no-repeat center center/contain;
  margin-left: 16px;
  margin-top: 0.125rem;
}

@media screen and (max-width: 767px) {
  .p-products__ttl {
    font-size: 36px;
  }

  .p-products__ttl .ichiran::after {
    width: 1.125rem;
  }
}

.single-products .p-products__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.875rem;
  font-size: 1.25rem !important;
  font-weight: 400 !important;
}

@media screen and (max-width: 767px) {
  .single-products .p-products__ttl {
    font-size: 0.925rem!important;
    display: block;
  }
  .single-products .p-products__ttl a {
    margin-bottom: 0.4rem;
  }

  .single-products .p-products__ttl .ichiran::after {
    margin-top: 2px;
    width: 0.8rem;
    height: 0.8rem;
    margin-left: 8px;
  }
}

.single-products .p-products__ttl02 {
  font-weight: 700;
  font-size: 1.25rem;
}

@media screen and (max-width: 767px) {
  .single-products .p-products__ttl02 {
    font-size: 0.925rem;
    margin-top: 0px;
  }
}

.single-products .p-products__article h3 {
  font-size: 1.3rem !important;
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .single-products .p-products__article h3 {
    font-size: 1.25rem !important;
    margin-top: 0;
  }
}

/* 特徴 */

.feature {
  padding: 1.6rem 2rem 1.6rem 2rem;
  border: 1px solid #3d3d3d;
  border-radius: 8px;
  margin-top: 2rem;
}

@media screen and (max-width: 767px) {
  .feature {
    padding: 1.6rem 1.125rem;
  }
}

.feature .contents {
  display: none;
  padding: 1.6rem 0 0.8rem;
  font-size: 1.2rem;
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .feature .contents {
    padding-top: 1rem;
    font-size: 16px;
  }
}

.single-products .feature .ttl {
  margin-bottom: 1rem;
}

.feature .ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 15px;
  cursor: pointer;
  margin: 0 !important;
}

.feature .ttl::before {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .feature .ttl {
    font-size: 1.1rem;
    gap: 0.5rem;
  }
}

.feature .ttl::before {
  display: none;
}

.feature .ttl::after {
  content: "";
  width: 16px;
  height: 20px;
  margin-right: 24px;
  background: url(../images/quality-environment-arrow.png) no-repeat center center/contain;
  -webkit-transition: -webkit-transform ease 0.3s;
  transition: -webkit-transform ease 0.3s;
  transition: transform ease 0.3s;
  transition: transform ease 0.3s, -webkit-transform ease 0.3s;
}

@media screen and (max-width: 767px) {
  .feature .ttl::after {
    width: 8px;
    height: 14px;
    margin-right: 0;
  }
}

.feature .ttl.is-open::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
.feature h5 {
  margin-bottom: 0.4rem;
  border-bottom: dashed 1.6px #87CEFA;
  display: inline-block;
}
.feature ol.--sub {
  margin-top: 0;
  margin-bottom: 0;
  list-style: none;
  list-style-position: inside;
}
.feature ol.--sub li {
  margin-bottom: 0.3rem;
}
.feature ol.--sub li::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #3a3a3a;
  position: relative;
  top: -3px;
  margin-right: 0.5rem;
}

.feature .contents_explain {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-top: 2rem;
}
.feature .contents_explain.--02 {
  margin-top: 4rem;
}

.feature .contents_explain .contents_explain_item {
  padding: 1.2rem 1.5rem;
  border-radius: 6px;
  background: linear-gradient(-30deg, #f3f3f3 0% , #f8f8f8 100%);
}
.feature .contents_explain .contents_explain_item p {
  margin-top: 0;
}
.feature .contents_explain .contents_explain_item.--02 {
  padding: 3.2rem 2rem;
}

.feature .contents_explain .contents_explain_item h5 {
  margin: 0;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .feature .contents_explain .contents_explain_item {
    padding: 1.2rem;
  }
}


/* 特徴ここまで */


.spec {
  padding: 1.6rem 2rem 1.6rem 2rem;
  border: 1px solid #3d3d3d;
  border-radius: 8px;
  margin-top: 3rem;
}

@media screen and (max-width: 767px) {
  .spec {
    padding: 1.6rem 1.25rem;
  }
}

.spec .contents {
  display: none;
  padding: 2rem 0 1.6rem;
  font-size: 1.2rem;
  line-height: 1.7;
}

.spec .contents p {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .spec .contents {
    padding-top: 1rem;
    font-size: 16px;
  }
}

.single-products .spec .ttl {
  margin-bottom: 1rem;
}

.spec .ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 15px;
  cursor: pointer;
  margin: 0 !important;
}

.spec .ttl::before {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .spec .ttl {
    font-size: 1.1rem;
    gap: 0.5rem;
  }
}

.spec .ttl::before {
  display: none;
}

.spec .ttl::after {
  content: "";
  width: 16px;
  height: 20px;
  margin-right: 24px;
  background: url(../images/quality-environment-arrow.png) no-repeat center center/contain;
  -webkit-transition: -webkit-transform ease 0.3s;
  transition: -webkit-transform ease 0.3s;
  transition: transform ease 0.3s;
  transition: transform ease 0.3s, -webkit-transform ease 0.3s;
}

@media screen and (max-width: 767px) {
  .spec .ttl::after {
    width: 8px;
    height: 14px;
    margin-right: 0;
  }
}

.spec .ttl.is-open::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.single-products .spec table,
.product_inquiries table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

.single-products .spec .table_spec {
  overflow: hidden;
}
.single-products .spec .table_spec h5 {
  margin: 0;
}

.single-products .spec .table_spec .table_wrap {
  margin-top: 1rem;
  overflow-x: scroll;
  white-space: nowrap;
}
.single-products .spec .table_spec .table_wrap::before {
  content: "";
  display: block;
  text-align: left;
  font-size: 12px;
  color: #888;
  position: sticky;
  left: 0;
}
@media screen and (max-width: 767px) {
  .single-products .spec .table_spec .table_wrap::before {
    content: "← 横にスクロールできます →";
  }
}

.single-products .spec table,
.single-products .spec table th,
.single-products .spec table td,
.single-products .spec table tr,
.product_inquiries table {
  border: 1px solid #545454;
  padding: 0.75rem 1rem!important;
}

.single-products .spec table td:nth-child(2) {
  padding-left: 0.8rem !important;
}

.single-products .spec table td,
.single-products .spec table tr {
  font-size: 1rem;
}

@media screen and (max-width: 767px) {
  .single-products .spec table td,
  .single-products .spec table tr {
    font-size: 0.92rem;
  }
}

.single-products .spec img {
  width: 70%;
  margin-bottom: 0.75rem;
}
@media screen and (max-width: 767px) {
  .single-products .spec img {
    width: 100%;
  }
}

.p-products__contents {
  position: relative;
  padding-bottom: 10px;
}

.p-products__inner {
  position: relative;
  padding-bottom: 5.6rem;
}
.p-products__inner.is-locked {
  padding-bottom: 0 !important;
}

.p-products__inner h5 {
  margin-top: 0;
  font-size: 1.15rem;
  font-weight: 500;
  display: flex;
  align-items: center;
}

.p-products__inner .subttl_head {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #333333;
  margin-right: 8px;
  transition: all 1s ease-in-out;
}
.--bg_dark .p-products__inner .subttl_head {
  background: #151515;
}

@media screen and (max-width: 767px) {
  .p-products__inner {
    padding-bottom: 4rem;
  }

  .p-products__inner h5 {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
}

.p-products__contents.--01 {
  margin-top: 5.5rem;
}

@media screen and (max-width: 767px) {
  .p-products__contents.--01 {
    margin-top: 4.125rem;
  }
}

.p-products__contents.--05 {
  margin-top: 2.4rem;
}

@media screen and (max-width: 767px) {
  .p-products__contents.--05 {
    margin-top: 1.6rem;
  }
}

.p-products__catttl {
  position: relative;
  display: flex;
  align-items: center;
  white-space: nowrap;
  font-weight: 500;
  font-size: 32px;
  margin-bottom: 0.75rem;
}

@media screen and (max-width: 767px) {
  .p-products__catttl {
    font-size: 24px;
    white-space: wrap;
  }
}

.section_line {
  display: inline-block;
  height: 1.6px;
  flex: 1;
  margin-left: 2rem;
  border-radius: 1rem;
  background: linear-gradient(90deg,
    rgb(0, 92, 179) 0%,
    rgba(0,93,179,1) 40%,
    rgba(0,93,179,0) 100%);
  box-shadow: 0 0 8px rgba(0, 92, 179, 0.109);
  opacity: 0.9;
  transform-origin: left center;
  transform: scaleX(0);
}

@media screen and (max-width: 767px) {
  .section_line {
    display: none;
    height: 1px;
    margin-left: 1rem;
    
  }
}

.p-products__swiper01 {
  padding-right: 4rem;
  margin-top: 48px;
  width: calc(50vw + 660px);
}

@media screen and (max-width: 1320px) {
  .p-products__swiper01 {
    padding-right: 2rem;
    width: calc(100vw - 3.4375rem);
  }
}

@media screen and (max-width: 767px) {
  .p-products__swiper01 {
    margin-top: 30px;
    width: calc(100vw - 0.9375rem);
  }
}

.p-products__swiper01 .p-products__item {
  height: auto;
  width: 364px;
}

.p-products__swiper01 .p-products__item .product-card {
  border: 1px solid #005db3;
  padding: 2rem;
  text-align: center;
  border-radius: 24px;
  display: block;
  height: 100%;
  transition: all 0.3s ease-in-out;
}
.--bg_dark .p-products__swiper01 .p-products__item .product-card {
  border: 1px solid #151515;
}

.p-products__swiper01 .p-products__item .thumb {
  aspect-ratio: 4/3;
}

.p-products__swiper01 .p-products__item .thumb img {
  width: 100%;
  height: 100%;
  border-radius: 12px;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-products__item .cat {
  font-size: 0.8rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 4px;
  color: #595959;
  transition: all 0.3s ease-in-out;
}

.p-products__item .cat .maru {
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #595959;
  transition: all 0.3s ease-in-out;
}
.--bg_dark .p-products__item .cat {
  color: #151515;
}
.--bg_dark .p-products__item .cat .maru {
  background-color: #f2f3ff;
}

.p-products__swiper01 .p-products__item .ttl {
  margin-top: 2.4rem;
  font-weight: 400;
  font-size: 18px;
}

.p-products__swiper01 .p-products__item .ttl h3 {
  font-size: 1.2rem;
  font-weight: 500;
  text-align: left;
}

.p-products__swiper01 .p-products__item .product-card .model_number {
  text-align: left;
  margin-top: 0.5rem;
}

.p-products__swiper01 .p-products__item .text {
  margin-top: 1.2rem;
  font-size: 16px;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .p-products__swiper01 .p-products__item .ttl h3 {
    font-size: 1.08rem;
  }

  .p-products__swiper01 .p-products__item {
    width: 320px;
  }

  .p-products__swiper01 .p-products__item .product-card {
    padding: 20px 20px 28px;
    border-radius: 20px;
  }

  .p-products__swiper01 .p-products__item .ttl {
    font-size: 18px;
    margin-top: 36px;
  }
  .p-products__swiper01 .p-products__item .product-card .model_number {
    font-size: 0.88rem;
  }

  .p-products__swiper01 .p-products__item .text {
    margin-top: 20px;
  }
}

.p-products__contents .swiper-button-prev,
.p-products__contents .swiper-button-next {
  width: 3.5rem;
  height: 3.5rem;
}

@media screen and (max-width: 767px) {

  .p-products__contents .swiper-button-prev,
  .p-products__contents .swiper-button-next {
    height: 2.25rem;
    width: 2.25rem;
  }
}

.p-products__contents .swiper-button-prev {
  left: 0;
  top: auto;
  bottom: 0;
}

.p-products__contents .swiper-button-next {
  left: 4.6875rem;
  top: auto;
  bottom: 0;
}

@media screen and (max-width: 767px) {
  .p-products__contents .swiper-button-next {
    left: 3.125rem;
  }
}

.swiper-button-prev svg,
.swiper-button-next svg {
  display: none;
}

.p-products__contents .swiper-button-prev:after {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../images/arrow-left.svg) no-repeat center center/contain;
}
.--bg_dark .p-products__contents .swiper-button-prev:after {
  background: url(../images/arrow-left.svg) no-repeat center center/contain;
}

.p-products__contents .swiper-button-next:after {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../images/arrow-right.svg) no-repeat center center/contain;
}
.--bg_dark .p-products__contents .swiper-button-next:after {
  background: url(../images/arrow-right.svg) no-repeat center center/contain;
}

.p-products__contents .swiper-scrollbar {
  left: 10.1875rem;
  max-width: calc(100% - 394px);
  width: calc(63% - 394px);
  bottom: 1.625rem;
  background: #d9d9d9;
  height: 8px;
}

@media screen and (max-width: 767px) {
  .p-products__contents .swiper-scrollbar {
    left: 6.875rem;
    bottom: 14px;
    max-width: calc(100% - 17px);
    width: calc(63% - 17px);
  }
}

.p-products__contents .swiper-scrollbar-drag {
  background: #005db3;
  cursor: pointer;
}

.p-products__contents.--02 {
  margin-top: 2.3125rem;
}

.p-products__contents.--02 .p-products__catttl {
  font-weight: 500;
  font-size: 25px;
}

@media screen and (max-width: 767px) {
  .p-products__contents.--02 .p-products__catttl {
    font-size: 22px;
  }
}

.p-products__text {
  font-size: 0.92rem;
}

.p-products__contents.--02 .p-products__text {
  font-size: 20px;
  margin-top: 15px;
  margin-left: 14px;
}

@media screen and (max-width: 767px) {
  .p-products__contents.--02 .p-products__text {
    font-size: 18px;
  }
}

.p-products__swiper02 {
  margin-top: 55px;
  width: calc(50vw + 660px);
}

@media screen and (max-width: 1320px) {
  .p-products__swiper02 {
    width: calc(100vw - 3.4375rem);
  }
}

@media screen and (max-width: 767px) {
  .p-products__swiper02 {
    width: calc(100vw - 0.9375rem);
  }
}

.p-products__swiper02 .p-products__item {
  height: auto;
  width: 364px;
  padding-bottom: 11px;
}

.p-products__swiper02 .p-products__item .product-card {
  border: 1px solid #005db3;
  padding: 2.8125rem 2.3125rem;
  text-align: center;
  border-radius: 182px;
  display: block;
  height: 100%;
  -webkit-box-shadow: 0 4px 10.2px rgba(0, 0, 0, .25);
  box-shadow: 0 4px 10.2px rgba(0, 0, 0, .25);
}

.p-products__swiper02 .p-products__item .thumb {
  width: 68%;
  margin-inline: auto;
}

.p-products__swiper02 .p-products__item .thumb img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-products__swiper02 .p-products__item .line {
  margin-top: 23px;
  background-color: #005db3;
  border: none;
  height: 2px;
}

.p-products__swiper02 .p-products__item .ttl {
  margin-top: 30px;
  font-weight: 700;
  font-size: 16px;
  color: #005db3;
}

.p-products__swiper02 .p-products__item .link {
  display: block;
  width: 42px;
  aspect-ratio: 1/1;
  margin-inline: auto;
  margin-top: 44px;
}

@media screen and (max-width: 767px) {
  .p-products__swiper02 .p-products__item {
    width: 260px;
  }

  .p-products__swiper02 .p-products__item .product-card {
    padding: 20px;
  }
}

.p-products-single {
  padding-top: 160px !important;
  padding-bottom: 80px;
  overflow: visible !important;
}
@media screen and (max-width: 767px) {
  .p-products-single {
    padding-top: 120px!important;
  }
}

.p-products-single .l-inner {
  max-width: 100%;
}

.single-products::before {
  content: "";
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  z-index: -999999;
  background-color: #ffffff;
  background-size: 100% 100%;
  background-position: 0px 0px, 0px 0px, 0px 0px, 0px 0px, 0px 0px, 0px 0px, 0px 0px, 0px 0px, 10px 0px, 0px 0px, 0px 0px;
  background-image: radial-gradient(48% 40% at 4% 37%, #FFFFFFFF 0%, #073AFF00 100%), radial-gradient(60% 45% at 3% 127%, rgb(206, 210, 214) 0%, #073AFF00 100%), radial-gradient(42% 53% at 15% 94%, #FFFFFFFF 7%, #073AFF00 100%), radial-gradient(42% 53% at 34% 72%, #FFFFFFFF 7%, #073AFF00 100%), radial-gradient(18% 28% at 35% 87%, #FFFFFFFF 7%, #073AFF00 100%), radial-gradient(31% 43% at 7% 98%, #FFFFFFFF 24%, #073AFF00 100%), radial-gradient(21% 37% at 72% 23%, #f8f9fa 24%, #073AFF00 100%), radial-gradient(40% 50% at 100% 113%, #f9fbffab 1%, #89a0ff00 99%), radial-gradient(50% 56% at 90% 28%, #fafffe43 0%, #b8c6ff00 100%), linear-gradient(150deg, #FFFFFFEB 16%, #f8f9fa 29%, #FFFFFFFF 60%, #F0EFEFFF 99%);
}

.p-products__article {
  margin-top: 60px;
  width: 100%;
  margin-inline: auto;
  font-size: 24px;
  display: flex;
  position: relative;
  justify-content: space-between;
  overflow: visible;
}

.p-products__article .sidebar {
  width: 33%;
}

@media screen and (max-width: 767px) {
  .p-products__article {
    margin-top: 40px;
    width: 100%;
    margin-inline: auto;
    font-size: 24px;
    display: flex;
    position: relative;
    justify-content: space-between;
    overflow: visible;
  }
  .p-products__article .sidebar {
    width: 100%;
  }
}

.widget {
  margin-top: 20px;
}

.p-products__article .p-products__item {
  width: calc(100% - 39%);
}

.model_number {
  margin-top: 4rem;
}

@media screen and (max-width: 767px) {
  .widget {
    margin-top: 0;
    margin-bottom: 3rem;
  }

  .p-products__article .p-products__item {
    width: 100%;
  }

  .model_number {
    margin-top: 0rem;
  }
}

.p-products__explain .contents_explain {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-top: 2rem;
}
.p-products__explain .contents_explain.--02 {
  margin-top: 4rem;
}

.p-products__explain .contents_explain .contents_explain_item {
  padding: 1.6rem 2rem;
  border-radius: 8px;
  background: linear-gradient(-30deg, #f3f3f3 0% , #f8f8f8 100%);
}
.p-products__explain .contents_explain .contents_explain_item p {
  margin-top: 0;
}
.p-products__explain .contents_explain .contents_explain_item.--02 {
  padding: 3.2rem 2rem;
}

.p-products__explain .contents_explain .contents_explain_item h5 {
  margin: 0;
  font-size: 1rem;
}

@media screen and (max-width: 767px) {
  .p-products__explain .contents_explain .contents_explain_item {
    padding: 1.25rem;

  }
  .p-products__explain .contents_explain .contents_explain_item p {
    letter-spacing: 0.025rem;
  }
}

.widget--sticky {
  position: sticky;
  top: 12rem;
  /* スクロール時にビューポートの20px位置に達すると固定 */
}

.p-singleproduct__swiper01 {
  margin-top: 46px;
  width: 96%;
}

@media screen and (max-width: 1320px) {
  .p-singleproduct__swiper01 {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .p-singleproduct__swiper01 {
    margin-top: 0px;
    width: 90%;
  }
}

.p-singleproduct__swiper01 .p-products__item {
  height: auto;
  width: 100%;
}

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

.sidebar .swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: -35px;
}

@media screen and (max-width: 767px) {
  .p-singleproduct__swiper01 .p-products__item {
    width: 80%;
    margin: 0 auto;
  }

  .p-singleproduct__swiper01 .p-products__item .product-card {
    padding: 20px;
  }
}

.p-products__article p {
  font-size: 1rem;
  margin-top: 15px;
  font-weight: 400;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .p-products__article p {
    font-size: 0.96rem;
    line-height: 1.85;
  }
}

.p-products__article .ttl {
  display: flex;
  align-items: center;
  gap: 10px;
}

.p-products__article .ttl::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background-color: #0f1419;
}

.p-products__article h3 {
  font-weight: 500;
  font-size: 2.4rem;
  margin-top: 24px;
}

.p-products__article .separator {
  border-top: 2px solid #265c8e;
  margin-top: 3.2rem;
}
.p-products__article .wp-block-separator {
  border-color: #265c8e;
}

.p-products__article .lineblock {
  margin-left: 12px;
  padding-left: 2rem;
  border-left: 0.75rem solid #265c8e;
  padding-bottom: 0.5rem;
}

.p-products__article .lineblock strong {
  font-size: 1.125rem;
}

.p-products__article ul,
.p-products__article ol {
  font-size: 1rem;
  margin-left: 0em;
  line-height: 2;
}

.p-products__article ol li {
  margin-bottom: 0.8rem;
}

.p-products__article ol li::marker {
  font-size: 1.125rem;
  margin-right: 0.5rem;
}

@media screen and (max-width: 767px) {
  .p-products__article ol {
    font-size: 1rem;
    line-height: 1.85;
  }
  .p-products__article ol li {
    margin-bottom: 1rem;
  }
}

.p-products__article ul {
  list-style: inherit;
  list-style-position: inside;

}

.p-products__article ol {
  list-style: decimal;
  list-style-position: inside;
}

.p-products__article .wp-block-flexible-table-block-table {
  font-size: 1.2rem;
}

@media screen and (max-width: 767px) {
  .p-products__article {
    font-size: 16px;
    flex-direction: column;
    width: 100%;
  }

  .p-products__article .lineblock {
    margin-left: 2px;
    padding-left: 16px;
    border-left: 6px solid #005db3;
  }
}

.downloads {
  margin-top: 4rem;
  margin-bottom: 4rem;
}

.downloads .files {
  width: 100%;
  flex-wrap: wrap;
  margin-top: 1.35rem;
  display: flex;
  column-gap: 1rem;
}
@media screen and (max-width: 767px) {
  .downloads .files {
    column-gap: 0.5rem;
  }
}

.downloads .files .file {
  min-width: calc(50% - 0.5rem);
  display: flex;
  align-items: center;
  margin-bottom: 0.8rem;
}

.downloads .files .file a {
  white-space: nowrap;
  margin: 0;
  padding: 0.5rem 1rem;
  line-height: normal;
  background: #0f1419;
  color: #fff;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .downloads .files .file a {
    padding: 0.35rem 1rem;
  }
}

.downloads .files .file span img {
  display: block;
  width: 1rem;
  height: 1rem;
}

.downloads .files .file a {
  margin-left: 0rem;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .downloads .files .file a {
    font-size: 0.96rem;
  }
  .downloads .files .file a span{
    margin-left: 1rem;
  }
}

.product_inquiries {
  margin-top: 6rem;
}

.product_inquiries .product_inquiries_telWrap {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: stretch;
  justify-content: flex-start;
  width: 100%;
  background: linear-gradient(20deg, #FFF7E5 0%, #f3f3f3 20%,#f2f2f2 40%,#fff4f7 60%, #f1f5f7 100%);
  border-radius: 8px;
  padding: 2.4rem 3rem;
}

.product_inquiries .tel {
  display: flex;
  width: calc(50% - 0.5rem);
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: #333333;
  background-color: #ffffff65;
  border: 1.6px solid #fff;
  backdrop-filter: blur(10px) saturate(1.6);
  border-radius: 4px;
  font-size: 1.15rem;
  font-weight: 500;
  letter-spacing: 0.4px;
  margin-top: 0;
  padding: 1rem 2rem;
}
.product_inquiries .subttl {
  font-size: 1.2rem;
  font-weight: 500;
}

.tel_wrap {
  padding: 0.5rem 0;
}

.product_inquiries .number_tel {
  color: #222222;
  margin-top: 0;
  padding: 0rem 2rem;
  font-weight: 500;
  font-size: 1.1rem;
}

.product_inquiries .number_tel:nth-child(1) {
  margin-bottom: 0.35rem;
}

@media screen and (max-width: 767px) {
  .product_inquiries .product_inquiries_telWrap {
    padding: 1rem;
  }
  .product_inquiries .tel {
    flex-direction: column;
    width: 100%;
    padding: 1.2rem;
  }

  .product_inquiries .subttl {
    padding: 0rem 1rem 0.7rem;
    margin-top: 0;
    font-size: 1rem;
  }

  .tel_wrap {
    padding: 0 0 0rem;
  }

  .product_inquiries .number_tel {
    padding: 0rem 1rem;
    font-size: 1rem;
  }
}

.p-product_inquiries__item {
  padding: 0.75rem 2rem 0.75rem 2rem;
  border: 1px solid #005db3;
  border-radius: 1rem;
  margin-top: 2rem;
}

@media screen and (max-width: 767px) {
  .p-product_inquiries__item {
    padding: 0.5rem 1.25rem;
    margin-top: 1rem;
    border-radius: 0.5rem;
  }
}

.p-product_inquiries__item .ttl {
  color: #005db3;
  font-size: 1.125rem;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 15px;
  cursor: pointer;
  margin: 0 !important;
}

.p-product_inquiries__item .ttl span {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

@media screen and (max-width: 767px) {
  .p-product_inquiries__item .ttl {
    font-size: 0.95rem;
    gap: 0.5rem;
  }
}

.p-product_inquiries__item .ttl::before {
  display: none;
}

.p-product_inquiries__item .ttl::after {
  content: "";
  width: 16px;
  height: 20px;
  margin-right: 29px;
  background: url(../images/quality-environment-arrow.png) no-repeat center center/contain;
  -webkit-transition: -webkit-transform ease 0.3s;
  transition: -webkit-transform ease 0.3s;
  transition: transform ease 0.3s;
  transition: transform ease 0.3s, -webkit-transform ease 0.3s;
}

@media screen and (max-width: 767px) {
  .p-product_inquiries__item .ttl::after {
    width: 8px;
    height: 14px;
    margin-right: 0;
  }
}

.p-product_inquiries__item .ttl.is-open::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.p-product_inquiries__item .contents {
  display: none;
  margin-top: 1rem;
  font-size: 1.2rem;
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .p-product_inquiries__item .contents {
    margin-top: 1rem;
    font-size: 16px;
  }
}

.p-product_inquiries__item .text {
  margin-top: 0;
}

.p-product_inquiries__item .text strong {
  font-weight: 500;
}

.p-product_inquiries__item:first-child .contents {
  display: block;
}

.p-product_inquiries__item .number {
  font-style: italic;
  margin-right: 0.5rem;
  font-weight: 300;
}

/*関連機器*/

.related_product {
  background-color: #ececec;
  width: 84%;
  margin: 10rem auto 0;
  padding: 4rem 10rem 2rem;
  border-radius: 8px;
}
@media screen and (max-width: 767px) {
  .related_product {
    width: 100%;
    padding: 2rem 0rem 2rem 1.6rem;
    margin: 6rem auto 0;
  }
}

.related_product .ttl {
  margin-bottom: 3rem;
  text-align: left;
  font-size: 1.15rem;
}
@media screen and (max-width: 767px) {
  .related_product .ttl {
    margin-bottom: 1rem;
    font-size: 1rem;
  }
}

.related_product .rp {
  position: relative;
}

.p-relatedproduct__swiper01 {
  padding-right: 4rem;
  padding-bottom: 5.6rem;
  width: calc(100%);
}

@media screen and (max-width: 1320px) {
  .p-relatedproduct__swiper01 {
    padding-right: 2rem;
    padding-bottom: 3.6rem;
    width: calc(100%);
  }
}

@media screen and (max-width: 767px) {
  .p-relatedproduct__swiper01 {
    padding-right: 2rem;
    padding-bottom: 3.6rem;
    padding-left: 0.2rem;
    width: calc(100%);
  }
}

.p-relatedproduct__swiper01 .p-products__item {
  height: auto;
  width: calc(100%/3.3);
}

.p-relatedproduct__swiper01 .p-products__item .product-card {
  text-align: center;
  display: block;
  height: 100%;
  padding-bottom: 1rem;
  -webkit-box-shadow: 0 4px 7.2px rgba(0, 0, 0, .125);
  box-shadow: 0 4px 7.2px rgba(0, 0, 0, .125);
  transition: all 0.35s ;
}
.p-relatedproduct__swiper01 .p-products__item .product-card:hover {
  text-align: center;
  display: block;
  height: 100%;
  padding-bottom: 1rem;
  transform: translateY(1.2px);
  -webkit-box-shadow: 0 2px 3.2px rgba(91, 91, 91, 0.125);
  box-shadow: 0 2px 3.2px rgba(91, 91, 91, 0.125);
}

.p-relatedproduct__swiper01 .p-products__item .thumb {
  aspect-ratio: 3/2;
  height: auto;
  margin-bottom: 1rem;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-relatedproduct__swiper01 .p-products__item .thumb img {
  width: 100%;
  height: 100%;
  border-radius: 12px;
  -o-object-fit: cover;
  object-fit: cover;
}


@media screen and (max-width: 767px) {

  .p-relatedproduct__swiper01 .p-products__item {
    width: calc(100%/1.2);
  }

  .p-relatedproduct__swiper01 .p-products__item .product-card {
    border-radius: 4px;
  }
}

.related_product .swiper-button-prev,
.related_product .swiper-button-next {
  width: 3.5rem;
  height: 3.5rem;
}

@media screen and (max-width: 767px) {

  .related_product .swiper-button-prev,
  .related_product .swiper-button-next {
    height: 2.25rem;
    width: 2.25rem;
  }
}

.related_product .swiper-button-prev {
  left: 0;
  top: auto;
  bottom: 0;
}

.related_product .swiper-button-next {
  left: 4.6875rem;
  top: auto;
  bottom: 0;
}

@media screen and (max-width: 767px) {
  .related_product .swiper-button-next {
    left: 3.125rem;
  }
}

.swiper-button-prev svg,
.swiper-button-next svg {
  display: none;
}

.related_product .swiper-button-prev:after {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../images/arrow-left.svg) no-repeat center center/contain;
}

.related_product .swiper-button-next:after {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../images/arrow-right.svg) no-repeat center center/contain;
}

.related_product .swiper-scrollbar {
  left: 10.1875rem;
  max-width: calc(100%);
  width: calc(63%);
  bottom: 1.625rem;
  background: #d9d9d9;
  height: 8px;
}

@media screen and (max-width: 767px) {
  .related_product .swiper-scrollbar {
    left: 6.875rem;
    bottom: 14px;
    max-width: calc(100% - 17px);
    width: calc(63% - 17px);
  }
}

.related_product .swiper-scrollbar-drag {
  background: #005db3;
  cursor: pointer;
}

.related_product .rp {
  text-align: center;
  display: flex;
  flex-direction: column;
}

.related_product .rp a {
  margin-top: 1.2rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: #0056b6;
}
.related_product .rp a span {
  padding: 0 1rem;
  display: block;
}

.related_product .subttl {
  background-color: #0056b6;
  padding: 1rem 2rem;
  border-radius: 1rem;
  width: fit-content;
  color: #fff;
}

.btl {
  margin-top: 12rem;
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .btl {
    margin-top: 6rem;
    font-size: 1.4rem;
    font-weight: 700;
  }
}

.btl a {
  display: flex;
  align-items: center;
}

.btl a img {
  width: 2.4rem;
  height: 2.4rem;
}
@media screen and (max-width: 767px) {
  .btl a img {
    width: 1.6rem;
    height: 1.6rem;
  }
}


.p-quality-environment {
  padding-top: 0px;
}

@media screen and (max-width: 767px) {
  .p-quality-environment {
    padding-top: 0px;
  }
}

.p-quality-environment__head {
  position: relative;
  margin: 0rem 0 0 1rem;
  aspect-ratio: 5/2.3;
}

.p-quality-environment__head .p-quality-environment_mv {
  aspect-ratio: 5/2.3;
  object-position: bottom;
  width: 100%;
  object-fit: cover;
  position: fixed;
  z-index: -1;
}

.ttl_wrapper {
  width: 42%;
  position: absolute;
  aspect-ratio: 1590/400;
  bottom: -0.5px;
  filter: drop-shadow(12px -10px 5px #00000028);
}

.ttl_wrapper div {
  width: 100%;
  position: relative;
  aspect-ratio: 1590/400;
}

.p-quality-environment__head svg {
  position: absolute;
  bottom: 0;
  width: 100%;
}

.p-quality-environment__head .ttl {
  width: 84%;
  position: absolute;
  top: 66%;
  left: 46%;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
  .p-quality-environment__head {
    padding: 0;
    margin: 0rem 0 0 0rem;
    aspect-ratio: 2.7/2;
  }

  .p-quality-environment__head .p-quality-environment_mv {
    aspect-ratio: 2.7/2;
    object-fit: cover;
  }

  .ttl_wrapper {
    width: 84%;
    aspect-ratio: 1600/380;
    bottom: 0px;
    filter: drop-shadow(6px -8px 5px #00000028);
  }

  .ttl_wrapper div {
    width: 100%;
    aspect-ratio: 1600/380;
  }

  .p-quality-environment__head svg {
    position: absolute;
    bottom: 0;
    width: 100%;
  }

  .p-quality-environment__head .ttl {
    width: 80%;
    position: absolute;
    top: 57%;
    left: 48%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (max-width:767px) {
  .q_ttl {
    width: 100%;
    margin-bottom: 3rem;
  }
}

.p-quality-environment__contents {
  padding-top: 8rem;
  padding-bottom: 10rem;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .p-quality-environment__contents {
    padding-top: 3rem;
    padding-bottom: 8rem;
  }
}

.environment_li {
  background-color: #f0f0f0;
  border-radius: 8px;
  margin-top: 2.4rem;
  padding: 3.2rem 2.4rem 1.2rem 2.4rem;
  list-style-type: decimal;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .environment_li {
    border-radius: 8px;
    margin-top: 2.4rem;
    padding: 1.6rem 1.2rem 1.2rem 1.2rem;
    list-style-type: decimal;
    font-weight: 500;
  }
}

.environment_li li {
  margin-bottom: 0.75rem;
  list-style-position: inside;
}

.environment_li ol li {
  font-weight: 300;
  margin-bottom: 0;
}

.p-quality-environment__ttl {
  font-weight: 700;
  font-size: 3rem;
  padding-bottom: 3.25rem;
  padding-left: 17px;
  border-bottom: 1px solid #262626;
  color: #005db3;
  margin-top: 5.8125rem;
}

@media screen and (max-width: 767px) {
  .environment_li ol li {
    font-size: 15px;
  }
  .p-quality-environment__ttl {
    font-size: 36px;
    padding-bottom: 2rem;
    margin-top: 2.8125rem;
  }
}

.p-quality-environment__lead {
  width: 92.5%;
  margin-inline: auto;
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 0.125rem;
}

@media screen and (max-width: 767px) {
  .p-quality-environment__lead {
    font-size: 16px;
    letter-spacing: 0.05rem;
    width: 95%;
  }
}

.p-quality-environment__list {
  margin-top: 9rem;
  width: 92.5%;
  margin-inline: auto;
}

@media screen and (max-width: 767px) {
  .p-quality-environment__list {
    margin-top: 5rem;
    width: 95%;
  }
}

.iso_wrap {
  background-color: #f0f0f000;
  padding: 3rem 3rem;
  width: 92%;
  margin: 0rem auto 0;
  border-radius: 16px;
  display: flex;
  justify-content: center;
  gap: 3rem;
}

.iso_wrap .iso_thumb {
  display: flex;
  gap: 1rem;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.iso_btn {
  width: fit-content;
  padding: 0.75rem 1.6rem;
  background-color: #005bac;
  border-radius: 8px;
  font-size: 1.125rem;
  color: #fff;
  display: flex;
  gap: 1rem;
  align-items: center;
}

.iso_btn span img {
  width: 16px;
}

.iso_wrap .iso_thumb .thumb {
  width: 80%;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .iso_wrap {
    background-color: #f0f0f0;
    padding: 0rem 0rem;
    width: 100%;
    margin: 2.4rem auto 2.4rem;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3rem;
  }

  .iso_wrap .iso_thumb {
    width: 100%;
    display: flex;
    gap: 1rem;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  .iso_wrap .iso_thumb .thumb {
    width: 56%;
  }
  .iso_btn {
    width: fit-content;
    padding: 0.5rem 1.5rem;
    background-color: #005bac;
    border-radius: 8px;
    color: #fff;
    font-size: 1rem;
    display: flex;
    gap: 1rem;
    align-items: center;
  }

  .iso_btn span img {
    width: 16px;
  }
}

.p-quality-environment__item {
  padding: 3.25rem 3.5rem 3.5rem 3.5625rem;
  border: 1px solid #005db3;
  border-radius: 12px;
}

@media screen and (max-width: 767px) {
  .p-quality-environment__item {
    padding: 1.4375rem 1.25rem;
  }
}

.p-quality-environment__item+.p-quality-environment__item {
  margin-top: 5.5rem;
}

@media screen and (max-width: 767px) {
  .p-quality-environment__item+.p-quality-environment__item {
    margin-top: 33px;
  }
}

.p-quality-environment__item .ttl {
  color: #005db3;
  font-size: 24px;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 15px;
  cursor: pointer;
}

.p-quality-environment__item .ttl span {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

@media screen and (max-width: 767px) {
  .p-quality-environment__item .ttl {
    font-size: 20px;
  }
}

.p-quality-environment__item .ttl::after {
  content: "";
  width: 21px;
  height: 35px;
  margin-right: 29px;
  background: url(../images/quality-environment-arrow.png) no-repeat center center/contain;
  -webkit-transition: -webkit-transform ease 0.3s;
  transition: -webkit-transform ease 0.3s;
  transition: transform ease 0.3s;
  transition: transform ease 0.3s, -webkit-transform ease 0.3s;
}

@media screen and (max-width: 767px) {
  .p-quality-environment__item .ttl::after {
    width: 8px;
    height: 14px;
    margin-right: 0;
  }
}

.p-quality-environment__item .ttl.is-open::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.p-quality-environment__item .contents {
  display: none;
  margin-top: 76px;
  font-size: 20px;
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .p-quality-environment__item .contents {
    margin-top: 33px;
    font-size: 16px;
  }
}

.p-quality-environment__item .text strong {
  font-weight: 500;
}

.p-quality-environment__item/*:first-child*/ .contents {
  display: block;
}

.p-quality-environment__license {
  margin-top: 9.0625rem;
  width: 92.5%;
  margin-inline: auto;
}

@media screen and (max-width: 767px) {
  .p-quality-environment__license {
    margin-top: 5rem;
    width: 95%;
  }
}

.p-quality-environment__license .license-ttl {
  color: #005db3;
  font-size: 2.5rem;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .p-quality-environment__license .license-ttl {
    font-size: 1.5rem;
  }
}

.p-quality-environment__license .table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 39px;
}

@media screen and (max-width: 980px) {
  .p-quality-environment__license .table-wrap {
    margin-top: 1.3125rem;
    overflow-x: scroll;
    width: 100%;
    position: relative;
  }
  .p-quality-environment__license .table-wrap::before {
    content: "← 横にスクロールできます →";
    display: block;
    text-align: left;
    font-size: 12px;
    color: #888;
    position: sticky;
    left: 0;
  }
  .p-quality-environment__license .table {
    overflow-x: scroll;
    margin-top: 4px;
    white-space: nowrap;
  }
  .p-quality-environment__license .table th:nth-child(3),.p-quality-environment__license .table td:nth-child(3) {
    text-align: left;
    padding-left: 1.25rem;
  }
}

.p-quality-environment__license th,
.p-quality-environment__license td {
  border: 0.75px solid #262626;
  text-align: center;
  vertical-align: middle;
  font-weight: 500;
}

.p-quality-environment__license th {
  padding: 15px;
  background-color: #005db3;
  color: #fff;
  font-size: 24px;
}

@media screen and (max-width: 767px) {
  .p-quality-environment__license th {
    font-size: 18px;
    padding: 10px;
  }
}

.p-quality-environment__license td {
  font-size: 16px;
  padding: 2.125rem 15px;
}

@media screen and (max-width: 767px) {
  .p-quality-environment__license td {
    -webkit-text-size-adjust: none; /* 必要最小限のスコープで使う */
    text-size-adjust: none;
    font-size: 14px!important;
    padding: 2.125rem 10px;
  }
}

@media screen and (max-width: 767px) {
  .p-quality-environment__license tr td:first-child {
    white-space: nowrap;
  }
}

.p-topCompany {
  background: #fff;
  padding-top: 240px;
  padding-bottom: 140px;
  overflow: hidden;
  position: relative;
}
.p-topCompany::before {
  position: absolute;
  content: "";
  top: 0px;
  width: 100%;
  height: 80px;
  background: linear-gradient(180deg,#005db3 0%,#ffffff 100%);
  z-index: 0;
}

@media screen and (max-width: 767px) {
  .p-topCompany {
    padding-top: 140px;
    padding-bottom: 80px;
  }
}

.p-topCompany__contents {
  margin-top: 9rem;
}

@media screen and (max-width: 767px) {
  .p-topCompany__contents {
    margin-top: 80px;
  }
}

.p-topCompany__item {
  width: 91.7%;
  position: relative;
}

.p-topCompany__item:nth-child(odd) {
  margin-left: auto;
  padding-left: 5.625rem;
}

@media screen and (max-width: 767px) {
  .p-topCompany__item:nth-child(odd) {
    padding-left: 1.5rem;
    border-radius: 80px 0 0 80px;
    overflow: hidden;
    text-align: right;
  }
}

.p-topCompany__item:nth-child(even) {
  margin-right: auto;
  padding-right: 5.625rem;
}

@media screen and (max-width: 767px) {
  .p-topCompany__item:nth-child(even) {
    padding-right: 2.5rem;
    border-radius: 0 80px 80px 0;
    overflow: hidden;
  }
}

.p-topCompany__item:nth-child(1) {
  color: #fff;
}

@media screen and (max-width: 767px) {
  .p-topCompany__item:nth-child(1) {
    width: 91.7%;
  }
}

.p-topCompany__item:nth-child(2) {
  margin-top: 10.3125rem;
  color: #005db3;
  width: 78.4%;
}

@media screen and (max-width: 767px) {
  .p-topCompany__item:nth-child(2) {
    margin-top: 5rem;
    width: 91.7%;
  }
}

.p-topCompany__item:nth-child(3) {
  margin-top: 12.375rem;
  color: #005db3;
  width: 89.6%;
}

@media screen and (max-width: 767px) {
  .p-topCompany__item:nth-child(3) {
    margin-top: 5rem;
    width: 91.7%;
  }
}

.p-topCompany__item:nth-child(4) {
  margin-top: 14.5rem;
  color: #fff;
  width: 78.4%;
}

@media screen and (max-width: 767px) {
  .p-topCompany__item:nth-child(4) {
    margin-top: 5rem;
    width: 91.7%;
  }
}

.p-topCompany__wrap {
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.875rem;
  max-width: 1440px;
  margin: 0 auto;
}

.p-topCompany__item:nth-child(1) .p-topCompany__wrap {
  grid-template-columns: 31.625rem 1fr;
}

@media screen and (max-width: 767px) {
  .p-topCompany__item:nth-child(1) .p-topCompany__wrap {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

.p-topCompany__item:nth-child(2) .p-topCompany__wrap {
  grid-template-columns: 1fr 31rem;
}

@media screen and (min-width: 768px) {
  .p-topCompany__item:nth-child(2) .p-topCompany__wrap .p-topCompany__body {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }

  .p-topCompany__item:nth-child(2) .p-topCompany__wrap .p-topCompany__img {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}

@media screen and (max-width: 767px) {
  .p-topCompany__item:nth-child(2) .p-topCompany__wrap {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

.p-topCompany__item:nth-child(3) .p-topCompany__wrap {
  grid-template-columns: 34.4375rem 1fr;
}

@media screen and (max-width: 767px) {
  .p-topCompany__item:nth-child(3) .p-topCompany__wrap {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

.p-topCompany__item:nth-child(4) .p-topCompany__wrap {
  grid-template-columns: 1fr 27.4375rem;
}

@media screen and (min-width: 768px) {
  .p-topCompany__item:nth-child(4) .p-topCompany__wrap .p-topCompany__body {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }

  .p-topCompany__item:nth-child(4) .p-topCompany__wrap .p-topCompany__img {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}

@media screen and (max-width: 767px) {
  .p-topCompany__item:nth-child(4) .p-topCompany__wrap {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

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

.p-topCompany__bg.--blue {
  background: #005db3;
  border: 1px solid #005db3;
}

.p-topCompany__bg.--white {
  background: #fff;
  border: 1px solid #005db3;
  border-left: none;
}

.p-topCompany__bg.--yellow {
  background: #ffcc25;
  border: 1px solid #ffcc25;
}

.p-topCompany__bg.--pink {
  background: #fb8083;
  border: 1px solid #fb8083;
}

.p-topCompany__item:nth-child(odd) .p-topCompany__bg {
  border-radius: 261px 0 0 261px;
}

.p-topCompany__item:nth-child(even) .p-topCompany__bg {
  border-radius: 0 261px 261px 0;
}

@media screen and (max-width: 767px) {
  .p-topCompany__item:nth-child(odd) .p-topCompany__bg {
    border-radius: 80px 0 0 80px;
  }

  .p-topCompany__item:nth-child(even) .p-topCompany__bg {
    border-radius: 0 80px 80px 0;
  }
}

.p-topCompany__body {
  position: relative;
  padding-top: 102px;
  padding-bottom: 74px;
}

@media screen and (max-width: 767px) {
  .p-topCompany__body {
    padding-top: 80px;
    z-index: 1;
  }
}

@media screen and (max-width: 767px) {
  .p-topCompany__item:nth-child(odd) .p-topCompany__body {
    padding-right: 20px;
  }
}

@media screen and (max-width: 767px) {
  .p-topCompany__item:nth-child(even) .p-topCompany__body {
    padding-left: 20px;
  }
}

@media screen and (max-width: 767px) {
  .p-topCompany__item:nth-child(1) .p-topCompany__body {
    padding-bottom: 11.875rem;
  }
}

@media screen and (max-width: 767px) {
  .p-topCompany__item:nth-child(2) .p-topCompany__body {
    padding-bottom: 11.875rem;
  }
}

@media screen and (max-width: 767px) {
  .p-topCompany__item:nth-child(3) .p-topCompany__body {
    padding-bottom: 13.4375rem;
  }
}

@media screen and (max-width: 767px) {
  .p-topCompany__item:nth-child(4) .p-topCompany__body {
    padding-bottom: 13.75rem;
  }
}

.p-topCompany__body .ttl {
  font-size: max(2.25rem, 24px);
  letter-spacing: 0.5em;
}

@media screen and (max-width: 767px) {
  .p-topCompany__body .ttl {
    font-size: 2.25rem;
    letter-spacing: 0.15em;
  }
}

.p-topCompany__body .subttl {
  font-size: max(1.5rem, 18px);
  line-height: 1.7;
  letter-spacing: 0.25em;
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .p-topCompany__body .subttl {
    font-size: 1.125rem;
    letter-spacing: 0.1em;
  }
}

.p-topCompany__body .text {
  font-size: max(1rem, 14px);
  line-height: 1.5625;
  margin-top: 6px;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .p-topCompany__body .text {
    margin-top: 20px;
  }
}

.p-topCompany__body .btn {
  margin-top: 27px;
  margin-right: 2.5rem;
}

@media screen and (min-width: 768px) {
  .p-topCompany__body .btn {
    text-align: right;
  }
}

@media screen and (max-width: 767px) {
  .p-topCompany__body .btn {
    margin-right: 0;
  }
}

.p-topCompany__body .btn a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 12px 56px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .p-topCompany__body .btn a {
    padding: 12px 20px;
  }
}

.p-topCompany__item:nth-child(1) .p-topCompany__body .btn a {
  background: #fff;
  color: #005db3;
}

.p-topCompany__item:nth-child(2) .p-topCompany__body .btn a {
  background: #005db3;
  color: #fff;
}

.p-topCompany__item:nth-child(3) .p-topCompany__body .btn a {
  background: #005db3;
  color: #fff;
}

.p-topCompany__item:nth-child(4) .p-topCompany__body .btn a {
  background: #fff;
  color: #fb8083;
}

.p-topCompany__img {
  position: relative;
  height: 100%;
}

.p-topCompany__img::before {
  position: absolute;
  content: "";
  opacity: 0;
  -webkit-transition: opacity 0.8s ease 0.5s;
  transition: opacity 0.8s ease 0.5s;
}

.p-topCompany__img img,
.p-topCompany__img picture {
  max-width: none;
  position: absolute;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-topCompany__img.is-shown::before {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

@media screen and (max-width: 767px) {
  .p-topCompany__img {
    z-index: 0;
  }
}

.p-topCompany__item:nth-child(1) .p-topCompany__img::before {
  bottom: 2.875rem;
  right: 2.125rem;
  width: 32.875rem;
  height: 20.25rem;
  background: url(../images/top/company01-02.png) no-repeat center center/contain;
}

.p-topCompany__item:nth-child(1) .p-topCompany__img img,
.p-topCompany__item:nth-child(1) .p-topCompany__img picture {
  width: 42.5625rem;
  bottom: 1px;
  right: -0.5rem;
}

@media screen and (max-width: 767px) {
  .p-topCompany__item:nth-child(1) .p-topCompany__img::before {
    bottom: 14px;
    right: auto;
    left: -44px;
    width: 17.5625rem;
    height: 15.6875rem;
    background: url(../images/top/company01-02-sp.png) no-repeat center center/contain;
  }

  .p-topCompany__item:nth-child(1) .p-topCompany__img img,
  .p-topCompany__item:nth-child(1) .p-topCompany__img picture {
    width: 23.75rem;
    bottom: 0px;
    right: auto;
    left: -20px;
  }
}

.p-topCompany__item:nth-child(2) .p-topCompany__img::before {
  bottom: 0px;
  left: -1.6125rem;
  width: 40.4375rem;
  height: 31rem;
  background: url(../images/top/company02-02.png) no-repeat center center/contain;
}

.p-topCompany__item:nth-child(2) .p-topCompany__img img,
.p-topCompany__item:nth-child(2) .p-topCompany__img picture {
  width: 42.75rem;
  bottom: 0px;
  left: 12px;
}

@media screen and (max-width: 767px) {
  .p-topCompany__item:nth-child(2) .p-topCompany__img::before {
    bottom: -10px;
    left: auto;
    right: -20px;
    width: 20.375rem;
    height: 17.5625rem;
    background: url(../images/top/company02-02-sp.png) no-repeat center center/contain;
  }

  .p-topCompany__item:nth-child(2) .p-topCompany__img img,
  .p-topCompany__item:nth-child(2) .p-topCompany__img picture {
    width: 20.5625rem;
    bottom: 0px;
    left: auto;
    right: -54px;
  }
}

.p-topCompany__item:nth-child(3) .p-topCompany__img::before {
  bottom: -20px;
  left: 0.3875rem;
  width: 40.4375rem;
  height: 31rem;
  background: url(../images/top/company03-03.png) no-repeat center center/contain;
}

@media screen and (max-width: 767px) {
  .p-topCompany__item:nth-child(3) .p-topCompany__img::before {
    bottom: -30px;
    left: auto;
    right: -20px;
    width: 23.375rem;
    height: 16.5625rem;
    background: url(../images/top/company03-03-sp.png) no-repeat center center/contain;
  }
}

.p-topCompany__item:nth-child(3) .p-topCompany__img img,
.p-topCompany__item:nth-child(3) .p-topCompany__img picture {
  width: 100%;
  bottom: 0.5rem;
  right: 0;
}

@media screen and (max-width: 767px) {

  .p-topCompany__item:nth-child(3) .p-topCompany__img img,
  .p-topCompany__item:nth-child(3) .p-topCompany__img picture {
    width: 24.625rem;
    bottom: 2px;
    right: auto;
    left: -3.875rem;
  }
}

.p-topCompany__item:nth-child(4) .p-topCompany__img::before {
  bottom: 1.875rem;
  left: -0.0625rem;
  width: 43.4375rem;
  height: 32.4375rem;
  background: url(../images/top/company04-02.png) no-repeat center center/contain;
}

.p-topCompany__item:nth-child(4) .p-topCompany__img img,
.p-topCompany__item:nth-child(4) .p-topCompany__img picture {
  width: 29.5rem;
  bottom: 0;
  left: 9.375rem;
}

@media screen and (max-width: 767px) {
  .p-topCompany__item:nth-child(4) .p-topCompany__img::before {
    bottom: -3.875rem;
    left: 0;
    width: 18.75rem;
    height: 30.4375rem;
    background: url(../images/top/company04-02-sp.png) no-repeat center center/contain;
  }

  .p-topCompany__item:nth-child(4) .p-topCompany__img img,
  .p-topCompany__item:nth-child(4) .p-topCompany__img picture {
    width: 16.875rem;
    bottom: -50px;
    right: -65px;
    left: auto;
  }
}

.p-topGallery {
  background: #fff;
  padding-top: 133px;
  padding-bottom: 250px;
}

@media screen and (max-width: 767px) {
  .p-topGallery {
    padding-top: 60px;
    padding-bottom: 80px;
  }
}

.p-topGallery__contents {
  overflow: hidden;
}

.p-topGallery__numbtns {
  margin-top: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 10px;
  display: none;
}

.p-topGallery__contents label {
  cursor: pointer;
  background: #fff;
  color: #005db3;
  border: 1px solid #005db3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 50%;
  aspect-ratio: 1/1;
  width: 2em;
}

.p-topGallery__contents label:hover {
  background: #005db3;
  color: #fff;
}

.p-topGallery__contents input {
  display: none;
}

.p-topGallery__numbtns label.is-active {
  background: #005db3;
  color: #fff;
}

.p-topGallery__container {
  width: 720px;
  max-width: 80%;
  aspect-ratio: 5/3;
  text-align: left;
  margin: 60px auto 72px;
  -webkit-perspective: 1450px;
  -webkit-perspective-origin: 50% -30%;
}

@media screen and (max-width: 767px) {
  .p-topGallery__container {
    -webkit-perspective-origin: 50% -45%;
  }
}

.p-topGallery__container .carousel {
  -webkit-transform-style: preserve-3d;
  -webkit-transform: translateZ(-600px);
  position: relative;
  margin: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: 1s;
}

@media screen and (max-width: 767px) {
  .p-topGallery__container .carousel {
    -webkit-transform: translateZ(-380px);
  }
}

.p-topGallery__container .carousel img {
  position: absolute;
  opacity: 0.5;
  -webkit-transition: 1s;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #ccc;
}

.p-topGallery__container .carousel img:nth-child(1) {
  -webkit-transform: translateZ(600px) scale(0.64);
}

@media screen and (max-width: 767px) {
  .p-topGallery__container .carousel img:nth-child(1) {
    -webkit-transform: translateZ(320px) scale(0.64);
  }
}

.p-topGallery__container .carousel img:nth-child(2) {
  -webkit-transform: rotateY(45deg) translateZ(600px) scale(0.64);
}

@media screen and (max-width: 767px) {
  .p-topGallery__container .carousel img:nth-child(2) {
    -webkit-transform: rotateY(45deg) translateZ(320px) scale(0.64);
  }
}

.p-topGallery__container .carousel img:nth-child(3) {
  -webkit-transform: rotateY(90deg) translateZ(600px) scale(0.64);
}

@media screen and (max-width: 767px) {
  .p-topGallery__container .carousel img:nth-child(3) {
    -webkit-transform: rotateY(90deg) translateZ(320px) scale(0.64);
  }
}

.p-topGallery__container .carousel img:nth-child(4) {
  -webkit-transform: rotateY(135deg) translateZ(600px) scale(0.64);
}

@media screen and (max-width: 767px) {
  .p-topGallery__container .carousel img:nth-child(4) {
    -webkit-transform: rotateY(135deg) translateZ(320px) scale(0.64);
  }
}

.p-topGallery__container .carousel img:nth-child(5) {
  -webkit-transform: rotateY(180deg) translateZ(600px) scale(0.64);
}

@media screen and (max-width: 767px) {
  .p-topGallery__container .carousel img:nth-child(5) {
    -webkit-transform: rotateY(180deg) translateZ(320px) scale(0.64);
  }
}

.p-topGallery__container .carousel img:nth-child(6) {
  -webkit-transform: rotateY(225deg) translateZ(600px) scale(0.64);
}

@media screen and (max-width: 767px) {
  .p-topGallery__container .carousel img:nth-child(6) {
    -webkit-transform: rotateY(225deg) translateZ(320px) scale(0.64);
  }
}

.p-topGallery__container .carousel img:nth-child(7) {
  -webkit-transform: rotateY(270deg) translateZ(600px) scale(0.64);
}

@media screen and (max-width: 767px) {
  .p-topGallery__container .carousel img:nth-child(7) {
    -webkit-transform: rotateY(270deg) translateZ(320px) scale(0.64);
  }
}

.p-topGallery__container .carousel img:nth-child(8) {
  -webkit-transform: rotateY(315deg) translateZ(600px) scale(0.64);
}

@media screen and (max-width: 767px) {
  .p-topGallery__container .carousel img:nth-child(8) {
    -webkit-transform: rotateY(315deg) translateZ(320px) scale(0.64);
  }
}

.p-topGallery__contents input[value="1"]:checked~.p-topGallery__container .carousel {
  -webkit-transform: translateZ(-540px);
}

.p-topGallery__contents input[value="2"]:checked~.p-topGallery__container .carousel {
  -webkit-transform: translateZ(-540px) rotateY(-45deg);
}

.p-topGallery__contents input[value="3"]:checked~.p-topGallery__container .carousel {
  -webkit-transform: translateZ(-540px) rotateY(-90deg);
}

.p-topGallery__contents input[value="4"]:checked~.p-topGallery__container .carousel {
  -webkit-transform: translateZ(-540px) rotateY(-135deg);
}

.p-topGallery__contents input[value="5"]:checked~.p-topGallery__container .carousel {
  -webkit-transform: translateZ(-540px) rotateY(-180deg);
}

.p-topGallery__contents input[value="6"]:checked~.p-topGallery__container .carousel {
  -webkit-transform: translateZ(-540px) rotateY(-225deg);
}

.p-topGallery__contents input[value="7"]:checked~.p-topGallery__container .carousel {
  -webkit-transform: translateZ(-540px) rotateY(-270deg);
}

.p-topGallery__contents input[value="8"]:checked~.p-topGallery__container .carousel {
  -webkit-transform: translateZ(-540px) rotateY(-315deg);
}

.p-topGallery__contents input[value="1"]:checked~.p-topGallery__container .carousel img:nth-child(1) {
  -webkit-transform: translateZ(640px) scale(1);
  opacity: 1;
}

.p-topGallery__contents input[value="2"]:checked~.p-topGallery__container .carousel img:nth-child(2) {
  -webkit-transform: rotateY(45deg) translateZ(600px) scale(1);
  opacity: 1;
}

.p-topGallery__contents input[value="3"]:checked~.p-topGallery__container .carousel img:nth-child(3) {
  -webkit-transform: rotateY(90deg) translateZ(600px) scale(1);
  opacity: 1;
}

.p-topGallery__contents input[value="4"]:checked~.p-topGallery__container .carousel img:nth-child(4) {
  -webkit-transform: rotateY(135deg) translateZ(600px) scale(1);
  opacity: 1;
}

.p-topGallery__contents input[value="5"]:checked~.p-topGallery__container .carousel img:nth-child(5) {
  -webkit-transform: rotateY(180deg) translateZ(600px) scale(1);
  opacity: 1;
}

.p-topGallery__contents input[value="6"]:checked~.p-topGallery__container .carousel img:nth-child(6) {
  -webkit-transform: rotateY(225deg) translateZ(600px) scale(1);
  opacity: 1;
}

.p-topGallery__contents input[value="7"]:checked~.p-topGallery__container .carousel img:nth-child(7) {
  -webkit-transform: rotateY(270deg) translateZ(600px) scale(1);
  opacity: 1;
}

.p-topGallery__contents input[value="8"]:checked~.p-topGallery__container .carousel img:nth-child(8) {
  -webkit-transform: rotateY(315deg) translateZ(600px) scale(1);
  opacity: 1;
}

.p-topGallery__btn {
  text-align: center;
}

.p-topGallery__btn a {
  display: inline-block;
  padding: 2rem 2.375rem;
  color: #005db3;
  border-radius: 64px;
  border: 1px solid #005db3;
  font-weight: 700;
  font-size: 1.5rem;
  min-width: 331px;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .p-topGallery__btn a {
    padding: 1rem 1.875rem;
    font-size: 1.125rem;
    min-width: auto;
  }
}

body.is-opening {
  overflow: hidden;
}

.p-opening {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #1b4078;
  /*#265cad*/
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  opacity: 1;
}

.p-opening__inner {
  width: 100%;
  padding: 5.625rem;
}

@media screen and (max-width: 767px) {
  .p-opening__inner {
    padding: min(5.3333333333vw, 2.8125rem);
  }
}

.p-opening__logo {
  width: 25rem;
  height: auto;
  display: block;
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .p-opening__logo {
    width: 80%;
    max-width: 400px;
  }
}

.p-opening__line {
  position: relative;
  height: 4.4611111111vw;
}

@media screen and (max-width: 767px) {
  .p-opening__line {
    height: 40px;
  }
}

.p-opening__svg {
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
}

.p-opening__svg path {
  opacity: 0;
}

/* ほんのり発光（黄色寄り） */
#lightningOpening-op {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur in="SourceAlpha" stdDeviation="1" /><feOffset dx="1" dy="1" result="offsetblur" /><feFlood flood-color="rgba(255,255,140,0.55)" /><feComposite in2="offsetblur" operator="in" /><feMerge><feMergeNode /><feMergeNode in="SourceGraphic" /></feMerge><feGaussianBlur in="SourceAlpha" stdDeviation="1" /><feOffset dx="1" dy="1" result="offsetblur" /><feFlood flood-color="rgba(255,255,0,0.35)" /><feComposite in2="offsetblur" operator="in" /><feMerge><feMergeNode /><feMergeNode in="SourceGraphic" /></feMerge></filter></svg>#filter');
  -webkit-filter: drop-shadow(0 0 1px rgba(255, 255, 140, .55)) drop-shadow(0 0 1px rgba(255, 255, 0, 0.422));
  filter: drop-shadow(0 0 1px rgba(255, 255, 140, .55)) drop-shadow(0 0 1px rgba(255, 255, 0, 0.422));
}

.p-opening[aria-hidden=true] {
  opacity: 0;
  pointer-events: none;
}

.p-bgfixArea {
  position: fixed;
  z-index: -2;
  overflow: hidden;
  width: 100%;
  height: 100%;
  transition: filter 0.3s ease, -webkit-filter 0.3s ease;
}

.p-bgfixArea__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  -webkit-transition: opacity 1s ease-out;
  transition: opacity 1s ease-out;
  z-index: 2;
  opacity: 0;
}

.p-bgfixArea__overlay.is-active {
  opacity: 1;
}

.p-topMv__wrapper01 {
  position: relative;
  width: 100%;
  height: 100vh;
}

.p-top-mv__slider {
  height: 100%;
}
.p-top-mv__slider .swiper-wrapper {
  transition-timing-function: cubic-bezier(0.7, 0, 0.42, 1);
}

/*.p-top-mv__slider .swiper-slide img{
  transition: clip-path 2s cubic-bezier(0.7, 0, 0.42, 1);
}
.p-top-mv__slider .swiper-slide.swiper-slide-next img{
    clip-path: circle(20% at 80% 50%);
}*/
.p-top-mv__slider .swiper-slide.swiper-slide-active img{
    clip-path: circle(20% at 80% 50%);
    animation: reveal 1.5s forwards cubic-bezier(0.7, 0, 0.42, 1);
}
@keyframes reveal {
  to {
    clip-path: circle(110% at 80% 50%);
  }
}

.p-top-mv__slider .img-wrap {
  height: 100%;
}

.p-top-mv__slider .img-wrap picture,
.p-top-mv__slider .img-wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  overflow: hidden !important;
}

.p-topMv__text01,
.p-topMv__text02 {
  color: #fff;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.24);
}

.p-topMv__text01 span,
.p-topMv__text02 span {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: pre;
  text-indent: 0;
}

.p-topMv__text01 {
  position: absolute;
  right: 11.375rem;
  top: 10.125rem;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0.32em;
  line-height: 1.8;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.p-top-mv__slider::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 4;
    width: 100%;
    height: 100%;
    background: linear-gradient(105deg ,#5b6dba07 60% , #1a1f3f37 100%);
  }

@media screen and (max-width: 767px) {
  .p-top-mv__slider::after {
    background: linear-gradient(105deg ,#2432925e 0% , #1a1f3f37 40%);
  }
  .p-topMv__text01 {
    font-size: 1.275rem;
    left: 1.6rem;
    top: 5.25rem;
    letter-spacing: 0.4em;
    justify-content: flex-end;
  }
}

.p-topMv__text01 .--02 {
  padding-top: 6.4rem;
}

@media screen and (max-width: 767px) {
  .p-topMv__text01 .--02 {
    padding-top: 2.25rem;
  }
}

.p-topMv__text02 {
  position: absolute;
  left: 4.9375rem;
  bottom: 3.0625rem;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 2.95;
}

@media screen and (max-width: 767px) {
  .p-topMv__text02 {
    bottom: 0.625rem;
    left: 1.25rem;
    line-height: 2.25;
  }
}

.p-topMv__wrapper02 {
  padding-bottom: 85px;
}

@media screen and (max-width: 767px) {
  .p-topMv__wrapper02 {
    padding-bottom: 0px;
  }
}

.p-topMv-pictures__items {
  position: relative;
  width: 100%;
  aspect-ratio: 1440/880;
  margin-bottom: 4rem;
}

.p-topMv-pictures__img {
  position: absolute;
}

.p-topMv-pictures__img img {
  width: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-topMv-pictures__img.--01 {
  top: 32.2222222222vw;
  left: 0;
  width: 16.8055555556vw;
}

.p-topMv-pictures__img.--02 {
  top: 4.7916666667vw;
  left: 10vw;
  width: 22.4305555556vw;
}

.p-topMv-pictures__img.--03 {
  top: 23.3472222222vw;
  left: 31.7222222222vw;
  width: 22.7777777778vw;
  aspect-ratio: 1/1;
  mask-image: url(../images/top/circle.svg);
  mask-repeat: no-repeat;
  mask-position: 0 0;
  mask-size: 100%;
  /* Chrome, Safari用 */
  -webkit-mask-image: url(../images/top/circle.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 0 0;
  -webkit-mask-size: 100%;
}

.p-topMv-pictures__img.--04 {
  top: 10.9722222222vw;
  left: 50.4166666667vw;
  width: 9.9305555556vw;
}

.p-topMv-pictures__img.--05 {
  bottom: 5.5555555556vw;
  right: 6.4583333333vw;
  width: 29.8611111111vw;
}

.p-topMv-pictures__img.--06 {
  top: 4.0277777778vw;
  right: 8.8194444444vw;
  width: 17.0138888889vw;
}

.p-topMv-pictures__circle {
  border-radius: 50%;
  display: inline-block;
  aspect-ratio: 1/1;
  position: absolute;
}

.p-topMv-pictures__circle.--01 {
  background: #005db3;
  width: 1.5277777778vw;
  top: 24.6527777778vw;
  left: 7.4305555556vw;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="3" /></filter></svg>#filter');
  -webkit-filter: blur(3px);
  filter: blur(3px);
}

.p-topMv-pictures__circle.--02 {
  background: #ffcc25;
  width: 2.7777777778vw;
  top: 34.4444444444vw;
  left: 23.125vw;
}

.p-topMv-pictures__circle.--03 {
  background: #005db3;
  width: 2.7777777778vw;
  top: 46.25vw;
  left: 31.9444444444vw;
}

.p-topMv-pictures__circle.--04 {
  background: #ffcc25;
  width: 1.5277777778vw;
  top: 42.3611111111vw;
  left: 55.3472222222vw;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="3" /></filter></svg>#filter');
  -webkit-filter: blur(3px);
  filter: blur(3px);
}

.p-topMv-pictures__circle.--05 {
  background: #005db3;
  width: 1.4583333333vw;
  top: 21.8055555556vw;
  right: 33.8194444444vw;
}

.p-topMv-pictures__circle.--06 {
  background: #005db3;
  width: 2.7777777778vw;
  top: 15.6944444444vw;
  right: 3.5416666667vw;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="3" /></filter></svg>#filter');
  -webkit-filter: blur(3px);
  filter: blur(3px);
}

.p-topMv-pictures__circle.--07 {
  background: #ffcc25;
  width: 1.5972222222vw;
  right: 2.7777777778vw;
  bottom: 2.8472222222vw;
}

.p-topMv-pictures__circle.--08 {
  background: #fb8083;
  width: 1.5972222222vw;
  right: 56.819444vw;
  top: 10.805556vw;
}

@media screen and (max-width:767px) {
  .p-topMv-pictures__items {
    aspect-ratio: 1200/1536;
    margin-bottom: 3rem;
  }

  .p-topMv-pictures__img {
    position: absolute;
  }

  .p-topMv-pictures__img img {
    width: 100%;
    -o-object-fit: contain;
    object-fit: contain;
  }

  .p-topMv-pictures__img.--01 {
    top: 74.2222222222vw;
    left: 8vw;
    width: 26.8055555556vw;
  }

  .p-topMv-pictures__img.--02 {
    top: 1.7916666667vw;
    left: 5vw;
    width: 28.4305555556vw;
  }

  .p-topMv-pictures__img.--03 {
    top: 27.3472222222vw;
    left: 25.7222222222vw;
    width: 44.7777777778vw;
    aspect-ratio: 1/1;
    mask-image: url(../images/top/circle.svg);
    mask-repeat: no-repeat;
    mask-position: 0 0;
    mask-size: 100%;
    /* Chrome, Safari用 */
    -webkit-mask-image: url(../images/top/circle.svg);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    -webkit-mask-size: 100%;
  }

  .p-topMv-pictures__img.--04 {
    top: 3.9722222222vw;
    left: 59.4166666667vw;
    width: 20.9305555556vw;
  }

  .p-topMv-pictures__img.--05 {
    bottom: 1.5555555556vw;
    right: 6.4583333333vw;
    width: 39.8611111111vw;
  }

  .p-topMv-pictures__img.--06 {
    top: 33.0277777778vw;
    right: 1.8194444444vw;
    width: 17.0138888889vw;
  }

  .p-topMv-pictures__circle {
    border-radius: 50%;
    display: inline-block;
    aspect-ratio: 1/1;
    position: absolute;
  }

  .p-topMv-pictures__circle.--01 {
    background: #005db3;
    width: 1.5277777778vw;
    top: 39.6527777778vw;
    left: 7.4305555556vw;
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="3" /></filter></svg>#filter');
    -webkit-filter: blur(3px);
    filter: blur(3px);
  }

  .p-topMv-pictures__circle.--02 {
    background: #ffcc25;
    width: 2.7777777778vw;
    top: 56.4444444444vw;
    left: 13.125vw;
  }

  .p-topMv-pictures__circle.--03 {
    background: #005db3;
    width: 2.7777777778vw;
    top: 106.25vw;
    left: 38.9444444444vw;
  }

  .p-topMv-pictures__circle.--04 {
    background: #ffcc25;
    width: 1.5277777778vw;
    top: 72.3611111111vw;
    left: 78.3472222222vw;
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="3" /></filter></svg>#filter');
    -webkit-filter: blur(3px);
    filter: blur(3px);
  }

  .p-topMv-pictures__circle.--05 {
    background: #005db3;
    width: 1.4583333333vw;
    top: 27.8055555556vw;
    right: 22.8194444444vw;
  }

  .p-topMv-pictures__circle.--06 {
    background: #005db3;
    width: 4.7777777778vw;
    top: 57.6944444444vw;
    right: 4.5416666667vw;
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="3" /></filter></svg>#filter');
    -webkit-filter: blur(3px);
    filter: blur(3px);
  }

  .p-topMv-pictures__circle.--07 {
    background: #ffcc25;
    width: 3.5972222222vw;
    right: 48.7777777778vw;
    bottom: 41.8472222222vw;
  }

  .p-topMv-pictures__circle.--08 {
    background: #fb8083;
    width: 3.2972222222vw;
    right: 52.819444vw;
    top: 7.805556vw;
  }
}

.p-topMv-pictures__text .text01 {
  font-size: 3rem;
  line-height: 1.25;
  letter-spacing: 0.5em;
}

@media screen and (max-width: 767px) {
  .p-topMv-pictures__text .text01 {
    font-size: 1.5rem;
    text-align: center;
    letter-spacing: 0.4em;
    line-height: 1.8;
  }
}

.p-topMv-pictures__text .text02 {
  font-size: 1.75rem;
  line-height: 2.05;
  letter-spacing: 0.22em;
  margin-top: 12px;
}

@media screen and (max-width: 767px) {
  .p-topMv-pictures__text .text02 {
    font-size: 16px;
    text-align: left;
    letter-spacing: 0.12em;
  }
}

.p-topNews {
  background: #fff;
  padding-top: 85px;
  padding-bottom: 196px;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-topNews {
    padding-top: 96px;
    padding-bottom: 120px;
  }
}

.p-topNews__ttl {
  font-size: 2.5rem;
  line-height: 1.5;
  letter-spacing: 0.325em;
}

@media screen and (max-width: 767px) {
  .p-topNews__ttl {
    font-size: 28px;
  }
}

.p-topNews__ttl span {
  /* border-bottom: 2px solid #000; */
  position: relative;
  display: inline-block;
}

/* .p-topNews__ttl span::before {
  position: absolute;
  content: "";
  bottom: -6px;
  right: 0;
  width: 10px;
  height: 10px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
} */

.p-topNews__inner {
  margin-top: 48px;
  position: relative;
  padding-bottom: 7rem;
  width: calc(50vw + 660px);
}

@media screen and (max-width: 1320px) {
  .p-topNews__inner {
    width: calc(100vw - 3.4375rem);
  }
}

@media screen and (max-width: 767px) {
  .p-topNews__inner {
    width: calc(100vw - 0.9375rem);
    margin-top: 20px;
    padding-bottom: 4.5rem;
  }
}

.p-topNews__swiper .swiper-slide {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  height: auto;
}

.news-card {
  height: 100%;
}

.p-topNews__item .news-card {
  border: 0.75px solid #262626;
  border-radius: 24px;
  padding: 36px 34px 24px;
}

@media screen and (max-width: 767px) {
  .p-topNews__item .news-card {
    padding: 24px;
  }
}

.p-topNews__item.is-blue .news-card {
  background-color: #005db3;
  border: 0.75px solid #005db3;
  color: #fff;
}

.p-topNews__item .ttl {
  font-size: 24px;
}

@media screen and (max-width: 767px) {
  .p-topNews__item .ttl {
    font-size: 18px;
  }
}

.p-topNews__item .hr {
  margin-top: 15px;
  margin-bottom: 0;
  background-color: #0f1419;
  height: 0;
  border: 0;
  border-top: 1px double #262626;
}

.p-topNews__item.is-blue .hr {
  border-top: 1px solid #fff;
}

.p-topNews__item .text {
  font-size: 14.5px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 35px;
  line-height: 1.666;
}

@media screen and (max-width: 767px) {
  .p-topNews__item .text {
    margin-top: 20px;
  }
}

.p-topNews__item .btn {
  text-align: right;
  margin-top: 28px;
}

.p-topNews__item .btn a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 12px 27px;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  background-color: #005db3;
  border-radius: 6px;
}

@media screen and (max-width: 767px) {
  .p-topNews__item .btn a {
    padding: 6px 15px;
  }
}

.p-topNews__item.is-blue .btn a {
  background-color: #fff;
  color: #005db3;
}

.p-topNews__item .swiper-slide.is-blue .btn {
  background-color: #fff;
  color: #0056b6;
}

.p-topNews .swiper-button-prev,
.p-topNews .swiper-button-next {
  width: 3.5rem;
  height: 3.5rem;
}

@media screen and (max-width: 767px) {

  .p-topNews .swiper-button-prev,
  .p-topNews .swiper-button-next {
    height: 2.25rem;
    width: 2.25rem;
  }
}

.p-topNews .swiper-button-prev {
  left: 0;
  top: auto;
  bottom: 0;
}

.p-topNews .swiper-button-next {
  left: 4.6875rem;
  top: auto;
  bottom: 0;
}

@media screen and (max-width: 767px) {
  .p-topNews .swiper-button-next {
    left: 3.125rem;
  }
}

.p-topNews .swiper-button-prev:after {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../images/arrow-left.png) no-repeat center center/contain;
}

.p-topNews .swiper-button-next:after {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../images/arrow-right.png) no-repeat center center/contain;
}

.p-topNews .swiper-scrollbar {
  left: 10.1875rem;
  max-width: calc(100% - 394px);
  width: calc(80% - 394px);
  bottom: 1.625rem;
  background: #d9d9d9;
  height: 8px;
}

@media screen and (max-width: 767px) {
  .p-topNews .swiper-scrollbar {
    left: 6.875rem;
    bottom: 14px;
    max-width: calc(100% - 17px);
    width: calc(63% - 17px);
  }
}

.p-topNews .swiper-scrollbar-drag {
  background: #005db3;
}

.p-topNews__btn {
  position: absolute;
  right: 0;
  bottom: 0px;
}

@media screen and (max-width: 767px) {
  .p-topNews__btn {
    position: static;
    margin-top: 30px;
    text-align: center;
  }
}

.p-topNews__btn a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 12px 27px;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.2em;
  background-color: #005db3;
  border-radius: 6px;
}

@media screen and (max-width: 767px) {
  .p-topNews__btn a {
    font-size: 18px;
  }
}

.p-topProducts {
  background-color: #005db3;
  padding-bottom: 213px;
  overflow: hidden;
  position: relative;
}

.p-topProducts::before {
  position: absolute;
  content: "";
  top: -1px;
  width: 100%;
  height: 100%;
  background: #fff;
  -webkit-clip-path: polygon(0 0, 100% 0, 0 35.5rem);
  clip-path: polygon(0 0, 100% 0, 0 35.5rem);
  z-index: 0;
}

@media screen and (max-width: 767px) {
  .p-topProducts {
    padding-bottom: 10rem;
  }

  .p-topProducts::before {
    top: -50px;
    -webkit-clip-path: polygon(0 0, 520% 0, 0 366px);
    clip-path: polygon(0 0, 520% 0, 0 366px);
  }
}

.p-topProducts .c-topsecttl {
  position: relative;
}

/* ------------------------------
円
------------------------------ */
.p-circleSection {
  position: relative;
  width: 44.0340909091rem;
  max-width: 78%;
  aspect-ratio: 1/1;
  margin-top: 5.875rem;
  margin-inline: auto;
}

@media screen and (max-width: 767px) {
  .p-circleSection {
    margin-top: 7.5rem;
    max-width: 92%;
  }
}
.p-circleSection__bg {
  position: absolute;
  inset: 0;
  z-index: 1;
}


.circle-wrap{
  width: calc(100% * 9 / 31);
  height: calc(100% * 9 / 31);
  aspect-ratio:1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  display:grid;
  place-items:center;
  cursor: pointer;
}

.circle{
  width:100%;
  height:auto;
}

.ring{
  fill:none;
  stroke:#dddddd00;
  stroke-width:1;
}

.circle-text{
  font:var(--font);
  font-weight: 500;
  font-size: 1.1rem;
  letter-spacing:0.08em;
  fill:#ffffff;
  text-transform: uppercase;
}

.p-circleSection__item {
  position: absolute;
  width: 50%;
  height: 50%;
  z-index: 2;
}

.p-circleSection__item svg {
  position: absolute;
}

.p-circleSection__item svg path {
  stroke-width: 0.2;
  fill: none;
}

.p-circleSection__hoverArea {
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: pointer;
  pointer-events: auto;
  z-index: 2;
}

.p-circleSection__img {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.p-circleSection__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: -webkit-transform 0.35s ease;
  transition: -webkit-transform 0.35s ease;
  transition: transform 0.35s ease;
  transition: transform 0.35s ease, -webkit-transform 0.35s ease;
}

.p-circleSection__item.is-topleft .p-circleSection__img img {
  -webkit-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
}

.p-circleSection__item.is-topright .p-circleSection__img img {
  -webkit-transform-origin: 0% 100%;
  transform-origin: 0% 100%;
}

.p-circleSection__item.is-bottomleft .p-circleSection__img img {
  -webkit-transform-origin: 100% 0%;
  transform-origin: 100% 0%;
}

.p-circleSection__item.is-bottomright .p-circleSection__img img {
  -webkit-transform-origin: 0% 0%;
  transform-origin: 0% 0%;
}

.p-circleSection__text {
  position: absolute;
  opacity: 1;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
  z-index: 10;
}

@media screen and (max-width: 767px) {
  .p-circleSection__text {
    opacity: 1;
    width: 120%;
  }
}

.p-circleSection__text .ttl {
  font-weight: 700;
  font-size: 2.5rem;
  text-shadow: 0 3px 3px rgba(0, 0, 0, .05);
  letter-spacing: 0.1em;
  line-height: 1.3;
}

@media screen and (max-width: 767px) {
  .p-circleSection__text .ttl {
    font-size: 17px;
  }
}

.p-circleSection__text .text {
  font-size: 14px;
  margin-top: 5px;
  max-width: 16.3125rem;
  letter-spacing: 0.1em;
  line-height: 1.3;
}

.p-circleSection__text .btn {
  max-width: 16.3125rem;
  text-align: right;
  margin-top: 20px;
}

.p-circleSection__text .btn a {
  display: inline-block;
  font-size: 14px;
  letter-spacing: 0.1em;
  display: inline-block;
  padding: 1rem 2rem;
  border-radius: 64px;
  border: 1px solid #005db3;
  font-weight: 700;
}

.p-circleSection__item.is-topright .p-circleSection__text .btn a,
.p-circleSection__item.is-bottomleft .p-circleSection__text .btn a,
.p-circleSection__item.is-bottomright .p-circleSection__text .btn a {
  border: 1px solid #ffffff;
}

.p-circleSection__item.is-topleft {
  top: 0;
  left: 0;
  border-top-left-radius: 100%;
}

.p-circleSection__item.is-topleft svg {
  top: -8.4375rem;
  left: 0rem;
  width: 26.8125rem;
  height: 20.6875rem;
}

.p-circleSection__item.is-topleft svg path {
  stroke: #262626;
}

.p-circleSection__item.is-topleft .p-circleSection__text {
  top: -2.875rem;
  left: -18.0625rem;
}

@media screen and (max-width: 767px) {
  .p-circleSection__text .btn {
    margin-top: 8px;
    /*max-width: 10rem;*/
  }

  .p-circleSection__text .btn a {
    font-size: 13px;
    padding: 0.25rem 1rem;
    border-radius: 36px;
    font-weight: 400;
  }

  .p-circleSection__item.is-topright .p-circleSection__text .btn a {
    border: 1px solid #005db3;
  }

  .p-circleSection__item.is-topleft svg {
    top: 0px;
    left: 51px;
    width: 18.4vw;
    height: 20vw;
  }

  .p-circleSection__item.is-topleft .p-circleSection__text {
    top: -5.575rem;
    left: -10px;
  }

  .p-circleSection__item.is-topleft .p-circleSection__text .btn {
    text-align: left;
  }
}

.p-circleSection__item.is-topright {
  top: 0;
  right: 0;
  border-top-right-radius: 100%;
}

.p-circleSection__item.is-topright svg {
  top: 2.25rem;
  right: 2.5625rem;
  width: 11.25rem;
  height: 11.75rem;
}

.p-circleSection__item.is-topright svg path {
  stroke: #fff;
}

.p-circleSection__item.is-topright .p-circleSection__text {
  top: 0.3125rem;
  right: -18.0625rem;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .p-circleSection__item.is-topright svg {
    top: 0px;
    right: 51px;
    width: 18.4vw;
    height: 20vw;
  }

  .p-circleSection__item.is-topright svg path {
    stroke: #262626;
  }

  .p-circleSection__item.is-topright .p-circleSection__text {
    top: -4.375rem;
    right: -10px;
    color: #262626;
  }
}

.p-circleSection__item.is-bottomleft {
  bottom: 0;
  left: 0;
  border-bottom-left-radius: 100%;
}

.p-circleSection__item.is-bottomleft svg {
  bottom: 5.5625rem;
  left: -1.375rem;
  width: 11.25rem;
  height: 11.75rem;
}

.p-circleSection__item.is-bottomleft svg path {
  stroke: #fff;
}

.p-circleSection__item.is-bottomleft .p-circleSection__text {
  bottom: -4.0625rem;
  left: -17.875rem;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .p-circleSection__item.is-bottomleft svg {
    bottom: 0px;
    left: 51px;
    width: 18.4vw;
    height: 20vw;
  }

  .p-circleSection__item.is-bottomleft .p-circleSection__text {
    bottom: -4.5rem;
    left: -12px;
  }

  .p-circleSection__item.is-bottomleft .p-circleSection__text .btn {
    text-align: left;
  }
}

.p-circleSection__item.is-bottomright {
  bottom: 0;
  right: 0;
  border-bottom-right-radius: 100%;
}

.p-circleSection__item.is-bottomright svg {
  bottom: -9.4375rem;
  right: 1rem;
  width: 26.8125rem;
  height: 20.6875rem;
}

.p-circleSection__item.is-bottomright svg path {
  stroke: #fff;
}

.p-circleSection__item.is-bottomright .p-circleSection__text {
  bottom: -7.75rem;
  right: -15.125rem;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .p-circleSection__item.is-bottomright svg {
    bottom: 0px;
    right: 51px;
    width: 18.4vw;
    height: 20vw;
  }

  .p-circleSection__item.is-bottomright .p-circleSection__text {
    bottom: -5.75rem;
    right: -15px;
  }

  .p-circleSection__item.is-topright .p-circleSection__text,.p-circleSection__item.is-bottomright .p-circleSection__text {
    text-align: right;
  }
}

@media screen and (max-width: 767px) {
  .u-desktop {
    display: none;
  }
}

.u-biz {
  font-family: "BIZ UDMincho", serif;
  font-style: normal;
}

.u-bizp {
  font-family: "BIZ UDPMincho", serif;
  font-style: normal;
  font-weight: 400;
}

.u-hina {
  font-family: "Hina Mincho", serif;
  font-style: normal;
}

.u-mobile {
  display: none;
}

@media screen and (max-width: 767px) {
  .u-mobile {
    display: block;
  }
}

/*News一覧*/
.p-post__item.hidden {
  display: none;
}

.p-post__item.is-fadeIn {
  opacity: 1;
  transition: opacity 0.5s;
}

@starting-style {
  .p-post__item.is-fadeIn {
    opacity: 0;
  }
}

.viewmore .btn {
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 12px 27px;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.2em;
  background-color: #005db3;
  border-radius: 6px;
}


/* オリジナル */

.btn-6 {
  background: rgb(247, 150, 192);
  background: radial-gradient(circle, rgba(247, 150, 192, 1) 0%, rgba(118, 174, 241, 1) 100%);
  line-height: 42px;
  padding: 0;
  border: none;
}

.btn-6 span {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}

.btn-6:before,
.btn-6:after {
  position: absolute;
  content: "";
  height: 0%;
  width: 1px;
  box-shadow:
    -1px -1px 20px 0px rgba(255, 255, 255, 1),
    -4px -4px 5px 0px rgba(255, 255, 255, 1),
    7px 7px 20px 0px rgba(0, 0, 0, .4),
    4px 4px 5px 0px rgba(0, 0, 0, .3);
}

.btn-6:before {
  right: 0;
  top: 0;
  transition: all 500ms ease;
}

.btn-6:after {
  left: 0;
  bottom: 0;
  transition: all 500ms ease;
}

.btn-6:hover {
  background: transparent;
  color: #76aef1;
  box-shadow: none;
}

.btn-6:hover:before {
  transition: all 500ms ease;
  height: 100%;
}

.btn-6:hover:after {
  transition: all 500ms ease;
  height: 100%;
}

.btn-6 span:before,
.btn-6 span:after {
  position: absolute;
  content: "";
  box-shadow:
    -1px -1px 20px 0px rgba(255, 255, 255, 1),
    -4px -4px 5px 0px rgba(255, 255, 255, 1),
    7px 7px 20px 0px rgba(0, 0, 0, .4),
    4px 4px 5px 0px rgba(0, 0, 0, .3);
}

.btn-6 span:before {
  left: 0;
  top: 0;
  width: 0%;
  height: .5px;
  transition: all 500ms ease;
}

.btn-6 span:after {
  right: 0;
  bottom: 0;
  width: 0%;
  height: .5px;
  transition: all 500ms ease;
}

.btn-6 span:hover:before {
  width: 100%;
}

.btn-6 span:hover:after {
  width: 100%;
}

.page-contact {
  background: #fcfcfc;
}

.page-contact .ttl_inquiry {
  margin: 6rem 0;
}

.page-contact .ttl_inquiry h1 {
  font-weight: 400;
}

.recaptcha {
  font-size: 0.8rem;
}

.p-throw {
  width: 96%;
  border: 1px dotted #100f1c;
  border-radius: 8px;
  padding: 3rem;
  margin-bottom: 2rem;
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  align-items: center;
  color: #100f1c;
}

.p-throw .txt {
  margin-top: 1rem;
  color: #7a7a7a;
}

.entry {
  font-size: 1.35rem;
}

.select_ac {
  border: 1px solid #223670;
  border-radius: 4px;
  color: #223670;
  padding: 0.3rem 0.5rem;
  font-weight: 300;
  font-size: 1.025rem;
  margin-left: 1rem;
}

.p-throw a {
  border: 1px solid #29a9d7;
  background-color: #29a9d7;
  color: #ffffff;
  padding: 1rem 2rem;
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.p-throw a svg {
  width: 20px;
  fill: #fff;
}

@media screen and (max-width: 767px) {
  .page-contact .ttl_inquiry {
    margin: 4rem 0;
  }

  .page-contact .ttl_inquiry h1 {
    font-weight: 400;
    font-size: 1rem;
  }
  .ttl_inquiry p {
    font-size: 0.835rem;
  }

  .p-throw {
    width: 100%;
    border: 1px dotted #1a192a;
    border-radius: 8px;
    padding: 2rem;
    margin-bottom: 1.6rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2rem;
    align-items: center;
    color: #100f1c;
  }

  .entry {
    font-size: 1.35rem;
    text-align: center;
  }

  .select_ac {
    display: block;
    width: fit-content;
    border: 1px solid #223670;
    border-radius: 4px;
    color: #223670;
    padding: 0.3rem 0.5rem;
    font-weight: 300;
    font-size: 1rem;
    margin: 0.5rem auto 0;
  }

  .p-throw a {
    border: 1px solid #29a9d7;
    background-color: #29a9d7;
    color: #ffffff;
    padding: 1rem 2rem;
    display: flex;
    gap: 0.5rem;
    align-items: center;
  }

  .p-throw a svg {
    width: 20px;
    fill: #fff;
  }
}

.page-contact .p-footerContact {
  display: none;
}

.p-contact {
  padding-top: max(15.625rem, 150px);
  padding-bottom: 12.5rem;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-contact {
    padding-top: 8rem;
    padding-bottom: 80px;
  }
}

.p-contact__ttl {
  padding-bottom: 28px;
  padding-left: 36px;
  border-bottom: 1px solid #2c2c2c;
  font-weight: 700;
  font-size: max(3rem, 32px);
  color: #2c2c2c;
}

.p-contact__ttl .en {
  display: block;
}

.p-contact__ttl .ja {
  display: block;
  font-size: 0.5em;
}

@media screen and (max-width: 767px) {
  .p-contact__ttl {
    font-size: 36px;
    padding-left: 0;
    padding-bottom: 25px;
  }
}

@media screen and (min-width: 768px) {
  .p-contact__contents {
    width: 90%;
    margin-inline: auto;
  }
}

.p-form__progress {
  padding: 5rem 0 15px;
}

@media screen and (max-width: 767px) {
  .p-form__progress {
    padding: 2.5rem 0 15px;
  }
}

.p-form__progress .name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  color: #868686;
  margin-bottom: 16px;
  font-size: 32px;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .p-form__progress .name {
    font-size: 20px;
    margin-bottom: 10px;
  }
}

.p-form__progress .name .is-active {
  color: #262626;
}

.p-form__progress .bar {
  width: 100%;
  height: 12px;
  border-radius: 12px;
  background: #d9d9d9;
  position: relative;
}

.p-form__progress .bar .fill {
  display: block;
  inset: 0 auto 0 0;
  width: 5.08%;
  height: 100%;
  background: #2c2c2c;
  border-radius: 12px;
  -webkit-transition: width 0.45s ease;
  transition: width 0.45s ease;
}

.p-form__itemwrap {
  margin-top: 64px;
}

@media screen and (max-width: 767px) {
  .p-form__progress .bar {
    height: 4px;
  }

  .p-form__itemwrap {
    margin-top: 32px;
  }
}

.p-form__item {
  position: relative;
}

.p-form__item+.p-form__item {
  margin-top: 10px;
}

.p-form__item.--name {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
}

@media screen and (max-width: 767px) {
  .p-form__item.--name {
    grid-template-columns: 1fr;
    gap: 5px;
  }
}

.p-form__label {
  color: #868686;
  font-size: 24px;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .p-form__label {
    font-size: 18px;
  }
}

.p-form input[type=text],
.p-form input[type=email],
.p-form input[type=tel],
.p-form textarea {
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: none;
  border-bottom: 1px solid #2c2c2c;
  border-radius: none;
  color: inherit;
  font-family: inherit;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding: 20px 0 12px;
  width: 100%;
}

@media screen and (max-width: 767px) {

  .p-form input[type=text],
  .p-form input[type=email],
  .p-form input[type=tel],
  .p-form textarea {
    padding: 8px 0;
    font-size: 16px;
  }
}

.p-form input[type=text]:focus,
.p-form input[type=email]:focus {
  border: none;
  border-bottom: 1px solid #2c2c2c;
}

.p-form textarea {
  height: 305px;
  resize: none;
  border: 1px solid #2c2c2c;
  font-size: 24px;
  padding: 14px;
}

@media screen and (max-width: 767px) {
  .p-form textarea {
    height: 240px;
    font-size: 16px;
  }
}

.p-form textarea:focus {
  border: 1px solid #2c2c2c;
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
}

.p-form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent url(../images/form-select.png) no-repeat bottom 23px right 17px/33px 21px;
  border: none;
  border-bottom: 1px solid #2c2c2c;
  border-radius: 0;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding: 20px 0 18px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-form select {
    padding: 8px 24px 0 0;
    background: transparent url(../images/form-select.png) no-repeat bottom 8px right 6px/16px 12px;
    font-size: 16px;
    white-space: break-spaces;
  }
}

.p-form select:focus {
  border: none;
  border-bottom: 1px solid #2c2c2c;
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
}

.p-form input[type=submit],
.p-form button[type=submit],
.p-form input[type=button],
.p-form button[type=button] {
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  background-color: #2c2c2c;
  background-image: none;
  color: #fff;
  border: 1px solid #2c2c2c;
  border-radius: 16px;
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 3rem;
  font-weight: 700;
  margin: 0;
  padding: 24px;
  text-decoration: none;
  -webkit-transition: all ease 0.3s;
  transition: all ease 0.3s;
}

@media screen and (min-width: 768px) {

  .p-form input[type=submit],
  .p-form button[type=submit],
  .p-form input[type=button],
  .p-form button[type=button] {
    min-width: 400px;
  }
}

@media screen and (max-width: 767px) {

  .p-form input[type=submit],
  .p-form button[type=submit],
  .p-form input[type=button],
  .p-form button[type=button] {
    font-size: 24px;
    padding: 10px 20px;
    min-width: 300px;
    margin-top: 30px;
  }
}

.p-form button[data-action=back] {
  background-color: transparent;
}

.p-form input[type=submit] :hover,
.p-form input[type=submit] :focus,
.p-form button[type=submit] :hover,
.p-form button[type=submit] :focus {
  outline: none;
}

.p-form input[type=submit] ::-moz-foucus-inner {
  border: none;
  padding: 0;
}

.p-form .c-formBtn {
  text-align: center;
}

.p-form .c-formBtn .--confirm:disabled {
  background-color: #444;
  color: #999;
  border-color: #444;
  pointer-events: none;
}

.p-form .c-formBtn.--submitWrap {
  margin-top: 9.375rem;
}

@media screen and (max-width: 767px) {
  .p-form .c-formBtn.--submitWrap {
    margin-top: 5rem;
  }
}

.p-form .c-formBtn .--backBtn {
  color: #262626;
  font-size: 24px;
  background: none;
  border: none;
  border-bottom: 1px solid #2c2c2c;
  padding: 0;
  margin-top: 63px;
  border-radius: 0;
  padding-bottom: 10px;
  min-width: 0;
}

@media screen and (max-width: 767px) {
  .p-form .c-formBtn .--backBtn {
    margin-top: 20px;
  }
}

.p-form__dropzone {
  margin-top: 12px;
  padding: 15px;
  border: 1px solid #2c2c2c;
  text-align: center;
  cursor: pointer;
  font-size: 24px;
  color: #868686;
  font-weight: 500;
  -webkit-transition: background-color 0.2s ease, border-color 0.2s ease;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.p-form__dropzone.is-over {
  background: #f2f2f2;
  border-color: #262626;
}

@media screen and (max-width: 767px) {
  .p-form__dropzone {
    font-size: 13px;
  }
}

.p-form__filelist {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.6;
}

.p-contact-privacy {
  background: #d9d9d9;
  font-size: 18px;
}

.p-contact-privacy .wrap {
  overflow-y: scroll;
  height: 345px;
  padding: 2.5rem 3.125rem;
}

.p-contact-privacy .mt {
  margin-top: 1em;
}

@media screen and (max-width: 767px) {
  .p-contact-privacy {
    font-size: 15px;
  }

  .p-contact-privacy .wrap {
    padding: 1.25rem 0.9375rem;
  }
}

.p-form__acceptance {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 5.125rem;
}

@media screen and (max-width: 767px) {
  .p-form__acceptance {
    margin-bottom: 2.5rem;
    font-size: 16px;
  }

  .p-form__acceptance .wpcf7-list-item {
    margin-left: 0;
  }
}

.p-form__acceptance input[type=checkbox] {
  width: 42px;
  height: 42px;
  border: 2px solid #2d2d2d;
  border-radius: 0px;
  margin-right: 20px;
  background: transparent;
  border-radius: 0;
}

@media screen and (max-width: 767px) {
  .p-form__acceptance input[type=checkbox] {
    width: 24px;
    height: 24px;
    margin-right: 8px;
  }
}

.p-form__acceptance label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 17px;
}

.p-form__item {
  position: relative;
}

.wpcf7-form-control-wrap[data-name=file01] {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

.p-form__text {
  text-align: center;
  font-weight: 400;
  font-size: max(1rem, 21px);
  margin-top: 3.9375rem;
}

@media screen and (max-width: 767px) {
  .p-form__text {
    font-size: 20px;
  }
}

.confirm_item {
  display: block;
  font-size: 28px;
  padding: 23px 0 12px;
  border-bottom: 1px solid #2c2c2c;
}

@media screen and (max-width: 767px) {
  .confirm_item {
    font-size: 16px;
    padding: 8px 0;
  }
}

.confirm_item.hide {
  display: none;
}

.confirm_item.is-placeholder {
  color: #9aa0a6;
  border-color: #cfd4d9;
}

.wpcf7-spinner {
  position: absolute;
}

.c-formBtn.--totop {
  margin-top: 9.375rem;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c-formBtn.--totop {
    margin-top: 5rem;
  }
}

.c-formBtn.--totop a {
  background-color: #2c2c2c;
  color: #fff;
  border: 1px solid #2c2c2c;
  border-radius: 16px;
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 3rem;
  font-weight: 700;
  padding: 1.5rem;
}

@media screen and (min-width: 768px) {
  .c-formBtn.--totop a {
    min-width: 480px;
  }
}

@media screen and (max-width: 767px) {
  .c-formBtn.--totop a {
    font-size: 24px;
    padding: 10px 20px;
    min-width: 300px;
  }
}

/* barba */
.home .common-transition {
  display: none;
}

.common-transition {
  position: fixed;
  inset: 0;   
  display: flex;
  z-index: 99999;
  height: 100vh;
  width: 100vw;
  pointer-events: none;
}
.common-transition .item{
  width: calc(100% / 20);
  height: 100%;
  background:#5e7797;
  transform: scaleX(1);
  transform-origin: bottom right;
}
@media screen and (max-width: 767px) {
  .common-transition .item{
    width: calc(100%/10);
  }
}

/* 404 */

.errorpage {
  padding: 8rem 1rem;
  text-align: center;
}

.errorpage h1 {
  font-size: 28px;
  margin-bottom: 2rem;
}

.errorpage p {
  font-size: 1rem;
  margin-bottom: 1rem;
}

.errorpage a {
  margin-top: 1rem;
  display: inline-block;
  padding: 12px 30px;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  border-radius: 8px;
}
@media screen and (max-width: 767px) {
  .errorpage a {
    display: inline-block;
    padding: 8px 20px;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    border-radius: 8px;
  }
}

.errorpage a.--blue {
  background: #2777c2;
}

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

/* lazyloadの座標指定 */
.p-company-ceo .lazyload {
  aspect-ratio: 2/3;
}
.p-company-store .lazyload {
  aspect-ratio: 3/2;
}


.swiper-mask {
  --mask-svg: url("data:image/svg+xml;utf8,\
              <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2400 1600' preserveAspectRatio='none'>\
              <path fill='white' d='M0,1377.12V0h2397.59v1600H497.72c-56.14,0-111.39-15.22-159.05-44.88-6.21-3.86-12.45-8.04-18.68-12.54-98.27-71.04-107.41-161.91-187.26-186.31-25.49-7.79-68.12-11.84-132.72,20.86Z'/>\
              </svg>");
  -webkit-mask-image: var(--mask-svg);
          mask-image: var(--mask-svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: left bottom;
          mask-position: left bottom;
  -webkit-mask-size: cover;
          mask-size: cover;
          z-index: 0;
}

@media screen and (max-width: 767px) {
  .swiper-mask {
    --mask-svg: url("data:image/svg+xml;utf8,\
              <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 1600' preserveAspectRatio='none'>\
              <rect fill='white'  width="1000" height="1600"/>\
              </svg>");
  }
}

.swiper-mask { width: 100vw;height: 100%; margin: 0 auto;position: relative; }
.p-top-mv__slider{ height: 100vh; overflow: hidden; }

.scroll-wrapper {
  width: 100%;
  position: fixed;
  background-color: transparent;
  z-index: 1;
}

.scroll-cue--bl {
  position: absolute;
  left: 2vw;
  bottom: 2vh;
}
#scroll-dot {
  transform-box: fill-box;
  transform-origin: 50% 50%;
}

.scroll-cue {
  z-index: 1;
  display: inline-flex;
  align-items: center;
  flex-direction: raw;
  gap: 4px;
  padding: 16px 9.6px;
  border: none;
  background: rgba(0,0,0,.25);
  backdrop-filter: blur(6px);
  color: #fff;
  border-radius: 80px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.scroll-cue svg {
  width: 24px;
  height: 56px;
  display: block;
}

.scroll-cue__label {
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  opacity: .8;
}

/* SP */
@media screen and (max-width: 767px) {
  .scroll-cue {
    padding: 16px 9.6px 16px 4.8px;
    background: rgba(0,0,0,.25);
    backdrop-filter: blur(3px);
    color: #fff;
    border-radius: 16px;
  }
  .scroll-cue svg {
    width: 18px;
    height: 40px;
  }
  .scroll-cue--bl {
    left: auto;
    right: 1.6rem;
    bottom: 1rem;
  }
}

/* ホバー効果（PCのみ） */
@media (hover:hover) {
  .scroll-cue:hover { background: rgba(255,255,255,.12); }
}

/* 動きを控えるユーザー配慮 */
@media (prefers-reduced-motion: reduce) {
  .scroll-cue svg animateMotion { display: none; }
}