@charset "UTF-8";

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

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

img,
picture {
  max-width: 100%;
  display: block;
}

input,
button,
textarea,
select {
  font: inherit;
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 300;
  src: url("../../fonts/Noto_Sans_JP/NotoSansJP-Light.otf") format("opentype");
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("../../fonts/Noto_Sans_JP/NotoSansJP-Regular.otf") format("opentype");
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("../../fonts/Noto_Sans_JP/NotoSansJP-Medium.otf") format("opentype");
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("../../fonts/Noto_Sans_JP/NotoSansJP-Bold.otf") format("opentype");
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 900;
  src: url("../../fonts/Noto_Sans_JP/NotoSansJP-Black.otf") format("opentype");
}

:root {
  --blue: #4172B0;
  --border-color: #C8D5ED;
  --light-blue: #F0FAFF;
  --gold: #B3972C;
  --text-color: #000;
  --red: #E02309;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 10vw;
}

body {
  color: var(--text-color);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.05em;
}

body.hidden {
  overflow: hidden;
}

.overflow-hidden {
  overflow: hidden;
}

a {
  text-decoration: none;
  color: var(--text-color);
}

main {
  overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-weight: 700;
  line-height: 1;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */

.pc {
  display: block !important;
}

.pc_inline {
  display: inline;
}

.pc_fx {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.pc_inline_block {
  display: inline-block;
}

.sp {
  display: none !important;
}

.sp_inline {
  display: none !important;
}

.sp_fx {
  display: none !important;
}

.sp_inline_block {
  display: none !important;
}

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */

.relative {
  position: relative;
}

/* 初期状態のスタイル */

.fadeIn {
  opacity: 0;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, transform 0.8s ease-out, -webkit-transform 0.8s ease-out;
  visibility: hidden;
}

.fadeIn.centerX {
  -webkit-transform: translate(-50%, 20px);
  transform: translate(-50%, 20px);
}

/* アニメーション後のスタイル */

.fadeIn.visible {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  visibility: visible;
}

.fadeIn.visible.centerX {
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}

.primary-button {
  background: -webkit-gradient(linear, left top, right top, from(#4172B0), to(#419FB0));
  background: -webkit-linear-gradient(left, #4172B0, #419FB0);
  background: linear-gradient(to right, #4172B0, #419FB0);
  padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 40);
  height: calc(100vw / var(--vw) * 48.33);
  line-height: calc(100vw / var(--vw) * 48.33);
  border-radius: 99999px;
  color: #fff;
  font-size: calc(100vw / var(--vw) * 18);
  display: inline-block;
}

.primary-button.about-page-bottom-contents {
  padding: 0;
  width: 100%;
  text-align: center;
  margin-top: calc(100vw / var(--vw) * 30.1);
}

.primary-button.border {
  border: 1px solid #fff;
}

.contents-title {
  color: var(--blue);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 38);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: calc(100vw / var(--vw) * 22);
}

.contents-title.mt {
  margin-top: calc(100vw / var(--vw) * 34.3);
}

.contents-title::after {
  content: "";
  display: block;
  width: calc(100vw / var(--vw) * 38.17);
  height: 1px;
  background: var(--blue);
}

.contents-sub-title {
  color: var(--blue);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 19);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: calc(100vw / var(--vw) * 8);
}

.contents-sub-title::before {
  content: "";
  display: block;
  width: calc(100vw / var(--vw) * 24.87);
  height: calc(100vw / var(--vw) * 24.87);
  background-image: url("../../images/sub_title_icon.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.contents-sub-title__sp-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  padding-top: calc(100vw / var(--vw) * 39);
  padding-left: calc(100vw / var(--vw) * 44.4);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.header__logo {
  width: calc(100vw / var(--vw) * 297);
}

.header__nav-list {
  padding: 0;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.2);
  height: calc(100vw / var(--vw) * 79.81);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: calc(100vw / var(--vw) * 65);
  padding-right: calc(100vw / var(--vw) * 22);
  border-radius: calc(100vw / var(--vw) * 40) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 40);
  font-size: calc(100vw / var(--vw) * 18);
  background: #fff;
}

.header__nav-item--dropdown {
  position: relative;
}

.header__nav-dropdown-trigger {
  cursor: default;
}

.header__dropdown {
  position: absolute;
  top: calc(100vw / var(--vw) * 70);
  left: 0;
  width: calc(100vw / var(--vw) * 190.33);
  padding: 0;
  margin: 0;
  list-style: none;
  background: transparent;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-8px);
  transform: translateY(-8px);
  -webkit-transition: opacity 0.2s ease, visibility 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, visibility 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease, -webkit-transform 0.2s ease;
  z-index: 100;
}

.header__nav-item--dropdown:hover .header__dropdown {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.header__dropdown-item {
  margin-bottom: calc(100vw / var(--vw) * 12);
}

.header__dropdown-item:last-child {
  margin-bottom: calc(100vw / var(--vw) * 0);
}

.header__dropdown-item a {
  background: #fff;
  border-radius: 9999px;
  height: calc(100vw / var(--vw) * 51.31);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.header__dropdown-item a img {
  width: calc(100vw / var(--vw) * 154.46);
  margin: 0 auto;
  display: block;
}

.hamburger-menu {
  width: calc(100vw / var(--vw) * 112.56);
  height: calc(100vw / var(--vw) * 112.56);
  position: relative;
  background: #333;
}

.hamburger-menu.active .hamburger-menu__line {
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

.hamburger-menu.active .hamburger-menu__line:nth-child(1) {
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}

.hamburger-menu.active .hamburger-menu__line:nth-child(2) {
  display: none;
}

.hamburger-menu.active .hamburger-menu__line:nth-child(3) {
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

.hamburger-menu__line {
  position: absolute;
  width: calc(100vw / var(--vw) * 45.5);
  height: calc(100vw / var(--vw) * 6.2);
  display: block;
  background: #fff;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}

.hamburger-menu__line:nth-child(1) {
  top: calc(100vw / var(--vw) * 36.2);
}

.hamburger-menu__line:nth-child(2) {
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.hamburger-menu__line:nth-child(3) {
  top: calc(100vw / var(--vw) * 70);
}

.sp-drawer-menu {
  position: fixed;
  top: calc(100vw / var(--vw) * 112.56);
  right: 0;
  background: #333333;
  border-top: 0.1px solid rgba(255, 255, 255, 0.5);
  width: calc(100vw / var(--vw) * 269.31);
  z-index: 1000;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

.sp-drawer-menu.active {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.sp-drawer-menu__list {
  padding: 0;
  padding: calc(100vw / var(--vw) * 70) calc(100vw / var(--vw) * 33) calc(100vw / var(--vw) * 63) calc(100vw / var(--vw) * 33);
  font-size: calc(100vw / var(--vw) * 24);
  margin: 0;
}

.sp-drawer-menu__item {
  list-style: none;
  text-align: right;
  border-bottom: 1px solid #fff;
  color: #fff;
  white-space: nowrap;
  padding-bottom: calc(100vw / var(--vw) * 33);
  margin-bottom: calc(100vw / var(--vw) * 33);
}

.sp-drawer-menu__item.border-bottom-none {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: calc(100vw / var(--vw) * 52.2);
}

.sp-drawer-menu__item.icon {
  border-bottom: none;
  padding-bottom: 0;
  width: 100%;
  background: #fff;
  border-radius: 9999px;
  height: calc(100vw / var(--vw) * 51.31);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 0;
}

.sp-drawer-menu__item.icon.suupy img {
  width: calc(100vw / var(--vw) * 154.46);
  margin: 0 auto;
  display: block;
}

.sp-drawer-menu__item.icon.latehii {
  margin-top: calc(100vw / var(--vw) * 38.2);
}

.sp-drawer-menu__item.icon.latehii img {
  width: calc(100vw / var(--vw) * 123.27);
  margin: 0 auto;
  display: block;
}

.sp-drawer-menu__item:last-child {
  padding-bottom: calc(100vw / var(--vw) * 0);
}

.sp-drawer-menu__item a {
  color: #fff;
}

.fv {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  overflow: visible;
}

.fv__title {
  margin-top: calc(100vw / var(--vw) * 246.5);
  margin-left: calc(100vw / var(--vw) * 123.6);
  width: calc(100vw / var(--vw) * 217.07);
}

.fv__main-image {
  width: calc(100vw / var(--vw) * 1091.27);
}

.fv__bg-image {
  position: absolute;
  width: calc(100vw / var(--vw) * 490.64);
  right: calc(100vw / var(--vw) * 130.1);
  bottom: calc(100vw / var(--vw) * -219);
}

.fv__left-bg-image {
  position: absolute;
  width: calc(100vw / var(--vw) * 602.69);
  top: calc(100vw / var(--vw) * 519.7);
  left: calc(100vw / var(--vw) * -115);
}

.news-top {
  padding-top: calc(100vw / var(--vw) * 107.1);
  padding-bottom: calc(100vw / var(--vw) * 131.9);
}

.news-top__bg-image {
  position: absolute;
  width: calc(100vw / var(--vw) * 637.14);
  right: calc(100vw / var(--vw) * -403);
  top: calc(100vw / var(--vw) * 344);
}

.news-bottom {
  padding-top: calc(100vw / var(--vw) * 23.1);
  padding-bottom: calc(100vw / var(--vw) * 170.2);
  background: #EBF2F8;
}

.news-bottom__bg-image {
  position: absolute;
  width: calc(100vw / var(--vw) * 152.67);
  right: calc(100vw / var(--vw) * 337.1);
  bottom: calc(100vw / var(--vw) * -21);
}

.news__list-wrapper {
  width: calc(100vw / var(--vw) * 1066.41);
  margin: 0 auto;
  margin-top: calc(100vw / var(--vw) * 47.4);
}

.news__list-item {
  margin-top: calc(100vw / var(--vw) * 27.8);
  border: 1px solid var(--border-color);
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 18.3);
  padding: calc(100vw / var(--vw) * 24) calc(100vw / var(--vw) * 35);
  border-radius: 99999px;
  font-size: calc(100vw / var(--vw) * 18);
  background: #fff;
}

.news__list-item.border-none {
  border: none;
}

.news__list-item .date {
  color: var(--blue);
  font-size: calc(100vw / var(--vw) * 16);
}

.about {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  gap: calc(100vw / var(--vw) * 64.2);
}

.about__image {
  width: calc(100vw / var(--vw) * 800);
}

.about__title {
  margin-top: calc(100vw / var(--vw) * 44.2);
  font-size: calc(100vw / var(--vw) * 39.33);
  font-weight: 400;
  color: var(--blue);
  line-height: 1.3;
  text-align: center;
}

.about__text-wrapper {
  width: calc(100vw / var(--vw) * 435.47);
  text-align: center;
  margin: 0 auto;
  margin-top: calc(100vw / var(--vw) * 36);
}

.about__text {
  font-size: calc(100vw / var(--vw) * 18);
  line-height: 1.8;
}

.about__button-wrapper {
  text-align: center;
  margin-top: calc(100vw / var(--vw) * 58);
}

.service {
  padding-top: calc(100vw / var(--vw) * 100.4);
}

.service__bg-image {
  position: absolute;
}

.service__bg-image.top {
  width: calc(100vw / var(--vw) * 619.31);
  top: calc(100vw / var(--vw) * 225.5);
  left: calc(100vw / var(--vw) * -421);
}

.service__bg-image.bottom-left {
  width: calc(100vw / var(--vw) * 152.67);
  bottom: calc(100vw / var(--vw) * -83);
  left: calc(100vw / var(--vw) * 154.8);
}

.service__bg-image.bottom-right {
  width: calc(100vw / var(--vw) * 546.29);
  bottom: calc(100vw / var(--vw) * -273);
  right: calc(100vw / var(--vw) * -406);
}

.service__title-wrapper {
  position: relative;
  width: 100vw;
  left: calc(100vw / var(--vw) * -283);
}

.service__contents-wrapper {
  background: #EBF2F8;
  width: calc(100vw / var(--vw) * 1366.61);
  margin-left: auto;
  padding-top: calc(100vw / var(--vw) * 66.8);
  padding-bottom: calc(100vw / var(--vw) * 81.6);
  padding-left: calc(100vw / var(--vw) * 67.2);
  border-radius: calc(100vw / var(--vw) * 50.62) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 50.62);
}

.service__contents-list {
  margin-top: calc(100vw / var(--vw) * 84.4);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(100vw / var(--vw) * 64.9);
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.service__contents-list-item {
  width: calc(100vw / var(--vw) * 467.18);
  background: #fff;
  border-radius: calc(100vw / var(--vw) * 46.75);
  overflow: hidden;
}

.service__contents-list-item-image {
  width: 100%;
  height: calc(100vw / var(--vw) * 179.28);
  -o-object-fit: cover;
  object-fit: cover;
}

.service__contents-list-item-text-wrapper {
  height: calc(100vw / var(--vw) * 262);
  padding-top: calc(100vw / var(--vw) * 38.6);
  position: relative;
}

.service__contents-list-item-text-wrapper .absolute-text {
  position: absolute;
  top: calc(100vw / var(--vw) * 10);
  right: calc(100vw / var(--vw) * 14.6);
  font-size: calc(100vw / var(--vw) * 12);
}

.service__contents-list-item-text-wrapper .title {
  color: var(--blue);
  text-align: center;
  font-size: calc(100vw / var(--vw) * 20);
  font-weight: 400;
}

.service__contents-list-item-text-wrapper .text {
  font-size: calc(100vw / var(--vw) * 18);
  margin-top: calc(100vw / var(--vw) * 32.9);
  padding-left: calc(100vw / var(--vw) * 29.3);
  letter-spacing: -0.005em;
	text-align: center;
}

.service__contents-list-item-text-wrapper .bottom-text {
  color: var(--blue);
  text-align: center;
  font-size: calc(100vw / var(--vw) * 20);
  font-weight: 400;
  margin-top: calc(100vw / var(--vw) * 45.4);
}

.service__contents-list-item-button-wrapper {
  text-align: center;
  margin-top: calc(100vw / var(--vw) * 18);
}

.achievements {
  padding-top: calc(100vw / var(--vw) * 86.2);
  padding-bottom: calc(100vw / var(--vw) * 138);
}

.achievements__bg-image {
  position: absolute;
  z-index: 10;
}

.achievements__bg-image.left {
  width: calc(100vw / var(--vw) * 546.29);
  top: calc(100vw / var(--vw) * 886);
  left: calc(100vw / var(--vw) * -400);
}

.achievements__bg-image.left-top {
  width: calc(100vw / var(--vw) * 152.67);
  left: calc(100vw / var(--vw) * 32.2);
  top: calc(100vw / var(--vw) * 450);
}

.achievements__bg-image.right {
  width: calc(100vw / var(--vw) * 152.67);
  bottom: calc(100vw / var(--vw) * -61);
  right: calc(100vw / var(--vw) * 85);
}

.achievements__contents-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: calc(100vw / var(--vw) * 83);
  width: calc(100vw / var(--vw) * 1002);
  margin: 0 auto;
  margin-top: calc(100vw / var(--vw) * 91.3);
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.achievements__contents-item {
  width: calc(100vw / var(--vw) * 278.36);
}

.achievements__contents-title {
  text-align: center;
  margin-top: calc(100vw / var(--vw) * 48.5);
  color: var(--blue);
  font-size: calc(100vw / var(--vw) * 22);
  white-space: nowrap;
}

.achievements__contents-title.corporate-activities {
  margin-top: 0;
  margin-bottom: calc(100vw / var(--vw) * 30);
}

.achievements__contents-text {
  font-size: calc(100vw / var(--vw) * 18);
  margin-top: calc(100vw / var(--vw) * 31.6);
}

.corporate-activities__bg-image {
  position: absolute;
  width: calc(100vw / var(--vw) * 152.67);
  bottom: calc(100vw / var(--vw) * 76);
  left: calc(100vw / var(--vw) * 76.2);
}

.footer {
  padding-top: calc(100vw / var(--vw) * 91.1);
  padding-bottom: calc(100vw / var(--vw) * 85.1);
  background: var(--blue);
  color: #fff;
}

.footer__title {
  text-align: center;
  font-size: calc(100vw / var(--vw) * 38);
  font-weight: 400;
}

.footer__text {
  text-align: center;
  font-size: calc(100vw / var(--vw) * 22);
  margin-top: calc(100vw / var(--vw) * 38);
  line-height: 1.8;
}

.footer__tel-wrapper {
  text-align: center;
  margin-top: calc(100vw / var(--vw) * 33.6);
}

.footer__tel-title {
  font-size: calc(100vw / var(--vw) * 39.96);
  font-weight: 400;
}

.footer__tel-sub-title {
  font-size: calc(100vw / var(--vw) * 18);
  margin-top: calc(100vw / var(--vw) * 8);
  line-height: 1.8;
}

.footer__tel-number {
  font-size: calc(100vw / var(--vw) * 40);
  margin-top: calc(100vw / var(--vw) * 8);
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: calc(100vw / var(--vw) * 10);
}

.footer__tel-number::before {
  content: "";
  display: block;
  width: calc(100vw / var(--vw) * 23.58);
  height: calc(100vw / var(--vw) * 23.58);
  background-image: url("../../images/tel-icon.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.footer__button-wrapper {
  text-align: center;
  margin-top: calc(100vw / var(--vw) * 51.7);
}

.lower-page__fv {
  position: relative;
}

.lower-page__fv-image {
  width: calc(100vw / var(--vw) * 1205.2);
  margin-right: calc(100vw / var(--vw) * 92);
  margin-left: auto;
}

.lower-page__fv-title {
  position: absolute;
  top: calc(100vw / var(--vw) * 288);
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  display: inline-block;

  /* 変更点1: 背景色を半透明にする */
  /* ※ rgbaの数値は現在の var(--blue) の色に合わせて変更してください（下記は例です） */
  background: rgba(43, 85, 146, 0.85); /* 0.85 の部分が透明度（1が不透明、0が透明）です */

  /* 変更点2: 角を少し丸くして柔らかい印象にする */
  border-radius: 4px; /* もしvwで統一するなら calc(100vw / var(--vw) * 4) など */

  color: #fff;
  font-size: calc(100vw / var(--vw) * 55.34);
  padding: calc(100vw / var(--vw) * 9) calc(100vw / var(--vw) * 12) calc(100vw / var(--vw) * 11); /* 左右の余白を少しだけ増やしてバランス調整 */

  /* 変更点3: 文字の間隔を少し開けて抜け感を出す */
  letter-spacing: 0.05em;

  white-space: nowrap;
}

.lower-page__fv-bg {
  position: absolute;
  width: calc(100vw / var(--vw) * 546.29);
  top: calc(100vw / var(--vw) * 388.8);
  left: calc(100vw / var(--vw) * 177.9);
}

.strength-about {
  padding-top: calc(100vw / var(--vw) * 121);
  padding-bottom: calc(100vw / var(--vw) * 138);
}

.strength-about__contents-wrapper {
  margin-top: calc(100vw / var(--vw) * 8);
}

.strength-about__contents-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.strength-about__contents-item.left {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.strength-about__contents-item.right {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.strength-about__contents-item.top {
  gap: calc(100vw / var(--vw) * 103.4);
}

.strength-about__contents-item.second {
  gap: calc(100vw / var(--vw) * 50.8);
  margin-top: calc(100vw / var(--vw) * 118.8);
}

.strength-about__contents-item.third {
  gap: calc(100vw / var(--vw) * 58.7);
  margin-top: calc(100vw / var(--vw) * 89.1);
}

.strength-about__contents-item.fourth {
  gap: calc(100vw / var(--vw) * 124);
  margin-top: calc(100vw / var(--vw) * 89.1);
}

.strength-about__contents-item.fourth {
  gap: calc(100vw / var(--vw) * 124);
  margin-top: calc(100vw / var(--vw) * 89.1);
}

.strength-about__contents-item.fifth {
  gap: calc(100vw / var(--vw) * 51.8);
  margin-top: calc(100vw / var(--vw) * 89.1);
}

.strength-about__contents-item-image {
  width: calc(100vw / var(--vw) * 743);
}

.strength-about__contents-item-image.top {
  width: calc(100vw / var(--vw) * 560);
}

.strength-about__contents-item-text-wrapper {
  padding-top: calc(100vw / var(--vw) * 128);
  width: calc(100vw / var(--vw) * 500);
}

.strength-about__contents-item-text-wrapper.top {
  padding-top: calc(100vw / var(--vw) * 94);
  width: calc(100vw / var(--vw) * 638.54);
}

.strength-about__contents-item-title {
  font-size: calc(100vw / var(--vw) * 39.33);
  color: var(--blue);
  font-weight: 400;
  line-height: 1.3;
}

.strength-about__contents-item-text {
  font-size: calc(100vw / var(--vw) * 18);
  margin-top: calc(100vw / var(--vw) * 50);
  line-height: 1.8;
}

.strength-department {
  background: #EBF2F8;
  padding-top: calc(100vw / var(--vw) * 90.2);
  padding-bottom: calc(100vw / var(--vw) * 98.6);
}

.strength-department__heading-text {
  text-align: center;
  font-size: calc(100vw / var(--vw) * 18);
  line-height: 1.8;
  margin-top: calc(100vw / var(--vw) * 48.8);
}

.strength-department__contents-wrapper {
  margin: 0 auto;
  margin-top: calc(100vw / var(--vw) * 74);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: calc(100vw / var(--vw) * 83);
  width: calc(100vw / var(--vw) * 1002);
}

.strength-department__contents-item {
  width: calc(100vw / var(--vw) * 278.36);
}

.strength-department__contents-item-title {
  color: var(--blue);
  font-size: calc(100vw / var(--vw) * 22);
  font-weight: 400;
  text-align: center;
  margin-top: calc(100vw / var(--vw) * 32.3);
}

.strength-department__contents-item-text {
  font-size: calc(100vw / var(--vw) * 18);
  margin-top: calc(100vw / var(--vw) * 31.6);
  line-height: 1.8;
}

.company__title-wrapper {
  margin-top: calc(100vw / var(--vw) * 121);
}

.company__message-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(100vw / var(--vw) * 80);
  margin-top: calc(100vw / var(--vw) * 84.4);
}

.company__message-image {
  width: calc(100vw / var(--vw) * 410);
  border-radius: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 100) calc(100vw / var(--vw) * 100) calc(100vw / var(--vw) * 0);
}

.company__message-text-wrapper {
  width: calc(100vw / var(--vw) * 850.78);
}

.company__message-text {
  font-size: calc(100vw / var(--vw) * 18);
  line-height: 1.8;
}

.company__message-text.bottom {
  margin-top: calc(100vw / var(--vw) * 20);
  text-align: right;
}

.company__ceo-name {
  font-size: calc(100vw / var(--vw) * 39.33);
  margin-top: calc(100vw / var(--vw) * 15.3);
  color: var(--blue);
  font-weight: 400;
  text-align: right;
}

.company__philosophy-text {
  width: calc(100vw / var(--vw) * 345.25);
  height: calc(100vw / var(--vw) * 345.25);
  border-radius: 9999px;
  background: #fff;
  font-size: calc(100vw / var(--vw) * 26);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: calc(100vw / var(--vw) * 34.1);
  text-align: center;
  color: #4172B0;
  line-height: 1.8;
}

.company__middle-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #ECF1F7;
  margin-top: calc(100vw / var(--vw) * 166);
  padding: calc(100vw / var(--vw) * 92.7) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 83.8) calc(100vw / var(--vw) * 0);
  gap: calc(100vw / var(--vw) * 139.5);
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.company__quality-policy-text-wrapper {
  margin-top: calc(100vw / var(--vw) * 82.3);
}

.company__quality-policy-text {
  font-size: calc(100vw / var(--vw) * 26);
  margin-top: calc(100vw / var(--vw) * 42);
  color: #4172B0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 15);
}

.company__quality-policy-text::before {
  content: "";
  display: block;
  width: calc(100vw / var(--vw) * 43.47);
  height: calc(100vw / var(--vw) * 35.96);
  background-image: url("../../images/check-icon.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.company__overview-wrapper {
  padding: calc(100vw / var(--vw) * 164) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 165.8) calc(100vw / var(--vw) * 0);
}

.company__overview-text-wrapper {
  margin-top: calc(100vw / var(--vw) * 62.7);
}

.company__overview-text-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: calc(100vw / var(--vw) * 458.02);
  border-bottom: 0.5px solid #3C3C3C;
  padding: calc(100vw / var(--vw) * 16) calc(100vw / var(--vw) * 0);
  margin: 0 auto;
  gap: calc(100vw / var(--vw) * 40);
  font-size: calc(100vw / var(--vw) * 18);
}

.company__overview-text-item:first-of-type {
  padding-top: 0;
}

.company__overview-text-item .label {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: calc(100vw / var(--vw) * 162);
  white-space: nowrap;
}

.company__overview-text-item .value {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.company__overview-map-wrapper {
  margin-top: calc(100vw / var(--vw) * 88.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(100vw / var(--vw) * 48.8);
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.company__overview-map-image {
  width: calc(100vw / var(--vw) * 300.47);
  height: calc(100vw / var(--vw) * 231.72);
  background: #CCCCCC;
}

.company__overview-map-button-wrapper {
  margin-top: calc(100vw / var(--vw) * 15.7);
  text-align: center;
}

.company__overview-map-button-wrapper .primary-button {
  padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 10);
}

.about-page__category-wrapper {
  margin: 0 auto;
  margin-top: calc(100vw / var(--vw) * 67.3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: calc(100vw / var(--vw) * 30);
  width: calc(100vw / var(--vw) * 1200);
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  z-index: 10;
}

.about-page__category-item {
  font-size: calc(100vw / var(--vw) * 18);
}

.about-page__category-item::after {
  content: "|";
  margin-left: calc(100vw / var(--vw) * 30);
}

.about-page__category-item:last-child::after {
  display: none;
}

.about-page__contents-wrapper {
  padding-top: calc(100vw / var(--vw) * 180);
  padding-bottom: calc(100vw / var(--vw) * 227.5);
  width: calc(100vw / var(--vw) * 997.3);
  margin: 0 auto;
}

.about-page__contents-child-category-title {
  font-size: calc(100vw / var(--vw) * 24);
  color: var(--blue);
  background: var(--light-blue);
  font-weight: 400;
  text-align: center;
  margin-top: calc(100vw / var(--vw) * 139.7);
  padding: calc(100vw / var(--vw) * 18) calc(100vw / var(--vw) * 0);
  line-height: 1;
}

.about-page__contents-child-category-title:first-child {
  margin-top: 0;
}

.about-page__contents:not(:last-child) {
  border-bottom: 1px dashed #183F93;
  padding-bottom: calc(100vw / var(--vw) * 91.3);
  margin-bottom: calc(100vw / var(--vw) * 91.3);
}

.about-page__contents-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: calc(100vw / var(--vw) * 70.8);
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.about-page__contents-top .text-wrapper {
  width: calc(100vw / var(--vw) * 529.73);
}

.about-page__contents-top .title {
  font-size: calc(100vw / var(--vw) * 39.33);
  color: var(--blue);
  font-weight: 400;
  line-height: 1.3;
  border-bottom: 1px solid var(--border-color);
  padding-bottom: calc(100vw / var(--vw) * 28);
}

.about-page__contents-top .subtitle {
  font-size: calc(100vw / var(--vw) * 24);
  color: var(--blue);
  font-weight: 400;
  line-height: 1.3;
  margin-top: calc(100vw / var(--vw) * 24.8);
}

.about-page__contents-top .text {
  font-size: calc(100vw / var(--vw) * 18);
  margin-top: calc(100vw / var(--vw) * 32.7);
  line-height: 1.8;
}

.about-page__contents-top img {
  width: calc(100vw / var(--vw) * 427.37);
}

.about-page__contents-bottom__title {
  font-size: calc(100vw / var(--vw) * 20);
  margin-top: calc(100vw / var(--vw) * 41.8);
  background: var(--blue);
  color: #fff;
  text-align: center;
  padding: calc(100vw / var(--vw) * 10) calc(100vw / var(--vw) * 0);
  line-height: 1;
}

.about-page__contents-bottom__contents-wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(100vw / var(--vw) * 61.6);
  margin-top: calc(100vw / var(--vw) * 30.1);
}

.about-page__contents-bottom__contents-item {
  min-width: 0;
}

.about-popup-wrapper {
  width: calc(100vw / var(--vw) * 999.61);
  width: calc(100vw / var(--vw) * 999.61) !important;
  border-radius: calc(100vw / var(--vw) * 42.77);
  padding-bottom: 0;
}

.about-popup-wrapper .swal2-html-container {
  padding: 0;
  margin: 0;
}

.about-popup-wrapper .swal2-close {
  display: none !important;
}

.about-popup-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: calc(100vw / var(--vw) * 35.3);
  padding: calc(100vw / var(--vw) * 47) calc(100vw / var(--vw) * 0);
  max-width: 100%;
}

.about-popup-image {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: calc(100vw / var(--vw) * 480);
}

.about-popup-image img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: contain;
  object-fit: contain;
}

.about-popup-right {
  width: calc(100vw / var(--vw) * 397.3);
}

.about-popup-logo {
  width: calc(100vw / var(--vw) * 166.32);
  margin: 0 auto;
}

.about-popup-logo img {
  width: 100%;
  height: auto;
  display: block;
}

.about-popup-description {
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 1.8;
  margin-top: calc(100vw / var(--vw) * 34.8);
}

.about-popup-download,
.about-popup-website {
  white-space: nowrap;
  width: calc(100vw / var(--vw) * 250.99);
  margin-top: calc(100vw / var(--vw) * 40);
}

.about-popup-website {
  margin-top: calc(100vw / var(--vw) * 22.8);
}

.swal2-container {
  z-index: 1000000;
}

.contact__contents-wrapper {
  padding-top: calc(100vw / var(--vw) * 296.8);
  padding-bottom: calc(100vw / var(--vw) * 141.2);
}

.contact__title {
  font-size: calc(100vw / var(--vw) * 55.34);
  color: var(--blue);
  text-align: center;
}

.contact__form-wrapper {
  width: calc(100vw / var(--vw) * 1000);
  margin: 0 auto;
  margin-top: calc(100vw / var(--vw) * 123.7);
  font-size: calc(100vw / var(--vw) * 18);
}

.contact__form-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #F2F1F1;
  padding: calc(100vw / var(--vw) * 18.8) calc(100vw / var(--vw) * 22.5) calc(100vw / var(--vw) * 18.8) calc(100vw / var(--vw) * 24);
  margin-top: calc(100vw / var(--vw) * 14.1);
}

.contact__form-inner .required {
  background: var(--blue);
  padding: calc(100vw / var(--vw) * 5);
  line-height: 1;
  color: #fff;
  font-size: calc(100vw / var(--vw) * 12.56);
  margin-left: calc(100vw / var(--vw) * 10);
}

.contact__form-input-wrapper {
  width: calc(100vw / var(--vw) * 737.77);
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.contact__form-input-item-wrapper {
  width: calc(100vw / var(--vw) * 349.22);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 10);
}

.contact__form-input {
  width: calc(100vw / var(--vw) * 737.77);
  -ms-flex-negative: 0;
  flex-shrink: 0;
  height: calc(100vw / var(--vw) * 69.68);
  border: none;
  padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
}

.contact__form-input.half {
  width: calc(100vw / var(--vw) * 321.58);
}

.contact__form-input.textarea {
  padding: calc(100vw / var(--vw) * 15);
  height: calc(100vw / var(--vw) * 296.63);
  resize: none;
}

.contact__form-privacy-policy-wrapper {
  margin-top: calc(100vw / var(--vw) * 48.4);
  height: calc(100vw / var(--vw) * 382.91);
  overflow: auto;
  border: 1px solid #000;
  padding: calc(100vw / var(--vw) * 40) calc(100vw / var(--vw) * 20);
}

.contact__form-privacy-policy-wrapper h3 {
  font-size: calc(100vw / var(--vw) * 27);
  text-align: center;
  font-weight: 400;
}

.contact__form-privacy-policy-text {
  text-align: center;
  margin-top: calc(100vw / var(--vw) * 73.6);
}

.contact__form-privacy-policy-checkbox {
  margin-top: calc(100vw / var(--vw) * 32.3);
  text-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.contact__form-privacy-policy-checkbox input {
  width: calc(100vw / var(--vw) * 28.87);
  height: calc(100vw / var(--vw) * 28.87);
  margin: 0;
  vertical-align: calc(100vw / var(--vw) * -8);
}

.contact__form-submit-button-wrapper {
  text-align: center;
  margin-top: calc(100vw / var(--vw) * 61.6);
  position: relative;
}

.contact__form-submit-button-wrapper .wpcf7-spinner {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: calc(100vw / var(--vw) * 280);
}

.submit-button {
  width: calc(100vw / var(--vw) * 248.68);
  border: none;
  cursor: pointer;
}

.wpcf7-form-control-wrap[data-name=checkbox-38] .wpcf7-not-valid-tip {
  text-align: center;
}

.wpcf7-not-valid-tip {
  margin-top: calc(100vw / var(--vw) * 8);
}

@media screen and (min-width: 768px) {
  :root {
    --vw: 1600;
  }
}

@media screen and (max-width: 768px) {
  :root {
    --vw: 750;
  }

  main {
    padding-top: calc(100vw / var(--vw) * 114.9);
  }

  .pc {
    display: none !important;
    margin: 0;
    padding: 0;
  }

  .pc_fx {
    display: none !important;
  }

  .pc_inline {
    display: none !important;
  }

  .pc_inline_block {
    display: none !important;
  }

  .sp {
    display: block !important;
  }

  .sp_inline {
    display: inline !important;
  }

  .sp_fx {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .sp_inline_block {
    display: inline-block !important;
  }

  .primary-button {
    font-size: calc(100vw / var(--vw) * 24);
    height: calc(100vw / var(--vw) * 64.44);
    line-height: calc(100vw / var(--vw) * 64.44);
  }

  .primary-button.strength-button {
    font-size: calc(100vw / var(--vw) * 39.61);
    height: calc(100vw / var(--vw) * 106.34);
    line-height: calc(100vw / var(--vw) * 106.34);
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 70);
  }

  .primary-button.border {
    font-size: calc(100vw / var(--vw) * 39.61);
    height: calc(100vw / var(--vw) * 103.34);
    line-height: calc(100vw / var(--vw) * 103.34);
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 70);
  }

  .primary-button.sp-header {
    font-size: calc(100vw / var(--vw) * 24);
    width: calc(100vw / var(--vw) * 112.56);
    height: calc(100vw / var(--vw) * 112.56);
    line-height: 1.3;
    display: block;
    border-radius: 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .contents-title {
    font-size: calc(100vw / var(--vw) * 50.67);
    gap: calc(100vw / var(--vw) * 35.4);
  }

  .contents-title::after {
    width: calc(100vw / var(--vw) * 50.89);
  }

  .contents-sub-title {
    font-size: calc(100vw / var(--vw) * 25.33);
    gap: calc(100vw / var(--vw) * 10.7);
  }

  .contents-sub-title::before {
    width: calc(100vw / var(--vw) * 33.16);
    height: calc(100vw / var(--vw) * 33.16);
  }

  .header {
    padding-top: 0;
    padding-left: calc(100vw / var(--vw) * 17.7);
    height: calc(100vw / var(--vw) * 112.56);
    background: #fff;
  }

  .header__logo {
    width: calc(100vw / var(--vw) * 297);
  }

  .fv {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }

  .fv__title {
    margin-top: calc(100vw / var(--vw) * 156.1);
    width: calc(100vw / var(--vw) * 703);
    margin-left: auto;
  }

  .fv__main-image {
    width: calc(100vw / var(--vw) * 731.21);
    margin-left: auto;
  }

  .fv__bg-image {
    width: calc(100vw / var(--vw) * 410.63);
    right: auto;
    left: calc(100vw / var(--vw) * 19.5);
    bottom: calc(100vw / var(--vw) * 230);
  }

  .fv__left-bg-image {
    left: auto;
    width: calc(100vw / var(--vw) * 485.53);
    top: calc(100vw / var(--vw) * 716.9);
    right: calc(100vw / var(--vw) * -150);
  }

  .news-top {
    padding-top: calc(100vw / var(--vw) * 267.4);
    padding-bottom: calc(100vw / var(--vw) * 81.7);
  }

  .news-top__bg-image {
    display: none;
  }

  .news-bottom {
    padding-top: calc(100vw / var(--vw) * 111);
    padding-bottom: calc(100vw / var(--vw) * 108.5);
  }

  .news-bottom__bg-image {
    display: none;
  }

  .news__list-wrapper {
    width: calc(100vw / var(--vw) * 707.3);
    margin-top: calc(100vw / var(--vw) * 78.8);
  }

  .news__list-item {
    font-size: calc(100vw / var(--vw) * 24);
    padding: calc(100vw / var(--vw) * 43) calc(100vw / var(--vw) * 40);
    gap: calc(100vw / var(--vw) * 24.1);
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .news__list-item .date {
    font-size: calc(100vw / var(--vw) * 21.33);
  }

  .about {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .about__image {
    width: calc(100vw / var(--vw) * 729);
  }

  .about__title {
    margin-top: calc(100vw / var(--vw) * 52.6);
    font-size: calc(100vw / var(--vw) * 44);
  }

  .about__text-wrapper {
    width: calc(100vw / var(--vw) * 580.62);
  }

  .about__text {
    font-size: calc(100vw / var(--vw) * 24);
  }

  .about__button-wrapper {
    margin-top: calc(100vw / var(--vw) * 53);
  }

  .about__bg-image {
    position: absolute;
    width: calc(100vw / var(--vw) * 849.52);
    top: calc(100vw / var(--vw) * 364);
    right: calc(100vw / var(--vw) * -570);
  }

  .service {
    padding-top: calc(100vw / var(--vw) * 157.5);
  }

  .service__bg-image.top {
    width: calc(100vw / var(--vw) * 825.74);
    top: calc(100vw / var(--vw) * 34.1);
    left: calc(100vw / var(--vw) * -564);
  }

  .service__bg-image.bottom-left {
    display: none;
  }

  .service__bg-image.bottom-right {
    display: none;
  }

  .service__title-wrapper {
    left: auto;
  }

  .service__contents-wrapper {
    width: calc(100vw / var(--vw) * 731);
    border-radius: calc(100vw / var(--vw) * 67.5) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 67.5);
    padding-top: calc(100vw / var(--vw) * 60.5);
    padding-bottom: calc(100vw / var(--vw) * 65.7);
    padding-left: calc(100vw / var(--vw) * 48);
  }

  .service__contents-list {
    margin-top: 0;
    gap: calc(100vw / var(--vw) * 44.9);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .service__contents-list-item {
    width: calc(100vw / var(--vw) * 622.9);
    border-radius: calc(100vw / var(--vw) * 62.33);
  }

  .service__contents-list-item-image {
    height: calc(100vw / var(--vw) * 239.04);
  }

  .service__contents-list-item-text-wrapper {
    height: calc(100vw / var(--vw) * 349);
    padding-top: calc(100vw / var(--vw) * 52);
  }

  .service__contents-list-item-text-wrapper .title {
    font-size: calc(100vw / var(--vw) * 26.67);
  }

  .service__contents-list-item-text-wrapper .text {
    margin-top: calc(100vw / var(--vw) * 47.8);
    padding-left: calc(100vw / var(--vw) * 39.1);
    font-size: calc(100vw / var(--vw) * 24);
	text-align: center;  
  }

  .service__contents-list-item-text-wrapper .bottom-text {
    font-size: calc(100vw / var(--vw) * 26.67);
    margin-top: calc(100vw / var(--vw) * 60.9);
  }

  .achievements {
    padding-top: calc(100vw / var(--vw) * 106.6);
    padding-bottom: calc(100vw / var(--vw) * 87.4);
  }

  .achievements__bg-image.left {
    width: calc(100vw / var(--vw) * 728.38);
    top: calc(100vw / var(--vw) * 0);
    left: auto;
    right: calc(100vw / var(--vw) * -536);
  }

  .achievements__bg-image.right {
    width: calc(100vw / var(--vw) * 203.57);
    bottom: calc(100vw / var(--vw) * 379.3);
    right: calc(100vw / var(--vw) * 296);
  }

  .achievements__contents-wrapper {
    gap: calc(100vw / var(--vw) * 21.6);
    margin-top: calc(100vw / var(--vw) * 98);
    width: 100%;
  }

  .achievements__contents-wrapper.wide-item {
    gap: calc(100vw / var(--vw) * 37.4) calc(100vw / var(--vw) * 46.4);
  }

  .achievements__contents-item {
    width: calc(100vw / var(--vw) * 222.69);
  }

  .achievements__contents-item.wide-item {
    width: calc(100vw / var(--vw) * 330.1);
  }

  .achievements__contents-text-wrapper {
    width: calc(100vw / var(--vw) * 302.29);
  }

  .achievements__contents-title {
    font-size: calc(100vw / var(--vw) * 24);
    height: calc(100vw / var(--vw) * 70);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .corporate-activities__bg-image {
    width: calc(100vw / var(--vw) * 203.57);
    top: calc(100vw / var(--vw) * 83.1);
    left: calc(100vw / var(--vw) * -79);
  }

  .footer {
    padding-top: calc(100vw / var(--vw) * 97.3);
    padding-bottom: calc(100vw / var(--vw) * 98.1);
  }

  .footer__title {
    font-size: calc(100vw / var(--vw) * 50.67);
  }

  .footer__text {
    font-size: calc(100vw / var(--vw) * 29.33);
    margin-top: calc(100vw / var(--vw) * 50.7);
  }

  .footer__tel-wrapper {
    margin-top: calc(100vw / var(--vw) * 46.3);
  }

  .footer__tel-title {
    font-size: calc(100vw / var(--vw) * 53.28);
  }

  .footer__tel-sub-title {
    font-size: calc(100vw / var(--vw) * 24);
  }

  .footer__tel-number {
    font-size: calc(100vw / var(--vw) * 53.33);
    margin-top: calc(100vw / var(--vw) * 11.5);
    gap: calc(100vw / var(--vw) * 13.2);
  }

  .footer__tel-number::before {
    width: calc(100vw / var(--vw) * 31.44);
    height: calc(100vw / var(--vw) * 31.44);
  }

  .footer__button-wrapper {
    margin-top: calc(100vw / var(--vw) * 69.8);
  }

  .lower-page__fv {
    padding-top: calc(100vw / var(--vw) * 30);
  }

  .lower-page__fv-image {
    /*width: calc(100vw / var(--vw) * 713.22);*/
    margin: 0 auto;
  }

  .lower-page__fv-title {
    top: calc(100vw / var(--vw) * 378);
    font-size: calc(100vw / var(--vw) * 73.78);
    padding: calc(100vw / var(--vw) * 12.3) calc(100vw / var(--vw) * 8.4) calc(100vw / var(--vw) * 8.8) calc(100vw / var(--vw) * 7);
  }

  .lower-page__fv-bg.about {
    display: none;
  }

  .lower-page__fv-bg.company {
    width: calc(100vw / var(--vw) * 728.38);
    right: calc(100vw / var(--vw) * -132);
    top: calc(100vw / var(--vw) * 544);
  }

  .lower-page__fv-bg.strength {
    width: calc(100vw / var(--vw) * 728.38);
    left: calc(100vw / var(--vw) * 627);
    top: calc(100vw / var(--vw) * 524);
  }

  .strength-about {
    padding-top: calc(100vw / var(--vw) * 106.9);
    padding-bottom: calc(100vw / var(--vw) * 124.7);
  }

  .strength-about__contents-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .strength-about__contents-item.left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }

  .strength-about__contents-item.top {
    gap: calc(100vw / var(--vw) * 50.8);
  }

  .strength-about__contents-item-image {
    width: calc(100vw / var(--vw) * 634);
  }

  .strength-about__contents-item-image.top {
    /*margin: 0 auto;*/
	margin-right: auto;
    /*width: calc(100vw / var(--vw) * 711.51);*/
	width: calc(100vw / var(--vw) * 634);
  }

  .strength-about__contents-item-image.right {
    margin-left: auto;
  }

  .strength-about__contents-item-text-wrapper {
    padding-top: 0;
    /*width: calc(100vw / var(--vw) * 705.71);*/
	width: calc(100vw / var(--vw) * 638.54);
    margin: 0 auto;
  }

  .strength-about__contents-item-text-wrapper.top {
    padding-top: 0;
    /*width: calc(100vw / var(--vw) * 705.71);*/
    margin: 0 auto;
    margin-top: calc(100vw / var(--vw) * 77.1);
  }

  .strength-about__contents-item-title {
    font-size: calc(100vw / var(--vw) * 44);
  }

  .strength-about__contents-item-text {
    font-size: calc(100vw / var(--vw) * 24);
    margin-top: calc(100vw / var(--vw) * 62.8);
  }

  .strength-department {
    padding-top: calc(100vw / var(--vw) * 128.3);
    padding-bottom: calc(100vw / var(--vw) * 151.9);
  }

  .strength-department__heading-text {
    font-size: calc(100vw / var(--vw) * 24);
    margin-top: calc(100vw / var(--vw) * 65.3);
  }

  .strength-department__contents-wrapper {
    width: 100%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: calc(100vw / var(--vw) * 46.4);
  }

  .strength-department__contents-item {
    width: calc(100vw / var(--vw) * 330.11);
  }

  .strength-department__contents-item-title {
    font-size: calc(100vw / var(--vw) * 29.33);
    margin-top: calc(100vw / var(--vw) * 20);
  }

  .strength-department__contents-item-text {
    font-size: calc(100vw / var(--vw) * 24);
    margin-top: calc(100vw / var(--vw) * 42.5);
  }

  .company__title-wrapper {
    margin-top: calc(100vw / var(--vw) * 166.4);
  }

  .company__message-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: calc(100vw / var(--vw) * 72.7);
    gap: calc(100vw / var(--vw) * 113.7);
  }

  .company__message-image-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    gap: calc(100vw / var(--vw) * 33.7);
  }

  .company__message-image {
    width: calc(100vw / var(--vw) * 434);
  }

  .company__message-text-wrapper {
    width: calc(100vw / var(--vw) * 712.09);
  }

  .company__message-text {
    font-size: calc(100vw / var(--vw) * 24);
  }

  .company__message-text.bottom {
    margin-top: 0;
    text-align: left;
    margin-left: calc(100vw / var(--vw) * 10);
  }

  .company__ceo-name {
    font-size: calc(100vw / var(--vw) * 52.44);
  }

  .company__philosophy-text {
    width: calc(100vw / var(--vw) * 460.34);
    height: calc(100vw / var(--vw) * 460.34);
    margin: 0 auto;
    margin-top: calc(100vw / var(--vw) * 45.5);
    font-size: calc(100vw / var(--vw) * 34.67);
  }

  .company__middle-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: calc(100vw / var(--vw) * 115.7) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 166.8) calc(100vw / var(--vw) * 0);
    gap: calc(100vw / var(--vw) * 180.4);
  }

  .company__quality-policy-text-wrapper {
    margin: 0 auto;
    margin-top: calc(100vw / var(--vw) * 72.3);
    width: calc(100vw / var(--vw) * 590);
  }

  .company__quality-policy-text {
    font-size: calc(100vw / var(--vw) * 34.67);
    gap: calc(100vw / var(--vw) * 20);
  }

  .company__quality-policy-text::before {
    width: calc(100vw / var(--vw) * 57.96);
    height: calc(100vw / var(--vw) * 47.94);
  }

  .company__overview-wrapper {
    padding: calc(100vw / var(--vw) * 121.8) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 116) calc(100vw / var(--vw) * 0);
  }

  .company__overview-text-wrapper {
    margin-top: calc(100vw / var(--vw) * 77.6);
  }

  .company__overview-text-item {
    width: calc(100vw / var(--vw) * 711.29);
    font-size: calc(100vw / var(--vw) * 28);
    gap: calc(100vw / var(--vw) * 76.4);
  }

  .company__overview-text-item .label {
    width: calc(100vw / var(--vw) * 140);
  }

  .company__overview-map-wrapper {
    margin: 0 auto;
    margin-top: calc(100vw / var(--vw) * 107.1);
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: calc(100vw / var(--vw) * 711.94);
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: calc(100vw / var(--vw) * 55.3);
  }

  .company__overview-map-image {
    width: calc(100vw / var(--vw) * 328.32);
    height: calc(100vw / var(--vw) * 253.2);
  }

  .company__overview-map-button-wrapper {
    margin-top: calc(100vw / var(--vw) * 25.7);
  }

  .about-page__category-wrapper {
    width: calc(100vw / var(--vw) * 700);
    gap: calc(100vw / var(--vw) * 20);
  }

  .about-page__category-item {
    font-size: calc(100vw / var(--vw) * 28);
  }

  .about-page__category-item::after {
    margin-left: calc(100vw / var(--vw) * 15);
  }

  .about-page__contents-wrapper {
    padding-top: calc(100vw / var(--vw) * 115.8);
    padding-bottom: calc(100vw / var(--vw) * 136.7);
    width: calc(100vw / var(--vw) * 713.03);
  }

  .about-page__contents-child-category-title {
    margin-top: calc(100vw / var(--vw) * 103);
    font-size: calc(100vw / var(--vw) * 32);
    padding: calc(100vw / var(--vw) * 24) calc(100vw / var(--vw) * 0);
  }

  .about-page__contents:not(:last-child) {
    padding-bottom: calc(100vw / var(--vw) * 101);
    margin-bottom: calc(100vw / var(--vw) * 102.5);
  }

  .about-page__contents-top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .about-page__contents-top .text-wrapper {
    width: 100%;
  }

  .about-page__contents-top .title {
    font-size: calc(100vw / var(--vw) * 44);
    padding-bottom: calc(100vw / var(--vw) * 50);
  }

  .about-page__contents-top .subtitle {
    font-size: calc(100vw / var(--vw) * 32);
    margin-top: calc(100vw / var(--vw) * 33.1);
  }

  .about-page__contents-top .text {
    font-size: calc(100vw / var(--vw) * 24);
    margin-top: calc(100vw / var(--vw) * 43.9);
  }

  .about-page__contents-top img {
    width: calc(100vw / var(--vw) * 569.82);
    margin: 0 auto;
    margin-top: calc(100vw / var(--vw) * 40);
  }

  .about-page__contents-bottom__title {
    font-size: calc(100vw / var(--vw) * 26.67);
    margin-top: calc(100vw / var(--vw) * 74.2);
  }

  .about-page__contents-bottom__contents-wrapper {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(100vw / var(--vw) * 53.7);
    margin-top: calc(100vw / var(--vw) * 52.5);
  }

  .about-popup-wrapper {
    width: calc(100vw / var(--vw) * 711.47) !important;
  }

  .about-popup-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: calc(100vw / var(--vw) * 56);
    padding: calc(100vw / var(--vw) * 75.4) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 80.5) calc(100vw / var(--vw) * 0);
  }

  .about-popup-image {
    width: calc(100vw / var(--vw) * 480.23);
  }

  .about-popup-right {
    width: calc(100vw / var(--vw) * 643.08);
  }

  .about-popup-description {
    font-size: calc(100vw / var(--vw) * 24);
    margin-top: calc(100vw / var(--vw) * 35.1);
    width: 100%;
  }

  .about-popup-download,
  .about-popup-website {
    width: calc(100vw / var(--vw) * 334.65);
    height: calc(100vw / var(--vw) * 64.44);
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: calc(100vw / var(--vw) * 34.1);
    font-size: calc(100vw / var(--vw) * 24);
  }

  .about-popup-website {
    margin-top: calc(100vw / var(--vw) * 44.3);
  }

  .contact__contents-wrapper {
    padding-top: calc(100vw / var(--vw) * 119.4);
    padding-bottom: calc(100vw / var(--vw) * 197.6);
  }

  .contact__form-wrapper {
    width: 100%;
    margin-top: calc(100vw / var(--vw) * 148.3);
    font-size: calc(100vw / var(--vw) * 24);
  }

  .contact__form-inner .wpcf7-form-control-wrap {
    width: 100%;
  }

  .contact__form-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: calc(100vw / var(--vw) * 24.1);
    padding: calc(100vw / var(--vw) * 25);
    margin-top: calc(100vw / var(--vw) * 11);
  }

  .contact__form-inner .required {
    font-size: calc(100vw / var(--vw) * 16.74);
  }

  .contact__form-input-wrapper {
    width: 100%;
  }

  .contact__form-input-item-wrapper {
    width: calc(100vw / var(--vw) * 337.6);
    gap: calc(100vw / var(--vw) * 13);
  }

  .contact__form-input {
    width: 100%;
  }

  .contact__form-input.half {
    width: calc(100vw / var(--vw) * 300.75);
  }

  .contact__form-privacy-policy-wrapper {
    margin: 0 auto;
    margin-top: calc(100vw / var(--vw) * 44.5);
    width: calc(100vw / var(--vw) * 700.56);
    padding: calc(100vw / var(--vw) * 50) calc(100vw / var(--vw) * 30);
  }

  .contact__form-privacy-policy-wrapper h3 {
    font-size: calc(100vw / var(--vw) * 36);
  }

  .contact__form-privacy-policy-text {
    margin-top: calc(100vw / var(--vw) * 80);
  }

  .contact__form-privacy-policy-checkbox {
    margin-top: calc(100vw / var(--vw) * 56.2);
  }

  .contact__form-privacy-policy-checkbox input {
    width: calc(100vw / var(--vw) * 38.49);
    height: calc(100vw / var(--vw) * 38.49);
    vertical-align: calc(100vw / var(--vw) * -6);
  }

  .contact__form-submit-button-wrapper {
    margin-top: calc(100vw / var(--vw) * 65.3);
  }

  .submit-button {
    width: calc(100vw / var(--vw) * 531.72);
    height: calc(100vw / var(--vw) * 103.34);
    font-size: calc(100vw / var(--vw) * 39.61);
  }
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/*# sourceMappingURL=styles.css.map */


.achievements__contents-image {
  /* 角丸のサイズを指定（デザインに合わせて数値を調整してください） */
  border-radius: 40px; 
  
  /* もし画像によって縦横のサイズがバラバラになってしまう場合は、以下も追加すると綺麗に揃います */
  width: 100%;
  aspect-ratio: 1 / 1; /* 正方形の枠にする */
  object-fit: cover; /* 枠に合わせて自動でトリミング */
}

.service__contents-list-item-text-wrapper .absolute-text {
  position: absolute;
  /* 画像の右下に配置するための位置調整 */
  top: 0;
  right: 0;
  transform: translateY(-100%);
  
  /* 既存のフォントサイズ */
  font-size: calc(100vw / var(--vw) * 12);
  
  /* --- ここから視認性を上げるための装飾 --- */
  background-color: rgba(255, 255, 255, 0.85); /* 白の半透明背景（写真に被っても読めるように） */
  color: var(--blue); /* 文字色はテーマカラーの青 */
  padding: calc(100vw / var(--vw) * 4) calc(100vw / var(--vw) * 12); /* テキスト周りの余白 */
  border-radius: calc(100vw / var(--vw) * 10) 0 0 0; /* 左上だけ角丸にして馴染ませる */
  font-weight: bold; /* 少し太字にして目立たせる */
  z-index: 10;
}

/* 2番目の画像（strength_about_image2）：左側（左上・左下）だけ角丸 */
.strength-about__contents-item.second .strength-about__contents-item-image {
  border-radius: 30px 0 0 30px; /* 左上 右上 右下 左下 の順 */
}

/* 3番目の画像（strength_about_image5）：右側（右上・右下）だけ角丸 */
.strength-about__contents-item.third .strength-about__contents-item-image {
  border-radius: 0 30px 30px 0; /* 左上 右上 右下 左下 の順 */
}

/* 4番目の画像（strength_about_image4）：左側（左上・左下）だけ角丸 */
.strength-about__contents-item.fourth .strength-about__contents-item-image {
  border-radius: 30px 0 0 30px; /* 左上 右上 右下 左下 の順 */
}

/* 5番目の画像（strength_about_image5）：右側（右上・右下）だけ角丸 */
.strength-about__contents-item.fifth .strength-about__contents-item-image {
  border-radius: 0 30px 30px 0; /* 左上 右上 右下 左下 の順 */
}

/* 親要素（元に戻す） */
.lower-page__fv {
  position: relative;
  /* background-color: #fff; と border-radius は削除してください */
}

/* 画像要素 */
.lower-page__fv-image {
  margin: 0;
  height: calc(100vw / var(--vw) * 550);
  object-fit: cover; 
  object-position: center center;
  border-radius: 0 0 calc(100vw / var(--vw) * 80) calc(100vw / var(--vw) * 80);
}

/* --- 代表挨拶：ホバー画像切り替えギミック --- */
.ceo-image-box {
  position: relative;
  display: inline-block;
  cursor: pointer;
}
.ceo-image-box .img-hover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.ceo-image-box:hover .img-hover {
  opacity: 1;
}

.strength-department__contents-item-image {
  border-radius: 30px;
  width: 100%;
  object-fit: cover;
}
.company__overview-map-image iframe {
    width: 100%;
    height: 100%;
    vertical-align: bottom; 
}

/* ロゴ画像がきれいに収まるように枠のサイズとフィット感を調整 */
.factory-logo-img {
  width: 100%;
  height: 120px; /* お好みの高さに調整してください */
  object-fit: contain; /* 画像を見切れることなく枠内に収める */
  background-color: #ffffff; /* ロゴの背景が透過の場合に備えて白を敷く（任意） */
  margin-bottom: 16px; /* ボタンとの余白 */
}
.about-page__contents-image {
  width: 100%; /* 親要素に対する幅（必要に応じて「300px」などの固定値に変更） */
  height: auto; /* 高さを自動にして比率を保つ */
  object-fit: contain;
}

/* =========================================
   ニュースリスト（TOP・一覧ページ共通）
   ========================================= */
/* リスト全体を中央寄せ・幅調整 */
.news__list-wrapper {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
}

/* 各ニュースの項目 */
.news__list-item {
  display: flex;
  align-items: center;
  background-color: #fff;
  border: 1px solid #c9d6e8; /* 既存の薄い青枠に合わせた色 */
  border-radius: 40px;       /* 既存の角丸 */
  padding: 15px 30px;
  margin-bottom: 20px;
  text-decoration: none;
  color: #333;
  transition: all 0.3s ease; /* ホバー時のアニメーション */
}

/* ホバー（マウスオン）した時の動き */
.news__list-item:hover {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05); /* 影をつけて少し浮かせる */
  transform: translateY(-2px);
}

/* 日付 */
.news__list-item .date {
  color: #4A70B6; /* 既存の青文字に合わせた色 */
  font-weight: bold;
  margin-right: 20px;
  font-size: 15px;
  flex-shrink: 0;
}

/* タイトル */
.news__list-item .title {
  flex: 1;
  font-size: 16px;
  line-height: 1.5;
}

/* 一覧用のサムネイル画像（設定された場合） */
.news__thumbnail {
  width: 60px;
  height: 60px;
  margin-right: 15px;
  flex-shrink: 0;
  border-radius: 8px;
  overflow: hidden;
}
.news__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* =========================================
   ボタン共通（全ての記事一覧、一覧へ戻る）
   ========================================= */
.news__archive-link,
.back-link {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px;
}

.btn-archive {
  display: inline-block;
  padding: 12px 40px;
  background-color: transparent;
  color: #4A70B6;
  border: 1px solid #4A70B6;
  border-radius: 30px;
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
  transition: all 0.3s ease;
}

.btn-archive:hover {
  background-color: #4A70B6;
  color: #fff;
}

/* =========================================
   ニュース一覧ページ専用 (archive-news.php)
   ========================================= */
.news-archive {
  padding-top: 120px; /* ヘッダーの下に潜り込まないよう余白追加 */
  padding-bottom: 60px;
}

/* ページネーション（1, 2, 3...） */
.pagination {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 40px;
}
.pagination .page-numbers {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid #c9d6e8;
  border-radius: 50%;
  text-decoration: none;
  color: #333;
  transition: all 0.3s ease;
}
.pagination .page-numbers.current,
.pagination .page-numbers:hover {
  background-color: #4A70B6;
  color: #fff;
  border-color: #4A70B6;
}

/* =========================================
   ニュース詳細ページ専用 (single-news.php)
   ========================================= */
.news-single-page {
  max-width: 800px;
  margin: 0 auto;
  padding: 120px 20px 60px; /* 上部120pxでヘッダー被りを解消 */
}

/* 記事エリアの白い背景と角丸 */
.news-article {
  background-color: #fff;
  padding: 40px;
  border-radius: 20px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

/* 詳細ページのタイトル */
.news-title {
  font-size: 24px;
  color: #333;
  margin-bottom: 15px;
  line-height: 1.4;
  border-bottom: 2px solid #f0f0f0;
  padding-bottom: 15px;
}

/* 詳細ページの日付 */
.news-date {
  color: #4A70B6;
  font-weight: bold;
  font-size: 15px;
  margin-bottom: 25px;
}

/* 詳細ページのサムネイル */
.news-thumbnail {
  margin-bottom: 30px;
  text-align: center;
}
.news-thumbnail img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

/* 記事本文のスタイル */
.news-content {
  font-size: 16px;
  line-height: 1.8;
  color: #444;
}
.news-content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 20px 0;
}
.news-bottom {
    padding-top: calc(100vw / var(--vw) * 100);
    padding-bottom: calc(100vw / var(--vw) * 50);
    background: #EBF2F8;
}

.footer__tel-number a {
  color: #ffffff; /* または親要素の色を継承する color: inherit; */
  text-decoration: none; /* 自動でつく下線を消す場合 */
}
/* ==============================================
   オープニングアニメーション（ローディング）
============================================== */
/* 画面全体を覆う背景 */
.splash {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #ffffff; /* 背景色（必要に応じて変更） */
  z-index: 9999; /* 最前面に表示 */
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

/* JSで付与される「非表示」用のクラス */
.splash.is-loaded {
  opacity: 0;
  visibility: hidden;
}

/* ロゴのアニメーション（下からふわっと浮き上がる） */
.splash__logo {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeUpAnime 1s forwards; /* 1秒かけてアニメーション */
}

@keyframes fadeUpAnime {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ニュース個別記事の本文内のリンクに下線を引く */
.news-content a {
    text-decoration: underline;
}

/* マウスオーバー時（ホバー）の動き（お好みで） */
.news-content a:hover {
    text-decoration: none; /* マウスを乗せたら下線が消える動き */
    opacity: 0.8;
}