@charset "UTF-8";
/* 下層ページは常に白 */
.is-under .l_header {
  background: #fff;
}

.is-under .l_header .tel,
.is-under .l_header .l_header_nav p {
  color: #000;
}

/* TOPページ：初期は透過 */
.is-top .l_header {
  background: transparent;
}

.l_header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  width: 100%;
  background: transparent;
  transition: background-color 0.3s;
}
.l_header.is-scrolled {
  background-color: #fff;
}
.l_header.is-scrolled .tel {
  color: #333;
}
.l_header.is-scrolled .l_header_nav p {
  color: #333;
}
.l_header_inner {
  padding-top: clamp(0.5rem, 0rem + 1.3333333333vw, 1.6rem);
  padding-left: clamp(2rem, 1.0909090909rem + 2.4242424242vw, 4rem);
  padding-right: clamp(2rem, 1.0909090909rem + 2.4242424242vw, 4rem);
  display: flex;
  gap: 7.6388888889vw;
  align-items: center;
}
@media only screen and (min-width: 1440px) {
  .l_header_inner {
    gap: 11rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_header_inner {
    padding-bottom: 6px;
  }
}
.l_header_inner .pc {
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .l_header_inner {
    gap: 0;
    justify-content: space-between;
    align-items: flex-start;
    height: 56px;
  }
}
.l_header_logo {
  width: 20.7638888889vw;
}
@media only screen and (min-width: 1440px) {
  .l_header_logo {
    width: 29.9rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_header_logo {
    width: 56vw;
  }
}
.l_header_area {
  display: flex;
  flex-direction: column;
}
.l_header_top {
  display: flex;
  gap: 1.6666666667vw;
  align-items: center;
  justify-content: flex-end;
}
@media only screen and (min-width: 1440px) {
  .l_header_top {
    gap: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_header_top {
    gap: 6.4vw;
  }
}
.l_header_top .tel {
  color: #fff;
  font-size: 1.5277777778vw;
  font-family: "Inter", sans-serif;
  line-height: 1.5;
}
@media only screen and (min-width: 1440px) {
  .l_header_top .tel {
    font-size: 2.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_header_top .tel {
    font-size: 5.8666666667vw;
  }
}
.l_header_top .tel span {
  font-size: 1.0416666667vw;
  margin-right: 5px;
}
@media only screen and (min-width: 1440px) {
  .l_header_top .tel span {
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_header_top .tel span {
    font-size: 4vw;
  }
}
.l_header_nav {
  /*メガメニュー*/
}
.l_header_nav .mega-menu {
  position: absolute;
  top: calc(100% - 2px);
  left: 0;
  width: 100vw;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
  z-index: 1000;
}
.l_header_nav .mega-inner {
  padding: 56px 80px;
  display: flex;
  gap: 11.1111111111vw;
  justify-content: space-around;
  align-items: flex-end;
}
.l_header_nav .mega-inner .box .title {
  color: #333;
  font-size: 5vw;
  font-family: "Inter", sans-serif;
  font-style: italic;
  font-weight: 600;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 1440px) {
  .l_header_nav .mega-inner .box .title {
    font-size: 7.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_header_nav .mega-inner .box .title {
    font-size: 13.3333333333vw;
  }
}
.l_header_nav .mega-inner .box .sub {
  color: #333;
  font-size: 1.6666666667vw;
  font-weight: 700;
  letter-spacing: 0.03em;
  margin-top: 1.1111111111vw;
}
@media only screen and (min-width: 1440px) {
  .l_header_nav .mega-inner .box .sub {
    font-size: 2.4rem;
    margin-top: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_header_nav .mega-inner .box .sub {
    font-size: 6.4vw;
    margin-top: 4.2666666667vw;
  }
}
.l_header_nav .mega-inner .box .sub span {
  color: #C40303;
  font-size: 1.1111111111vw;
  margin-right: 10px;
}
@media only screen and (min-width: 1440px) {
  .l_header_nav .mega-inner .box .sub span {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_header_nav .mega-inner .box .sub span {
    font-size: 4.2666666667vw;
  }
}
.l_header_nav .mega-inner ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
  padding: 0;
  margin: 0;
  width: 45%;
}
.l_header_nav .mega-inner ul li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.0416666667vw;
  font-weight: 400;
  letter-spacing: 0.05em;
  padding-bottom: 20.5px;
  padding-top: 20.5px;
  border-bottom: 1px solid;
  transition: all 0.3s;
  color: #333;
  width: 16.6666666667vw;
}
@media only screen and (min-width: 1440px) {
  .l_header_nav .mega-inner ul li a {
    font-size: 1.5rem;
    width: 240px;
  }
}
@media only screen and (max-width: 768px) {
  .l_header_nav .mega-inner ul li a {
    font-size: 4vw;
  }
}
.l_header_nav .mega-inner ul li a:hover {
  opacity: 0.7;
}
.l_header_nav .has-mega:hover .mega-menu {
  opacity: 1;
  visibility: visible;
}
.l_header_nav .has-mega > a {
  position: relative;
  display: block;
}
.l_header_nav .has-mega .item {
  position: relative;
  display: inline-block;
}
.l_header_nav .accordion-content {
  display: none;
}
.l_header_nav .nav-item.is-open .accordion-content {
  display: block;
}
.l_header_nav ul {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 2.5vw;
  margin-top: 0.8333333333vw;
}
@media only screen and (min-width: 1440px) {
  .l_header_nav ul {
    gap: 3.6rem;
    margin-top: 1.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_header_nav ul {
    display: block;
    margin-top: 15px;
  }
}
.l_header_nav ul li.parent {
  text-align: center;
  position: static;
}
@media only screen and (max-width: 768px) {
  .l_header_nav ul li.parent {
    padding-bottom: 0;
  }
}
.l_header_nav ul li.parent p {
  font-size: 1.0416666667vw;
  transition: all 0.3s;
  color: #fff;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media only screen and (min-width: 1440px) {
  .l_header_nav ul li.parent p {
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_header_nav ul li.parent p {
    font-size: 4vw;
  }
}
.l_header_nav ul li.parent a.parent {
  position: relative;
}
.l_header_nav ul li.parent a.parent::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 11px;
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.l_header_nav ul li.parent a.parent:hover::after {
  transform: scaleX(1);
}
@media only screen and (max-width: 768px) {
  .l_header_nav ul li.parent a.parent {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 20px;
    padding-top: 20px;
  }
}
.l_header_nav ul li.parent a.parent:hover figure {
  transform: rotate(10deg) scale(1.1);
}
.l_header_nav ul li.parent .sp_arrow {
  width: 10px;
  margin-right: 10px;
  margin-left: auto;
}
.l_header.is-scrolled .l_header_nav ul li a.parent {
  position: relative;
}
.l_header.is-scrolled .l_header_nav ul li a.parent::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 11px;
  width: 100%;
  height: 1px;
  background: #333;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.l_header.is-scrolled .l_header_nav ul li a.parent:hover::after {
  transform: scaleX(1);
}

.l_ft {
  background-image: url("../img/common/ft_bg02.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top;
  margin-top: -2px;
}
.l_ft .ft_center {
  border-bottom: 1px solid #fff;
  margin-top: 5.5555555556vw;
  padding-bottom: 6.9444444444vw;
  display: flex;
  gap: 4.5833333333vw;
  justify-content: center;
}
@media only screen and (min-width: 1440px) {
  .l_ft .ft_center {
    margin-top: 8rem;
    padding-bottom: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_ft .ft_center {
    flex-direction: column-reverse;
    border-bottom: none;
    gap: 80px;
    margin-top: 16vw;
    padding-bottom: 12.8vw;
  }
}
.l_ft .flexR {
  width: 36.25vw;
}
@media only screen and (min-width: 1440px) {
  .l_ft .flexR {
    width: 52.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_ft .flexR {
    width: 100%;
  }
}
.l_ft .flexR .logo {
  max-width: 357px;
}
.l_ft .flexR .add_flex {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-top: clamp(2rem, 1.0909090909rem + 2.4242424242vw, 4rem);
}
@media only screen and (max-width: 768px) {
  .l_ft .flexR .add_flex {
    align-items: flex-end;
  }
}
.l_ft .flexR .add_flex .map {
  color: #fff;
  font-size: 1.1111111111vw;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #fff;
  font-family: "Inter", sans-serif;
}
@media only screen and (min-width: 1440px) {
  .l_ft .flexR .add_flex .map {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_ft .flexR .add_flex .map {
    font-size: 3.7333333333vw;
  }
}
.l_ft .flexR .add_flex .map img {
  width: 20px;
}
.l_ft .flexR .text {
  color: #fff;
  font-size: 1.1111111111vw;
  line-height: 1.8;
}
@media only screen and (min-width: 1440px) {
  .l_ft .flexR .text {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_ft .flexR .text {
    font-size: 3.7333333333vw;
  }
}
.l_ft .flexR .text span {
  margin-right: 10px;
}
@media only screen and (max-width: 768px) {
  .l_ft .flexR .text span {
    display: block;
  }
}
.l_ft .flexR .tel_flex {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 5px;
}
@media only screen and (max-width: 768px) {
  .l_ft .flexR .tel_flex {
    flex-direction: column;
    align-items: flex-start;
    gap: 0px;
    margin-top: 10px;
  }
}
.l_ft .flexR .tel_flex span {
  display: inline;
}
.l_ft .flexL {
  display: flex;
  width: 40.2083333333vw;
}
@media only screen and (min-width: 1440px) {
  .l_ft .flexL {
    width: 57.9rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_ft .flexL {
    width: 100%;
    flex-direction: column;
  }
}
.l_ft .flexL .nav {
  width: 33.3333333333%;
}
@media only screen and (max-width: 768px) {
  .l_ft .flexL .nav {
    width: 100%;
  }
}
.l_ft .flexL .nav._03 {
  width: 215px;
}
@media only screen and (max-width: 768px) {
  .l_ft .flexL .nav._03 {
    width: 100%;
  }
}
.l_ft .flexL li {
  color: #fff;
  font-size: 1.0416666667vw;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 1440px) {
  .l_ft .flexL li {
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_ft .flexL li {
    padding-top: 16.5px;
    padding-bottom: 16.5px;
    border-bottom: 1px solid #fff;
    font-size: 4vw;
  }
}
.l_ft .flexL li:not(:first-of-type) {
  margin-top: 24px;
}
@media only screen and (max-width: 768px) {
  .l_ft .flexL li:not(:first-of-type) {
    margin-top: 0;
  }
}
.l_ft .ft_nav .accordion-trigger {
  display: none;
}
@media only screen and (max-width: 768px) {
  .l_ft .ft_nav .accordion-trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    background: none;
    font-size: 15px;
    color: #fff;
  }
}
@media only screen and (max-width: 768px) {
  .l_ft .ft_nav .accordion-content {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.5s ease, opacity 0.6s ease;
  }
}
.l_ft .ft_nav .accordion-content li {
  font-size: 14px;
  font-weight: 400;
  margin-top: 12px;
}
@media only screen and (max-width: 768px) {
  .l_ft .ft_nav .accordion-content li {
    border-bottom: none;
    padding-bottom: 12px;
    padding-top: 12px;
  }
}
.l_ft .ft_nav .nav-item.is-open .accordion-content {
  display: block;
}
@media only screen and (max-width: 768px) {
  .l_ft .ft_nav .nav-item.is-open .accordion-content {
    max-height: 500px;
    opacity: 1;
  }
}
.l_ft .ft_nav .icon {
  /* 矢印 */
}
@media only screen and (max-width: 768px) {
  .l_ft .ft_nav .icon {
    width: 24px;
    height: 24px;
    border: 1px solid #fff;
    border-radius: 50%;
    position: relative;
    flex-shrink: 0;
    transition: transform 0.3s ease;
  }
}
@media only screen and (max-width: 768px) {
  .l_ft .ft_nav .icon::before {
    content: "";
    position: absolute;
    top: 6px;
    left: 50%;
    width: 2px;
    height: 8px;
    background: #fff;
    transform: translateX(-50%);
  }
}
.l_ft .ft_nav .icon::after {
  content: "";
  position: absolute;
  bottom: 6px;
  left: 50%;
  width: 6px;
  height: 6px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translateX(-50%) rotate(-45deg);
  transition: transform 0.3s ease;
}
.l_ft .ft_nav .nav-item.is-open .icon {
  transform: rotate(180deg);
}
.l_ft .ft_bottom {
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: clamp(2.4rem, -0.1454545455rem + 6.7878787879vw, 8rem);
}
@media only screen and (max-width: 768px) {
  .l_ft .ft_bottom {
    flex-direction: column-reverse;
    gap: 30px;
    align-items: flex-start;
    padding-bottom: 90px;
  }
}
.l_ft .ft_bottom .copy {
  color: #fff;
  font-size: clamp(1.1rem, 1.0545454545rem + 0.1212121212vw, 1.2rem);
  font-weight: 400;
}
.l_ft .ft_bottom .ft_bottom_nav {
  display: flex;
  gap: clamp(2.4rem, 1.6727272727rem + 1.9393939394vw, 4rem);
}
.l_ft .ft_bottom .ft_bottom_nav li {
  color: #fff;
  font-size: 12px;
  font-weight: 400;
}
.l_ft._no_top {
  background-image: none;
  background: linear-gradient(180deg, rgb(113, 0, 0) 0%, rgb(196, 3, 3) 100%);
  padding-top: clamp(5rem, 3.6363636364rem + 3.6363636364vw, 8rem);
}

.l_container {
  max-width: 1280px;
  width: 100%;
  padding: 0 40px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 768px) {
  .l_container {
    width: 100%;
    padding-left: 6.3613231552vw;
    padding-right: 6.3613231552vw;
  }
}
.l_container._links {
  padding: 0;
}
@media only screen and (max-width: 768px) {
  .l_container._links {
    padding-left: 6.1333333333vw;
    padding-right: 6.1333333333vw;
  }
}

.container_inner {
  width: 100%;
}
@media only screen and (min-width: 767px) {
  .container_inner {
    max-width: 95.72%;
    margin-left: auto;
    margin-right: auto;
  }
}

html {
  font-size: clamp(10px, 0.6944444444vw, 10px);
  scroll-behavior: smooth;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0;
  color: #333;
  overflow-x: hidden;
}
@media only screen and (max-width: 768px) {
  html {
    font-size: 10px;
  }
}

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

iframe {
  width: 100%;
  height: 100%;
  vertical-align: bottom;
}

p {
  text-align: left;
}

.br {
  display: inline-block;
}

a {
  cursor: pointer;
}

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

.pc_1025 {
  display: block;
}
@media only screen and (max-width: 1024px) {
  .pc_1025 {
    display: none;
  }
}

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

@media only screen and (min-width: 767px) {
  .tb {
    display: block;
  }
}

.under_body {
  background-color: #f3f3f3;
}

.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.fade-in.active {
  opacity: 1;
  transform: translateY(0);
}

.l_mv {
  position: relative;
  height: 100vh;
  overflow: hidden;
}
.l_mv .wrap_img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 1;
}
.l_mv_video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.l_mv_bg {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 66.6666666667vw;
  z-index: -1;
}
@media only screen and (min-width: 1440px) {
  .l_mv_bg {
    width: 96rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_mv_bg {
    width: 100%;
  }
}
.l_mv_box {
  position: absolute;
  bottom: 10%;
  left: 5%;
  transition: opacity 0.5s ease, transform 0.5s ease;
  z-index: 2;
}
@media only screen and (min-width: 1440px) {
  .l_mv_box {
    bottom: 84px;
  }
}
@media only screen and (max-width: 768px) {
  .l_mv_box {
    bottom: 18%;
  }
}
.l_mv_box .group {
  display: flex;
  align-items: flex-end;
  gap: 10px;
}
.l_mv_box .frame .group._02, .l_mv_box .frame .group._03 {
  margin-top: clamp(0.8rem, 0.4363636364rem + 0.9696969697vw, 1.6rem);
}
.l_mv_box .frame .serif {
  font-family: "Noto Serif JP", serif;
  font-size: clamp(8rem, 6.1818181818rem + 4.8484848485vw, 12rem);
  font-weight: bold;
  border: 1px solid #fff;
  padding: 5px;
  color: #fff;
  line-height: 1;
}
.l_mv_box .frame .sans {
  font-size: clamp(5.6rem, 4.0545454545rem + 4.1212121212vw, 9rem);
  font-weight: 700;
  color: #fff;
}
.l_mv_box .catch {
  color: #fff;
  font-size: clamp(2.6rem, 2.1454545455rem + 1.2121212121vw, 3.6rem);
  font-weight: 900;
  letter-spacing: 3%;
  margin-top: clamp(1.2rem, 0.6545454545rem + 1.4545454545vw, 2.4rem);
}
.l_mv_news {
  position: absolute;
  bottom: 40px;
  right: 40px;
  z-index: 1;
  width: 36.1111111111vw;
}
@media only screen and (min-width: 1440px) {
  .l_mv_news {
    width: 52rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_mv_news {
    width: 87%;
    right: auto;
    left: 50%;
    bottom: 3%;
    transform: translateX(-50%);
  }
}
.l_mv_news a {
  background-color: rgba(124, 124, 124, 0.3);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 2px;
  padding-top: clamp(1.2rem, 1.0181818182rem + 0.4848484848vw, 1.6rem);
  padding-bottom: clamp(1.2rem, 1.0181818182rem + 0.4848484848vw, 1.6rem);
  padding-left: clamp(1.6rem, 1.2363636364rem + 0.9696969697vw, 2.4rem);
  padding-right: clamp(1.6rem, 0.6909090909rem + 2.4242424242vw, 3.6rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}
.l_mv_news .top {
  display: flex;
  gap: clamp(1rem, 0.5454545455rem + 1.2121212121vw, 2rem);
  align-items: center;
}
.l_mv_news .top .date {
  color: #fff;
  font-size: clamp(1.2rem, 1.1545454545rem + 0.1212121212vw, 1.3rem);
  font-family: "Inter", sans-serif;
  font-weight: 600;
}
.l_mv_news .top .tag {
  color: #fff;
  font-size: clamp(1.2rem, 1.1090909091rem + 0.2424242424vw, 1.4rem);
  border: 1px solid #fff;
  border-radius: 999px;
  padding-top: clamp(0.2rem, 0.1545454545rem + 0.1212121212vw, 0.3rem);
  padding-bottom: clamp(0.2rem, 0.1545454545rem + 0.1212121212vw, 0.3rem);
  padding-left: clamp(1.2rem, 1.0181818182rem + 0.4848484848vw, 1.6rem);
  padding-right: clamp(1.2rem, 1.0181818182rem + 0.4848484848vw, 1.6rem);
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l_mv_news .text {
  font-size: clamp(1.3rem, 1.2545454545rem + 0.1212121212vw, 1.4rem);
  color: #fff;
  font-weight: 500;
  margin-top: clamp(1.2rem, 1.1090909091rem + 0.2424242424vw, 1.4rem);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 428px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  .l_mv_news .text {
    max-width: 295px;
  }
}
.l_mv_news .arrow {
  width: 20px;
}

.mv_wrap {
  position: relative;
  overflow: visible;
}

.l_mv_video.pc,
.l_mv_video.sp {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -1;
}

/* SPだけ表示 */
.l_mv_video.pc {
  display: block;
}

.l_mv_video.sp {
  display: none;
}

@media (max-width: 768px) {
  .l_mv_video.pc {
    display: none;
  }
  .l_mv_video.sp {
    display: block;
  }
}
.l_mv_under {
  /*-----製品案内-----*/
  /*----製品詳細ページ----*/
}
.l_mv_under._pt01 {
  height: clamp(31.6rem, 26.9636363636rem + 12.3636363636vw, 41.8rem);
  position: relative;
  padding-top: clamp(15.6rem, 12.6909090909rem + 7.7575757576vw, 22rem);
}
.l_mv_under._products_details {
  padding-top: 188px;
}
@media only screen and (max-width: 768px) {
  .l_mv_under._products_details {
    padding-top: 120px;
  }
}
.l_mv_under._products_details .flex {
  display: flex;
  gap: clamp(2.4rem, 0.5818181818rem + 4.8484848485vw, 6.4rem);
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .l_mv_under._products_details .flex {
    flex-direction: column;
  }
}
.l_mv_under._products_details .flex figure {
  width: 33.3333333333vw;
}
@media only screen and (min-width: 1440px) {
  .l_mv_under._products_details .flex figure {
    width: 48rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_mv_under._products_details .flex figure {
    width: 100%;
  }
}
.l_mv_under._products_details .flex .box {
  flex: 1;
}
.l_mv_under._case_details {
  padding-top: 188px;
}
@media only screen and (max-width: 768px) {
  .l_mv_under._case_details {
    padding-top: 120px;
  }
}
.l_mv_under._case_details .flex {
  display: flex;
  gap: clamp(2.4rem, 0.5818181818rem + 4.8484848485vw, 6.4rem);
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .l_mv_under._case_details .flex {
    flex-direction: column-reverse;
  }
}
.l_mv_under._case_details .flex figure {
  width: 75%;
}
@media only screen and (max-width: 768px) {
  .l_mv_under._case_details .flex figure {
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .l_mv_under._case_details .flex .box {
    width: 100%;
  }
}
.l_mv_under._news_detail {
  padding-top: 15.2777777778vw;
}
@media only screen and (min-width: 1440px) {
  .l_mv_under._news_detail {
    padding-top: 22rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_mv_under._news_detail {
    padding-top: 120px;
  }
}
.l_mv_under._column_detail {
  padding-top: 15.2777777778vw;
}
@media only screen and (min-width: 1440px) {
  .l_mv_under._column_detail {
    padding-top: 22rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_mv_under._column_detail {
    padding-top: 120px;
  }
}

.l_mv_under_pt02 {
  padding-top: clamp(15rem, 11.8181818182rem + 8.4848484848vw, 22rem);
  height: auto;
}
.l_mv_under_pt02 figure img {
  width: 100%;
}

.bread {
  display: flex;
  gap: 64px;
  justify-content: flex-end;
  margin-top: 24px;
}
@media only screen and (max-width: 768px) {
  .bread {
    margin-top: 40px;
    gap: 30px;
  }
}
.bread a {
  position: relative;
  font-size: clamp(1.1rem, 1.0545454545rem + 0.1212121212vw, 1.2rem);
  white-space: nowrap;
}
.bread a:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(100% + 16px);
  width: 32px;
  height: 1px;
  background: #a7a7a7;
  transform: translateY(-50%);
}
@media only screen and (max-width: 768px) {
  .bread a:not(:last-child)::after {
    width: 12px;
    left: calc(100% + 8px);
  }
}
.bread a.current {
  color: #a7a7a7;
}
.bread a:last-child {
  flex-shrink: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
.bread._white {
  color: #fff;
}

.l_ft_top {
  padding-top: 8.3333333333vw;
  padding-bottom: 8.3333333333vw;
}
@media only screen and (min-width: 1440px) {
  .l_ft_top {
    padding-top: 12rem;
    padding-bottom: 12rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_ft_top {
    padding-top: 17.0666666667vw;
    padding-bottom: 17.0666666667vw;
  }
}
@media only screen and (max-width: 768px) {
  .l_ft_top .copy {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}
.l_ft_top .copy ._02,
.l_ft_top .copy ._03 {
  margin-top: clamp(1.4rem, 1.3090909091rem + 0.2424242424vw, 1.6rem);
}
.l_ft_top .group {
  display: flex;
  align-items: flex-end;
  gap: 10px;
}
.l_ft_top .group .serif {
  font-family: "Noto Serif JP", serif;
  font-size: 6.9444444444vw;
  font-weight: bold;
  border: 1px solid #fff;
  padding: 5px;
  color: #fff;
  line-height: 1;
}
@media only screen and (min-width: 1440px) {
  .l_ft_top .group .serif {
    font-size: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_ft_top .group .serif {
    font-size: 19.2vw;
  }
}
@media only screen and (max-width: 768px) {
  .l_ft_top .group._rec {
    gap: 8px;
  }
}
@media only screen and (max-width: 768px) {
  .l_ft_top .group._rec .serif {
    font-size: 17.3333333333vw;
  }
}
.l_ft_top .group .sans {
  font-size: 4.8611111111vw;
  font-weight: 700;
  color: #fff;
}
@media only screen and (min-width: 1440px) {
  .l_ft_top .group .sans {
    font-size: 7rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_ft_top .group .sans {
    font-size: 14.9333333333vw;
  }
}
.l_ft_top .flex {
  display: flex;
  gap: 55px;
}
@media only screen and (max-width: 768px) {
  .l_ft_top .flex {
    flex-direction: column;
    gap: 65px;
  }
}
.l_ft_top .cta .text {
  color: #fff;
  font-size: 1.1111111111vw;
  letter-spacing: 0.05em;
  font-weight: 500;
  line-height: 1.8em;
  text-align: center;
  margin-bottom: clamp(2.4rem, 1.6727272727rem + 1.9393939394vw, 4rem);
}
@media only screen and (min-width: 1440px) {
  .l_ft_top .cta .text {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_ft_top .cta .text {
    font-size: 4.8vw;
    text-align: left;
  }
}
.l_ft_top .cta .cta_tel {
  margin-top: clamp(2.8rem, 2.6181818182rem + 0.4848484848vw, 3.2rem);
}
.l_ft_top .cta .cta_tel .text {
  margin-bottom: 6px;
  text-align: center;
}
.l_ft_top .cta .cta_tel .phone {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 768px) {
  .l_ft_top .cta .cta_tel .phone {
    flex-direction: column;
    gap: 2px;
  }
}
.l_ft_top .cta .cta_tel .phone .num {
  font-size: 1.9444444444vw;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  line-height: 1.5;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 5px;
}
@media only screen and (min-width: 1440px) {
  .l_ft_top .cta .cta_tel .phone .num {
    font-size: 2.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_ft_top .cta .cta_tel .phone .num {
    font-size: 7.4666666667vw;
  }
}
.l_ft_top .cta .cta_tel .phone .num::before {
  content: "";
  width: 2.0833333333vw;
  height: 2.0833333333vw;
  background-image: url("../img/common/icon-phone.png");
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
}
@media only screen and (min-width: 1440px) {
  .l_ft_top .cta .cta_tel .phone .num::before {
    width: 3rem;
    height: 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_ft_top .cta .cta_tel .phone .num::before {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
}
.l_ft_top .cta .cta_tel .phone .date {
  color: #fff;
  font-size: clamp(1.3rem, 1.2090909091rem + 0.2424242424vw, 1.5rem);
  background-color: rgba(255, 255, 255, 0.15);
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-weight: bold;
}

.l_contents {
  overflow: visible;
  padding-bottom: 100px;
  margin-top: 6.9444444444vw;
}
@media only screen and (min-width: 1440px) {
  .l_contents {
    margin-top: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_contents {
    margin-top: 21.3333333333vw;
  }
}
.l_contents._special {
  margin-top: 13.8888888889vw;
}
@media only screen and (min-width: 1440px) {
  .l_contents._special {
    margin-top: 20rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_contents._special {
    margin-top: 42.6666666667vw;
  }
}
@media only screen and (max-width: 768px) {
  .l_contents._b {
    margin-top: 29.3333333333vw;
  }
}
.l_contents_wrap {
  display: flex;
  gap: 8.3333333333vw;
}
@media only screen and (max-width: 768px) {
  .l_contents_wrap {
    flex-direction: column;
    gap: 26.6666666667vw;
  }
}
.l_contents_wrap._column {
  gap: 6.4vw;
}
.l_contents_product {
  scroll-margin-top: clamp(10rem, 6.3636363636rem + 9.696969697vw, 18rem);
}
.l_contents_product:not(:first-of-type) {
  margin-top: clamp(10rem, 7.2727272727rem + 7.2727272727vw, 16rem);
}
.l_contents_list {
  width: 15.2777777778vw;
  position: -webkit-sticky;
  position: sticky;
  top: 180px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  /*---製品詳細などアイコン赤---*/
}
@media only screen and (min-width: 1440px) {
  .l_contents_list {
    font-size: 22rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_contents_list {
    width: 100%;
    position: static;
  }
}
.l_contents_list._news {
  position: static;
}
.l_contents_list._news ul li a {
  border-bottom: none;
  color: #a7a7a7;
  transition: all 0.3s;
  margin-bottom: 0;
}
.l_contents_list._news ul li a:hover {
  text-decoration: underline;
  color: #333;
}
.l_contents_list._news ul li.is-active a {
  text-decoration: underline;
  color: #333;
}
@media only screen and (max-width: 768px) {
  .l_contents_list._column .news-category {
    display: flex;
    gap: 24px;
  }
}
.l_contents_list ul li a {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 12.5px;
  padding-top: 12.5px;
  margin-bottom: 12.5px;
  border-bottom: 1px solid #a7a7a7;
  transition: all 0.2s;
}
.l_contents_list ul li a:hover .icon {
  background-color: #333;
  color: #fff;
}
.l_contents_list ul li .icon {
  width: 24px;
  height: 24px;
  border: 1px solid #333;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  color: #333;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  font-family: "Inter", sans-serif;
  background-color: #fff;
}
.l_contents_list .side-link {
  color: #A7A7A7;
  transition: color 0.2s ease;
}
@media only screen and (min-width: 767px) {
  .l_contents_list .side-link:hover {
    color: #C40303;
    border-bottom: 1px solid #C40303;
  }
}
@media only screen and (min-width: 767px) {
  .l_contents_list .side-link:hover .icon {
    background-color: #C40303;
    color: #fff;
    border-color: #C40303;
  }
}
@media only screen and (max-width: 768px) {
  .l_contents_list .side-link._product_details {
    color: #333;
  }
}
@media only screen and (max-width: 768px) {
  .l_contents_list .side-link._product_details .icon {
    border: 1px solid #333;
    color: #333;
  }
}
.l_contents_list .side-link .icon {
  background: transparent;
  color: #A7A7A7;
  transition: background-color 0.2s ease, color 0.2s ease;
  background-color: #fff;
}
@media only screen and (min-width: 767px) {
  .l_contents_list .side-link.is-active {
    color: #C40303;
    border-bottom: 1px solid #C40303;
  }
  .l_contents_list .side-link.is-active .icon {
    background-color: #C40303;
    color: #fff;
    border-color: #C40303;
  }
}
.l_contents_details {
  width: 51.875vw;
}
@media only screen and (min-width: 1440px) {
  .l_contents_details {
    width: 747px;
  }
}
@media only screen and (max-width: 768px) {
  .l_contents_details {
    width: 100%;
  }
}
.l_contents_details .list {
  display: flex;
  gap: 4.4444444444vw;
  flex-wrap: wrap;
  margin-top: clamp(3.2rem, 2.4727272727rem + 1.9393939394vw, 4.8rem);
}
@media only screen and (min-width: 1440px) {
  .l_contents_details .list {
    gap: 6.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_contents_details .list {
    gap: 17.0666666667vw;
  }
}
.l_contents_details .list li {
  width: 27.6388888889vw;
  transition: all 0.3s;
}
@media only screen and (min-width: 1440px) {
  .l_contents_details .list li {
    width: calc((100% - 64px) / 2);
  }
}
@media only screen and (max-width: 768px) {
  .l_contents_details .list li {
    width: 100%;
  }
}
.l_contents_details .list li._case a {
  transition: all 0.5s;
}
.l_contents_details .list li._case a:hover .c_headline_h3._contents {
  text-decoration: underline;
}
.l_contents_details .list li:hover .c_btn_black._contents a {
  background-color: #C40303;
}
.l_contents_details .list li a {
  cursor: pointer;
  transition: all 0.3s;
}
.l_contents_details .list li .company {
  font-size: 0.9722222222vw;
  margin-top: clamp(1.2rem, 1.0181818182rem + 0.4848484848vw, 1.6rem);
}
@media only screen and (min-width: 1440px) {
  .l_contents_details .list li .company {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_contents_details .list li .company {
    font-size: 3.4666666667vw;
  }
}
.l_contents_details .list li .name {
  font-size: clamp(1.5rem, 1.4545454545rem + 0.1212121212vw, 1.6rem);
  margin-top: 8px;
}
.l_contents_details .list li .tag {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: clamp(1.2rem, 1.0181818182rem + 0.4848484848vw, 1.6rem);
}
.l_contents_details .list li .tag li {
  background-color: #CAD6ED;
  color: #16429D;
  font-size: 0.9722222222vw;
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-weight: 500;
  padding: 2px 10px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 2px;
}
@media only screen and (min-width: 1440px) {
  .l_contents_details .list li .tag li {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_contents_details .list li .tag li {
    font-size: 3.4666666667vw;
  }
}
.l_contents .other {
  margin-top: 100px;
}
.l_contents .other .title {
  color: #16429D;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .l_contents._products_details .slide-menu {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 24px;
         column-gap: 24px;
    row-gap: 16px;
    align-items: center;
    justify-content: center;
  }
}
@media only screen and (max-width: 768px) {
  .l_contents._products_details .slide-menu li {
    width: calc((100% - 24px) / 2);
  }
  .l_contents._products_details .slide-menu li .icon {
    border: 1px solid #a7a7a7;
  }
}

.l_ank_area {
  margin-top: clamp(8rem, 7.0909090909rem + 2.4242424242vw, 10rem);
}
.l_ank_area .ank_list {
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .l_ank_area .ank_list {
    flex-direction: column;
    justify-content: flex-start;
  }
}
.l_ank_area .ank_list li {
  padding-left: clamp(0rem, -2.7272727273rem + 7.2727272727vw, 6rem);
  padding-right: clamp(0rem, -2.7272727273rem + 7.2727272727vw, 6rem);
  border-right: 1px dotted #fff;
}
@media only screen and (max-width: 768px) {
  .l_ank_area .ank_list li {
    border-right: none;
    border-bottom: 1px solid #fff;
    width: 100%;
    padding-bottom: 15px;
    margin-bottom: 15px;
  }
}
.l_ank_area .ank_list li:last-child {
  border-right: none;
}
.l_ank_area .ank_list li:first-child {
  padding-left: 0;
}
.l_ank_area .ank_list li a {
  display: flex;
  align-items: center;
  gap: 20px;
  color: #fff;
  font-size: 1.3888888889vw;
}
@media only screen and (min-width: 1440px) {
  .l_ank_area .ank_list li a {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_ank_area .ank_list li a {
    justify-content: space-between;
    font-size: 4vw;
  }
}
.l_ank_area .ank_list li a .circle {
  background-color: #fff;
  color: #16429D;
  width: clamp(2.4rem, 2.0363636364rem + 0.9696969697vw, 3.2rem);
  height: clamp(2.4rem, 2.0363636364rem + 0.9696969697vw, 3.2rem);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(1rem, 0.6363636364rem + 0.9696969697vw, 1.8rem);
  transition: all 0.3s;
}
.l_ank_area .ank_list li a:hover .circle {
  background-color: #C40303;
  color: #fff;
}
.l_ank_area._company_about {
  margin-bottom: clamp(5rem, 2.7272727273rem + 6.0606060606vw, 10rem);
}
.l_ank_area._company_about .ank_list {
  justify-content: flex-start;
}
.l_ank_area._company_access {
  margin-bottom: clamp(5rem, 2.7272727273rem + 6.0606060606vw, 10rem);
}

.l_page_menu .list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.7777777778vw;
}
@media only screen and (min-width: 1440px) {
  .l_page_menu .list {
    gap: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_page_menu .list {
    gap: 6.4vw;
    flex-direction: column;
  }
}
.l_page_menu .list li {
  width: 18.0555555556vw;
}
@media only screen and (min-width: 1440px) {
  .l_page_menu .list li {
    width: 26rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_page_menu .list li {
    width: 100%;
  }
}
.l_page_menu .list li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #fff;
  padding-bottom: 1.3888888889vw;
  color: #fff;
  font-size: 1.1111111111vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 1440px) {
  .l_page_menu .list li a {
    font-size: 1.6rem;
    padding-bottom: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_page_menu .list li a {
    font-size: 4vw;
    padding-bottom: 3.3333333333vw;
  }
}
.l_page_menu .list li a .circle {
  background-color: #fff;
  color: #16429D;
  width: clamp(2.4rem, 2.0363636364rem + 0.9696969697vw, 3.2rem);
  height: clamp(2.4rem, 2.0363636364rem + 0.9696969697vw, 3.2rem);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(1rem, 0.6363636364rem + 0.9696969697vw, 1.8rem);
  transition: all 0.3s;
}
.l_page_menu .list li a:hover .circle {
  background-color: #C40303;
  color: #fff;
}
.l_page_menu._lecture_about {
  margin-top: 13.8888888889vw;
  margin-bottom: 6.9444444444vw;
}
@media only screen and (min-width: 1440px) {
  .l_page_menu._lecture_about {
    margin-top: 20rem;
    margin-bottom: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_page_menu._lecture_about {
    margin-top: 26.6666666667vw;
    margin-bottom: 26.6666666667vw;
  }
}
.l_page_menu._lecture_thermal {
  margin-top: 6.9444444444vw;
  margin-bottom: 6.9444444444vw;
}
@media only screen and (min-width: 1440px) {
  .l_page_menu._lecture_thermal {
    margin-top: 10rem;
    margin-bottom: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_page_menu._lecture_thermal {
    margin-top: 26.6666666667vw;
    margin-bottom: 26.6666666667vw;
  }
}

.c_btn {
  /*製品・導入事例ページ下ボタン*/
}
.c_btn_hd a {
  background-color: #C40303;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.0416666667vw;
  font-weight: bold;
  border-radius: 999px;
  padding: 12px 32px;
  line-height: 1.5;
  letter-spacing: 0.03em;
  transition: all 0.3s;
}
@media only screen and (min-width: 1440px) {
  .c_btn_hd a {
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_btn_hd a {
    font-size: 4vw;
  }
}
.c_btn_hd a:hover {
  background-color: #EA5656;
}
.c_btn_white a {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  padding: 2.2rem 1.8rem 2.2rem 3.2rem;
  border: 2px solid #fff;
  background-color: transparent;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: 0.03em;
  width: 28rem;
  transition: background-color 0.3s, border-color 0.3s, color 0.3s;
  border-radius: 999px;
}
@media only screen and (max-width: 768px) {
  .c_btn_white a {
    width: 100%;
    padding: 1.6rem 1.8rem 1.6rem 3.2rem;
  }
}
.c_btn_white a .arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #fff;
  color: #16429D;
  font-size: 14px;
  font-weight: bold;
  transition: background-color 0.3s, color 0.3s;
}
.c_btn_white a:hover {
  background-color: #C40303;
  border-color: #C40303;
}
.c_btn_white a:hover .arrow {
  color: #C40303;
}
.c_btn_white._top_tec {
  margin-top: 56px;
}
@media only screen and (max-width: 768px) {
  .c_btn_white._top_products {
    width: 100%;
  }
}
.c_btn_black a {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 1.5277777778vw;
  padding-bottom: 1.5277777778vw;
  padding-left: 2.2222222222vw;
  padding-right: 1.25vw;
  border: 2px solid #fff;
  background-color: #333;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.1111111111vw;
  letter-spacing: 0.03em;
  width: 19.4444444444vw;
  transition: background-color 0.3s, border-color 0.3s, color 0.3s;
  border-radius: 999px;
}
@media only screen and (min-width: 1440px) {
  .c_btn_black a {
    padding-top: 22px;
    padding-bottom: 22px;
    padding-left: 32px;
    padding-right: 18px;
    font-size: 1.6rem;
    width: 28rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_btn_black a {
    width: 85.3333333333vw;
    margin-left: auto;
    margin-right: auto;
    padding: 16px 18px 16px 32px;
    font-size: 4.2666666667vw;
  }
}
.c_btn_black a .arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #fff;
  color: #16429D;
  font-size: 14px;
  font-weight: bold;
  transition: background-color 0.3s, color 0.3s;
}
.c_btn_black a:hover {
  background-color: #C40303;
  border-color: #C40303;
}
.c_btn_black a:hover .arrow {
  color: #C40303;
}
.c_btn_black._case a {
  padding-right: 2.2222222222vw;
  padding-left: 16px;
  padding-top: 18px;
  padding-bottom: 18px;
  transition: all 0.3s;
}
@media only screen and (min-width: 1440px) {
  .c_btn_black._case a {
    padding-right: 32px;
  }
}
@media only screen and (max-width: 768px) {
  .c_btn_black._case a {
    padding-right: 8.5333333333vw;
  }
}
.c_btn_black._case a .arrow {
  color: #333;
}
.c_btn_black._case a:hover .arrow {
  color: #C40303;
}
.c_btn_black button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 1.5277777778vw;
  padding-bottom: 1.5277777778vw;
  padding-left: 2.2222222222vw;
  padding-right: 1.25vw;
  border: 2px solid #fff;
  background-color: #333;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.1111111111vw;
  letter-spacing: 0.03em;
  width: 19.4444444444vw;
  transition: background-color 0.3s, border-color 0.3s, color 0.3s;
  border-radius: 999px;
}
@media only screen and (min-width: 1440px) {
  .c_btn_black button {
    padding-top: 22px;
    padding-bottom: 22px;
    padding-left: 32px;
    padding-right: 18px;
    font-size: 1.6rem;
    width: 28rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_btn_black button {
    width: 85.3333333333vw;
    margin-left: auto;
    margin-right: auto;
    padding: 16px 18px 16px 32px;
    font-size: 4.2666666667vw;
  }
}
.c_btn_black button .arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #fff;
  color: #16429D;
  font-size: 14px;
  font-weight: bold;
  transition: background-color 0.3s, color 0.3s;
}
.c_btn_black._top_tec {
  margin-top: 56px;
}
@media only screen and (max-width: 768px) {
  .c_btn_black._top_products {
    width: 100%;
  }
}
.c_btn_black._tips_list {
  margin: 24px 0 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c_btn_black._products {
  margin-top: clamp(2.4rem, 1.6727272727rem + 1.9393939394vw, 4rem);
}
@media only screen and (max-width: 768px) {
  .c_btn_black._products {
    margin-left: auto;
    margin-right: auto;
  }
}
.c_btn_black._products a {
  transition: all 0.3s;
}
.c_btn_black._products a .arrow {
  color: #333;
}
.c_btn_black._products a:hover .arrow {
  color: #C40303;
}
.c_btn_black._mega {
  margin-top: 48px;
}
.c_btn_black._mega a {
  width: auto;
  background-color: #333;
  padding: 22px 18px 22px 32px;
  transition: all 0.3s;
}
.c_btn_black._mega a:hover {
  background-color: #C40303;
  border-bottom: none;
}
.c_btn_black._contents {
  margin-top: 16px;
}
.c_btn_black._contents a {
  width: 100%;
  padding-top: 16px;
  padding-bottom: 16px;
}
.c_btn_black._case {
  margin-top: 48px;
  text-align: center;
  margin-bottom: 100px;
}
.c_btn_red a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 22px 18px 22px 32px;
  border: 2px solid #C40303;
  background-color: #C40303;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: clamp(1.6rem, 1.4181818182rem + 0.4848484848vw, 2rem);
  letter-spacing: 0.03em;
  width: 100%;
  border-radius: 999px;
  position: relative;
  transition: background-color 0.3s, border-color 0.3s;
}
@media only screen and (max-width: 768px) {
  .c_btn_red a {
    width: 100%;
    padding: 22px 18px 22px 10px;
  }
}
.c_btn_red a .icon {
  position: relative;
}
.c_btn_red a .icon::before {
  position: absolute;
  top: 60%;
  left: -50px;
  transform: translateY(-50%);
  display: inline-block;
  content: "";
  width: 2.5vw;
  height: 2.5vw;
  background-image: url("../img/common/icon-mail.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media only screen and (min-width: 1440px) {
  .c_btn_red a .icon::before {
    width: 3.6rem;
    height: 3.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_btn_red a .icon::before {
    left: -30px;
    width: 5.0666666667vw;
    height: 4vw;
  }
}
.c_btn_red a .arrow {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.8888888889vw;
  height: 3.8888888889vw;
  border-radius: 50%;
  background-color: #fff;
  color: #C40303;
  font-size: 20px;
  font-weight: bold;
  transition: background-color 0.3s, color 0.3s;
}
@media only screen and (min-width: 1440px) {
  .c_btn_red a .arrow {
    width: 5.6rem;
    height: 5.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_btn_red a .arrow {
    width: 8.5333333333vw;
    height: 8.5333333333vw;
  }
}
.c_btn_red a:hover {
  background-color: #EA5656;
  border-color: #EA5656;
}
.c_btn_red a:hover .arrow {
  color: #C40303;
}
.c_btn_red._top_tec {
  margin-top: 56px;
}
@media only screen and (max-width: 768px) {
  .c_btn_red._top_products {
    width: 100%;
  }
}
.c_btn_red._sp_menu {
  margin-top: 40px;
}
.c_btn_red._ft_top_cta a {
  padding: 28px 88px 28px 32px;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
@media only screen and (max-width: 768px) {
  .c_btn_red._ft_top_cta a {
    padding: 22px 64px 22px 60px;
  }
}
.c_btn_red._ft_top_cta a .icon {
  margin-left: 55px;
}
@media only screen and (max-width: 768px) {
  .c_btn_red._ft_top_cta a .icon {
    margin-left: 0;
  }
}
.c_btn_area {
  margin-top: clamp(10rem, 9.0909090909rem + 2.4242424242vw, 12rem);
  display: flex;
  gap: 4px;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 768px) {
  .c_btn_area {
    flex-direction: column;
    gap: 16px;
  }
}
.c_btn_area .item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-image: url("../img/common/bg-btn.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  width: calc((100% - 4px) / 2);
  height: 160px;
  padding: 40px 45px 40px 45px;
}
@media only screen and (max-width: 768px) {
  .c_btn_area .item {
    width: 100%;
    padding: 24px;
    height: 116px;
  }
}
.c_btn_area .item .icon {
  font-size: 20px;
  border-radius: 50%;
  width: clamp(4.8rem, 3.3454545455rem + 3.8787878788vw, 8rem);
  height: clamp(4.8rem, 3.3454545455rem + 3.8787878788vw, 8rem);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  border: 1px solid #fff;
  background-color: transparent;
  font-family: "Inter", sans-serif;
  transition: all 0.3s;
}
.c_btn_area .item:hover .icon {
  background-color: #C40303;
  border: 1px solid #C40303;
}
.c_btn_area .item .name {
  font-size: clamp(3.6rem, 2.6909090909rem + 2.4242424242vw, 5.6rem);
  color: #fff;
  font-weight: 600;
  font-family: "Inter", sans-serif;
  font-style: italic;
  letter-spacing: -0.02em;
}
.c_btn_area .item .sub {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: clamp(1.5rem, 1.3636363636rem + 0.3636363636vw, 1.8rem);
  color: #fff;
  font-weight: 700;
  margin-top: clamp(0.8rem, 0.6181818182rem + 0.4848484848vw, 1.2rem);
}
.c_btn_area .item .sub .scare {
  color: #C40303;
  font-size: 80%;
}
.c_btn_area._case {
  margin-top: 48px;
}

/*フローティング*/
.floating_btn {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 999;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
@media only screen and (max-width: 768px) {
  .floating_btn {
    right: 0;
    bottom: 0;
    width: 100%;
    transform: translateY(100%);
  }
}

.floating_btn.is-show {
  opacity: 1;
  transform: translateY(0);
}

.c_btn_red._floating a {
  width: 460px;
}
@media only screen and (min-width: 1440px) {
  .c_btn_red._floating a {
    width: 460px;
  }
}
@media only screen and (max-width: 768px) {
  .c_btn_red._floating a {
    display: block;
    width: 100%;
    border-radius: 0;
    padding: 17px 18px;
    box-shadow: 4px 0 8px 0 rgba(0, 0, 0, 0.16);
  }
}
.c_btn_red._floating a .arrow {
  width: 2.2222222222vw;
  height: 2.2222222222vw;
}
@media only screen and (min-width: 1440px) {
  .c_btn_red._floating a .arrow {
    width: 32px;
    height: 32px;
  }
}
@media only screen and (max-width: 768px) {
  .c_btn_red._floating a .arrow {
    width: 7.4666666667vw;
    height: 7.4666666667vw;
    font-size: 14px;
  }
}
@media only screen and (max-width: 768px) {
  .c_btn_red._floating a .icon {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
}
.c_btn_red._floating a .icon::before {
  width: clamp(2rem, 1.6363636364rem + 0.9696969697vw, 2.8rem);
  height: clamp(2rem, 1.6363636364rem + 0.9696969697vw, 2.8rem);
  top: 12px;
}

@media only screen and (max-width: 768px) {
  .floating_btn.is-show {
    transform: translateY(0);
    opacity: 1;
  }
}

/* ボタン共通配置 */
.c_hamburger_box {
  position: fixed;
  top: 0;
  right: 0;
  display: flex;
  gap: 0;
  z-index: 10001;
}

/* お問い合わせ（赤） */
.c_mail_btn {
  width: 56px;
  height: 56px;
  background: #C40303;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c_mail_btn img {
  width: 20px;
  height: auto;
}

.c_mail_btn.is-hidden {
  display: none;
}

/* ハンバーガー（青） */
.c_hamburger_btn {
  width: 56px;
  height: 56px;
  background: #16429D;
  border: none;
  position: relative;
  cursor: pointer;
}
.c_hamburger_btn.is-active {
  background: transparent;
}

/* 線 */
.c_hamburger_btn span {
  position: absolute;
  left: 50%;
  width: 22px;
  height: 2px;
  background: #fff;
  transform: translateX(-50%);
  transition: 0.3s ease;
}

.c_hamburger_btn span:nth-child(1) {
  top: 16px;
}

.c_hamburger_btn span:nth-child(2) {
  top: 23px;
}

.c_hamburger_btn span:nth-child(3) {
  top: 30px;
}

/* ✕ */
.c_hamburger_btn.is-active span:nth-child(1) {
  top: 23px;
  transform: translateX(-50%) rotate(45deg);
}

.c_hamburger_btn.is-active span:nth-child(2) {
  opacity: 0;
}

.c_hamburger_btn.is-active span:nth-child(3) {
  top: 23px;
  transform: translateX(-50%) rotate(-45deg);
}

/* 線 */
.c_hamburger_btn span {
  position: absolute;
  left: 50%;
  width: 24px;
  height: 2px;
  background: #fff;
  transform: translateX(-50%);
  transition: 0.3s;
}

.c_hamburger_btn span:nth-child(1) {
  top: 19px;
}

.c_hamburger_btn span:nth-child(2) {
  top: 26px;
}

.c_hamburger_btn span:nth-child(3) {
  top: 33px;
}

/* ✕ に変形 */
.c_hamburger_btn.is-active span:nth-child(1) {
  top: 23px;
  transform: translateX(-50%) rotate(45deg);
}

.c_hamburger_btn.is-active span:nth-child(2) {
  opacity: 0;
}

.c_hamburger_btn.is-active span:nth-child(3) {
  top: 23px;
  transform: translateX(-50%) rotate(-45deg);
}

/* ドロワーメニュー */
.c_hamburger {
  position: fixed;
  inset: 0;
  background: #fff;
  z-index: 10000;
  transform: translateX(100%);
  transition: transform 0.35s ease;
  overflow-y: auto;
}

.c_hamburger.is-open {
  transform: translateX(0);
  background-image: url("../img/common/sp-ham.jpg");
  background-size: cover;
}
.c_hamburger.is-open .l_header_logo {
  position: absolute;
  top: 10px;
  left: 10px;
}

.c_hamburger_wrap {
  padding: 80px 20px 40px;
}

/* メニュー開いたらお問い合わせ非表示 */
.c_mail_btn.is-hidden {
  display: none;
}

.l_header_nav .nav > li {
  border-bottom: 1px solid #eee;
}
.l_header_nav .nav > li .icon {
  /* 矢印 */
}
@media only screen and (max-width: 768px) {
  .l_header_nav .nav > li .icon {
    width: 24px;
    height: 24px;
    border: 1px solid #fff;
    border-radius: 50%;
    position: relative;
    flex-shrink: 0;
    transition: transform 0.3s ease;
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  .l_header_nav .nav > li .icon::before {
    content: "";
    position: absolute;
    top: 6px;
    left: 50%;
    width: 2px;
    height: 8px;
    background: #fff;
    transform: translateX(-50%);
  }
}
.l_header_nav .nav > li .icon::after {
  content: "";
  position: absolute;
  bottom: 6px;
  left: 50%;
  width: 6px;
  height: 6px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translateX(-50%) rotate(-45deg);
  transition: transform 0.3s ease;
}

.nav-item.is-open .icon {
  transform: rotate(180deg);
}

.l_header_nav a,
.l_header_nav .accordion-trigger {
  display: block;
  padding: 0;
  font-size: 15px;
  color: #fff;
  text-align: left;
  background: none;
  border: none;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-weight: 500;
}

.l_header_nav a {
  padding-bottom: clamp(0.9rem, 0.5818181818rem + 0.8484848485vw, 1.6rem);
}

.accordion-content {
  display: block;
  padding-left: 12px;
}
@media only screen and (max-width: 768px) {
  .accordion-content {
    display: none;
  }
}

.nav-item.is-open .accordion-content {
  display: block;
  margin-top: 15px;
}
.nav-item.is-open .accordion-content li a {
  padding-top: 0;
  padding-bottom: 10px;
}
.nav-item.is-open .accordion-content li:not(:first-of-type) a {
  padding-top: 10px;
}
.nav-item.is-open .accordion-content li:last-of-type a {
  padding-bottom: 25px;
}

.accordion-content a {
  padding: 12px 0 0 0;
  font-size: 14px;
}

.c_hamburger .cta_tel {
  margin-top: clamp(2.8rem, 2.6181818182rem + 0.4848484848vw, 3.2rem);
}
.c_hamburger .cta_tel .text {
  margin-bottom: 6px;
  text-align: center;
  color: #fff;
}
.c_hamburger .cta_tel .phone {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 768px) {
  .c_hamburger .cta_tel .phone {
    flex-direction: column;
    gap: 2px;
  }
}
.c_hamburger .cta_tel .phone .num {
  font-size: 28px;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: -0.02em;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 5px;
}
.c_hamburger .cta_tel .phone .num::before {
  content: "";
  width: clamp(2rem, 1.5454545455rem + 1.2121212121vw, 3rem);
  height: clamp(2rem, 1.5454545455rem + 1.2121212121vw, 3rem);
  background-image: url("../img/common/icon-phone.png");
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
}
.c_hamburger .cta_tel .phone .date {
  color: #fff;
  font-size: clamp(1.3rem, 1.2090909091rem + 0.2424242424vw, 1.5rem);
  background-color: rgba(255, 255, 255, 0.15);
  border-radius: 999px;
  padding: 5px 17px;
  font-size: 13px;
}
.c_hamburger .nav li {
  padding: 16.5px 0;
}
.c_hamburger .nav .accordion-content li {
  padding: 0;
}

.c_headline_h1 {
  font-size: 7.6388888889vw;
  font-weight: 500;
  font-style: italic;
  letter-spacing: -0.005em;
  font-family: "Inter", sans-serif;
  line-height: 1;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h1 {
    font-size: 11rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h1 {
    font-size: 13.3333333333vw;
  }
}
.c_headline_h1_sub {
  font-size: 2.2222222222vw;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.5;
  display: flex;
  align-items: center;
  gap: 1.0416666667vw;
  margin-top: 1.3888888889vw;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h1_sub {
    font-size: 3.2rem;
    gap: 1.5rem;
    margin-top: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h1_sub {
    font-size: 5.3333333333vw;
    gap: 4vw;
    margin-top: 5.3333333333vw;
  }
}
.c_headline_h1_sub span {
  color: #C40303;
  font-size: 1.1111111111vw;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h1_sub span {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h1_sub span {
    font-size: 4.2666666667vw;
  }
}
.c_headline_h1_sub._under_pt02 {
  color: #fff;
}
.c_headline_h1._products_details {
  font-size: 3.3333333333vw;
  font-weight: 600;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h1._products_details {
    font-size: 4.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h1._products_details {
    font-size: 8.5333333333vw;
  }
}
.c_headline_h1._case_details {
  font-size: 3.3333333333vw;
  font-weight: 600;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: 2.2222222222vw;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h1._case_details {
    font-size: 4.8rem;
    margin-top: 3.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h1._case_details {
    font-size: 8.5333333333vw;
    margin-top: 5.3333333333vw;
  }
}
.c_headline_h1._under_pt02 {
  color: #fff;
}
.c_headline_h1._news_details {
  font-size: 3.3333333333vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: 12px;
  font-style: normal;
  font-family: "Noto Sans JP", sans-serif;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h1._news_details {
    font-size: 4.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h1._news_details {
    font-size: 8.5333333333vw;
  }
}
.c_headline_h2 {
  font-size: 9.7222222222vw;
  font-style: italic;
  letter-spacing: 0;
  font-weight: 600;
  font-family: "Inter", sans-serif;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h2 {
    font-size: 14rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h2 {
    letter-spacing: -0.02em;
    font-size: 14.9333333333vw;
  }
}
.c_headline_h2._white {
  color: #fff;
}
.c_headline_h2_sub {
  font-size: 2.5vw;
  font-weight: 700;
  letter-spacing: 0.03em;
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: 2.5vw;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h2_sub {
    font-size: 3.6rem;
    margin-top: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h2_sub {
    font-size: 6.4vw;
    margin-top: 4.2666666667vw;
  }
}
.c_headline_h2_sub span {
  color: #C40303;
  font-size: 1.3888888889vw;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h2_sub span {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h2_sub span {
    font-size: 4.2666666667vw;
  }
}
.c_headline_h2_sub._white {
  color: #fff;
}
.c_headline_h2_sub._pt02 {
  font-size: 1.6666666667vw;
  gap: 10px;
  margin-top: 0.8333333333vw;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h2_sub._pt02 {
    font-size: 2.4rem;
    margin-top: 1.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h2_sub._pt02 {
    font-size: 6.4vw;
    margin-top: 3.2vw;
  }
}
.c_headline_h2_sub._pt02 span {
  font-size: 0.8333333333vw;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h2_sub._pt02 span {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h2_sub._pt02 span {
    font-size: 3.2vw;
  }
}
.c_headline_h2._pt02 {
  font-size: 5vw;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h2._pt02 {
    font-size: 7.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h2._pt02 {
    font-size: 14.9333333333vw;
  }
}
.c_headline_h2_pt03 {
  font-size: 3.3333333333vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h2_pt03 {
    font-size: 4.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h2_pt03 {
    font-size: 8.5333333333vw;
  }
}
.c_headline_h2_blue {
  color: #16429D;
  font-size: 2.7777777778vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h2_blue {
    font-size: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h2_blue {
    font-size: 8.5333333333vw;
  }
}
.c_headline_h2_pt04 {
  font-size: 5vw;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.5;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h2_pt04 {
    font-size: 7.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h2_pt04 {
    font-size: 12.8vw;
  }
}
.c_headline_h2_pt04._sub {
  color: #F41414;
  font-size: 1.9444444444vw;
  font-weight: 600;
  font-family: "Inter", sans-serif;
  font-style: italic;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h2_pt04._sub {
    font-size: 2.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h2_pt04._sub {
    font-size: 5.3333333333vw;
  }
}
.c_headline_h2_pt04._company_access {
  font-size: 3.3333333333vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h2_pt04._company_access {
    font-size: 4.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h2_pt04._company_access {
    font-size: 10.6666666667vw;
  }
}
.c_headline_h3 {
  font-size: 1.6666666667vw;
  font-weight: 700;
  margin-top: 1.1111111111vw;
  line-height: 1.5;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h3 {
    font-size: 2.4rem;
    margin-top: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h3 {
    font-size: 5.3333333333vw;
    margin-top: 4.2666666667vw;
  }
}
.c_headline_h3.pt_02 {
  font-size: 1.9444444444vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h3.pt_02 {
    font-size: 2.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h3.pt_02 {
    font-size: 6.4vw;
  }
}
.c_headline_h3._case_details {
  margin-top: 2.2222222222vw;
  font-size: 1.9444444444vw;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h3._case_details {
    font-size: 2.8rem;
    margin-top: 3.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h3._case_details {
    font-size: 6.4vw;
    margin-top: 6.4vw;
  }
}
.c_headline_h3._strength_service {
  font-size: 1.5277777778vw;
  color: #fff;
  margin-top: 0;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h3._strength_service {
    font-size: 2.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h3._strength_service {
    font-size: 5.8666666667vw;
  }
}
.c_headline_h3._strength_support {
  color: #fff;
  display: flex;
  align-items: center;
  gap: 1.1111111111vw;
  letter-spacing: 0.05em;
  margin-top: 0;
}
@media only screen and (min-width: 1440px) {
  .c_headline_h3._strength_support {
    gap: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline_h3._strength_support {
    font-size: 6.4vw;
    font-weight: 500;
  }
}
.c_headline_h3._strength_support .red {
  color: #C40303;
  font-size: 80%;
}
.c_headline.about_h2 {
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-size: 3.3333333333vw;
}
@media only screen and (min-width: 1440px) {
  .c_headline.about_h2 {
    font-size: 4.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline.about_h2 {
    font-size: 8.5333333333vw;
  }
}
.c_headline.about_h3 {
  color: #fff;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-size: 2.5vw;
  background-color: #062C7B;
  padding: 16px 24px;
  margin-top: 4.4444444444vw;
}
@media only screen and (min-width: 1440px) {
  .c_headline.about_h3 {
    font-size: 3.6rem;
    margin-top: 6.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline.about_h3 {
    font-size: 6.4vw;
    padding: 16px;
    margin-top: 10.6666666667vw;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline.about_h3._02 {
    margin-top: 26.6666666667vw;
  }
}
.c_headline.about_h4 {
  border-left: 3px solid #C40303;
  font-size: 1.6666666667vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding-left: 16px;
  color: #fff;
}
@media only screen and (min-width: 1440px) {
  .c_headline.about_h4 {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_headline.about_h4 {
    font-size: 5.3333333333vw;
  }
}
.c_headline.about_h4:not(:first-of-type) {
  margin-top: 32px;
}

.c_text._24 {
  font-size: 1.6666666667vw;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media only screen and (min-width: 1440px) {
  .c_text._24 {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_text._24 {
    font-size: 4vw;
  }
}
.c_text._24._about_philosophy {
  margin-top: 1.25vw;
  color: #fff;
  font-weight: 500;
}
@media only screen and (min-width: 1440px) {
  .c_text._24._about_philosophy {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_text._24._about_philosophy {
    font-size: 4.2666666667vw;
    margin-top: 4.2666666667vw;
  }
}
.c_text._24._about_overview {
  font-size: 1.6666666667vw;
  color: #fff;
  margin-top: 3.8888888889vw;
  line-height: 1.5;
  font-weight: 700;
}
@media only screen and (min-width: 1440px) {
  .c_text._24._about_overview {
    font-size: 2.4rem;
    margin-top: 5.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_text._24._about_overview {
    font-size: 4.8vw;
    margin-top: 10.6666666667vw;
  }
}
.c_text._20 {
  font-size: 1.3888888889vw;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 1440px) {
  .c_text._20 {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_text._20 {
    font-size: 4.8vw;
  }
}
.c_text._20._top_tec {
  line-height: 2;
}
.c_text._18 {
  font-size: 1.25vw;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 1440px) {
  .c_text._18 {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_text._18 {
    font-size: 4.2666666667vw;
  }
}
.c_text._18._top_products {
  margin-top: 3.8888888889vw;
  line-height: 1.8;
  letter-spacing: 0.05em;
  width: 48.6111111111vw;
}
@media only screen and (min-width: 1440px) {
  .c_text._18._top_products {
    margin-top: 5.6rem;
    width: 70rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_text._18._top_products {
    margin-top: 10.6666666667vw;
    width: 100%;
  }
}
.c_text._18._strength_service {
  color: #fff;
  line-height: 2;
  margin-top: 3.3333333333vw;
}
@media only screen and (min-width: 1440px) {
  .c_text._18._strength_service {
    margin-top: 4.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_text._18._strength_service {
    margin-top: 10.6666666667vw;
    font-size: 4vw;
  }
}
.c_text._18._strength_strength {
  color: #fff;
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-top: 3.3333333333vw;
}
@media only screen and (min-width: 1440px) {
  .c_text._18._strength_strength {
    margin-top: 4.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_text._18._strength_strength {
    margin-top: 5.3333333333vw;
    font-size: 4vw;
  }
}
.c_text._18._flow_contents {
  margin-top: 1.6666666667vw;
  padding-left: 6.3em;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media only screen and (min-width: 1440px) {
  .c_text._18._flow_contents {
    margin-top: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_text._18._flow_contents {
    padding-left: 0;
    line-height: 1.8;
    margin-top: 4.2666666667vw;
    font-size: 4vw;
  }
}
.c_text._18._about_greeting {
  color: #fff;
  margin-top: 2.7777777778vw;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media only screen and (min-width: 1440px) {
  .c_text._18._about_greeting {
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_text._18._about_greeting {
    line-height: 1.8;
    margin-top: 6.4vw;
    font-size: 4vw;
  }
}
.c_text._18._lecture_about_intro {
  color: #fff;
  letter-spacing: 0.05;
  line-height: 1.8;
  margin-top: 4.4444444444vw;
}
@media only screen and (min-width: 1440px) {
  .c_text._18._lecture_about_intro {
    margin-top: 6.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_text._18._lecture_about_intro {
    font-size: 4vw;
    margin-top: 10.6666666667vw;
  }
}
.c_text._18._lecture_thermal {
  color: #fff;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-top: 4.4444444444vw;
}
@media only screen and (min-width: 1440px) {
  .c_text._18._lecture_thermal {
    margin-top: 6.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_text._18._lecture_thermal {
    font-size: 4vw;
    line-height: 1.8;
    margin-top: 10.6666666667vw;
  }
}
.c_text._18._lecture_thermal._catch {
  margin-top: 3.3333333333vw;
}
@media only screen and (min-width: 1440px) {
  .c_text._18._lecture_thermal._catch {
    margin-top: 4.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_text._18._lecture_thermal._catch {
    margin-top: 8.5333333333vw;
  }
}
.c_text._white {
  color: #fff;
}
.c_text_16 {
  font-size: 1.1111111111vw;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 1440px) {
  .c_text_16 {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_text_16 {
    font-size: 4vw;
  }
}
.c_text_16._products {
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: 2.7777777778vw;
  font-weight: 500;
}
@media only screen and (min-width: 1440px) {
  .c_text_16._products {
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_text_16._products {
    margin-top: 6.4vw;
  }
}
.c_text_16._tips_list {
  margin-top: 8px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.c_text_16._links_area {
  line-height: 1.8;
  font-weight: 500;
  width: 28.6111111111vw;
  font-weight: 500;
}
@media only screen and (min-width: 1440px) {
  .c_text_16._links_area {
    width: 41.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_text_16._links_area {
    font-size: 3.7333333333vw;
    width: 64vw;
  }
}
.c_text_16._white {
  color: #fff;
}
.c_text_16._products_details_mv {
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: clamp(1.6rem, 0.8727272727rem + 1.9393939394vw, 3.2rem);
  font-weight: 500;
}
.c_text_16._features {
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-top: 16px;
}
.c_text_16._case_details {
  margin-top: 2.2222222222vw;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media only screen and (min-width: 1440px) {
  .c_text_16._case_details {
    margin-top: 3.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_text_16._case_details {
    margin-top: 6.4vw;
  }
}
.c_text_16._strength_service {
  color: #fff;
  margin-top: 1.1111111111vw;
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.03em;
}
@media only screen and (min-width: 1440px) {
  .c_text_16._strength_service {
    font-size: 1.6rem;
    margin-top: 16px;
  }
}
@media only screen and (max-width: 768px) {
  .c_text_16._strength_service {
    font-size: 4vw;
    margin-top: 4.2666666667vw;
  }
}
.c_text_16._company_history {
  color: #fff;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-top: 8px;
}
.c_text_16._news {
  margin-top: 8px;
}
.c_text_16._column {
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: 12px;
  transition: all 0.3s;
}
.c_text_16._lecture_about_case {
  color: #fff;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: 8px;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .c_text_16._lecture_about_case {
    line-height: 1.8;
  }
}
.c_text_16._lecture_form {
  color: #fff;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 500;
  width: 43.8888888889vw;
}
@media only screen and (min-width: 1440px) {
  .c_text_16._lecture_form {
    width: 632px;
  }
}
@media only screen and (max-width: 768px) {
  .c_text_16._lecture_form {
    line-height: 1.8;
    width: 100%;
  }
}
.c_text_16._lecture_form_note {
  color: #fff;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .c_text_16._lecture_form_note {
    line-height: 1.8;
  }
}
.c_text_14 {
  font-size: 0.9722222222vw;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 1440px) {
  .c_text_14 {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .c_text_14 {
    font-size: 3.7333333333vw;
  }
}
.c_text_14._contents {
  margin-top: 16px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.c_faq {
  display: flex;
  gap: 20px;
  margin-top: clamp(3rem, 0.7272727273rem + 6.0606060606vw, 8rem);
}
@media only screen and (max-width: 559px) {
  .c_faq {
    flex-direction: column;
  }
}

.c_faq_col {
  width: 50%;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media only screen and (max-width: 559px) {
  .c_faq_col {
    display: block;
    width: 100%;
  }
}

/* FAQ全体 */
.c_faq_item {
  border-radius: 5px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1490196078);
}

/* Q */
.c_faq_question {
  width: 100%;
  padding: 27px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
}
@media only screen and (max-width: 559px) {
  .c_faq_question {
    padding: 10px 20px;
  }
}

/* Qテキスト */
.c_faq_q {
  font-size: clamp(1.2rem, 1.0181818182rem + 0.4848484848vw, 1.6rem);
  line-height: 1.6;
  font-weight: 700;
}
.c_faq_q .green {
  color: #F41414;
  margin-right: 10px;
}
@media only screen and (max-width: 559px) {
  .c_faq_q {
    display: flex;
  }
}

/* 矢印 */
.c_faq_arrow img {
  width: 20px;
  transition: transform 0.3s ease;
  margin-left: 10px;
}

/* 開いたとき矢印を上向き */
.c_faq_item.is-open .c_faq_arrow img {
  transform: rotate(180deg);
}

/* A */
.c_faq_answer {
  overflow: hidden;
  max-height: 0;
  padding: 0 20px;
  transition: max-height 0.4s ease;
  line-height: 1.7;
  font-size: clamp(1.2rem, 1.0181818182rem + 0.4848484848vw, 1.6rem);
}

/* 開いたとき */
.c_faq_item.is-open .c_faq_answer {
  padding-bottom: 20px;
}

.c_ft_top {
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
}
.c_ft_top_area {
  display: flex;
}
@media only screen and (max-width: 559px) {
  .c_ft_top_area {
    flex-direction: column;
  }
}
.c_ft_top_box {
  width: 100%;
}
.c_ft_top_contents {
  position: relative;
  padding-top: 45px;
  padding-bottom: 45px;
  width: 50%;
  display: flex;
  justify-content: center;
  gap: clamp(1rem, 0.5454545455rem + 1.2121212121vw, 2rem);
}
@media only screen and (max-width: 559px) {
  .c_ft_top_contents {
    width: 100%;
    justify-content: flex-start;
    align-items: center;
  }
}
.c_ft_top_contents figure {
  width: clamp(5.6rem, 3.3727272727rem + 5.9393939394vw, 10.5rem);
}
.c_ft_top_contents._01 {
  border-right: 1px solid #333;
}
@media only screen and (max-width: 559px) {
  .c_ft_top_contents._01 {
    border: none;
  }
}
.c_ft_top_box .text {
  font-size: clamp(1.2rem, 1.0181818182rem + 0.4848484848vw, 1.6rem);
}
.c_ft_top_box .title {
  font-size: clamp(1.5rem, 1.2727272727rem + 0.6060606061vw, 2rem);
  font-weight: 600;
  margin-top: 15px;
}
.c_ft_top_box .title._02 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.c_ft_top_box .title._02 img {
  width: 15px;
  height: 13px;
}
.c_ft_top_box .title a {
  display: flex;
  justify-content: space-between;
}
.c_ft_top_box .title a img {
  width: 15px;
}
.c_ft_top .none {
  display: none;
}

.c_ft_mail {
  margin-top: 20px;
}

input.c_mail_input {
  border-bottom: 1px solid;
  padding: 5px;
}
@media only screen and (max-width: 559px) {
  input.c_mail_input {
    width: 70%;
  }
}

button.c_mail_btn {
  border: 1px solid #333;
  border-radius: 999px;
  width: 112px;
  height: 30px;
  text-align: center;
  background-color: #fff;
  font-size: 12px;
  font-weight: 700;
  transition: all 0.3s;
}
@media only screen and (max-width: 559px) {
  button.c_mail_btn {
    width: 76px;
    height: 24px;
  }
}
button.c_mail_btn:hover {
  background-color: #333;
  color: #fff;
}

@media only screen and (max-width: 559px) {
  .c_ft_arrow {
    width: 11px;
    height: 10px;
  }
}

.c_ft_neko {
  position: absolute;
  right: 18px;
  top: 32px;
}

.p_top .technology {
  position: relative;
  z-index: 1;
  margin-top: 0;
  padding-top: 14.375vw;
  padding-bottom: 13.8888888889vw;
  overflow: hidden;
}
@media only screen and (min-width: 1440px) {
  .p_top .technology {
    padding-top: 30rem;
    padding-bottom: 30rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_top .technology {
    padding-top: 55.2vw;
    padding-bottom: 53.3333333333vw;
  }
}
.p_top .technology::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(22, 66, 157, 0) 0%, rgba(22, 66, 157, 0.2) 40%, rgba(22, 66, 157, 0.8) 100%);
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  mask-image: linear-gradient(to bottom, transparent 0%, black 25%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 25%);
  z-index: -1;
}
.p_top .technology .catch {
  font-family: "Inter", sans-serif;
  font-size: 11.1111111111vw;
  color: #fff;
  font-weight: 600;
  letter-spacing: -5px;
  font-style: italic;
}
@media only screen and (min-width: 1440px) {
  .p_top .technology .catch {
    font-size: 16rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_top .technology .catch {
    font-size: 5.3333333333vw;
    letter-spacing: 0;
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 16px;
  }
}
@media only screen and (max-width: 768px) {
  .p_top .technology .catch::before {
    content: "";
    background-color: #fff;
    height: 1px;
    width: 64px;
  }
}
.p_top .technology .copy {
  font-size: clamp(6rem, 4.6363636364rem + 3.6363636364vw, 9rem);
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  color: #fff;
  line-height: 150%;
  margin-top: 8px;
}
@media only screen and (max-width: 768px) {
  .p_top .technology .copy {
    margin-top: 0;
  }
}
.p_top .technology .copy span {
  font-size: clamp(4.8rem, 3.7090909091rem + 2.9090909091vw, 7.2rem);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
.p_top .technology .contents {
  margin-top: 5.5555555556vw;
  display: flex;
  gap: 6.0416666667vw;
  justify-content: center;
  align-items: center;
}
@media only screen and (min-width: 1440px) {
  .p_top .technology .contents {
    gap: 8.7rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_top .technology .contents {
    flex-direction: column-reverse;
    gap: 17.0666666667vw;
  }
}
.p_top .technology .contents .area {
  width: 38.8888888889vw;
}
@media only screen and (min-width: 1440px) {
  .p_top .technology .contents .area {
    width: 56rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_top .technology .contents .area {
    width: 100%;
  }
}
.p_top .technology .contents .tec_img {
  width: 39.7222222222vw;
}
@media only screen and (min-width: 1440px) {
  .p_top .technology .contents .tec_img {
    width: 57.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_top .technology .contents .tec_img {
    width: 100%;
    margin-top: 18.6666666667vw;
  }
}
.p_top .products {
  min-height: 100vh;
  padding-top: 8.3333333333vw;
  padding-bottom: 8.3333333333vw;
  background: linear-gradient(90deg, rgb(22, 66, 157) 0%, rgb(16, 49, 118) 100%);
}
@media only screen and (min-width: 1440px) {
  .p_top .products {
    padding-top: 12rem;
    padding-bottom: 12rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_top .products {
    height: auto;
    padding-top: 64px;
    padding-bottom: 64px;
  }
}
.p_top .products__sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 120px;
  height: 80vh;
  overflow: hidden;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .p_top .products__sticky {
    position: static;
    height: auto;
    overflow: visible;
    width: 100%;
    padding-left: 6.3613231552vw;
    padding-right: 6.3613231552vw;
    margin-top: 44px;
  }
}
.p_top .products__track {
  display: flex;
  gap: 48px;
  padding-left: 8vw;
  will-change: transform;
  padding-right: 40px;
}
@media only screen and (min-width: 1920px) {
  .p_top .products__track {
    padding-left: 35rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_top .products__track {
    flex-direction: column;
    gap: 32px;
    padding-left: 0;
    padding-right: 0;
    transform: none;
  }
}
.p_top .products .product {
  display: block;
  min-width: 800px;
  text-decoration: none;
  color: #000;
  transition: all 0.5s;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p_top .products .product {
    min-width: auto;
  }
}
.p_top .products .product__img {
  overflow: hidden;
  border-radius: 5px;
}
.p_top .products .product__img img {
  width: 100%;
  display: block;
  transition: transform 0.4s;
}
.p_top .products .product__text {
  position: absolute;
  top: clamp(2.4rem, 2.0363636364rem + 0.9696969697vw, 3.2rem);
  left: clamp(2.4rem, 2.0363636364rem + 0.9696969697vw, 3.2rem);
}
.p_top .products .product__text .en {
  font-family: "Inter", sans-serif;
  color: #fff;
  font-size: clamp(4rem, 2.9090909091rem + 2.9090909091vw, 6.4rem);
  font-style: italic;
  font-weight: 700;
}
.p_top .products .product__text .jp {
  font-size: clamp(1.6rem, 1.4181818182rem + 0.4848484848vw, 2rem);
  color: #fff;
  font-weight: 700;
  display: block;
  margin-top: clamp(1.2rem, 0.8363636364rem + 0.9696969697vw, 2rem);
}
.p_top .products .product:hover img {
  transform: scale(1.05);
}
.p_top .products .product:hover .products_arrow .arrow {
  transform: translateX(5px);
}
.p_top .products .box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15.2777777778vw;
}
@media only screen and (min-width: 1440px) {
  .p_top .products .box {
    gap: 220px;
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 768px) {
  .p_top .products .box {
    flex-direction: column;
    gap: 32px;
  }
}
.p_top .products_arrow {
  position: absolute;
  bottom: 0;
  right: 0;
  width: clamp(6.4rem, 4.7636363636rem + 4.3636363636vw, 10rem);
  height: clamp(6.4rem, 4.7636363636rem + 4.3636363636vw, 10rem);
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(169, 169, 169, 0.2509803922);
  backdrop-filter: blur(25px) brightness(100%);
  -webkit-backdrop-filter: blur(25px) brightness(100%);
}
.p_top .products_arrow .arrow {
  color: #fff;
  font-size: clamp(2rem, 1.5454545455rem + 1.2121212121vw, 3rem);
  transition: all 0.5s;
}
.p_top .tips {
  background-image: url("../img/top/tips-bg.png");
  background-size: cover;
  padding-top: 8.3333333333vw;
  padding-bottom: 17.3611111111vw;
}
@media only screen and (min-width: 1440px) {
  .p_top .tips {
    padding-top: 12rem;
    padding-bottom: 25rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_top .tips {
    padding-top: 17.3333333333vw;
    padding-bottom: 45.3333333333vw;
  }
}
.p_top .tips .flex {
  display: flex;
  gap: 5.5555555556vw;
  justify-content: center;
}
@media only screen and (min-width: 1440px) {
  .p_top .tips .flex {
    gap: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_top .tips .flex {
    gap: 32vw;
    flex-direction: column;
  }
}
.p_top .tips .tips_box {
  width: 38.8888888889vw;
}
@media only screen and (min-width: 1440px) {
  .p_top .tips .tips_box {
    width: 56rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_top .tips .tips_box {
    width: 100%;
  }
}
.p_top .tips .tips_list {
  margin-top: clamp(4rem, 3.6363636364rem + 0.9696969697vw, 4.8rem);
}
.p_top .tips .tips_list .item {
  background-color: #fff;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 20px;
  padding-right: 20px;
  height: 153px;
  display: flex;
  align-items: center;
  transition: all 0.3s;
}
@media only screen and (max-width: 768px) {
  .p_top .tips .tips_list .item {
    height: auto;
  }
}
.p_top .tips .tips_list .item:not(:first-of-type) {
  margin-top: 8px;
}
.p_top .tips .tips_list .item:hover ._tips_list {
  text-decoration: underline;
}
.p_top .tips .tips_list .inner_flex {
  display: flex;
  gap: 15.5px;
}
@media only screen and (max-width: 768px) {
  .p_top .tips .tips_list .inner_flex {
    flex-direction: column;
  }
}
.p_top .tips .tips_list .inner_flex figure {
  width: 170px;
  aspect-ratio: 124/82;
}
@media only screen and (max-width: 768px) {
  .p_top .tips .tips_list .inner_flex figure {
    width: 100%;
  }
}
.p_top .tips .tips_list .inner_flex figure img {
  -o-object-fit: cover;
     object-fit: cover;
}
.p_top .tips .tips_list .details {
  flex: 1;
}
.p_top .tips .tips_list .top {
  display: flex;
  gap: 10px;
  align-items: center;
}
.p_top .tips .tips_list .data {
  font-size: clamp(1.3rem, 1.2545454545rem + 0.1212121212vw, 1.4rem);
  font-family: "Inter", sans-serif;
  font-weight: 600;
}
.p_top .tips .tips_list .tag {
  background-color: #16429D;
  padding: 3px 12px;
  font-size: clamp(1.3rem, 1.2545454545rem + 0.1212121212vw, 1.4rem);
  color: #fff;
  border-radius: 999px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p_top .links_area {
  position: relative;
  z-index: 0;
}
.p_top .links_area .swiper_box {
  width: 100%;
  position: absolute;
  top: 37rem;
  left: 0;
}
@media only screen and (max-width: 768px) {
  .p_top .links_area .swiper_box {
    top: 10%;
  }
}
.p_top .links_area .swiper-wrapper {
  transition-timing-function: linear;
}
.p_top .links_area .swiper-slide img {
  height: auto;
  width: 100%;
}
.p_top .links_area .links_bg {
  margin-top: -220px;
  padding-top: clamp(10rem, 0.9090909091rem + 24.2424242424vw, 30rem);
  padding-bottom: clamp(6.4rem, 3.8545454545rem + 6.7878787879vw, 12rem);
  background: #16429d;
  background: linear-gradient(90deg, rgb(22, 66, 157) 0%, rgb(16, 49, 118) 100%);
  -webkit-clip-path: polygon(0 28%, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 28%, 100% 0, 100% 100%, 0 100%);
}
@media only screen and (max-width: 768px) {
  .p_top .links_area .links_bg {
    margin-top: -110px;
    -webkit-clip-path: polygon(0 12%, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 12%, 100% 0, 100% 100%, 0 100%);
  }
}
.p_top .links_area .bg_shape {
  position: absolute;
  top: 80px;
  left: 0;
}
@media only screen and (max-width: 768px) {
  .p_top .links_area .bg_shape {
    top: 30px;
  }
}
.p_top .links_area .links_inner {
  margin-top: clamp(8rem, -3.8181818182rem + 31.5151515152vw, 34rem);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 768px) {
  .p_top .links_area .links_inner {
    flex-direction: column;
  }
}
.p_top .links_area .link_box {
  position: absolute;
  bottom: 40px;
  left: clamp(2rem, 1.0909090909rem + 2.4242424242vw, 4rem);
  width: 86.8%;
}
.p_top .links_area .link {
  position: relative;
  width: 50%;
  height: 31.4583333333vw;
  overflow: hidden;
}
@media only screen and (min-width: 1440px) {
  .p_top .links_area .link {
    height: 453px;
  }
}
@media only screen and (max-width: 768px) {
  .p_top .links_area .link {
    width: 100%;
    height: 69.3333333333vw;
  }
}
.p_top .links_area .link:hover::before {
  transform: scale(1.05);
}
.p_top .links_area .link:hover .circle .arrow {
  transform: translateX(5px);
}
.p_top .links_area .link::before {
  content: "";
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1);
  transition: transform 0.4s ease;
  z-index: 0;
}
.p_top .links_area .link a {
  display: block;
  width: 100%;
  height: 100%;
}
.p_top .links_area .link._01::before {
  background-image: url("../img/top/bn-company.png");
}
.p_top .links_area .link._02::before {
  background-image: url("../img/top/bn-recruit.png");
}
.p_top .links_area .link .title {
  color: #fff;
  font-size: 5vw;
  letter-spacing: 0.02em;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-style: italic;
}
@media only screen and (min-width: 1440px) {
  .p_top .links_area .link .title {
    font-size: 7.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_top .links_area .link .title {
    font-size: 12.8vw;
  }
}
.p_top .links_area .link .sub {
  font-size: 1.6666666667vw;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.03em;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: clamp(0.8rem, 0.6181818182rem + 0.4848484848vw, 1.2rem);
}
@media only screen and (min-width: 1440px) {
  .p_top .links_area .link .sub {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_top .links_area .link .sub {
    font-size: 5.3333333333vw;
  }
}
.p_top .links_area .link .sub span {
  color: #C40303;
  font-size: 16px;
}
.p_top .links_area .link .flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: clamp(1.7rem, 0.8363636364rem + 2.303030303vw, 3.6rem);
  gap: clamp(2.3rem, 1.6181818182rem + 1.8181818182vw, 3.8rem);
}
.p_top .links_area .link .circle {
  color: #fff;
  font-size: 20px;
  border: 1px solid #fff;
  width: clamp(4.8rem, 3.3454545455rem + 3.8787878788vw, 8rem);
  height: clamp(4.8rem, 3.3454545455rem + 3.8787878788vw, 8rem);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
.p_top .links_area .link .circle .arrow {
  transition: transform 0.3s;
}

.no-post {
  font-size: clamp(1.4rem, 1.3090909091rem + 0.2424242424vw, 1.6rem);
  font-weight: 500;
}

.p_products .products_contents {
  padding-top: 100px;
  padding-bottom: 100px;
}
.p_products .products_contents #film {
  scroll-margin-top: 180px;
}
@media only screen and (max-width: 768px) {
  .p_products .products_contents #film {
    scroll-margin-top: 0;
  }
}
.p_products .products_item {
  display: flex;
  gap: clamp(3.2rem, 1.0181818182rem + 5.8181818182vw, 8rem);
}
@media only screen and (max-width: 768px) {
  .p_products .products_item {
    flex-direction: column-reverse;
  }
}
.p_products .products_item:not(:first-of-type) {
  margin-top: 8.3333333333vw;
}
@media only screen and (min-width: 1440px) {
  .p_products .products_item:not(:first-of-type) {
    margin-top: 12rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_products .products_item:not(:first-of-type) {
    margin-top: 100px;
  }
}
.p_products .products_item .details {
  width: 36.4583333333vw;
}
@media only screen and (min-width: 1440px) {
  .p_products .products_item .details {
    width: 52.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_products .products_item .details {
    width: 100%;
  }
}
.p_products .products_item .details .sub {
  color: #C40303;
  font-size: 1.25vw;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
  font-family: "Inter", sans-serif;
  font-style: italic;
}
@media only screen and (min-width: 1440px) {
  .p_products .products_item .details .sub {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_products .products_item .details .sub {
    font-size: 4.2666666667vw;
  }
}
.p_products .products_item .details .title {
  font-size: 3.3333333333vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media only screen and (min-width: 1440px) {
  .p_products .products_item .details .title {
    font-size: 4.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_products .products_item .details .title {
    font-size: 8.5333333333vw;
  }
}
.p_products .products_item figure {
  width: 41.6666666667vw;
}
@media only screen and (min-width: 1440px) {
  .p_products .products_item figure {
    width: 60rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_products .products_item figure {
    width: 100%;
  }
}

.p_products_details .l_contents_details ._features .list {
  display: flex;
  gap: clamp(1.2rem, 1.0181818182rem + 0.4848484848vw, 1.6rem);
}
@media only screen and (max-width: 768px) {
  .p_products_details .l_contents_details ._features .list {
    flex-direction: column;
  }
}
.p_products_details .l_contents_details ._features .item {
  width: calc((100% - 16px) / 2);
  background-color: #fff;
  padding: 24px;
  height: auto;
}
@media only screen and (max-width: 768px) {
  .p_products_details .l_contents_details ._features .item {
    width: 100%;
    height: auto;
  }
}
.p_products_details .l_contents_details ._features .num {
  color: #16429D;
  font-size: clamp(1.4rem, 1.3090909091rem + 0.2424242424vw, 1.6rem);
  font-weight: 700;
  font-family: "Inter", sans-serif;
}
.p_products_details .l_contents_details ._features .title {
  font-size: 1.6666666667vw;
  margin-top: 8px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  height: auto;
}
@media only screen and (min-width: 1440px) {
  .p_products_details .l_contents_details ._features .title {
    font-size: 2.4rem;
    height: auto;
  }
}
@media only screen and (max-width: 768px) {
  .p_products_details .l_contents_details ._features .title {
    height: auto;
    font-size: 6.4vw;
  }
}
.p_products_details .l_contents_details ._example .list {
  gap: 8px;
}
.p_products_details .l_contents_details ._example .item {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #fff;
  padding: 8px 16px;
  font-size: 1.25vw;
}
@media only screen and (min-width: 1440px) {
  .p_products_details .l_contents_details ._example .item {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_products_details .l_contents_details ._example .item {
    font-size: 4.2666666667vw;
  }
}
.p_products_details .l_contents_details ._spec .table_box {
  width: 100%;
  margin-top: clamp(2.4rem, 2.0363636364rem + 0.9696969697vw, 3.2rem);
}
.p_products_details .l_contents_details ._spec .table_box table {
  width: 100%;
  border-collapse: collapse;
}
@media only screen and (max-width: 768px) {
  .p_products_details .l_contents_details ._spec .table_box .table01,
.p_products_details .l_contents_details ._spec .table_box .table01 tbody,
.p_products_details .l_contents_details ._spec .table_box .table01 tr,
.p_products_details .l_contents_details ._spec .table_box .table01 th,
.p_products_details .l_contents_details ._spec .table_box .table01 td {
    display: block;
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .p_products_details .l_contents_details ._spec .table_box .table01 td {
    text-align: center;
  }
}
@media only screen and (max-width: 768px) {
  .p_products_details .l_contents_details ._spec .table_box .table02 {
    width: 664px;
  }
}
.p_products_details .l_contents_details ._spec .table_box .table02_wrap {
  margin-top: clamp(2.4rem, 2.0363636364rem + 0.9696969697vw, 3.2rem);
  overflow-x: auto;
  white-space: nowrap;
  width: 100%;
}
.p_products_details .l_contents_details ._spec .table_box th {
  background-color: #16429D;
  color: #fff;
  font-size: 1.25vw;
  font-weight: 700;
  padding-top: clamp(0.8rem, 0.3227272727rem + 1.2727272727vw, 1.85rem);
  padding-bottom: clamp(0.8rem, 0.3227272727rem + 1.2727272727vw, 1.85rem);
  padding-left: 10px;
  padding-right: 10px;
  text-align: center;
  vertical-align: middle;
}
@media only screen and (min-width: 1440px) {
  .p_products_details .l_contents_details ._spec .table_box th {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_products_details .l_contents_details ._spec .table_box th {
    font-size: 4.2666666667vw;
  }
}
.p_products_details .l_contents_details ._spec .table_box td {
  background-color: #fff;
  font-size: 1.1111111111vw;
  font-weight: 500;
  padding-top: clamp(1.6rem, 1.4863636364rem + 0.303030303vw, 1.85rem);
  padding-bottom: clamp(1.6rem, 1.4863636364rem + 0.303030303vw, 1.85rem);
  padding-left: 40px;
  padding-right: 40px;
}
@media only screen and (min-width: 1440px) {
  .p_products_details .l_contents_details ._spec .table_box td {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_products_details .l_contents_details ._spec .table_box td {
    font-size: 4vw;
  }
}
.p_products_details .l_contents_details ._spec .table_box .head {
  background-color: #062C7B;
}
@media only screen and (max-width: 768px) {
  .p_products_details .l_contents_details ._spec .table_box .head {
    padding: 16px;
  }
}
.p_products_details .l_contents_details ._spec .table_box .head.top {
  width: 300px;
}
.p_products_details .l_contents_details ._spec .table_box th {
  width: 15.625vw;
}
@media only screen and (min-width: 1440px) {
  .p_products_details .l_contents_details ._spec .table_box th {
    width: 225px;
  }
}
@media only screen and (max-width: 768px) {
  .p_products_details .l_contents_details ._spec .table_box th {
    width: 100%;
  }
}
.p_products_details .l_contents_details ._spec .table_box th,
.p_products_details .l_contents_details ._spec .table_box td {
  border: 1px solid #f3f3f3;
  letter-spacing: 0.05em;
}
.p_products_details .l_contents_product._movie iframe {
  aspect-ratio: 16/9;
}
.p_products_details .l_contents_product._movie .movie_area {
  margin-top: clamp(2.4rem, 2.0363636364rem + 0.9696969697vw, 3.2rem);
}

.p_case ._case_details .company {
  font-size: clamp(1.5rem, 1.4545454545rem + 0.1212121212vw, 1.6rem);
  font-weight: 500;
  letter-spacing: 0.05em;
}
.p_case ._case_details .tag {
  margin-top: clamp(2.4rem, 2.0363636364rem + 0.9696969697vw, 3.2rem);
  display: flex;
  gap: 5px;
  align-items: center;
  flex-wrap: wrap;
}
.p_case ._case_details .tag .tag-item {
  font-size: 1.1111111111vw;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.05em;
  background-color: #16429D;
  border-radius: 999px;
  padding: 4px 16px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media only screen and (min-width: 1440px) {
  .p_case ._case_details .tag .tag-item {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_case ._case_details .tag .tag-item {
    font-size: 3.4666666667vw;
  }
}
.p_case ._case_details figure {
  max-width: 480px;
}
.p_case ._case_details figure img {
  width: 100%;
}
.p_case ._case_details .box {
  width: 45.5555555556vw;
}
@media only screen and (min-width: 1440px) {
  .p_case ._case_details .box {
    width: 65.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_case ._case_details .box {
    width: 100%;
  }
}
.p_case_contents {
  margin-top: clamp(8rem, 7.0909090909rem + 2.4242424242vw, 10rem);
  background-color: #fff;
  padding-top: clamp(4rem, 2.9090909091rem + 2.9090909091vw, 6.4rem);
  padding-bottom: clamp(4rem, 2.9090909091rem + 2.9090909091vw, 6.4rem);
  padding-left: clamp(2.4rem, -1.0545454545rem + 9.2121212121vw, 10rem);
  padding-right: clamp(2.4rem, -1.0545454545rem + 9.2121212121vw, 10rem);
}
.p_case_contents .item:not(:first-of-type) {
  margin-top: 100px;
}
.p_case_contents .item .flex {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-top: clamp(2.4rem, 2.0363636364rem + 0.9696969697vw, 3.2rem);
}
@media only screen and (max-width: 768px) {
  .p_case_contents .item .flex {
    flex-direction: column;
  }
}
.p_case_contents .item .flex figure {
  max-width: 360px;
}
.p_case_contents .item .flex .box {
  max-width: 600px;
}
.p_case_contents._company .title {
  font-size: 1.1111111111vw;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 1440px) {
  .p_case_contents._company .title {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_case_contents._company .title {
    font-size: 4vw;
  }
}
.p_case_contents._company .company_name {
  font-size: 1.9444444444vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-top: 20px;
}
@media only screen and (min-width: 1440px) {
  .p_case_contents._company .company_name {
    font-size: 2.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_case_contents._company .company_name {
    font-size: 5.3333333333vw;
  }
}
.p_case_contents._company dl {
  display: flex;
  gap: 5px;
  margin-top: clamp(4.8rem, 4.2545454545rem + 1.4545454545vw, 6rem);
}
.p_case_contents._company dl:not(:first-of-type) {
  margin-top: 24px;
}
@media only screen and (max-width: 768px) {
  .p_case_contents._company dl {
    flex-direction: column;
    gap: 16px;
  }
}
.p_case_contents._company dl dt {
  font-size: clamp(1.5rem, 1.4545454545rem + 0.1212121212vw, 1.6rem);
  font-weight: 700;
  border-bottom: 2px solid #16429D;
  padding-bottom: clamp(1.6rem, 1.2363636364rem + 0.9696969697vw, 2.4rem);
  width: 160px;
}
@media only screen and (max-width: 768px) {
  .p_case_contents._company dl dt {
    width: 100%;
  }
}
.p_case_contents._company dl dd {
  font-size: clamp(1.5rem, 1.4545454545rem + 0.1212121212vw, 1.6rem);
  font-weight: 500;
  border-bottom: 2px solid rgba(22, 66, 157, 0.5);
  padding-bottom: clamp(1.6rem, 1.2363636364rem + 0.9696969697vw, 2.4rem);
  flex: 1;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  .p_case_contents._company dl dd {
    border-bottom: none;
    width: 100%;
  }
}
.p_case_contents._company dl dt,
.p_case_contents._company dl dd {
  display: flex;
  align-items: center;
}

.is-link {
  color: #a7a7a7;
}

.p_strength {
  background-image: linear-gradient(90deg, rgb(22, 66, 157) 0%, rgb(16, 49, 118) 100%);
}
.p_strength .strength_sec {
  padding-top: 13.8888888889vw;
  padding-bottom: 100px;
}
@media only screen and (min-width: 1440px) {
  .p_strength .strength_sec {
    padding-top: 20rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec {
    padding-top: 100px;
  }
}
.p_strength .strength_sec .catch_area {
  color: #fff;
  margin-top: clamp(4rem, 3.2727272727rem + 1.9393939394vw, 5.6rem);
}
.p_strength .strength_sec .catch_area .group {
  display: flex;
  align-items: flex-end;
  gap: 4px;
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec .catch_area .group {
    flex-direction: column;
    align-items: flex-start;
  }
}
.p_strength .strength_sec .catch_area .group .line {
  display: flex;
  gap: 5px;
  align-items: flex-end;
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec .catch_area .group .line {
    align-items: flex-end;
    margin-top: 12px;
    gap: 1px;
  }
}
.p_strength .strength_sec .catch_area .group._02 {
  margin-top: 15px;
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec .catch_area .group._02 {
    margin-top: 0;
  }
}
.p_strength .strength_sec .catch_area .group .serif {
  font-family: "Noto Serif JP", serif;
  font-size: 5.5555555556vw;
  font-weight: bold;
  border: 1px solid #fff;
  padding: 5px;
  color: #fff;
  line-height: 1;
}
@media only screen and (min-width: 1440px) {
  .p_strength .strength_sec .catch_area .group .serif {
    font-size: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec .catch_area .group .serif {
    font-size: 10.6666666667vw;
    letter-spacing: -0.08em;
  }
}
.p_strength .strength_sec .catch_area .group .sans {
  font-size: 3.6111111111vw;
  font-weight: 700;
  color: #fff;
}
@media only screen and (min-width: 1440px) {
  .p_strength .strength_sec .catch_area .group .sans {
    font-size: 5.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec .catch_area .group .sans {
    font-size: 8.5333333333vw;
  }
}
.p_strength .strength_sec._service .service_img {
  margin-top: clamp(4rem, 3.2727272727rem + 1.9393939394vw, 5.6rem);
}
.p_strength .strength_sec._service .service_flex {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-top: clamp(4rem, 3.2727272727rem + 1.9393939394vw, 5.6rem);
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._service .service_flex {
    flex-direction: column;
  }
}
.p_strength .strength_sec._service .service_flex li {
  width: calc((100% - 16px) / 2);
  background-image: url("../img/strength/service-bg.png");
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: clamp(2.2rem, 1.7454545455rem + 1.2121212121vw, 3.2rem);
  padding-bottom: clamp(2.2rem, 1.7454545455rem + 1.2121212121vw, 3.2rem);
  padding-left: clamp(2rem, 1.4545454545rem + 1.4545454545vw, 3.2rem);
  padding-right: clamp(2rem, 1.4545454545rem + 1.4545454545vw, 3.2rem);
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._service .service_flex li {
    width: 100%;
  }
}
.p_strength .strength_sec._service .service_flex .title_area {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._service .service_flex .title_area {
    align-items: flex-start;
  }
}
.p_strength .strength_sec._service .service_flex .title_area .num {
  font-family: "Inter", sans-serif;
  color: rgba(255, 255, 255, 0.2);
  font-size: clamp(3.2rem, 2.4727272727rem + 1.9393939394vw, 4.8rem);
  font-style: italic;
  font-weight: 700;
  line-height: 1;
}
.p_strength .strength_sec._strength {
  padding-bottom: 6.5972222222vw;
  position: relative;
  background: linear-gradient(90deg, rgb(29, 23, 34) 0%, rgb(24, 5, 3) 100%);
  z-index: 0;
}
@media only screen and (min-width: 1440px) {
  .p_strength .strength_sec._strength {
    padding-bottom: 9.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._strength {
    padding-bottom: 14.1333333333vw;
  }
}
.p_strength .strength_sec._strength .strength_bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.p_strength .strength_sec._strength .contents {
  display: flex;
  align-items: center;
  gap: 56px;
  margin-top: clamp(3rem, 1.8181818182rem + 3.1515151515vw, 5.6rem);
}
.p_strength .strength_sec._strength .contents figure {
  width: 53.6805555556vw;
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._strength .contents figure {
    width: 100%;
  }
}
.p_strength .strength_sec._strength .contents .details {
  width: 35.4166666667vw;
}
@media only screen and (min-width: 1440px) {
  .p_strength .strength_sec._strength .contents .details {
    width: 51rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._strength .contents .details {
    width: 100%;
  }
}
.p_strength .strength_sec._strength .contents .details .title {
  position: relative;
  z-index: 0;
  color: #fff;
  font-size: 3.4722222222vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media only screen and (min-width: 1440px) {
  .p_strength .strength_sec._strength .contents .details .title {
    font-size: 5rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._strength .contents .details .title {
    font-size: 8vw;
  }
}
.p_strength .strength_sec._strength .contents .details .title span {
  font-family: "Noto Serif JP", serif;
  font-size: 8.3333333333vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: rgba(255, 255, 255, 0.2);
  position: absolute;
  top: -110px;
  left: -15px;
}
@media only screen and (min-width: 1440px) {
  .p_strength .strength_sec._strength .contents .details .title span {
    font-size: 12rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._strength .contents .details .title span {
    font-size: 21.3333333333vw;
    top: -54px;
  }
}
.p_strength .strength_sec._strength .contents._odd {
  margin-left: calc(50% - 50vw);
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._strength .contents._odd {
    flex-direction: column;
  }
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._strength .contents._odd .details {
    padding-left: 6.3613231552vw;
  }
}
.p_strength .strength_sec._strength .contents._even {
  margin-right: calc(50% - 50vw);
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._strength .contents._even .details {
    padding-right: 6.3613231552vw;
  }
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._strength .contents._even {
    flex-direction: column-reverse;
  }
}
.p_strength .strength_sec._flow {
  background: linear-gradient(90deg, rgb(29, 23, 34) 0%, rgb(24, 5, 3) 100%);
  padding-top: 0;
  padding-bottom: 0;
}
.p_strength .strength_sec._flow .flow_bg {
  position: relative;
  z-index: 0;
  padding-top: 0;
  margin-top: -293px;
  padding-top: clamp(18rem, 10.7272727273rem + 19.3939393939vw, 34rem);
  padding-bottom: clamp(6.4rem, 3.8545454545rem + 6.7878787879vw, 12rem);
  background: #16429d;
  background: linear-gradient(90deg, rgb(22, 66, 157) 0%, rgb(16, 49, 118) 100%);
  -webkit-clip-path: polygon(0 10%, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 10%, 100% 0, 100% 100%, 0 100%);
}
@media only screen and (min-width: 1440px) {
  .p_strength .strength_sec._flow .flow_bg {
    -webkit-clip-path: polygon(0 12%, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 12%, 100% 0, 100% 100%, 0 100%);
  }
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._flow .flow_bg {
    margin-top: -110px;
    -webkit-clip-path: polygon(0 4%, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 4%, 100% 0, 100% 100%, 0 100%);
  }
}
.p_strength .strength_sec._flow .flow_contents {
  display: flex;
  position: relative;
  padding-left: 60px;
  color: #fff;
  margin-top: clamp(4rem, 3.2727272727rem + 1.9393939394vw, 5.6rem);
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._flow .flow_contents {
    padding-left: 45px;
  }
}
.p_strength .strength_sec._flow .timeline {
  position: absolute;
  left: 20px;
  top: 45px;
  bottom: 0;
  width: 2px;
  height: 86%;
  background: rgba(255, 255, 255, 0.2);
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._flow .timeline {
    left: 6px;
  }
}
.p_strength .strength_sec._flow .timeline .line {
  position: absolute;
  top: 15px;
  left: 0;
  width: 2px;
  height: 0;
  background: repeating-linear-gradient(to bottom, #fff 0px, #fff 6px, transparent 6px, transparent 12px);
  transition: height 0.8s ease;
}
.p_strength .strength_sec._flow .steps {
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._flow .steps {
    margin-top: 25px;
  }
}
.p_strength .strength_sec._flow .step {
  position: relative;
  padding-bottom: 40px;
  margin-bottom: 40px;
  border-bottom: 1px solid #fff;
  opacity: 0;
  transform: translateY(40px);
  transition: 0.8s ease;
}
.p_strength .strength_sec._flow .num-flex {
  display: flex;
  align-items: center;
  gap: 2.7777777778vw;
}
@media only screen and (min-width: 1440px) {
  .p_strength .strength_sec._flow .num-flex {
    gap: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._flow .num-flex {
    align-items: flex-start;
  }
}
.p_strength .strength_sec._flow .num-flex h3 {
  font-size: 3.6111111111vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 1440px) {
  .p_strength .strength_sec._flow .num-flex h3 {
    font-size: 5.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._flow .num-flex h3 {
    font-size: 6.4vw;
  }
}
.p_strength .strength_sec._flow .step-num {
  font-size: 1.9444444444vw;
  text-align: center;
}
@media only screen and (min-width: 1440px) {
  .p_strength .strength_sec._flow .step-num {
    font-size: 2.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._flow .step-num {
    font-size: 3.4666666667vw;
    margin-top: -6px;
  }
}
.p_strength .strength_sec._flow .step-num span {
  font-size: 3.75vw;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  display: block;
}
@media only screen and (min-width: 1440px) {
  .p_strength .strength_sec._flow .step-num span {
    font-size: 5.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._flow .step-num span {
    font-size: 5.8666666667vw;
  }
}
.p_strength .strength_sec._flow .step.is-active {
  opacity: 1;
  transform: translateY(0);
}
.p_strength .strength_sec._flow .dot {
  position: absolute;
  left: -44px;
  top: 45px;
  width: 10px;
  height: 10px;
  background: #C40303;
  border-radius: 50%;
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._flow .dot {
    top: 16px;
  }
}
.p_strength .strength_sec._flow .step.is-active .dot {
  background: #fff;
  box-shadow: 0 0 0 6px rgb(255, 0, 0);
  transition: 0.5s;
}
.p_strength .strength_sec._support .strength_support_flex {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 3.8888888889vw;
}
@media only screen and (min-width: 1440px) {
  .p_strength .strength_sec._support .strength_support_flex {
    margin-top: 5.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._support .strength_support_flex {
    flex-direction: column;
    margin-top: 14.9333333333vw;
  }
}
.p_strength .strength_sec._support .strength_support_flex li {
  width: calc((100% - 16px) / 2);
  background-image: url("../img/strength/service-bg.png");
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: clamp(2.2rem, 1.7454545455rem + 1.2121212121vw, 3.2rem);
  padding-bottom: clamp(2.2rem, 1.7454545455rem + 1.2121212121vw, 3.2rem);
  padding-left: clamp(2rem, 1.4545454545rem + 1.4545454545vw, 3.2rem);
  padding-right: clamp(2rem, 1.4545454545rem + 1.4545454545vw, 3.2rem);
  height: 18.75vw;
}
@media only screen and (min-width: 1440px) {
  .p_strength .strength_sec._support .strength_support_flex li {
    height: 27rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_strength .strength_sec._support .strength_support_flex li {
    width: 100%;
    height: auto;
  }
}

.p_company_list {
  background-image: linear-gradient(90deg, rgb(22, 66, 157) 0%, rgb(16, 49, 118) 100%);
}
.p_company_list .contents {
  margin-top: clamp(8rem, 7.0909090909rem + 2.4242424242vw, 10rem);
}
.p_company_list .contents_list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  padding-bottom: 100px;
}
@media only screen and (max-width: 768px) {
  .p_company_list .contents_list {
    flex-direction: column;
    gap: 48px;
  }
}
.p_company_list .contents_list li {
  width: calc((100% - 80px) / 3);
}
@media only screen and (max-width: 768px) {
  .p_company_list .contents_list li {
    width: 100%;
  }
}
.p_company_list .contents_list li a:hover .circle {
  background-color: #C40303;
  color: #fff;
}
.p_company_list .contents_list li .title {
  color: #fff;
  font-size: clamp(2rem, 1.8181818182rem + 0.4848484848vw, 2.4rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 12px;
}
@media only screen and (max-width: 768px) {
  .p_company_list .contents_list li .title {
    justify-content: space-between;
  }
}
.p_company_list .contents_list li .title .circle {
  color: #16429D;
  background-color: #fff;
  border-radius: 50%;
  width: clamp(2.4rem, 2.0363636364rem + 0.9696969697vw, 3.2rem);
  height: clamp(2.4rem, 2.0363636364rem + 0.9696969697vw, 3.2rem);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transition: all 0.4s;
}

.p_company_about {
  background-image: linear-gradient(90deg, rgb(22, 66, 157) 0%, rgb(16, 49, 118) 100%);
}
.p_company_about .about_sec {
  padding-top: 6.9444444444vw;
  padding-bottom: 6.9444444444vw;
}
@media only screen and (min-width: 1440px) {
  .p_company_about .about_sec {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_company_about .about_sec {
    padding-top: 13.3333333333vw;
    padding-bottom: 13.3333333333vw;
  }
}
.p_company_about ._philosophy figure {
  margin-top: 3.8888888889vw;
}
@media only screen and (min-width: 1440px) {
  .p_company_about ._philosophy figure {
    margin-top: 5.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_company_about ._philosophy figure {
    margin-top: 8.5333333333vw;
  }
}
.p_company_about ._greeting .greeting_flex {
  display: flex;
  gap: clamp(2.4rem, 0.9454545455rem + 3.8787878788vw, 5.6rem);
  margin-top: clamp(4rem, 3.2727272727rem + 1.9393939394vw, 5.6rem);
}
@media only screen and (max-width: 768px) {
  .p_company_about ._greeting .greeting_flex {
    flex-direction: column;
  }
}
.p_company_about ._greeting .greeting_flex figure {
  width: 22.7083333333vw;
}
@media only screen and (min-width: 1440px) {
  .p_company_about ._greeting .greeting_flex figure {
    width: 327px;
  }
}
@media only screen and (max-width: 768px) {
  .p_company_about ._greeting .greeting_flex figure {
    width: 100%;
  }
}
.p_company_about ._greeting .greeting_flex .details {
  width: 56.7361111111vw;
}
@media only screen and (min-width: 1440px) {
  .p_company_about ._greeting .greeting_flex .details {
    width: 817px;
  }
}
@media only screen and (max-width: 768px) {
  .p_company_about ._greeting .greeting_flex .details {
    width: 100%;
  }
}
.p_company_about ._greeting .greeting_flex .details .catch {
  color: #fff;
  font-size: 3.6111111111vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 1440px) {
  .p_company_about ._greeting .greeting_flex .details .catch {
    font-size: 5.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_company_about ._greeting .greeting_flex .details .catch {
    font-size: 8.5333333333vw;
  }
}
.p_company_about ._greeting .greeting_flex .name_area {
  margin-top: clamp(2.4rem, 1.6727272727rem + 1.9393939394vw, 4rem);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: 0;
  margin-left: auto;
}
@media only screen and (max-width: 768px) {
  .p_company_about ._greeting .greeting_flex .name_area {
    width: 255px;
  }
}
.p_company_about ._greeting .greeting_flex .company_name {
  color: #fff;
  font-size: 1.3888888889vw;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media only screen and (min-width: 1440px) {
  .p_company_about ._greeting .greeting_flex .company_name {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_company_about ._greeting .greeting_flex .company_name {
    font-size: 4.8vw;
  }
}
.p_company_about ._overview .contents {
  margin-top: 5.5555555556vw;
}
@media only screen and (min-width: 1440px) {
  .p_company_about ._overview .contents {
    margin-top: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_company_about ._overview .contents {
    margin-top: 17.0666666667vw;
  }
}
.p_company_about ._overview .contents .contents_dl {
  display: flex;
  gap: 8px;
  padding-bottom: 24px;
}
@media only screen and (max-width: 768px) {
  .p_company_about ._overview .contents .contents_dl {
    flex-direction: column;
    gap: 12px;
  }
}
.p_company_about ._overview .contents .contents_dl dt,
.p_company_about ._overview .contents .contents_dl dd {
  color: #fff;
  font-size: clamp(1.5rem, 1.4545454545rem + 0.1212121212vw, 1.6rem);
  line-height: 1.8;
}
.p_company_about ._overview .contents .contents_dl .dd {
  padding-bottom: 0;
}
.p_company_about ._overview .contents .contents_dl dt {
  font-weight: 700;
  width: 160px;
  border-bottom: 2px solid #fff;
  padding-bottom: 24px;
}
@media only screen and (max-width: 768px) {
  .p_company_about ._overview .contents .contents_dl dt {
    width: 100%;
    padding-bottom: 12px;
  }
}
.p_company_about ._overview .contents .contents_dl dd {
  font-weight: 500;
  flex: 1;
  border-bottom: 2px solid rgba(255, 255, 255, 0.5);
}
@media only screen and (max-width: 768px) {
  .p_company_about ._overview .contents .contents_dl dd {
    border-bottom: none;
  }
}
.p_company_about ._overview .contents .contents_dl dd:last-child {
  padding-bottom: 24px;
}
.p_company_about ._overview .contents .contents_dl li:not(:first-of-type) {
  margin-top: 10px;
}
.p_company_about ._overview .contents .inner_dl:not(:first-of-type) {
  margin-top: 40px;
}
.p_company_about ._overview .contents .inner_dl dt,
.p_company_about ._overview .contents .inner_dl dd {
  border-bottom: none;
}
.p_company_about ._overview .contents .inner_dl dt {
  padding-bottom: 12px;
}
.p_company_about ._overview .contents .inner_dl dd {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media only screen and (max-width: 768px) {
  .p_company_about ._overview .contents .inner_dl dd {
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.8;
    gap: 0;
    padding-bottom: 10px;
  }
}
.p_company_about ._overview .contents .inner_dl dd .icon_map {
  width: 20px;
}
.p_company_about ._overview .contents .inner_dl dd a {
  font-family: "Inter", sans-serif;
  border-bottom: 1px solid;
}
@media only screen and (max-width: 768px) {
  .p_company_about ._overview .contents .inner_dl dd a {
    margin-top: 8px;
    font-size: 12px;
    margin-bottom: 18px;
  }
}
.p_company_about ._overview .contents .inner_dl dd a img {
  margin-left: 5px;
}
.p_company_about ._partner ._partner_list {
  margin-top: clamp(2.4rem, 0.9454545455rem + 3.8787878788vw, 5.6rem);
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .p_company_about ._partner ._partner_list {
    gap: 16px;
  }
}
.p_company_about ._partner ._partner_list li {
  width: calc((100% - 120px) / 5);
  transition: all 0.3s;
}
@media only screen and (max-width: 768px) {
  .p_company_about ._partner ._partner_list li {
    width: calc((100% - 16px) / 2);
  }
}
.p_company_about ._partner ._partner_list li:hover {
  opacity: 0.7;
}

.p_company_access {
  background-image: linear-gradient(90deg, rgb(22, 66, 157) 0%, rgb(16, 49, 118) 100%);
}
.p_company_access .access_sec {
  padding-top: clamp(5rem, 2.7272727273rem + 6.0606060606vw, 10rem);
  padding-bottom: clamp(5rem, 2.7272727273rem + 6.0606060606vw, 10rem);
  border-bottom: 1px solid #fff;
}
.p_company_access .title_wrap {
  display: flex;
  align-items: flex-end;
  gap: clamp(1.6rem, -0.5818181818rem + 5.8181818182vw, 6.4rem);
}
@media only screen and (max-width: 768px) {
  .p_company_access .title_wrap {
    flex-direction: column;
    align-items: flex-start;
  }
}
.p_company_access .add_text {
  color: #fff;
  font-size: 1.1111111111vw;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-bottom: 14px;
}
@media only screen and (min-width: 1440px) {
  .p_company_access .add_text {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_company_access .add_text {
    margin-bottom: 0;
    font-size: 4.2666666667vw;
  }
}
.p_company_access .map {
  margin-top: clamp(2.4rem, 2.0363636364rem + 0.9696969697vw, 3.2rem);
}
.p_company_access .map iframe {
  aspect-ratio: 1200/480;
}
@media only screen and (max-width: 768px) {
  .p_company_access .map iframe {
    aspect-ratio: 327/280;
  }
}
.p_company_access .way_flex {
  display: flex;
  gap: clamp(4rem, 2.9090909091rem + 2.9090909091vw, 6.4rem);
  justify-content: center;
  margin-top: clamp(2.4rem, 2.0363636364rem + 0.9696969697vw, 3.2rem);
}
@media only screen and (max-width: 768px) {
  .p_company_access .way_flex {
    flex-direction: column;
  }
}
.p_company_access .way_item {
  width: calc((100% - 64px) / 2);
}
@media only screen and (max-width: 768px) {
  .p_company_access .way_item {
    width: 100%;
  }
}
.p_company_access .way_item .way_title {
  color: #fff;
  font-size: 1.6666666667vw;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 1440px) {
  .p_company_access .way_item .way_title {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_company_access .way_item .way_title {
    font-size: 6.4vw;
  }
}
.p_company_access .way_item .way_title span {
  color: #C40303;
  font-size: 80%;
  margin-right: 10px;
}
.p_company_access .way_item .way_list {
  margin-top: clamp(1.6rem, 1.2363636364rem + 0.9696969697vw, 2.4rem);
}
.p_company_access .way_item .way_list li {
  color: #fff;
  font-size: 1.1111111111vw;
  line-height: 2;
  letter-spacing: 0.05em;
  display: flex;
}
@media only screen and (min-width: 1440px) {
  .p_company_access .way_item .way_list li {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_company_access .way_item .way_list li {
    font-size: 4vw;
  }
}
.p_company_access .way_item .way_list li:not(:first-of-type) {
  margin-top: 16px;
}
.p_company_access .way_item .way_list li::before {
  content: "・";
}

.p_company_history {
  background-image: linear-gradient(90deg, rgb(22, 66, 157) 0%, rgb(16, 49, 118) 100%);
}
.p_company_history .history {
  position: relative;
  margin: 120px 0;
}
.p_company_history .timeline {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 100%;
  background: rgba(255, 255, 255, 0.2);
}
@media only screen and (max-width: 768px) {
  .p_company_history .timeline {
    left: 0;
    width: 2px;
  }
}
.p_company_history .timeline .line {
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 0;
  background: red;
  transition: height 0.6s ease;
}
@media only screen and (max-width: 768px) {
  .p_company_history .timeline .line {
    width: 3px;
  }
}
.p_company_history .history-item {
  position: relative;
  width: 50%;
  opacity: 0;
  transform: translateY(40px);
  transition: 0.6s ease;
  top: -165px;
}
@media only screen and (max-width: 768px) {
  .p_company_history .history-item {
    width: 100%;
    top: -55px;
  }
}
.p_company_history .history-item:first-of-type {
  top: -103px;
}
@media only screen and (max-width: 768px) {
  .p_company_history .history-item:first-of-type {
    top: -55px;
  }
}
.p_company_history .history-item._1948 {
  margin-top: -50px;
}
@media only screen and (max-width: 768px) {
  .p_company_history .history-item._1948 {
    margin-top: 0;
  }
}
.p_company_history .history-item._1958 {
  margin-top: -60px;
}
@media only screen and (max-width: 768px) {
  .p_company_history .history-item._1958 {
    margin-top: 0;
  }
}
.p_company_history .history-item._1959 {
  margin-top: -130px;
}
@media only screen and (max-width: 768px) {
  .p_company_history .history-item._1959 {
    margin-top: 0;
  }
}
.p_company_history .history-item._1964 {
  margin-top: -220px;
}
@media only screen and (max-width: 768px) {
  .p_company_history .history-item._1964 {
    margin-top: 0;
  }
}
.p_company_history .history-item._1967 {
  margin-top: -100px;
}
@media only screen and (max-width: 768px) {
  .p_company_history .history-item._1967 {
    margin-top: 0;
  }
}
.p_company_history .history-item._2001 {
  margin-top: -50px;
}
@media only screen and (max-width: 768px) {
  .p_company_history .history-item._2001 {
    margin-top: 0;
  }
}
.p_company_history .history-item._2004 {
  margin-top: -117px;
}
@media only screen and (max-width: 768px) {
  .p_company_history .history-item._2004 {
    margin-top: 0;
  }
}
.p_company_history .history-item._2006 {
  margin-top: -100px;
}
@media only screen and (max-width: 768px) {
  .p_company_history .history-item._2006 {
    margin-top: 0;
  }
}
.p_company_history .history-item._2019 {
  margin-top: 60px;
}
@media only screen and (max-width: 768px) {
  .p_company_history .history-item._2019 {
    margin-top: 0;
  }
}
.p_company_history .history-item._2022 {
  margin-top: -100px;
}
@media only screen and (max-width: 768px) {
  .p_company_history .history-item._2022 {
    margin-top: 0;
  }
}
.p_company_history .history-item .content {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p_company_history .history-item .content {
    margin-bottom: 50px;
  }
}
.p_company_history .history-item .content .year {
  position: relative;
  color: #fff;
  font-size: 5.5555555556vw;
  font-family: "Inter", sans-serif;
  font-style: italic;
  letter-spacing: 0.03em;
  font-weight: 700;
  margin-bottom: 40px;
}
@media only screen and (min-width: 1440px) {
  .p_company_history .history-item .content .year {
    font-size: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_company_history .history-item .content .year {
    font-size: 10.6666666667vw;
  }
}
.p_company_history .history-item .content .year::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -20px;
  width: 100%;
  height: 1px;
  background: repeating-linear-gradient(to right, #fff 0px, #fff 2px, transparent 2px, transparent 6px);
}
.p_company_history .history-item .content .month {
  color: #fff;
  font-size: 1.6666666667vw;
  font-weight: 700;
  font-family: "Inter", sans-serif;
  line-height: 1.8;
}
@media only screen and (min-width: 1440px) {
  .p_company_history .history-item .content .month {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_company_history .history-item .content .month {
    font-size: 5.3333333333vw;
  }
}
.p_company_history .history-item .content .flex {
  display: flex;
  gap: 24px;
}
@media only screen and (max-width: 768px) {
  .p_company_history .history-item .content .flex {
    flex-direction: column;
  }
}
.p_company_history .history-item .content .flex._02 {
  margin-top: 50px;
}
.p_company_history .history-item .content .flex .box {
  flex: 1;
}
.p_company_history .history-item .content .flex figure {
  width: 16.6666666667vw;
}
@media only screen and (min-width: 1440px) {
  .p_company_history .history-item .content .flex figure {
    width: 24rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_company_history .history-item .content .flex figure {
    width: 100%;
  }
}
.p_company_history .history-item.is-active {
  opacity: 1;
  transform: translateY(0);
}
.p_company_history .history-item.left {
  margin-right: 50%;
  text-align: right;
  padding: 0 60px 0 0;
}
@media only screen and (max-width: 768px) {
  .p_company_history .history-item.left {
    margin-right: 0;
    padding: 0 0 0 20px;
  }
}
.p_company_history .history-item.left .year {
  text-align: right;
}
@media only screen and (max-width: 768px) {
  .p_company_history .history-item.left .year {
    text-align: left;
  }
}
.p_company_history .history-item.left .dot {
  right: -67px;
  left: auto;
}
@media only screen and (max-width: 768px) {
  .p_company_history .history-item.left .dot {
    right: auto;
    left: -24px;
  }
}
.p_company_history .history-item.right {
  margin-left: 50%;
  text-align: left;
  padding: 0 0 0 60px;
}
@media only screen and (max-width: 768px) {
  .p_company_history .history-item.right {
    margin-left: 0;
    padding: 0 0 0 30px;
  }
}
.p_company_history .dot {
  position: absolute;
  top: 120%;
  left: -65px;
  transform: translateY(-50%);
  width: 13px;
  height: 13px;
  background: #fff;
  box-shadow: 0 0 0 8px rgb(255, 0, 0);
  border-radius: 50%;
}
@media only screen and (max-width: 768px) {
  .p_company_history .dot {
    left: -34px;
    width: 8px;
    height: 8px;
    box-shadow: 0 0 0 5px rgb(255, 0, 0);
  }
}

@media only screen and (max-width: 768px) {
  .p_news .news-category {
    display: flex;
    gap: 30px;
  }
}
.p_news .news_wrap {
  margin-top: clamp(5rem, 2.7272727273rem + 6.0606060606vw, 10rem);
  margin-bottom: clamp(5rem, 2.7272727273rem + 6.0606060606vw, 10rem);
}
.p_news .news_wrap .news_list li {
  background-color: #fff;
}
.p_news .news_wrap .news_list li:not(:first-of-type) {
  margin-top: clamp(0.8rem, 0.4363636364rem + 0.9696969697vw, 1.6rem);
}
.p_news .news_wrap .news_list li a {
  display: block;
  padding: clamp(2rem, 1.0909090909rem + 2.4242424242vw, 4rem);
  transition: all 0.3s;
}
.p_news .news_wrap .news_list li a:hover .c_text_16._news {
  text-decoration: underline;
}
.p_news .news_wrap .news_list li .top {
  display: flex;
  gap: 16px;
  align-items: center;
}
.p_news .news_wrap .news_list li .time {
  font-size: clamp(1.3rem, 1.2545454545rem + 0.1212121212vw, 1.4rem);
  font-weight: 600;
  line-height: 1.5;
  font-family: "Inter", sans-serif;
}
.p_news .news_wrap .news_list li .cat {
  background-color: #16429D;
  color: #fff;
  font-size: clamp(1.3rem, 1.2545454545rem + 0.1212121212vw, 1.4rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 999px;
  padding: 3px 10px;
}
@media only screen and (max-width: 768px) {
  .p_news .news-category li a {
    padding: 0;
    margin: 0;
  }
}
.p_news_details .top_flex {
  display: flex;
  gap: 12px;
  align-items: center;
}
.p_news_details .top_flex .date {
  font-size: clamp(1.6rem, 1.6454545455rem - 0.1212121212vw, 1.5rem);
  font-weight: 600;
  font-family: "Inter", sans-serif;
  line-height: 1.5;
}
.p_news_details .top_flex .cat {
  color: #fff;
  background-color: #16429D;
  border-radius: 999px;
  font-size: clamp(1.3rem, 1.2545454545rem + 0.1212121212vw, 1.4rem);
  font-weight: 500;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 4px 16px;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.p_news_body {
  background-color: #fff;
  margin-top: clamp(8rem, 7.0909090909rem + 2.4242424242vw, 10rem);
  margin-bottom: 48px;
  background-color: #fff;
  padding-top: clamp(0rem, -2.9090909091rem + 7.7575757576vw, 6.4rem);
  padding-bottom: clamp(4rem, 2.9090909091rem + 2.9090909091vw, 6.4rem);
  padding-left: clamp(2.4rem, -1.0545454545rem + 9.2121212121vw, 10rem);
  padding-right: clamp(2.4rem, -1.0545454545rem + 9.2121212121vw, 10rem);
}

.pagination {
  margin-top: 50px;
}
.pagination ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.pagination ul li a {
  background-color: #fff;
  width: 40px;
  height: 40px;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-family: "Inter", sans-serif;
}
.pagination ul li.is-active a {
  background-color: #333;
  color: #fff;
}
.pagination ul li.prev {
  margin-right: 10px;
}
.pagination ul li.prev a {
  width: 73px;
  border-radius: 999px;
}
.pagination ul li.next {
  margin-left: 10px;
}
.pagination ul li.next a {
  width: 73px;
  border-radius: 999px;
}

.p_news_body a {
  color: #16429D;
  text-decoration: underline;
  font-weight: 500;
}

.p_news_body figure {
  margin-top: 20px;
  margin-bottom: 20px;
}

.post_text {
  font-size: 1.1111111111vw;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: 24px;
}
@media only screen and (min-width: 1440px) {
  .post_text {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .post_text {
    font-size: 4vw;
    line-height: 1.8;
    margin-top: 0;
    padding-top: 24px;
  }
}

.post_h2 {
  font-size: 2.7777777778vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: 24px;
}
@media only screen and (min-width: 1440px) {
  .post_h2 {
    font-size: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .post_h2 {
    font-size: 7.4666666667vw;
  }
}

.post_h3 {
  font-size: 1.9444444444vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: 24px;
  background-color: #333;
  color: #fff;
  padding: 12px;
}
@media only screen and (min-width: 1440px) {
  .post_h3 {
    font-size: 2.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .post_h3 {
    font-size: 6.4vw;
    padding: 4px 8px;
  }
}

.post_h4 {
  font-size: 1.6666666667vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: 24px;
  border-left: 2px solid #C40303;
  padding: 4px 16px;
}
@media only screen and (min-width: 1440px) {
  .post_h4 {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .post_h4 {
    font-size: 5.3333333333vw;
  }
}

.post_h5 {
  font-size: 1.3888888889vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: 24px;
}
@media only screen and (min-width: 1440px) {
  .post_h5 {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .post_h5 {
    font-size: 4.8vw;
  }
}

.post_list {
  font-size: 1.1111111111vw;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: 24px;
  list-style: disc;
  padding-left: 1em;
}
@media only screen and (min-width: 1440px) {
  .post_list {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .post_list {
    font-size: 4vw;
    line-height: 1.8;
  }
}

.post_list_number {
  font-size: 1.1111111111vw;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: 24px;
  list-style: decimal;
  padding-left: 1em;
}
@media only screen and (min-width: 1440px) {
  .post_list_number {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .post_list_number {
    font-size: 4vw;
    line-height: 1.8;
  }
}

.p_column .l_contents_wrap.news_wrap {
  margin-top: 6.9444444444vw;
  padding-bottom: 6.9444444444vw;
}
@media only screen and (min-width: 1440px) {
  .p_column .l_contents_wrap.news_wrap {
    margin-top: 10rem;
    padding-bottom: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_column .l_contents_wrap.news_wrap {
    margin-top: 21.3333333333vw;
    padding-bottom: 26.6666666667vw;
  }
}
.p_column .column_list {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}
.p_column .column_list li {
  width: calc((100% - 32px) / 2);
}
@media only screen and (max-width: 768px) {
  .p_column .column_list li {
    width: 100%;
  }
}
.p_column .column_list li .cat {
  background-color: #16429D;
  color: #fff;
  font-size: clamp(1.3rem, 1.2545454545rem + 0.1212121212vw, 1.4rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  border-radius: 999px;
  padding: 2px 12px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p_column .column_list li .column_img {
  margin-bottom: 2rem;
}
.p_column .column_list li a:hover .c_text_16._column {
  text-decoration: underline;
}

.p_column_detail .column_top {
  display: flex;
  justify-content: space-between;
}
.p_column_detail .column_top .cat {
  background-color: #16429D;
  color: #fff;
  font-size: clamp(1.3rem, 1.2545454545rem + 0.1212121212vw, 1.4rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  border-radius: 999px;
  padding: 4px 16px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p_column_detail .column_top time {
  font-size: clamp(1.5rem, 1.4545454545rem + 0.1212121212vw, 1.6rem);
  font-family: "Inter", sans-serif;
  line-height: 1.5;
  letter-spacing: 0;
  font-weight: 600;
}
.p_column_detail .bread {
  margin-top: 40px;
}
.p_column_detail .thumbnail {
  margin-top: 6.9444444444vw;
  width: 69.4444444444vw;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 1440px) {
  .p_column_detail .thumbnail {
    margin-top: 10rem;
    width: 100rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_column_detail .thumbnail {
    margin-top: 21.3333333333vw;
    width: 100%;
  }
}
.p_column_detail .thumbnail img {
  width: 100%;
}
.p_column_detail .column_body {
  background-color: #fff;
  margin-top: clamp(4rem, 1.2727272727rem + 7.2727272727vw, 10rem);
  margin-bottom: 48px;
  background-color: #fff;
  padding-top: clamp(0rem, -2.9090909091rem + 7.7575757576vw, 6.4rem);
  padding-bottom: clamp(4rem, 2.9090909091rem + 2.9090909091vw, 6.4rem);
  padding-left: clamp(2.4rem, -1.0545454545rem + 9.2121212121vw, 10rem);
  padding-right: clamp(2.4rem, -1.0545454545rem + 9.2121212121vw, 10rem);
}

.p_lecture_list {
  background-image: linear-gradient(90deg, rgb(22, 66, 157) 0%, rgb(16, 49, 118) 100%);
}
.p_lecture_list .contents {
  margin-top: clamp(8rem, 7.0909090909rem + 2.4242424242vw, 10rem);
}
.p_lecture_list .contents_list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  padding-bottom: 100px;
}
@media only screen and (max-width: 768px) {
  .p_lecture_list .contents_list {
    flex-direction: column;
    gap: 48px;
  }
}
.p_lecture_list .contents_list li {
  width: calc((100% - 80px) / 3);
}
@media only screen and (max-width: 768px) {
  .p_lecture_list .contents_list li {
    width: 100%;
  }
}
.p_lecture_list .contents_list li a:hover .circle {
  background-color: #C40303;
  color: #fff;
}
.p_lecture_list .contents_list li .title {
  color: #fff;
  font-size: clamp(2rem, 1.8181818182rem + 0.4848484848vw, 2.4rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 12px;
}
@media only screen and (max-width: 768px) {
  .p_lecture_list .contents_list li .title {
    justify-content: space-between;
  }
}
.p_lecture_list .contents_list li .title .circle {
  color: #16429D;
  background-color: #fff;
  border-radius: 50%;
  width: clamp(2.4rem, 2.0363636364rem + 0.9696969697vw, 3.2rem);
  height: clamp(2.4rem, 2.0363636364rem + 0.9696969697vw, 3.2rem);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: all 0.4s;
}
@media only screen and (max-width: 768px) {
  .p_lecture_list .contents_list li .title .circle {
    font-size: 12px;
  }
}

.p_lecture_about {
  background-image: linear-gradient(90deg, rgb(22, 66, 157) 0%, rgb(16, 49, 118) 100%);
}
.p_lecture_about .about_sec {
  margin-top: 6.9444444444vw;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_about .about_sec {
    margin-top: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_about .about_sec {
    margin-top: 21.3333333333vw;
  }
}
.p_lecture_about .about_sec:not(:first-of-type) {
  margin-top: 13.8888888889vw;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_about .about_sec:not(:first-of-type) {
    margin-top: 20rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_about .about_sec:not(:first-of-type) {
    margin-top: 26.6666666667vw;
  }
}
.p_lecture_about .merit_list {
  margin-top: 3.3333333333vw;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_about .merit_list {
    margin-top: 4.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_about .merit_list {
    margin-top: 12.8vw;
  }
}
.p_lecture_about .case_list {
  margin-top: 3.3333333333vw;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_about .case_list {
    margin-top: 4.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_about .case_list {
    margin-top: 12.8vw;
  }
}

.about_dl:not(:first-of-type) {
  margin-top: 2.2222222222vw;
}
@media only screen and (min-width: 1440px) {
  .about_dl:not(:first-of-type) {
    margin-top: 3.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .about_dl:not(:first-of-type) {
    margin-top: 8.5333333333vw;
  }
}
.about_dl dt {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #fff;
  font-size: 1.6666666667vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media only screen and (min-width: 1440px) {
  .about_dl dt {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .about_dl dt {
    font-size: 5.3333333333vw;
  }
}
.about_dl dt .num {
  font-family: "Inter", sans-serif;
  font-size: 18px;
  letter-spacing: 0;
  border: 1px solid #fff;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.about_dl dd {
  font-size: 1.1111111111vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
  color: #fff;
  margin-top: 8px;
}
@media only screen and (min-width: 1440px) {
  .about_dl dd {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .about_dl dd {
    font-size: 4vw;
    line-height: 1.8;
    margin-top: 11px;
  }
}
.about_dl dd .note {
  display: block;
  font-size: 11.5px;
  line-height: 1.8;
  font-weight: 500;
  margin-top: 5px;
}

.p_lecture_form {
  background-image: linear-gradient(90deg, rgb(22, 66, 157) 0%, rgb(16, 49, 118) 100%);
}
.p_lecture_form .form_sec {
  margin-top: 6.9444444444vw;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_form .form_sec {
    margin-top: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_form .form_sec {
    margin-top: 21.3333333333vw;
  }
}
.p_lecture_form .form_sec:not(:first-of-type) {
  margin-top: 6.9444444444vw;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_form .form_sec:not(:first-of-type) {
    margin-top: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_form .form_sec:not(:first-of-type) {
    margin-top: 13.3333333333vw;
  }
}
.p_lecture_form .form_sec .flex {
  display: flex;
  justify-content: center;
  gap: 3.3333333333vw;
  margin-top: 2.7777777778vw;
  padding-bottom: 6.9444444444vw;
  border-bottom: 1px solid #fff;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_form .form_sec .flex {
    gap: 4.8rem;
    margin-top: 4rem;
    padding-bottom: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_form .form_sec .flex {
    gap: 6.4vw;
    flex-direction: column;
    margin-top: 6.4vw;
    padding-bottom: 13.3333333333vw;
  }
}
.p_lecture_form .form_sec .flex .form_img {
  flex: 1;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_form .form_sec .flex .form_img {
    width: 52rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_form .form_sec .flex .form_img {
    width: 100%;
  }
}
.p_lecture_form .form_sec .flex._last {
  border-bottom: none;
}

.p_lecture_thermal {
  background-image: linear-gradient(90deg, rgb(22, 66, 157) 0%, rgb(16, 49, 118) 100%);
}
.p_lecture_thermal .thermal_sec {
  padding-top: 6.9444444444vw;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 100%), linear-gradient(90deg, rgb(22, 66, 157) 0%, rgb(16, 49, 118) 100%);
}
@media only screen and (min-width: 1440px) {
  .p_lecture_thermal .thermal_sec {
    padding-top: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_thermal .thermal_sec {
    padding-top: 21.3333333333vw;
  }
}
.p_lecture_thermal .thermal_sec:not(:first-of-type) {
  padding-top: 6.9444444444vw;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_thermal .thermal_sec:not(:first-of-type) {
    padding-top: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_thermal .thermal_sec:not(:first-of-type) {
    padding-top: 13.3333333333vw;
  }
}
.p_lecture_thermal .catch_area {
  background-image: url(../img/lecture/thermal-technology/bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 6.9444444444vw;
  padding-bottom: 6.9444444444vw;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_thermal .catch_area {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_thermal .catch_area {
    background-image: url(../img/lecture/thermal-technology/bg-sp.jpg);
    padding-top: 26.6666666667vw;
    padding-bottom: 26.6666666667vw;
  }
}
.p_lecture_thermal .catch_area .copy {
  display: flex;
  align-items: flex-end;
}
.p_lecture_thermal .catch_area .copy .sans {
  color: #fff;
  font-size: 4.8611111111vw;
  font-weight: 700;
  line-height: 1;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_thermal .catch_area .copy .sans {
    font-size: 7rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_thermal .catch_area .copy .sans {
    font-size: 12.8vw;
  }
}
.p_lecture_thermal .catch_area .copy .serif {
  font-family: "Noto Serif JP", serif;
  color: #fff;
  font-size: 6.9444444444vw;
  font-weight: 700;
  line-height: 1;
  border: 1px solid #fff;
  padding: 5px;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_thermal .catch_area .copy .serif {
    font-size: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_thermal .catch_area .copy .serif {
    font-size: 18.1333333333vw;
  }
}

.p_lecture_care {
  background-image: linear-gradient(90deg, rgb(22, 66, 157) 0%, rgb(16, 49, 118) 100%);
}
.p_lecture_care .contents {
  margin-top: clamp(8rem, 7.0909090909rem + 2.4242424242vw, 10rem);
}
.p_lecture_care .care_sec {
  scroll-margin-top: 150px;
}
.p_lecture_care .care_sec:not(:first-of-type) {
  margin-top: 13.8888888889vw;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_care .care_sec:not(:first-of-type) {
    margin-top: 20rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_care .care_sec:not(:first-of-type) {
    margin-top: 26.6666666667vw;
    scroll-margin-top: 100px;
  }
}
.p_lecture_care .care_item {
  display: flex;
  gap: 3.3333333333vw;
  margin-top: 2.9166666667vw;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_care .care_item {
    gap: 4.8rem;
    margin-top: 4.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_care .care_item {
    gap: 6.4vw;
    margin-top: 10.6666666667vw;
    flex-direction: column;
  }
}
.p_lecture_care .care_item .care_img {
  width: 25vw;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_care .care_item .care_img {
    width: 36rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_care .care_item .care_img {
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_care .care_item .care_img._wide {
    overflow-x: auto;
    margin-right: calc(50% - 50vw);
    width: auto;
    padding-right: 20px;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_care .care_item .care_img._wide img {
    width: 666px;
    max-width: none;
    display: block;
  }
}
.p_lecture_care .care_item .care_details {
  width: 56.25vw;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_care .care_item .care_details {
    width: 81rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_care .care_item .care_details {
    width: 100%;
  }
}
.p_lecture_care .care_item .care_details dd {
  margin-top: 1.6666666667vw;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_care .care_item .care_details dd {
    margin-top: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_care .care_item .care_details dd {
    margin-top: 6.4vw;
    font-size: 4.2666666667vw;
  }
}

.p_lecture_film {
  background-image: linear-gradient(90deg, rgb(22, 66, 157) 0%, rgb(16, 49, 118) 100%);
}
.p_lecture_film .film_sec {
  margin-top: 6.9444444444vw;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_film .film_sec {
    margin-top: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_film .film_sec {
    margin-top: 21.3333333333vw;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_film .col-first {
    width: 200px;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_film .film_contents {
    overflow-x: auto;
    white-space: nowrap;
    width: 100%;
  }
}
.p_lecture_film .film_contents table {
  width: 100%;
  border-collapse: collapse;
}
@media only screen and (max-width: 768px) {
  .p_lecture_film .film_contents table {
    width: 1070px;
    table-layout: fixed;
  }
}
.p_lecture_film .film_contents table th,
.p_lecture_film .film_contents table td {
  border: 1px solid #16429D;
}
.p_lecture_film .film_contents table .top {
  width: 28.1944444444vw;
  color: #fff;
  font-size: 1.3888888889vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  padding-top: 1.3888888889vw;
  padding-bottom: 1.3888888889vw;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_film .film_contents table .top {
    height: 7rem;
    width: 40.6rem;
    font-size: 2rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_film .film_contents table .top {
    width: 77.8666666667vw;
    font-size: 4.2666666667vw;
    padding-top: 5.3333333333vw;
    padding-bottom: 5.3333333333vw;
  }
}
.p_lecture_film .film_contents table td {
  padding-top: 1.3888888889vw;
  padding-bottom: 1.3888888889vw;
  padding-left: 1.3888888889vw;
  padding-right: 1.3888888889vw;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_film .film_contents table td {
    padding-top: 2rem;
    padding-bottom: 2rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_film .film_contents table td {
    padding-top: 5.3333333333vw;
    padding-bottom: 5.3333333333vw;
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
.p_lecture_film .film_contents table td:first-of-type {
  width: 29.8611111111vw;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_film .film_contents table td:first-of-type {
    width: 43rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_film .film_contents table td:first-of-type {
    width: 96.2666666667vw;
  }
}
.p_lecture_film .film_contents table .name {
  font-size: 1.3888888889vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #fff;
  padding-top: 3.3333333333vw;
  padding-bottom: 3.3333333333vw;
  padding-left: 1.3888888889vw;
  padding-right: 1.3888888889vw;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_film .film_contents table .name {
    font-size: 2rem;
    padding-top: 4.8rem;
    padding-bottom: 4.8rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_film .film_contents table .name {
    padding-top: 8.2666666667vw;
    padding-bottom: 8.2666666667vw;
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
    font-size: 4.2666666667vw;
  }
}
.p_lecture_film .film_contents table .name .note {
  display: block;
  font-size: 12px;
}
.p_lecture_film .film_contents table td {
  background-color: #fff;
}
.p_lecture_film .film_contents table td ul li {
  list-style: disc;
  font-size: 1.25vw;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-left: 1.2em;
}
@media only screen and (min-width: 1440px) {
  .p_lecture_film .film_contents table td ul li {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_lecture_film .film_contents table td ul li {
    font-size: 4vw;
  }
}
.p_lecture_film .film_contents table ._deep_blue {
  background-color: rgba(255, 255, 255, 0.15);
}
.p_lecture_film .film_contents table ._light_blue {
  background-color: rgba(255, 255, 255, 0.2);
}

.p_recruit {
  background-image: linear-gradient(90deg, rgb(22, 66, 157) 0%, rgb(16, 49, 118) 100%);
}
.p_recruit .recruit_sec._intro {
  margin-top: 6.9444444444vw;
  background-image: url(kd/../../img/recruit/kd-01.png);
  background-size: 75.6944444444vw;
  background-repeat: no-repeat;
  background-position: bottom right;
  padding-bottom: 8.6805555556vw;
}
@media only screen and (min-width: 1440px) {
  .p_recruit .recruit_sec._intro {
    margin-top: 10rem;
    background-size: 109rem;
    padding-bottom: 12, 5rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_recruit .recruit_sec._intro {
    margin-top: 21.3333333333vw;
    background-size: 93.3333333333vw;
    padding-bottom: 26.6666666667vw;
  }
}
.p_recruit .catch_area .copy {
  display: flex;
  align-items: flex-end;
  margin-top: 16px;
  gap: 8px;
}
@media only screen and (max-width: 768px) {
  .p_recruit .catch_area .copy {
    gap: 4px;
  }
}
.p_recruit .catch_area .sans {
  color: #fff;
  font-size: 4.8611111111vw;
  font-weight: 700;
  line-height: 1;
}
@media only screen and (min-width: 1440px) {
  .p_recruit .catch_area .sans {
    font-size: 7rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_recruit .catch_area .sans {
    font-size: 8.5333333333vw;
  }
}
.p_recruit .catch_area .serif {
  font-family: "Noto Serif JP", serif;
  color: #fff;
  font-size: 6.9444444444vw;
  font-weight: 700;
  line-height: 1;
  border: 1px solid #fff;
  padding: 3px 5px 10px;
}
@media only screen and (min-width: 1440px) {
  .p_recruit .catch_area .serif {
    font-size: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_recruit .catch_area .serif {
    font-size: 10.6666666667vw;
  }
}
.p_recruit .text_area {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: 0;
  margin-top: 5.5555555556vw;
}
@media only screen and (min-width: 1440px) {
  .p_recruit .text_area {
    margin-top: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_recruit .text_area {
    margin-top: 10.6666666667vw;
    margin-right: auto;
  }
}
.p_recruit .text_area ._intro {
  color: #fff;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .p_recruit .text_area ._intro {
    line-height: 1.8;
    font-size: 4vw;
  }
}
.p_recruit .recruit_sec._recruit01 {
  position: relative;
  overflow: hidden;
  padding: 120px 0;
  background-color: #333;
  margin-top: 6.9444444444vw;
}
@media only screen and (min-width: 1440px) {
  .p_recruit .recruit_sec._recruit01 {
    margin-top: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_recruit .recruit_sec._recruit01 {
    margin-top: 13.3333333333vw;
  }
}
.p_recruit .recruit_bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
}
.p_recruit .recruit_bg .bg {
  background-color: rgba(0, 0, 0, 0.6);
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.p_recruit .recruit_bg .cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media only screen and (max-width: 768px) {
  .p_recruit .recruit_bg .cols {
    grid-template-columns: repeat(2, 1fr);
    width: 120%;
    margin-left: -10%;
  }
}
.p_recruit .recruit_bg .col {
  overflow: hidden;
}
.p_recruit .recruit_bg .col_inner {
  display: flex;
  flex-direction: column;
  gap: 20px;
  -webkit-animation: scrollUp 40s linear infinite;
          animation: scrollUp 40s linear infinite;
  will-change: transform;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
@media only screen and (max-width: 768px) {
  .p_recruit .recruit_bg .col_inner {
    -webkit-animation: scrollUp_sp 40s linear infinite;
            animation: scrollUp_sp 40s linear infinite;
  }
}
.p_recruit .recruit_bg .reverse .col_inner {
  -webkit-animation: scrollDown 40s linear infinite;
          animation: scrollDown 40s linear infinite;
}
@media only screen and (max-width: 768px) {
  .p_recruit .recruit_bg .reverse .col_inner {
    -webkit-animation: scrollDown_sp 40s linear infinite;
            animation: scrollDown_sp 40s linear infinite;
  }
}
.p_recruit .recruit_bg .col img {
  width: 100%;
  display: block;
  height: auto;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.p_recruit .recruit_content {
  position: relative;
  z-index: 2;
  color: #fff;
}
.p_recruit .recruit_content .c_headline_h2_pt04._sub._recruit_sub {
  font-size: 1.9444444444vw;
}
@media only screen and (min-width: 1440px) {
  .p_recruit .recruit_content .c_headline_h2_pt04._sub._recruit_sub {
    font-size: 2.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_recruit .recruit_content .c_headline_h2_pt04._sub._recruit_sub {
    font-size: 5.3333333333vw;
  }
}
.p_recruit .recruit_content .tag {
  margin-top: 3.8888888889vw;
}
.p_recruit .recruit_content .tag span {
  background-color: #fff;
  color: #333;
  font-size: 2.2222222222vw;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 700;
  padding: 4px 4px;
  margin-right: 8px;
}
@media only screen and (min-width: 1440px) {
  .p_recruit .recruit_content .tag span {
    font-size: 3.2rem;
    margin-top: 5.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_recruit .recruit_content .tag span {
    font-size: 4.8vw;
    margin-top: 10.6666666667vw;
    padding-right: 4px;
  }
}
.p_recruit .recruit_content .catch {
  font-size: 3.6111111111vw;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
  margin-top: 1.1111111111vw;
}
@media only screen and (min-width: 1440px) {
  .p_recruit .recruit_content .catch {
    font-size: 5.2rem;
    margin-top: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_recruit .recruit_content .catch {
    font-size: 8.5333333333vw;
    margin-top: 4.2666666667vw;
  }
}
.p_recruit .recruit_content .c_text._recruit_content {
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-top: 2.7777777778vw;
}
@media only screen and (min-width: 1440px) {
  .p_recruit .recruit_content .c_text._recruit_content {
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_recruit .recruit_content .c_text._recruit_content {
    margin-top: 6.4vw;
    line-height: 1.8;
    font-size: 4vw;
  }
}
.p_recruit .recruit_content_img {
  width: 16.6666666667vw;
  margin-top: 1.1111111111vw;
}
@media only screen and (min-width: 1440px) {
  .p_recruit .recruit_content_img {
    width: 24rem;
    margin-top: 16px;
  }
}
@media only screen and (max-width: 768px) {
  .p_recruit .recruit_content_img {
    width: 64vw;
    margin-top: 4.2666666667vw;
  }
}
.p_recruit .recruit_sec._mid {
  padding-top: 6.9444444444vw;
  padding-bottom: 6.9444444444vw;
}
@media only screen and (min-width: 1440px) {
  .p_recruit .recruit_sec._mid {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_recruit .recruit_sec._mid {
    padding-top: 13.3333333333vw;
    padding-bottom: 26.6666666667vw;
  }
}
.p_recruit .recruit_sec._mid .c_text._18._recruit_mid {
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 3.4722222222vw;
}
@media only screen and (min-width: 1440px) {
  .p_recruit .recruit_sec._mid .c_text._18._recruit_mid {
    margin-top: 5rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_recruit .recruit_sec._mid .c_text._18._recruit_mid {
    margin-top: 10.6666666667vw;
    line-height: 1.8;
    font-size: 4vw;
  }
}
.p_recruit .recruit_list {
  margin-top: 2.2222222222vw;
}
@media only screen and (min-width: 1440px) {
  .p_recruit .recruit_list {
    margin-top: 3.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_recruit .recruit_list {
    margin-top: 6.4vw;
  }
}
.p_recruit .recruit_list .item {
  background-color: #fff;
  color: #16429D;
}
.p_recruit .recruit_list .item:not(:first-of-type) {
  margin-top: 24px;
}
@media only screen and (max-width: 768px) {
  .p_recruit .recruit_list .item:not(:first-of-type) {
    margin-top: 16px;
  }
}
.p_recruit .recruit_list .job {
  width: 100%;
  padding: 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1.3888888889vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media only screen and (min-width: 1440px) {
  .p_recruit .recruit_list .job {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_recruit .recruit_list .job {
    font-size: 4.8vw;
    padding: 24px;
  }
}
.p_recruit .recruit_list .icon {
  position: relative;
  width: 16px;
  height: 16px;
}
.p_recruit .recruit_list .icon::before,
.p_recruit .recruit_list .icon::after {
  content: "";
  position: absolute;
  background: #16429D;
}
.p_recruit .recruit_list .icon::before {
  width: 16px;
  height: 2px;
  top: 7px;
  left: 0;
}
.p_recruit .recruit_list .icon::after {
  width: 2px;
  height: 16px;
  top: 0;
  left: 7px;
}
.p_recruit .recruit_list .item.active .icon::after {
  opacity: 0;
}
.p_recruit .recruit_list .details {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  padding-left: 32px;
  padding-right: 32px;
}
@media only screen and (max-width: 768px) {
  .p_recruit .recruit_list .details {
    padding-left: 24px;
    padding-right: 24px;
  }
}
.p_recruit .recruit_list .details .job_details {
  display: flex;
  border-bottom: 1px solid #a7a7a7;
  padding-bottom: 24px;
  margin-bottom: 24px;
  color: #333;
}
@media only screen and (max-width: 768px) {
  .p_recruit .recruit_list .details .job_details {
    flex-direction: column;
  }
}
.p_recruit .recruit_list .details .job_details:first-of-type {
  margin-top: 24px;
}
.p_recruit .recruit_list .details .job_details:last-of-type {
  border-bottom: none;
}
.p_recruit .recruit_list .details .job_details dt {
  width: 16.6666666667vw;
  font-size: 1.1111111111vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media only screen and (min-width: 1440px) {
  .p_recruit .recruit_list .details .job_details dt {
    width: 24rem;
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .p_recruit .recruit_list .details .job_details dt {
    width: 100%;
    font-size: 4vw;
  }
}
.p_recruit .recruit_list .details .job_details dd {
  flex: 1;
  font-size: 1.1111111111vw;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 1440px) {
  .p_recruit .recruit_list .details .job_details dd {
    font-size: 16px;
  }
}
@media only screen and (max-width: 768px) {
  .p_recruit .recruit_list .details .job_details dd {
    font-size: 4vw;
    line-height: 1.8;
  }
}
.p_recruit .recruit_list .item.active .details {
  display: block;
  max-height: 300px;
}

@-webkit-keyframes scrollUp {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-50%);
  }
}

@keyframes scrollUp {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-50%);
  }
}
@-webkit-keyframes scrollDown {
  from {
    transform: translateY(-50%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes scrollDown {
  from {
    transform: translateY(-50%);
  }
  to {
    transform: translateY(0);
  }
}
@-webkit-keyframes scrollUp_sp {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-50%);
  }
}
@keyframes scrollUp_sp {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-50%);
  }
}
@-webkit-keyframes scrollDown_sp {
  from {
    transform: translateY(-50%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes scrollDown_sp {
  from {
    transform: translateY(-50%);
  }
  to {
    transform: translateY(0);
  }
}
.l_contents_list._contact {
  position: static;
  width: 13.8888888889vw;
}
@media only screen and (min-width: 1440px) {
  .l_contents_list._contact {
    width: 20rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_contents_list._contact {
    width: 100%;
  }
}

.l_contents_details._contact {
  width: 61.1111111111vw;
}
@media only screen and (min-width: 1440px) {
  .l_contents_details._contact {
    width: 88rem;
  }
}
@media only screen and (max-width: 768px) {
  .l_contents_details._contact {
    width: 100%;
  }
}

.contact_wrap {
  display: flex;
  gap: 60px;
  margin-top: 6.9444444444vw;
  margin-bottom: 6.9444444444vw;
}
@media only screen and (min-width: 1440px) {
  .contact_wrap {
    margin-top: 10rem;
    margin-bottom: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .contact_wrap {
    margin-top: 21.3333333333vw;
    margin-bottom: 21.3333333333vw;
    gap: 0;
  }
}
@media only screen and (max-width: 768px) {
  .contact_wrap._n {
    margin-top: 0;
  }
}

@media only screen and (max-width: 768px) {
  .contact_confirm {
    margin-top: 14.9333333333vw;
  }
}

@media only screen and (max-width: 768px) {
  .contact_step {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: center;
    margin-top: 14.9333333333vw;
  }
}

.contact_step li {
  position: relative;
  background: rgba(51, 51, 51, 0.2);
  color: #fff;
  padding: 16px;
  margin-bottom: 32px;
  font-size: 1.0416666667vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  border-radius: 2px;
}
@media only screen and (min-width: 1440px) {
  .contact_step li {
    font-size: 15px;
  }
}
@media only screen and (max-width: 768px) {
  .contact_step li {
    font-size: 3.4666666667vw;
    margin-bottom: 0;
    width: 25.3333333333vw;
    padding: 12px 6px;
  }
}
.contact_step li::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 8px solid rgba(51, 51, 51, 0.2);
}
@media only screen and (max-width: 768px) {
  .contact_step li::after {
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid rgba(51, 51, 51, 0.2);
    top: 50%;
    right: -15px;
    bottom: auto;
    left: auto;
    transform: translateY(-50%) rotate(-90deg);
  }
}
.contact_step li:last-child::after {
  display: none;
}

.contact_step .is-active {
  background: #333;
  color: #fff;
}

.contact_text {
  font-size: clamp(1.5rem, 1.4545454545rem + 0.1212121212vw, 1.6rem);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.form_group {
  margin-bottom: 30px;
  margin-top: 40px;
}
@media only screen and (max-width: 768px) {
  .form_group {
    margin-top: 56px;
  }
  .form_group:not(:first-of-type) {
    margin-top: 32px;
  }
}

.form_submit.c_btn_black button .arrow {
  color: #a7a7a7;
}

.form_submit.c_btn_black button.is-active .arrow {
  color: #333;
}

.form_group .tag,
.privacy_check .tag,
.formTable .tag,
.product_title .tag {
  background-color: #909090;
  border-radius: 2px;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding: 2px 8px;
  margin-right: 8px;
}
.form_group .tag.required,
.privacy_check .tag.required,
.formTable .tag.required,
.product_title .tag.required {
  background-color: #C40303;
}

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

.form_group label,
.product_title {
  display: block;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.form_group input,
.form_group textarea {
  width: 100%;
  padding: 16px 12px;
  border-bottom: 1px solid #a7a7a7;
  background-color: #fff;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: 12px;
}

textarea {
  height: 200px;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  color: #a7a7a7;
}

input::placeholder,
textarea::placeholder {
  color: #a7a7a7;
}

.check_list label {
  display: block;
  margin-bottom: 18px;
}

.product_area {
  margin-top: 10px;
  padding-bottom: 10px;
}

#productArea {
  scroll-margin-top: 150px;
}

.product_title {
  border-bottom: 1px solid #a7a7a7;
  padding-bottom: 20px;
  display: flex;
  align-items: flex-start;
}
.product_title span.tag {
  min-width: 46px;
}

.product_block {
  border-bottom: 1px solid #ddd;
}

.product_head {
  display: flex;
  justify-content: space-between;
  cursor: pointer;
  padding: 12px 0;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.product_head .icon::after {
  content: "＋";
  font-size: 18px;
}
.product_head .icon.open::after {
  content: "ー";
  font-size: 18px;
}

.product_body {
  display: none;
  padding-bottom: 15px;
}

.product_body.open {
  display: block;
}

.product_body label {
  display: flex;
  align-items: flex-start;
  margin-top: 18px;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 400;
}

.product_area h4 {
  margin: 20px 0 10px;
}

.form_submit {
  margin-top: 2.7777777778vw;
  text-align: center;
  display: flex;
  gap: 2rem;
  justify-content: center;
}
@media only screen and (min-width: 1440px) {
  .form_submit {
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .form_submit {
    margin-top: 8.5333333333vw;
    flex-direction: column-reverse;
  }
}

.form_submit button {
  background: #ccc;
  padding: 15px 40px;
  border-radius: 30px;
}

/*チェックボックス*/
input[type=checkbox] {
  width: auto;
  height: auto;
  transform: none;
  -moz-appearance: auto;
       appearance: auto;
  -webkit-appearance: auto;
  margin-right: 6px;
  margin-top: 0;
}

.check_list {
  margin-top: 20px;
}

/* チェックボックス本体を消す */
.checkbox input {
  display: none;
}

/* ボックス */
.checkbox span {
  position: relative;
  padding-left: 38px;
  cursor: pointer;
}

/* □ */
.checkbox span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  background: #fff;
  border-radius: 3px;
  border: 1px solid #a7a7a7;
}

/* ✓ */
.checkbox span::after {
  content: "";
  position: absolute;
  left: 11px;
  top: 50%;
  transform: translateY(-60%) rotate(45deg);
  width: 7px;
  height: 14px;
  border-right: 2px solid #a7a7a7;
  border-bottom: 2px solid #a7a7a7;
  opacity: 1;
}

.checkbox span.tag {
  padding-left: 8px;
  margin-left: 8px;
  display: inline;
}

.checkbox span.tag::before,
.checkbox span.tag::after {
  display: none;
}

/* チェックされた状態 */
.checkbox input:checked + span::before {
  background: #16429D;
  border: 1px solid #16429D;
}

/* ✓表示 */
.checkbox input:checked + span::after {
  opacity: 1;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

.privacy_check {
  margin: 30px 0;
  text-align: center;
}

.form_submit button {
  padding: 22px 18px 22px 32px;
  border: none;
  background: #ccc;
  color: #fff;
  cursor: not-allowed;
  border-radius: 999px;
}

/* 有効 */
.form_submit button.is-active {
  background: #000;
  cursor: pointer;
}
.form_submit button.is-active:hover {
  background-color: #C40303;
  border-color: #C40303;
}
.form_submit button.is-active:hover .arrow {
  color: #C40303;
}
.form_submit button.is-active._back_btn {
  background-color: #909090;
  justify-content: flex-start;
  width: 200px;
}
.form_submit button.is-active._back_btn span {
  color: #909090;
}
.form_submit button.is-active._back_btn:hover {
  background-color: #C40303;
  border-color: #C40303;
}

.privacy_check {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.privacy_check a {
  color: #16429D;
  text-decoration: underline;
}

.sp.sp_tag {
  width: 54px;
  margin: 0 auto 8px;
}

.form_error {
  color: #d70000;
  font-size: 14px;
  margin-top: 8px;
}

/*confirm*/
#formWrap {
  flex: 1;
}

.contact_confirm .confirm_text {
  font-size: clamp(1.5rem, 1.4545454545rem + 0.1212121212vw, 1.6rem);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.contact_confirm form {
  margin-top: 48px;
}
@media only screen and (max-width: 768px) {
  .contact_confirm form {
    margin-top: 56px;
  }
}
.contact_confirm .formTable {
  width: 100%;
  table-layout: fixed;
  word-break: break-all;
  word-wrap: break-all;
}
.contact_confirm .formTable tr {
  border-bottom: 1px solid #a7a7a7;
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
}
.contact_confirm .formTable td {
  padding-bottom: 16px;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.contact_confirm .formTable td.confirm-item {
  line-height: 2;
}
.contact_confirm .formTable th {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}

/*thanks*/
.thanks_title {
  font-size: 2.7777777778vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media only screen and (min-width: 1440px) {
  .thanks_title {
    font-size: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .thanks_title {
    font-size: 6.1333333333vw;
    margin-top: 14.9333333333vw;
  }
}

.thanks_text {
  font-size: clamp(1.5rem, 1.4545454545rem + 0.1212121212vw, 1.6rem);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-top: 3.3333333333vw;
}
@media only screen and (min-width: 1440px) {
  .thanks_text {
    margin-top: 4.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .thanks_text {
    margin-top: 8.5333333333vw;
  }
}

/* =============================================
   協和電機 - プライバシーポリシー & サイトマップ 共通CSS
   ============================================= */
/* ページ共通背景 */
.p_privacy,
.p_sitemap {
  background-image: linear-gradient(90deg, rgb(22, 66, 157) 0%, rgb(16, 49, 118) 100%);
}

/* =============================================
   プライバシーポリシーページ
   ============================================= */
.privacy_content {
  background-color: #f3f3f3;
  padding-top: clamp(6rem, 4.3636363636rem + 4.3636363636vw, 9.6rem);
  padding-bottom: clamp(8rem, 5.8181818182rem + 5.8181818182vw, 12.8rem);
}

.privacy_intro {
  margin-bottom: clamp(4rem, 3.0909090909rem + 2.4242424242vw, 6rem);
}

.privacy_intro p {
  font-size: clamp(1.4rem, 1.3090909091rem + 0.2424242424vw, 1.6rem);
  line-height: 2;
  color: #333;
  letter-spacing: 0.03em;
}

.privacy_section {
  margin-bottom: clamp(4rem, 3.0909090909rem + 2.4242424242vw, 6rem);
}

.privacy_section:last-child {
  margin-bottom: 0;
}

.privacy_heading {
  font-size: clamp(1.8rem, 1.6181818182rem + 0.4848484848vw, 2.2rem);
  font-weight: 700;
  color: #16429D;
  padding: clamp(1.2rem, 1.0181818182rem + 0.4848484848vw, 1.6rem) clamp(2rem, 1.6363636364rem + 0.9696969697vw, 2.8rem);
  background-color: #e8edf5;
  border-left: 4px solid #16429D;
  margin-bottom: clamp(2rem, 1.6363636364rem + 0.9696969697vw, 2.8rem);
  line-height: 1.5;
  letter-spacing: 0.03em;
}

.privacy_section p {
  font-size: clamp(1.4rem, 1.3090909091rem + 0.2424242424vw, 1.6rem);
  line-height: 2;
  color: #333;
  letter-spacing: 0.03em;
}

.privacy_section p + p {
  margin-top: 1.6em;
}

.privacy_list {
  margin: clamp(1.6rem, 1.4181818182rem + 0.4848484848vw, 2rem) 0;
  padding-left: 2em;
}

.privacy_list li {
  font-size: clamp(1.4rem, 1.3090909091rem + 0.2424242424vw, 1.6rem);
  line-height: 2;
  color: #333;
  letter-spacing: 0.03em;
  position: relative;
  padding-left: 0.5em;
}

.privacy_list li::before {
  content: "";
  position: absolute;
  left: -1.2em;
  top: 0.85em;
  width: 6px;
  height: 6px;
  background-color: #C40303;
  border-radius: 50%;
}

.text_link {
  color: #16429D;
  text-decoration: underline;
  transition: opacity 0.3s;
}

.text_link:hover {
  opacity: 0.7;
}

/* =============================================
   サイトマップページ
   ============================================= */
.sitemap_content {
  background-color: #f3f3f3;
  padding-top: clamp(6rem, 4.3636363636rem + 4.3636363636vw, 9.6rem);
  padding-bottom: clamp(8rem, 5.8181818182rem + 5.8181818182vw, 12.8rem);
}

.sitemap_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(3.2rem, 2.4727272727rem + 1.9393939394vw, 4.8rem) clamp(3.2rem, 2.4727272727rem + 1.9393939394vw, 4.8rem);
}

@media only screen and (max-width: 1024px) {
  .sitemap_grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 768px) {
  .sitemap_grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.sitemap_block {
  padding-bottom: clamp(2.4rem, 1.8545454545rem + 1.4545454545vw, 3.6rem);
}

@media only screen and (max-width: 768px) {
  .sitemap_block {
    padding: clamp(2rem, 1.6363636364rem + 0.9696969697vw, 2.8rem) 0;
    border-bottom: 1px solid #ddd;
  }
  .sitemap_block:first-child {
    padding-top: 0;
  }
  .sitemap_block:last-child {
    border-bottom: none;
  }
}
.sitemap_category {
  font-size: clamp(1.6rem, 1.4181818182rem + 0.4848484848vw, 2rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding-bottom: clamp(1.2rem, 1.0181818182rem + 0.4848484848vw, 1.6rem);
  border-bottom: 2px solid #16429D;
  margin-bottom: clamp(1.6rem, 1.4181818182rem + 0.4848484848vw, 2rem);
}

.sitemap_category a {
  color: #333;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: color 0.3s;
}

.sitemap_category a::before {
  content: "";
  width: 8px;
  height: 8px;
  background-color: #C40303;
  border-radius: 50%;
  flex-shrink: 0;
}

.sitemap_category a:hover {
  color: #16429D;
}

.sitemap_links {
  padding-left: 1.6em;
}

.sitemap_links li {
  margin-bottom: clamp(0.8rem, 0.7090909091rem + 0.2424242424vw, 1rem);
}

.sitemap_links li:last-child {
  margin-bottom: 0;
}

.sitemap_links li a {
  font-size: clamp(1.3rem, 1.2090909091rem + 0.2424242424vw, 1.5rem);
  color: #555;
  line-height: 1.8;
  letter-spacing: 0.03em;
  position: relative;
  padding-left: 1.2em;
  display: inline-block;
  transition: color 0.3s;
}

.sitemap_links li a::before {
  content: "―";
  position: absolute;
  left: 0;
  top: 0;
  color: #999;
  font-size: 1em;
}

.sitemap_links li a:hover {
  color: #16429D;
}

.sitemap_block._full {
  grid-column: 1/-1;
}

.sitemap_links._product_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 50px;
}
.sitemap_links._product_list li {
  width: 33.3333333333%;
}
@media only screen and (max-width: 768px) {
  .sitemap_links._product_list li {
    width: 100%;
  }
}
.sitemap_links._product_list li a {
  font-weight: 600;
}
.sitemap_links._product_list .child_list {
  padding-left: 1em;
}
.sitemap_links._product_list .child_list li {
  width: 100%;
  margin-top: 15px;
}
.sitemap_links._product_list .child_list li a {
  font-size: 12px;
  font-weight: 500;
}

/* =============================================
   レスポンシブ調整
   ============================================= */
@media only screen and (max-width: 768px) {
  .privacy_content {
    padding-top: 12.8vw;
    padding-bottom: 17.0666666667vw;
  }
  .sitemap_content {
    padding-top: 12.8vw;
    padding-bottom: 17.0666666667vw;
  }
  .privacy_heading {
    font-size: 4.2666666667vw;
    padding: 3.7333333333vw 5.3333333333vw;
  }
  .privacy_section p,
.privacy_intro p,
.privacy_list li {
    font-size: 3.7333333333vw;
  }
  .sitemap_category {
    font-size: 4.2666666667vw;
  }
  .sitemap_links li a {
    font-size: 3.7333333333vw;
  }
}
.p_privacy section.l_mv.l_mv_under_pt02,
.p_sitemap section.l_mv.l_mv_under_pt02 {
  padding-bottom: 15px;
}
/*# sourceMappingURL=style.css.map */