@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;700&display=swap);
/*font-family: 'M PLUS Rounded 1c', sans-serif;*/
* {
  box-sizing: border-box;
}

/*************************
* base
**************************/
html {
  font-size: 62.5%;
}

body {
  font-family: "Noto Serif JP", serif;
  font-weight: normal;
  line-height: 1.3;
  margin: 0;
  padding: 0;
  font-size: 1.6rem;
}
@media (max-width: 780px) {
  body {
    font-size: 1.4rem;
  }
}
@media (max-width: 480px) {
  body {
    font-size: 1.2rem;
  }
}

img {
  max-width: 100%;
  height: auto;
  border: none;
  vertical-align: bottom;
  -o-object-fit: cover;
  object-fit: cover;
}

ul {
  padding-left: 0;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
  transition: 0.3s;
}

section {
  position: relative;
  z-index: 1;
}

@media (max-width: 480px) {
  a:hover {
    opacity: 0.5;
    transition: 0.4s;
  }
}
/*************************
* fadein
**************************/
/*scroll fadein*/
.fadein {
  opacity: 0;
  transform: translateY(100px);
}

.fadein_appear {
  animation: fadein-appear 1s ease forwards;
}
@keyframes fadein-appear {
  0% {
    transform: translateY(50px);
    opacity: 0;
  }
  100% {
    transform: translateY(0px);
    opacity: 1;
  }
}

.fadeInHook5,
.fadeInHook10 {
  opacity: 0;
}

.fadeInHook5.fadeInOn,
.fadeInHook10.fadeInOn {
  opacity: 1;
  transition: 1.3s;
}

.fadeinLR {
  opacity: 0;
  transform: translateX(-100px);
}

.fadeinLR_appear {
  animation: fadeinLR 1s ease forwards;
}
@keyframes fadeinLR {
  0% {
    transform: translateX(-50px);
    opacity: 0;
  }
  100% {
    transform: translateX(0px);
    opacity: 1;
  }
}

/*header 付近でコンテンツを消す*/
/* フェード対象の共通スタイル */
.js-fade-on-header {
  will-change: opacity, transform;
  transition: opacity 0.2s linear, transform 0.2s linear;
}

/*************************
* レスポンシブ
**************************/
.pc_content {
  display: block;
}
@media (max-width: 780px) {
  .pc_content {
    display: none;
  }
}

.sp_content {
  display: none;
}
@media (max-width: 780px) {
  .sp_content {
    display: block;
  }
}

.pc_br {
  display: initial;
}
@media (max-width: 780px) {
  .pc_br {
    display: none;
  }
}

.sp_br {
  display: none;
}
@media (max-width: 780px) {
  .sp_br {
    display: initial;
  }
}

.x_sp_br {
  display: none;
}
@media (max-width: 480px) {
  .x_sp_br {
    display: initial;
  }
}

.br_content {
  display: inline-block;
}

/*************************
* flex
**************************/
.f_boxs {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

/*************************
* common
**************************/
/* sectioon */
.section {
  padding: 60px 0px;
}
@media (max-width: 780px) {
  .section {
    padding: 45px 0;
  }
}
@media (max-width: 780px) {
  .section {
    padding: 40px 0;
  }
}
.section .inner {
  width: 1000px;
  max-width: 94%;
  margin: 0 auto;
}

/* button */
.base_btn {
  width: 280px;
  max-width: 90%;
  height: 60px;
  border-radius: 30px;
  color: #fff;
  border: 1px solid #fff;
  position: relative;
}
.base_btn::before {
  content: "";
  width: 26px;
  height: 26px;
  border-radius: 15px;
  position: absolute;
  top: 17px;
  left: 20px;
  transition: 0.4s;
  background: radial-gradient(circle at 50% 50%, #2c9bff 0%, #0056b3 35%, #001b33 90%, transparent 100%);
  box-shadow: 0 0 20px rgba(0, 140, 255, 0.6), 0 0 80px rgba(0, 140, 255, 0.45);
}
.base_btn:hover {
  color: #fff;
}
.base_btn:hover::before {
  width: 100%;
  height: 100%;
  border-radius: 30px;
  top: 0;
  left: 0;
  transition: 0.4s;
  box-shadow: none;
}
.base_btn:hover .link {
  opacity: 1;
}
.base_btn .link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  letter-spacing: 0.04em;
  z-index: 1;
  position: relative;
}

.base_btn_wh::before {
  background: radial-gradient(circle at 50% 50%, #2c9bff 0%, #0056b3 40%, #00142a 85%);
  box-shadow: 0 0 10px rgba(0, 140, 255, 0.5), 0 0 24px rgba(0, 140, 255, 0.35);
}
.base_btn_wh:hover {
  color: #fff;
}
.base_btn_wh:hover::before {
  box-shadow: 0 0 20px rgba(0, 140, 255, 0.4), 0 0 40px rgba(0, 140, 255, 0.3);
}
.base_btn_wh:hover .link {
  color: #fff;
}
.base_btn_wh .link {
  color: #191919;
}

/*pagenation*/
.breadcrumbs {
  width: 1000px;
  max-width: 96%;
  text-align: right;
  font-size: 14px;
  letter-spacing: 0.05em;
  padding: 10px 0;
  margin: 0 auto 30px;
}
@media (max-width: 780px) {
  .breadcrumbs {
    font-size: 12px;
  }
}

/*circles*/
.circle_content .method_circles {
  position: relative;
  max-width: 960px;
  margin: 0 auto;
  aspect-ratio: 3/2;
  /* 中央の青円（サイズ大きめ） */
  /* 左下の黒円 */
  /* 右上の黒円 */
  /* 上側の矢印 */
  /* 左側の「>」矢印（時計回り方向を指す） */
  /* 右側の「>」矢印（同じ向きに見えるよう調整） */
  /* ぐるぐる回転アニメーション */
}
@media (max-width: 780px) {
  .circle_content .method_circles {
    position: relative;
    max-width: 100%;
    margin: 0 auto;
    aspect-ratio: 1/1;
  }
}
@media (max-width: 480px) {
  .circle_content .method_circles {
    margin: 20px 0 0;
  }
}
.circle_content .method_circles .circle {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
  padding: 1.5em;
}
@media (max-width: 780px) {
  .circle_content .method_circles .circle {
    width: min(52vw, 230px);
    height: min(52vw, 230px);
    padding: 1.2em;
  }
}
.circle_content .method_circles .circle .circle__inner {
  max-width: 80%;
  margin: 0 auto;
}
.circle_content .method_circles .circle .circle__title {
  font-size: clamp(14px, 1.7vw, 30px);
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #fff;
}
@media (max-width: 780px) {
  .circle_content .method_circles .circle .circle__title {
    font-size: clamp(12px, 3.2vw, 16px);
  }
}
.circle_content .method_circles .circle .circle__sub {
  margin-top: 0.5em;
  font-size: clamp(12px, 1.2vw, 16px);
  color: #fff;
}
@media (max-width: 780px) {
  .circle_content .method_circles .circle .circle__sub {
    font-size: clamp(10px, 2.6vw, 14px);
  }
}
.circle_content .method_circles .circle--center {
  position: absolute;
  width: clamp(240px, 38vw, 420px);
  height: clamp(240px, 38vw, 420px);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, #2c9bff 0%, #0056b3 35%, #001b33 70%, transparent 100%);
  box-shadow: 0 0 40px rgba(0, 140, 255, 0.4);
  overflow: visible;
  /* ★ モワモワ光るレイヤー */
  /* ★ モワモワさせるアニメーション */
}
@media (max-width: 780px) {
  .circle_content .method_circles .circle--center {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
.circle_content .method_circles .circle--center::before {
  content: "";
  position: absolute;
  inset: -15%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(44, 155, 255, 0.9) 0%, rgba(0, 140, 255, 0.4) 40%, transparent 80%);
  filter: blur(18px);
  opacity: 0.7;
  z-index: -1;
  animation: glow-pulse 4s ease-in-out infinite;
  pointer-events: none;
}
@keyframes glow-pulse {
  0% {
    transform: scale(0.8);
    opacity: 0.35;
    filter: blur(16px);
  }
  50% {
    transform: scale(1.02);
    opacity: 0.9;
    filter: blur(24px);
  }
  100% {
    transform: scale(0.8);
    opacity: 0.35;
    filter: blur(16px);
  }
}
.circle_content .method_circles .circle--left {
  width: clamp(160px, 32vw, 340px);
  height: clamp(160px, 32vw, 340px);
  left: 5%;
  bottom: -5%;
  background: radial-gradient(circle at 80% 20%, rgba(0, 140, 255, 0.4), transparent 55%), #000;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.9);
}
@media (max-width: 780px) {
  .circle_content .method_circles .circle--left {
    left: 8%;
    top: 58%;
    transform: none;
  }
}
@media (max-width: 480px) {
  .circle_content .method_circles .circle--left {
    left: 1%;
    top: 62%;
  }
}
.circle_content .method_circles .circle--left .circle__title {
  font-size: clamp(14px, 1.5vw, 20px);
}
.circle_content .method_circles .circle--right {
  width: clamp(160px, 32vw, 340px);
  height: clamp(160px, 32vw, 340px);
  right: 5%;
  top: -5%;
  background: radial-gradient(circle at 20% 80%, rgba(0, 140, 255, 0.4), transparent 55%), #000;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.9);
}
@media (max-width: 780px) {
  .circle_content .method_circles .circle--right {
    right: 8%;
    top: 10%;
    transform: none;
  }
}
@media (max-width: 480px) {
  .circle_content .method_circles .circle--right {
    right: 1%;
    top: 0%;
  }
}
.circle_content .method_circles .circle--right .circle__title {
  font-size: clamp(14px, 1.5vw, 20px);
}
.circle_content .method_circles .circle__arrow-ring {
  position: absolute;
  inset: 0; /* 円と同じサイズ・位置に */
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.85); /* これが「円の線」 */
  box-sizing: border-box;
  margin: -20px;
  z-index: 3;
  pointer-events: none;
  animation: circle-arrows-rotate 14s linear infinite;
}
@media (max-width: 780px) {
  .circle_content .method_circles .circle__arrow-ring {
    margin: -15px;
  }
}
.circle_content .method_circles .circle__arrow-ring::before,
.circle_content .method_circles .circle__arrow-ring::after {
  content: "";
  position: absolute;
  width: 14px; /* 矢印の大きさ */
  height: 14px;
  border-width: 0 1px 1px 0; /* 右と下だけ線を引く  */
  border-style: solid;
  border-color: transparent #fff #fff transparent;
}
@media (max-width: 780px) {
  .circle_content .method_circles .circle__arrow-ring::before,
  .circle_content .method_circles .circle__arrow-ring::after {
    width: 12px;
    height: 12px;
    border-width: 0 1px 1px 0;
  }
}
.circle_content .method_circles .circle__arrow-ring::before {
  top: 50%;
  left: 0; /* 円の左端 */
  transform: translate(-50%, -50%) rotate(225deg);
}
.circle_content .method_circles .circle__arrow-ring::after {
  top: 50%;
  right: 0; /* 円の右端 */
  transform: translate(50%, -50%) rotate(45deg);
}
@keyframes circle-arrows-rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/*************************
* header
**************************/
.header {
  width: 94%;
  margin: 0px auto;
  height: 80px;
  background-color: #fff;
  border-radius: 20px;
  z-index: 10000;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}
@media (max-width: 780px) {
  .header {
    height: 60px;
  }
}
@media (max-width: 480px) {
  .header {
    top: 0px;
  }
}
.header .header_inner {
  width: 94%;
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 1500;
}
.header .header_inner .header_menu_content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
}
.header .header_inner .header_menu_content .logo {
  display: block;
  width: 240px;
  max-width: 40%;
  z-index: 1;
}
.header .header_inner .header_menu_content .logo img {
  width: 100%;
  height: auto;
}
@media (max-width: 480px) {
  .header .header_inner .header_menu_content .logo {
    max-width: 40%;
  }
}
.header .header_inner .header_menu_content .hamburger-menu__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  right: 50px;
}
.header .header_inner .header_menu_content .hamburger-menu__content .hamburger-check {
  display: none;
}
.header .header_inner .header_menu_content .hamburger-menu__content #hamburger-check:checked ~ .hamburger-btn {
  background-color: #fff;
}
.header .header_inner .header_menu_content .hamburger-menu__content #hamburger-check:checked ~ .hamburger-btn span.line1 {
  animation: dot-anime01 0.5s ease forwards;
}
@keyframes dot-anime01 {
  0% {
    left: 30%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  50% {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  100% {
    left: 35%;
    top: 35%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
}
.header .header_inner .header_menu_content .hamburger-menu__content #hamburger-check:checked ~ .hamburger-btn span.line2 {
  animation: dot-anime02 0.5s ease forwards;
}
@keyframes dot-anime02 {
  0% {
    left: 30%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  50% {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  100% {
    left: 35%;
    top: 65%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
}
.header .header_inner .header_menu_content .hamburger-menu__content #hamburger-check:checked ~ .hamburger-btn span.line3 {
  animation: dot-anime03 0.5s ease forwards;
}
@keyframes dot-anime03 {
  0% {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  50% {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  100% {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
}
.header .header_inner .header_menu_content .hamburger-menu__content #hamburger-check:checked ~ .hamburger-btn span.line4 {
  animation: dot-anime04 0.5s ease forwards;
}
@keyframes dot-anime04 {
  0% {
    left: 70%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  50% {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  100% {
    left: 65%;
    top: 35%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
}
.header .header_inner .header_menu_content .hamburger-menu__content #hamburger-check:checked ~ .hamburger-btn span.line5 {
  animation: dot-anime05 0.5s ease forwards;
}
@keyframes dot-anime05 {
  0% {
    left: 70%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  50% {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  100% {
    left: 65%;
    top: 65%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
}
.header .header_inner .header_menu_content .hamburger-menu__content #hamburger-check:checked ~ .hamburger-btn span.menu {
  display: none;
}
.header .header_inner .header_menu_content .hamburger-menu__content #hamburger-check:checked ~ .hamburger-btn span.close {
  display: block;
  color: #fff;
  background-color: #fff;
}
.header .header_inner .header_menu_content .hamburger-menu__content .hamburger-btn {
  width: 50px;
  height: 50px;
  border-radius: 15px;
  background-color: #fff;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  z-index: 1000;
}
.header .header_inner .header_menu_content .hamburger-menu__content .hamburger-btn .line {
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 2.5px;
  background-color: #0175C2;
  transition: 1s;
  position: absolute;
}
.header .header_inner .header_menu_content .hamburger-menu__content .hamburger-btn .line1 {
  left: 30%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  animation: dot-anime01-re 0.5s ease forwards;
}
@keyframes dot-anime01-re {
  0% {
    left: 35%;
    top: 35%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  50% {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  100% {
    left: 30%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
}
.header .header_inner .header_menu_content .hamburger-menu__content .hamburger-btn .line2 {
  left: 30%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  animation: dot-anime02-re 0.5s ease forwards;
}
@keyframes dot-anime02-re {
  0% {
    left: 35%;
    top: 65%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  50% {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  100% {
    left: 30%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
}
.header .header_inner .header_menu_content .hamburger-menu__content .hamburger-btn .line3 {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  animation: dot-anime03-re 0.5s ease forwards;
}
@keyframes dot-anime03-re {
  0% {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  50% {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  100% {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
}
.header .header_inner .header_menu_content .hamburger-menu__content .hamburger-btn .line4 {
  left: 70%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  animation: dot-anime04-re 0.5s ease forwards;
}
@keyframes dot-anime04-re {
  0% {
    left: 65%;
    top: 35%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  50% {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  100% {
    left: 70%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
}
.header .header_inner .header_menu_content .hamburger-menu__content .hamburger-btn .line5 {
  left: 70%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  animation: dot-anime05-re 0.5s ease forwards;
}
@keyframes dot-anime05-re {
  0% {
    left: 65%;
    top: 65%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  50% {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  100% {
    left: 70%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
}
.header .header_inner .header_menu_content .hamburger-menu__content .hamburger-btn .close {
  display: none;
}
.header .header_inner .header_menu_content .hamburger-menu__content .hamburger-menu__gnav {
  visibility: hidden;
  opacity: 0;
  transition: all 0.8s;
  height: 100vh;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  position: fixed;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background-color: #0175C2;
  background: linear-gradient(135deg, rgb(255, 255, 255) 0%, rgb(0, 117, 193) 33%, rgb(0, 64, 151) 100%);
}
.header .header_inner .header_menu_content .hamburger-menu__content .hamburger-menu__gnav .hamburger-menu__gnav__inner {
  width: 100%;
  margin: 0 auto;
  height: 90vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.header .header_inner .header_menu_content .hamburger-menu__content .hamburger-menu__gnav .hamburger-menu__gnav__inner .scroll-box {
  overflow-y: scroll;
  height: 90%;
  width: 90%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 40px 20px;
}
.header .header_inner .header_menu_content .hamburger-menu__content .hamburger-menu__gnav .hamburger-menu__gnav__inner .hamburger-menu_gnav_lists {
  width: 1000px;
  max-width: 96%;
  margin: 50px 0 50px;
}
.header .header_inner .header_menu_content .hamburger-menu__content .hamburger-menu__gnav .hamburger-menu__gnav__inner .hamburger-menu_gnav_lists .nav_list .link {
  letter-spacing: 0.06em;
  position: relative;
  z-index: 0;
}
.header .header_inner .header_menu_content .hamburger-menu__content .hamburger-menu__gnav .hamburger-menu__gnav__inner .hamburger-menu_gnav_lists .nav_list .link .en {
  display: block;
  font-size: 38px;
  letter-spacing: 0.1em;
  color: #eee;
  font-weight: 500;
  font-family: serif;
}
@media (max-width: 780px) {
  .header .header_inner .header_menu_content .hamburger-menu__content .hamburger-menu__gnav .hamburger-menu__gnav__inner .hamburger-menu_gnav_lists .nav_list .link .en {
    font-size: 32px;
  }
}
@media (max-width: 480px) {
  .header .header_inner .header_menu_content .hamburger-menu__content .hamburger-menu__gnav .hamburger-menu__gnav__inner .hamburger-menu_gnav_lists .nav_list .link .en {
    font-size: 26px;
  }
}
.header .header_inner .header_menu_content .hamburger-menu__content .hamburger-menu__gnav .hamburger-menu__gnav__inner .hamburger-menu_gnav_lists .link {
  color: #fff;
  text-transform: uppercase;
  font-family: "Noto Sans", sans-serif;
  font-size: 16px;
  letter-spacing: 0.1em;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 20px 0 20px 10px;
  position: relative;
}
@media (max-width: 780px) {
  .header .header_inner .header_menu_content .hamburger-menu__content .hamburger-menu__gnav .hamburger-menu__gnav__inner .hamburger-menu_gnav_lists .link {
    font-size: 14px;
  }
}
@media (max-width: 480px) {
  .header .header_inner .header_menu_content .hamburger-menu__content .hamburger-menu__gnav .hamburger-menu__gnav__inner .hamburger-menu_gnav_lists .link {
    font-size: 12px;
  }
}
.header .header_inner .header_menu_content .hamburger-menu__content .hamburger-menu__gnav .hamburger-menu__gnav__inner .hamburger-close-btn {
  width: 100%;
}
.header .header_inner .header_menu_content .hamburger-menu__content .hamburger-menu__gnav .hamburger-menu__gnav__inner .hamburger-close-btn .base_btn {
  color: #fff;
  border-color: #fff;
  margin: 0 auto;
}
.header .header_inner .header_menu_content .hamburger-menu__content .hamburger-menu__gnav .hamburger-menu__gnav__inner .hamburger-close-btn .base_btn:hover {
  color: #fff;
  border-color: #fff;
}
.header .header_inner .header_menu_content .hamburger-menu__content .hamburger-menu__gnav .hamburger-menu__gnav__inner .hamburger-close-btn .base_btn:hover .link {
  color: #fff;
  opacity: 1;
}
.header .header_inner .header_menu_content .hamburger-menu__content .hamburger-menu__gnav .hamburger-menu__gnav__inner .hamburger-close-btn .base_btn .link {
  color: #fff;
}
.header .header_modal.open {
  width: 94%;
  margin-right: auto;
  height: 100vh;
  z-index: 5000;
  transition: width 1s ease;
}
.header .header_modal.open .sp_gnav {
  width: 93%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: baseline;
}
.header .header_modal.open .sp_gnav .menu-toggle_close {
  display: block;
  position: relative;
}
.header .header_modal.open .sp_gnav .menu-toggle_close span.line_01 {
  width: 3px;
  height: 30px;
  background-color: #000;
  display: block;
  transform: rotate(45deg);
  position: absolute;
  top: -25px;
  right: 15px;
}
.header .header_modal.open .sp_gnav .menu-toggle_close span.line_02 {
  width: 3px;
  height: 30px;
  background-color: #000;
  display: block;
  transform: rotate(135deg);
  position: absolute;
  top: -25px;
  right: 15px;
}

.header {
  background-color: transparent;
  box-shadow: none;
}
.header .header_inner .hamburger-menu__content #hamburger-check:checked ~ .header-logo__content .orange-logo {
  display: none;
}
.header .header_inner .hamburger-menu__content #hamburger-check:checked ~ .header-logo__content .white-logo {
  display: block;
}
.header .header_inner .hamburger-menu__content #hamburger-check:checked ~ .hamburger-menu__gnav {
  visibility: visible;
  opacity: 1;
  z-index: 100;
}

body.body.toppage.hidden {
  overflow: hidden;
}

body.hidden {
  overflow: hidden;
}

/*************************
* footer
**************************/
.footer {
  background-color: #191919;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.footer .f_bg {
  background-image: url(../images/logo_bg.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.2;
  position: absolute;
  top: 0;
  right: 0;
  width: 320px;
  height: 340px;
  z-index: 0;
}
@media (max-width: 780px) {
  .footer .f_bg {
    width: 280px;
    height: 280px;
  }
}
@media (max-width: 480px) {
  .footer .f_bg {
    width: 180px;
    height: 180px;
  }
}
.footer .footer_inner {
  width: 1000px;
  max-width: 94%;
  margin: 0 auto;
  position: relative;
  padding: 60px 0 30px;
}
.footer .footer_inner .f_logo {
  margin: 0 0 20px;
}
.footer .footer_inner .f_logo .logo {
  width: 180px;
}
@media (max-width: 480px) {
  .footer .footer_inner .f_logo .logo {
    width: 140px;
  }
}
.footer .footer_inner .f_lists {
  color: #fff;
  margin: 0 0 40px;
}
.footer .footer_inner .f_lists .list {
  font-size: 12px;
  letter-spacing: 0.06em;
  line-height: 2;
}
@media (max-width: 480px) {
  .footer .footer_inner .f_lists .list {
    font-size: 10px;
  }
}
.footer .footer_inner .f_lists .list.name {
  font-size: 14px;
  margin: 0 0 4px;
}
@media (max-width: 480px) {
  .footer .footer_inner .f_lists .list.name {
    font-size: 12px;
  }
}
.footer .footer_inner .f_nav {
  margin: 0 0 80px;
}
.footer .footer_inner .f_nav .nav_lists {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.footer .footer_inner .f_nav .nav_lists .nav_list::after {
  content: "|";
  color: #fff;
  height: 80%;
}
.footer .footer_inner .f_nav .nav_lists .nav_list:first-child .link {
  padding: 0 16px 0 0;
}
.footer .footer_inner .f_nav .nav_lists .nav_list:last-child .link {
  padding: 0 0 0 16px;
}
.footer .footer_inner .f_nav .nav_lists .nav_list:last-child::after {
  content: "";
}
.footer .footer_inner .f_nav .nav_lists .nav_list .link {
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.06em;
  padding: 0 16px;
}
@media (max-width: 480px) {
  .footer .footer_inner .f_nav .nav_lists .nav_list .link {
    font-size: 10px;
  }
}
.footer .footer_inner .copy {
  font-size: 12px;
  font-family: "Noto Sans", sans-serif;
  letter-spacing: 0.06em;
  color: #959595;
  text-align: right;
}
@media (max-width: 480px) {
  .footer .footer_inner .copy {
    font-size: 10px;
  }
}

/*************************
* cta
**************************/
.cta_sec {
  display: flex;
  justify-content: space-between;
  padding-bottom: 0;
  padding: 0;
}
@media (max-width: 780px) {
  .cta_sec {
    flex-direction: column;
  }
}
.cta_sec .cta_content {
  width: 50%;
  height: 430px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  z-index: 1;
}
@media (max-width: 780px) {
  .cta_sec .cta_content {
    width: 100%;
    height: 240px;
  }
}
.cta_sec .cta_content:first-child .cta_inner {
  margin: 0 0 0 auto;
}
@media (max-width: 780px) {
  .cta_sec .cta_content:first-child .cta_inner {
    margin: 0 auto;
  }
}
.cta_sec .cta_content:last-child .cta_inner {
  margin: 0 auto 0 0;
}
@media (max-width: 780px) {
  .cta_sec .cta_content:last-child .cta_inner {
    margin: 0 auto;
  }
}
.cta_sec .cta_content .bg {
  background-color: rgba(0, 0, 0, 0.4);
  height: 100%;
  width: 100%;
  position: absolute;
  z-index: -1;
}
.cta_sec .cta_content .cta_inner {
  height: 100%;
  width: 500px;
  max-width: 100%;
  padding: 30px 0px 30px 20px;
  position: relative;
}
@media (max-width: 780px) {
  .cta_sec .cta_content .cta_inner {
    width: 96%;
    max-width: 96%;
    margin: 0 auto;
    padding: 30px 0px 30px;
  }
}
.cta_sec .cta_content .cta_inner .midashi_area .midashi {
  color: #fff;
  letter-spacing: 0.1em;
  font-size: 18px;
}
@media (max-width: 780px) {
  .cta_sec .cta_content .cta_inner .midashi_area .midashi {
    font-size: 14px;
  }
}
@media (max-width: 480px) {
  .cta_sec .cta_content .cta_inner .midashi_area .midashi {
    font-size: 14px;
  }
}
.cta_sec .cta_content .cta_inner .midashi_area .midashi .en {
  display: block;
  font-size: 34px;
  margin: 0 0 4px;
  text-transform: capitalize;
}
@media (max-width: 780px) {
  .cta_sec .cta_content .cta_inner .midashi_area .midashi .en {
    font-size: 28px;
  }
}
@media (max-width: 480px) {
  .cta_sec .cta_content .cta_inner .midashi_area .midashi .en {
    font-size: 24px;
  }
}
.cta_sec .cta_content .cta_inner .btn_area {
  position: absolute;
  bottom: -30px;
  right: -1vw;
  width: 205px;
  height: 205px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.4s;
}
@media (max-width: 780px) {
  .cta_sec .cta_content .cta_inner .btn_area {
    bottom: -35px;
    width: 28vw;
    height: 28vw;
  }
}
@media (max-width: 480px) {
  .cta_sec .cta_content .cta_inner .btn_area {
    bottom: -35px;
    width: 40vw;
    height: 40vw;
  }
}
.cta_sec .cta_content .cta_inner .btn_area .bg {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  background-color: rgba(1, 117, 194, 0.8);
  width: 200px;
  height: 200px;
  border-radius: 10vw;
  box-shadow: 0 0 10px 10px rgba(1, 117, 194, 0.8);
}
@media (max-width: 780px) {
  .cta_sec .cta_content .cta_inner .btn_area .bg {
    width: 27vw;
    height: 27vw;
    border-radius: 24vw;
  }
}
@media (max-width: 480px) {
  .cta_sec .cta_content .cta_inner .btn_area .bg {
    width: 39vw;
    height: 39vw;
    border-radius: 24vw;
  }
}
.cta_sec .cta_content .cta_inner .btn_area .link {
  color: #fff;
  letter-spacing: 0.08em;
  text-transform: capitalize;
  padding: 0 0 4px;
  position: relative;
  padding: 0 40px 0 0;
}
.cta_sec .cta_content .cta_inner .btn_area .link:hover {
  opacity: 1;
}
.cta_sec .cta_content .cta_inner .btn_area .link:hover + .bg {
  background-color: rgba(1, 117, 194, 0.6);
  box-shadow: 0 0 10px 10px rgba(1, 117, 194, 0.6);
  width: 210px;
  height: 210px;
  transition: 0.4s;
}
.cta_sec .cta_content .cta_inner .btn_area .link:before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: -5px;
  left: 0;
}
.cta_sec .cta_content .cta_inner .btn_area .link:after {
  content: "";
  width: 16px;
  height: 1px;
  background-color: #fff;
  transform: rotate(45deg);
  position: absolute;
  bottom: 0;
  right: -2px;
}
.cta_sec .cta_content.business {
  background-image: url(../images/business.jpg);
}
.cta_sec .cta_content.company {
  background-image: url(../images/company.jpg);
}
.cta_sec .cta_content.contact {
  background-image: url(../images/contact.jpg);
}

/*************************
* toppage
**************************/
/*common*/
.toppage .section .inner .midashi_area {
  position: relative;
  padding: 40px 0 0;
  margin: 0 0 50px;
}
.toppage .section .inner .midashi_area .midashi {
  font-size: clamp(24px, 7vw, 34px);
  letter-spacing: 0.06em;
  color: #fff;
}
@media (max-width: 780px) {
  .toppage .section .inner .midashi_area .midashi {
    font-size: clamp(18px, 4vw, 24px);
  }
}
.toppage .section .inner .midashi_area .midashi .en {
  font-size: clamp(46px, 12vw, 110px);
  display: block;
  position: absolute;
  bottom: 0px;
  opacity: 0.2;
}

/*fv_anime*/
.toppage {
  /* 共通：最初は透明・少しずらしておく */
  /* ① 文字：下からフワッと */
  /* ③ 背景：フェードインだけ（必要なら位置も） */
}
.toppage .fv_svg {
  width: 70%;
  height: 70%;
  text-align: end;
  position: absolute;
  right: 0;
  z-index: -1;
  transform: scale(1.2);
}
@media (max-width: 780px) {
  .toppage .fv_svg {
    height: 60%;
    transform: scale(1);
  }
}
.toppage .fv_svg #move01 {
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 780px) {
  .toppage .fv_svg #move01 {
    left: 100%;
  }
}
.toppage .fv_svg #move01 #mask01 path {
  fill: none; /* 塗りの色 */
  stroke: #ffffff; /* 線の色 */
  stroke-width: 350px; /* 線幅 */
  stroke-linecap: round; /* 線端の形状 */
  stroke-linejoin: round; /* 角の形状 */
}
.toppage .fv_svg #move02 {
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 780px) {
  .toppage .fv_svg #move02 {
    left: 100%;
  }
}
.toppage .fv_svg #move02 #mask02 path {
  fill: none; /* 塗りの色 */
  stroke: #ffffff; /* 線の色 */
  stroke-width: 200px; /* 線幅 */
  stroke-linecap: round; /* 線端の形状 */
  stroke-linejoin: round; /* 角の形状 */
}
.toppage #js-fv-text,
.toppage #js-fv-bg {
  opacity: 0;
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.toppage #js-fv-text {
  transform: translateY(20px);
}
.toppage #js-fv-text.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.toppage #js-fv-bg {
  transform: scale(1.02);
}
.toppage #js-fv-bg.is-visible {
  opacity: 1;
  transform: scale(1);
}

.home {
  /* ④ ヘッダー：上からスッと */
}
.home #js-header {
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.home #js-header.is-visible {
  opacity: 1;
  transform: translateY(0);
}

body:not(.home) #js-header {
  opacity: 1;
  transform: translateY(0);
}

.toppage {
  position: relative;
  background-color: #191919;
  overflow: hidden;
  /*fv*/
}
.toppage .fv_sec {
  width: 100vw;
  height: 100vh;
  min-height: 600px;
  max-height: 1200px;
  padding: 0;
}
.toppage .fv_sec .fv_bg {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: -1;
  background-image: url(../images/fv.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  animation: animationZoom 40s ease-in-out infinite;
}
@keyframes animationZoom {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.04);
  }
  100% {
    transform: scale(1);
  }
}
.toppage .fv_sec .bg_filter {
  width: 100%;
  height: 100%;
  inset: 0;
  z-index: -1;
  position: fixed;
  left: 0;
  top: 0;
  background-color: rgba(25, 25, 25, 0.5);
  transition: background-color 0.1s linear;
}
.toppage .fv_sec .fv_inner {
  width: 1100px;
  max-width: 94%;
  height: 100%;
  margin: 0 auto;
  position: relative;
}
.toppage .fv_sec .fv_inner .fv_midashi {
  font-size: clamp(36px, 7vw, 64px);
  letter-spacing: 0.06em;
  line-height: 1.5;
  color: #fff;
  font-weight: 600;
  position: absolute;
  left: 0;
  bottom: 15vh;
}
.toppage .philosophy_sec {
  min-height: 600px;
}
@media (max-width: 480px) {
  .toppage .philosophy_sec {
    min-height: 400px;
  }
}
.toppage .philosophy_sec .inner {
  padding: 60px 0;
}
.toppage .philosophy_sec .inner .bg_logo {
  width: 320px;
  height: 320px;
  background-image: url(../images/logo_bg.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.2;
  position: absolute;
  right: 10%;
  top: 40px;
}
@media (max-width: 780px) {
  .toppage .philosophy_sec .inner .bg_logo {
    width: clamp(200px, 25%, 250px);
    right: 0;
    top: -40px;
  }
}
.toppage .philosophy_sec .inner .headline {
  color: #fff;
  font-size: 28px;
  letter-spacing: 0.06em;
  line-height: 1.75;
  margin: 0 0 20px;
  font-weight: 600;
}
@media (max-width: 780px) {
  .toppage .philosophy_sec .inner .headline {
    font-size: 22px;
  }
}
@media (max-width: 480px) {
  .toppage .philosophy_sec .inner .headline {
    font-size: 18px;
    margin: 0 0 12px;
  }
}
.toppage .philosophy_sec .inner .text {
  color: #fff;
  letter-spacing: 0.06em;
  line-height: 1.75;
  font-family: "Noto Sans", sans-serif;
  font-size: 18px;
}
@media (max-width: 780px) {
  .toppage .philosophy_sec .inner .text {
    font-size: 16px;
  }
}
@media (max-width: 480px) {
  .toppage .philosophy_sec .inner .text {
    font-size: 14px;
  }
}
.toppage .business_sec {
  min-height: 600px;
}
.toppage .business_sec .inner {
  padding: 60px 0;
}
.toppage .business_sec .inner .headline {
  color: #fff;
  font-size: 28px;
  letter-spacing: 0.06em;
  line-height: 1.75;
  margin: 0 0 20px;
  font-weight: 600;
}
@media (max-width: 780px) {
  .toppage .business_sec .inner .headline {
    font-size: 22px;
  }
}
@media (max-width: 480px) {
  .toppage .business_sec .inner .headline {
    font-size: 18px;
    margin: 0 0 12px;
  }
}
.toppage .business_sec .inner .text {
  color: #fff;
  letter-spacing: 0.06em;
  line-height: 1.75;
  font-family: "Noto Sans", sans-serif;
  margin: 0 0 40px;
  font-size: 18px;
}
@media (max-width: 780px) {
  .toppage .business_sec .inner .text {
    font-size: 16px;
  }
}
@media (max-width: 480px) {
  .toppage .business_sec .inner .text {
    font-size: 14px;
  }
}
.toppage .business_sec .inner .base_btn .link {
  color: #fff;
}

/*************************
* subpage common
**************************/
/*title*/
.subpage {
  background-color: #E6E6E6;
}
.subpage .subpage_header {
  height: 400px;
  overflow: hidden;
}
@media (max-width: 780px) {
  .subpage .subpage_header {
    height: 340px;
  }
}
@media (max-width: 480px) {
  .subpage .subpage_header {
    height: 300px;
  }
}
.subpage .subpage_header .sec_inner {
  padding: 80px 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.subpage .subpage_header .sec_inner::after {
  content: "";
  width: 320px;
  height: 320px;
  background-image: url(../images/icon_c.png);
  background-size: contain;
  background-position: center;
  position: absolute;
  top: -50px;
  right: 40px;
  opacity: 0.2;
  z-index: -2;
}
@media (max-width: 780px) {
  .subpage .subpage_header .sec_inner::after {
    width: 280px;
    height: 280px;
    top: -25%;
    right: -5%;
  }
}
@media (max-width: 480px) {
  .subpage .subpage_header .sec_inner::after {
    width: 200px;
    height: 200px;
    top: 0px;
    right: -5%;
  }
}
.subpage .subpage_header .sec_inner .subpage_ttl {
  text-align: center;
  font-size: 32px;
  letter-spacing: 0.1em;
}
@media (max-width: 780px) {
  .subpage .subpage_header .sec_inner .subpage_ttl {
    font-size: 26px;
  }
}
@media (max-width: 480px) {
  .subpage .subpage_header .sec_inner .subpage_ttl {
    font-size: 6vw;
  }
}
.subpage .subpage_header .sec_inner .subpage_ttl .en {
  font-size: 90px;
  letter-spacing: 0.16em;
  color: #fff;
  display: block;
  text-transform: uppercase;
  position: relative;
  top: 40px;
  z-index: -1;
}
@media (max-width: 780px) {
  .subpage .subpage_header .sec_inner .subpage_ttl .en {
    font-size: 60px;
  }
}
@media (max-width: 480px) {
  .subpage .subpage_header .sec_inner .subpage_ttl .en {
    font-size: 13vw;
    top: 30px;
  }
}

/*midashi*/
.subpage article .section .subpage_midashi {
  position: relative;
  padding: 90px 0 0;
  margin: 0 0 24px;
}
@media (max-width: 780px) {
  .subpage article .section .subpage_midashi {
    padding: 60px 0 0;
  }
}
@media (max-width: 480px) {
  .subpage article .section .subpage_midashi {
    padding: 40px 0 0;
  }
}
.subpage article .section .subpage_midashi::before {
  content: "";
  width: 170px;
  height: 170px;
  background-image: url(../images/midashi_icon.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: -20px;
  opacity: 0.4;
  z-index: -1;
}
@media (max-width: 780px) {
  .subpage article .section .subpage_midashi::before {
    width: 120px;
    height: 120px;
  }
}
@media (max-width: 480px) {
  .subpage article .section .subpage_midashi::before {
    width: 80px;
    height: 80px;
  }
}
.subpage article .section .subpage_midashi .en {
  font-size: 60px;
  letter-spacing: 0.08em;
  font-weight: 600;
}
@media (max-width: 780px) {
  .subpage article .section .subpage_midashi .en {
    font-size: 40px;
    letter-spacing: 0.04em;
  }
}
@media (max-width: 480px) {
  .subpage article .section .subpage_midashi .en {
    font-size: 28px;
  }
}
.subpage article .section .subpage_midashi .midashi {
  font-size: 24px;
  letter-spacing: 0.04em;
}
@media (max-width: 780px) {
  .subpage article .section .subpage_midashi .midashi {
    font-size: 20px;
  }
}
@media (max-width: 480px) {
  .subpage article .section .subpage_midashi .midashi {
    font-size: 16px;
  }
}

/*************************
* business
**************************/
.subpage_business article .headline .inner .headline_midashi {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 0 0 16px;
}
.subpage_business article .headline .inner .headline_midashi .midashi {
  position: relative;
  font-size: 38px;
  letter-spacing: 0.06em;
  margin: 0 0 4px;
  padding: 4px 6px 4px 8px;
  color: #fff;
  display: inline-block;
  color: transparent;
  animation: midashi-text-in 0.4s ease forwards 1.2s;
}
@media (max-width: 780px) {
  .subpage_business article .headline .inner .headline_midashi .midashi {
    font-size: 26px;
  }
}
@media (max-width: 480px) {
  .subpage_business article .headline .inner .headline_midashi .midashi {
    font-size: 20px;
    padding: 4px 4px 4px 4px;
  }
}
.subpage_business article .headline .inner .headline_midashi .midashi .bg {
  position: absolute;
  height: 100%;
  width: 100%;
  display: inline-block;
  left: 0;
  top: 0;
  background-color: #191919;
  z-index: -1;
}
.subpage_business article .headline .inner .headline_midashi .midashi .wh_bg,
.subpage_business article .headline .inner .headline_midashi .midashi .bk_bg {
  position: absolute;
  inset: 0;
  transform-origin: left center;
  transform: scaleX(0);
  pointer-events: none;
}
.subpage_business article .headline .inner .headline_midashi .midashi .wh_bg {
  z-index: 2;
  background: #0175C2;
  animation: midashi-cover 0.6s ease forwards, midashi-uncover-ltr 0.6s ease forwards 0.6s;
}
.subpage_business article .headline .inner .headline_midashi .midashi .bk_bg {
  z-index: 1;
  background: #000;
  animation: midashi-cover 0.6s ease forwards 0.6s, midashi-uncover-ltr 0.6s ease forwards 1s;
}
@keyframes midashi-cover {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}
@keyframes midashi-uncover-ltr {
  0% {
    left: 0;
  }
  100% {
    left: 100%;
  }
}
@keyframes midashi-text-in {
  0% {
    color: transparent;
  }
  100% {
    color: #fff;
  }
}
.subpage_business article .headline .inner .text {
  letter-spacing: 0.04em;
  font-family: "Noto Sans", sans-serif;
  line-height: 1.75;
  font-size: 20px;
}
@media (max-width: 780px) {
  .subpage_business article .headline .inner .text {
    font-size: 16px;
  }
}
@media (max-width: 480px) {
  .subpage_business article .headline .inner .text {
    font-size: 14px;
  }
}
.subpage_business article .headline .inner .circle_content .circle--center .circle__arrow-ring {
  border-color: #191919;
}
.subpage_business article .headline .inner .circle_content .circle--center .circle__arrow-ring::before {
  border-color: transparent #191919 #191919 transparent;
}
.subpage_business article .headline .inner .circle_content .circle--center .circle__arrow-ring::after {
  border-color: transparent #191919 #191919 transparent;
}
.subpage_business article .sales .inner .text,
.subpage_business article .hr .inner .text {
  letter-spacing: 0.04em;
  font-family: "Noto Sans", sans-serif;
  line-height: 1.75;
}
.subpage_business article .sales .inner .f_boxs,
.subpage_business article .hr .inner .f_boxs {
  margin: 40px 0;
}
@media (max-width: 480px) {
  .subpage_business article .sales .inner .f_boxs,
  .subpage_business article .hr .inner .f_boxs {
    flex-direction: row;
    margin: 24px 0;
  }
}
.subpage_business article .sales .inner .f_boxs .f_box,
.subpage_business article .hr .inner .f_boxs .f_box {
  align-items: flex-start;
  justify-content: space-between;
  width: 50%;
}
@media (max-width: 480px) {
  .subpage_business article .sales .inner .f_boxs .f_box,
  .subpage_business article .hr .inner .f_boxs .f_box {
    width: 100%;
  }
}
.subpage_business article .sales .inner .f_boxs .f_box .lineup,
.subpage_business article .hr .inner .f_boxs .f_box .lineup {
  margin: 0 0 30px;
}
@media (max-width: 480px) {
  .subpage_business article .sales .inner .f_boxs .f_box .lineup,
  .subpage_business article .hr .inner .f_boxs .f_box .lineup {
    margin: 0 0 20px;
  }
}
.subpage_business article .sales .inner .f_boxs .f_box .lineup .submidashi,
.subpage_business article .hr .inner .f_boxs .f_box .lineup .submidashi {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin: 0 0 10px;
}
@media (max-width: 480px) {
  .subpage_business article .sales .inner .f_boxs .f_box .lineup .submidashi,
  .subpage_business article .hr .inner .f_boxs .f_box .lineup .submidashi {
    font-size: 12px;
    margin: 0 0 6px;
  }
}
.subpage_business article .sales .inner .f_boxs .f_box .lineup .lists,
.subpage_business article .hr .inner .f_boxs .f_box .lineup .lists {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.subpage_business article .sales .inner .f_boxs .f_box .lineup .lists .list,
.subpage_business article .hr .inner .f_boxs .f_box .lineup .lists .list {
  padding: 4px 10px;
  font-size: 14px;
  color: #fff;
  letter-spacing: 0.04em;
  text-align: center;
  background-color: #0075C2;
  margin: 0 6px 6px 0;
}
@media (max-width: 480px) {
  .subpage_business article .sales .inner .f_boxs .f_box .lineup .lists .list,
  .subpage_business article .hr .inner .f_boxs .f_box .lineup .lists .list {
    font-size: 12px;
    margin: 0 4px 4px 0;
  }
}
.subpage_business article .sales .inner .f_boxs .f_box .domain .submidashi,
.subpage_business article .hr .inner .f_boxs .f_box .domain .submidashi {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin: 0 0 10px;
}
.subpage_business article .sales .inner .f_boxs .f_box .domain .lists,
.subpage_business article .hr .inner .f_boxs .f_box .domain .lists {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.subpage_business article .sales .inner .f_boxs .f_box .domain .lists .list,
.subpage_business article .hr .inner .f_boxs .f_box .domain .lists .list {
  padding: 4px 10px;
  font-size: 14px;
  color: #fff;
  letter-spacing: 0.04em;
  text-align: center;
  background-color: #00365A;
  margin: 0 6px 6px 0;
}
@media (max-width: 480px) {
  .subpage_business article .sales .inner .f_boxs .f_box .domain .lists .list,
  .subpage_business article .hr .inner .f_boxs .f_box .domain .lists .list {
    font-size: 12px;
    margin: 0 4px 4px 0;
  }
}
@media (max-width: 480px) {
  .subpage_business article .sales .inner .f_boxs .text_box,
  .subpage_business article .hr .inner .f_boxs .text_box {
    margin: 0 0 40px;
  }
}
.subpage_business article .sales .inner .f_boxs .img_box,
.subpage_business article .hr .inner .f_boxs .img_box {
  /* --- 中央の大きな円 --- */
  /* --- 小さい円（共通） --- */
  /* 中央下の円 */
  /* 左下の円 */
  /* 右下の円 */
  /* 行間・改行補正 */
}
.subpage_business article .sales .inner .f_boxs .img_box .power-circle,
.subpage_business article .hr .inner .f_boxs .img_box .power-circle {
  position: relative;
  width: min(90%, 80vw);
  aspect-ratio: 1/1;
  margin: 0 auto;
}
@media (max-width: 480px) {
  .subpage_business article .sales .inner .f_boxs .img_box .power-circle,
  .subpage_business article .hr .inner .f_boxs .img_box .power-circle {
    width: min(80%, 260px);
  }
}
.subpage_business article .sales .inner .f_boxs .img_box .power-circle__main,
.subpage_business article .hr .inner .f_boxs .img_box .power-circle__main {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 2px solid #00035a;
  box-shadow: 0 0 40px rgba(0, 120, 255, 0.35), 0 0 80px rgba(0, 120, 255, 0.25);
  overflow: visible;
}
.subpage_business article .sales .inner .f_boxs .img_box .power-circle__main-inner,
.subpage_business article .hr .inner .f_boxs .img_box .power-circle__main-inner {
  position: absolute;
  inset: 2%;
  padding-top: 30%;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, #2c9bff 0%, #0056b3 35%, #001b33 70%, transparent 100%);
  display: flex;
  justify-content: center;
}
.subpage_business article .sales .inner .f_boxs .img_box .power-circle__title,
.subpage_business article .hr .inner .f_boxs .img_box .power-circle__title {
  margin: 0;
  color: #fff;
  font-weight: 700;
  font-size: clamp(18px, 2.4vw, 26px);
  letter-spacing: 0.16em;
  text-align: center;
}
.subpage_business article .sales .inner .f_boxs .img_box .power-circle__small,
.subpage_business article .hr .inner .f_boxs .img_box .power-circle__small {
  position: absolute;
  width: 32%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 30%, #2c9bff 0%, #0d6fd0 45%, #003267 100%);
  border: 2px solid #00305a;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: clamp(11px, 1.5vw, 14px);
  text-align: center;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.25);
}
.subpage_business article .sales .inner .f_boxs .img_box .power-circle__small--center,
.subpage_business article .hr .inner .f_boxs .img_box .power-circle__small--center {
  left: 50%;
  bottom: 18%;
  transform: translateX(-50%);
}
.subpage_business article .sales .inner .f_boxs .img_box .power-circle__small--left,
.subpage_business article .hr .inner .f_boxs .img_box .power-circle__small--left {
  left: 10%;
  bottom: -2%;
}
.subpage_business article .sales .inner .f_boxs .img_box .power-circle__small--right,
.subpage_business article .hr .inner .f_boxs .img_box .power-circle__small--right {
  right: 10%;
  bottom: -2%;
}
.subpage_business article .sales .inner .f_boxs .img_box .power-circle__small span,
.subpage_business article .hr .inner .f_boxs .img_box .power-circle__small span {
  line-height: 1.4;
}

/*************************
* company
**************************/
.subpage_company article .page_content .inner .company_content {
  background-color: #fff;
  margin: 0 0 60px;
}
.subpage_company article .page_content .inner .company_content .company_inner {
  width: 780px;
  max-width: 96%;
  margin: 0 auto;
  padding: 40px 0;
}
.subpage_company article .page_content .inner .company_content .company_inner table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 10px;
}
.subpage_company article .page_content .inner .company_content .company_inner table tr th {
  padding: 40px 10px 10px;
  border-bottom: 1px solid #0175C2;
  width: 200px;
  max-width: 25%;
  letter-spacing: 0.04em;
}
@media (max-width: 780px) {
  .subpage_company article .page_content .inner .company_content .company_inner table tr th {
    padding: 30px 10px 10px;
    width: 150px;
  }
}
@media (max-width: 480px) {
  .subpage_company article .page_content .inner .company_content .company_inner table tr th {
    padding: 20px 10px 6px;
    width: 100px;
  }
}
.subpage_company article .page_content .inner .company_content .company_inner table tr td {
  letter-spacing: 0.04em;
  padding: 40px 10px 10px 30px;
  line-height: 1.75;
  border-bottom: 1px solid #E6E6E6;
}
@media (max-width: 780px) {
  .subpage_company article .page_content .inner .company_content .company_inner table tr td {
    padding: 30px 10px 10px;
  }
}
@media (max-width: 480px) {
  .subpage_company article .page_content .inner .company_content .company_inner table tr td {
    padding: 20px 10px 6px;
  }
}
.subpage_company article .page_content .inner .company_content .company_inner table tr td .min {
  font-size: 14px;
}
@media (max-width: 780px) {
  .subpage_company article .page_content .inner .company_content .company_inner table tr td .min {
    font-size: 12px;
  }
}
@media (max-width: 480px) {
  .subpage_company article .page_content .inner .company_content .company_inner table tr td .min {
    font-size: 10px;
  }
}
.subpage_company article .page_content .inner .map_content .midashi {
  font-size: 20px;
  letter-spacing: 0.04em;
  margin: 0 0 10px;
}
.subpage_company article .page_content .inner .map_content .text {
  letter-spacing: 0.04em;
  margin: 0 0 20px;
}
.subpage_company article .page_content .inner .map_content .map iframe {
  width: 100%;
}

/*************************
* contact
**************************/
.subpage_contact article .page_content .inner .contact_content .headline {
  letter-spacing: 0.04em;
  line-height: 1.75;
  text-align: center;
  margin: 0 0 50px;
  font-family: "Noto Sans", sans-serif;
}
.subpage_contact article .page_content .inner .contact_content .form_box {
  background-color: #fff;
  padding: 50px 0;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form {
  width: 800px;
  max-width: 94%;
  margin: 0 auto;
  /* プライバシーボックス */
}
.subpage_contact article .page_content .inner .contact_content .form_box .form table {
  width: 100%;
  border-collapse: collapse;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form table th {
  display: block;
  margin: 0 0 10px;
  letter-spacing: 0.05em;
  width: 100%;
  text-align: left;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form table .radio td {
  display: flex;
  align-items: center;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form table .radio td p {
  width: 100%;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form table .radio td .wpcf7-form-control-wrap {
  margin: 0 0 20px;
  width: 100%;
}
@media (max-width: 780px) {
  .subpage_contact article .page_content .inner .contact_content .form_box .form table .radio td .wpcf7-form-control-wrap {
    margin: 0 0 10px;
  }
}
.subpage_contact article .page_content .inner .contact_content .form_box .form table .radio td .wpcf7-form-control-wrap .wpcf7-radio {
  line-height: 2;
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 480px) {
  .subpage_contact article .page_content .inner .contact_content .form_box .form table .radio td .wpcf7-form-control-wrap .wpcf7-radio {
    justify-content: space-between;
  }
}
.subpage_contact article .page_content .inner .contact_content .form_box .form table .radio td .wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item {
  max-width: 100%;
  margin: 0 10px 10px 0;
}
@media (max-width: 480px) {
  .subpage_contact article .page_content .inner .contact_content .form_box .form table .radio td .wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item {
    width: 49%;
    margin: 0 0 6px 0;
  }
}
.subpage_contact article .page_content .inner .contact_content .form_box .form table .radio td .wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item:last-child {
  margin: 0 0 10px 0;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form table .radio td .wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item label {
  width: 100%;
  border: 1px solid #e3e3e3;
  border-radius: 5px;
  text-align: center;
  display: block;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form table .radio td .wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item label input:checked + .wpcf7-list-item-label {
  background: #0175C2;
  color: #fff;
  border-radius: 5px;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form table .radio td .wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label {
  height: 100%;
  width: 100%;
  display: block;
  font-size: 14px;
  padding: 14px 30px;
}
@media (max-width: 780px) {
  .subpage_contact article .page_content .inner .contact_content .form_box .form table .radio td .wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label {
    padding: 12px 26px;
    font-size: 12px;
  }
}
@media (max-width: 480px) {
  .subpage_contact article .page_content .inner .contact_content .form_box .form table .radio td .wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label {
    padding: 12px 10px;
    font-size: 12px;
  }
}
.subpage_contact article .page_content .inner .contact_content .form_box .form table td {
  display: block;
  margin: 0 0 10px;
  letter-spacing: 0.05em;
  width: 100%;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form table .wpcf7-form-control-wrap {
  margin: 0 0 20px;
  display: block;
}
@media (max-width: 780px) {
  .subpage_contact article .page_content .inner .contact_content .form_box .form table .wpcf7-form-control-wrap {
    margin: 0 0 10px;
  }
}
.subpage_contact article .page_content .inner .contact_content .form_box .form table input[type=text],
.subpage_contact article .page_content .inner .contact_content .form_box .form table input[type=email],
.subpage_contact article .page_content .inner .contact_content .form_box .form table input[type=tel],
.subpage_contact article .page_content .inner .contact_content .form_box .form table textarea {
  width: 100%;
  padding: 14px 10px;
  border-radius: 4px;
  background-color: #f5f5f5;
  letter-spacing: 0.05em;
  margin: 0 0 5px;
  font-weight: lighter;
}
@media (max-width: 480px) {
  .subpage_contact article .page_content .inner .contact_content .form_box .form table input[type=text],
  .subpage_contact article .page_content .inner .contact_content .form_box .form table input[type=email],
  .subpage_contact article .page_content .inner .contact_content .form_box .form table input[type=tel],
  .subpage_contact article .page_content .inner .contact_content .form_box .form table textarea {
    padding: 10px 6px;
  }
}
.subpage_contact article .page_content .inner .contact_content .form_box .form table input[type=radio] {
  display: none;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form table .wpcf7-form-control-wrap:has(select) {
  display: inline-block;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form table .wpcf7-form-control-wrap:has(select) select {
  padding: 14px 10px;
  padding: 14px 20px 14px 10px;
  border-radius: 4px;
  background-color: #fff;
  letter-spacing: 0.05em;
  margin: 0 0 5px;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form table textarea {
  resize: none;
  height: 100px;
}
@media (max-width: 780px) {
  .subpage_contact article .page_content .inner .contact_content .form_box .form table th, .subpage_contact article .page_content .inner .contact_content .form_box .form table td {
    display: block;
    text-align: left;
    width: 100%;
  }
  .subpage_contact article .page_content .inner .contact_content .form_box .form table th:first-child, .subpage_contact article .page_content .inner .contact_content .form_box .form table td:first-child {
    width: 100%;
  }
  .subpage_contact article .page_content .inner .contact_content .form_box .form table th:last-child, .subpage_contact article .page_content .inner .contact_content .form_box .form table td:last-child {
    width: 100%;
  }
}
.subpage_contact article .page_content .inner .contact_content .form_box .form .privacy {
  margin-top: 10px;
  text-align: center;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form .privacy label {
  font-size: 14px;
  line-height: 1.6;
}
@media (max-width: 480px) {
  .subpage_contact article .page_content .inner .contact_content .form_box .form .privacy label {
    font-size: 12px;
  }
}
.subpage_contact article .page_content .inner .contact_content .form_box .form .privacy label .link {
  text-decoration: underline;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form .privacy label input[type=checkbox] {
  margin-right: 5px;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form .submit_btn .base_btn {
  border-color: #191919;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form .submit_btn .base_btn:hover .link {
  color: #fff;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form .submit_btn .base_btn .link {
  color: #191919;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form .policy-box {
  border-radius: 6px;
  margin: 24px 0 16px;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form .policy-box__head {
  font-weight: 700;
  margin-bottom: 8px;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form .policy-box__body {
  line-height: 1.75;
  max-height: 15em; /* 行高1.6 × 6行 = 約6行ぶんの高さ */
  overflow: auto;
  padding: 10px 10px 30px;
  background: #fff;
  letter-spacing: 0.05em;
  border-radius: 4px;
  border: 1px solid #e3e3e3;
}
@media (max-width: 780px) {
  .subpage_contact article .page_content .inner .contact_content .form_box .form .policy-box__body {
    max-height: 20em;
  }
}
@media (max-width: 480px) {
  .subpage_contact article .page_content .inner .contact_content .form_box .form .policy-box__body {
    max-height: 24em;
  }
}
.subpage_contact article .page_content .inner .contact_content .form_box .form .policy-box__body p .bold {
  font-weight: 600;
  margin: 20px 0 0;
  display: inline-block;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form .policy-box__body:focus {
  outline: 2px solid #b3d4fc; /* キーボード操作での可視フォーカス */
  outline-offset: 2px;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form .policy-box__agree {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  font-size: 0.95em;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form .submit_btn {
  margin-top: 40px;
  text-align: center;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form .submit_btn button {
  cursor: pointer;
}
.subpage_contact article .page_content .inner .contact_content .form_box .form .submit_btn span.wpcf7-spinner {
  display: none;
}/*# sourceMappingURL=style.css.map */