@charset "UTF-8";
/* --------------------------------------------
variables
-------------------------------------------- */
/* --------------------------------------------
font
-------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP:wght@100..900&display=swap");
/* --------------------------------------------
icons
-------------------------------------------- */
/*
============================================================

アイコン（SVG Data URI）

アイコン使用例:
&::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background-color: v.$tx_blue;
  mask: var(--icon-arrow) no-repeat center;
  -webkit-mask: var(--icon-arrow) no-repeat center;
  mask-size: contain;
  -webkit-mask-size: contain;
}

============================================================
*/
:root {
  /* アイコン（SVG Data URI） */
  --icon-arrow: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.4287 2.92873C11.8191 2.5383 12.4522 2.5385 12.8428 2.92873L19.207 9.29299C19.5976 9.68351 19.5976 10.3165 19.207 10.707L12.8428 17.0713C12.4522 17.4615 11.8191 17.4617 11.4287 17.0713C11.0383 16.6809 11.0385 16.0478 11.4287 15.6572L16.0859 11L1.5 11C0.947716 11 0.500001 10.5523 0.500001 10C0.500001 9.44774 0.947716 9.00002 1.5 9.00002L16.0859 9.00002L11.4287 4.34279C11.0385 3.95224 11.0383 3.31916 11.4287 2.92873Z' fill='white'/%3E%3C/svg%3E");
  --icon-home: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.67981 0.267214C8.29536 -0.0890712 7.70151 -0.0890712 7.32019 0.267214L0.31897 6.76785C0.018918 7.04913 -0.0810995 7.48354 0.0689267 7.86483C0.218953 8.24612 0.584642 8.49927 0.997214 8.49927H1.4973V13.9998C1.4973 15.103 2.39433 16 3.49765 16H12.4992C13.6025 16 14.4996 15.103 14.4996 13.9998V8.49927H14.9997C15.4122 8.49927 15.781 8.24612 15.9311 7.86483C16.0811 7.48354 15.9811 7.046 15.681 6.76785L8.67981 0.267214ZM7.49835 9.99941H8.49852C9.32679 9.99941 9.99879 10.6714 9.99879 11.4996V14.4999H5.99809V11.4996C5.99809 10.6714 6.67008 9.99941 7.49835 9.99941Z' fill='white'/%3E%3C/svg%3E");
  --icon-arw: url("data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.3473 0.996285C2.53949 0.803322 2.85042 0.803322 3.04261 0.996285L5.65589 3.62128C5.75908 3.72497 5.80411 3.86349 5.79651 3.99921C5.80454 4.13539 5.75943 4.27406 5.65589 4.37812L3.04261 7.0041C2.85048 7.19673 2.53943 7.19673 2.3473 7.0041C2.15507 6.81094 2.15507 6.49706 2.3473 6.3039L4.63929 3.99921L2.3473 1.6955C2.15507 1.50235 2.15507 1.18944 2.3473 0.996285Z' fill='white'/%3E%3C/svg%3E");
  --icon-mail: url("data:image/svg+xml,%3Csvg width='24' height='19' viewBox='0 0 24 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_839_9305)'%3E%3Cpath d='M21 0H3C1.345 0 0 1.38135 0 3.08108V15.9189C0 17.6186 1.345 19 3 19H21C22.655 19 24 17.6186 24 15.9189V3.08108C24 1.38135 22.655 0 21 0ZM3 1.54054H21C21.135 1.54054 21.2625 1.56108 21.3875 1.59446L13.06 10.147C12.7775 10.4372 12.4 10.5989 12 10.5989C11.6 10.5989 11.2225 10.4397 10.94 10.147L2.6125 1.59446C2.735 1.56108 2.865 1.54054 3 1.54054ZM22.5 15.9189C22.5 16.7688 21.8275 17.4595 21 17.4595H3C2.1725 17.4595 1.5 16.7688 1.5 15.9189V3.08108C1.5 2.94243 1.52 2.81149 1.5525 2.68311L9.88 11.2357C10.465 11.8365 11.2325 12.1369 12 12.1369C12.7675 12.1369 13.5375 11.8365 14.12 11.2357L22.4475 2.68311C22.48 2.80892 22.5 2.94243 22.5 3.08108V15.9189Z' fill='%230A5AEB'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_839_9305'%3E%3Crect width='24' height='19' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  --icon-doc: url("data:image/svg+xml,%3Csvg width='21' height='24' viewBox='0 0 21 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_839_9295)'%3E%3Cpath d='M5.35756 6.63824H8.0607C8.46605 6.63824 8.79326 6.29611 8.79326 5.87228C8.79326 5.44845 8.46605 5.10632 8.0607 5.10632H5.35756C4.95221 5.10632 4.625 5.44845 4.625 5.87228C4.625 6.29611 4.95221 6.63824 5.35756 6.63824Z' fill='white'/%3E%3Cpath d='M12.6988 9.70215H5.37318C4.96783 9.70215 4.64062 10.0443 4.64062 10.4681C4.64062 10.8919 4.96783 11.2341 5.37318 11.2341H12.6988C13.1041 11.2341 13.4313 10.8919 13.4313 10.4681C13.4313 10.0443 13.1041 9.70215 12.6988 9.70215Z' fill='white'/%3E%3Cpath d='M12.6988 14.2979H5.37318C4.96783 14.2979 4.64062 14.64 4.64062 15.0638C4.64062 15.4876 4.96783 15.8298 5.37318 15.8298H12.6988C13.1041 15.8298 13.4313 15.4876 13.4313 15.0638C13.4313 14.64 13.1041 14.2979 12.6988 14.2979Z' fill='white'/%3E%3Cpath d='M11.2887 0.0693162C11.2887 0.0693162 11.2667 0.0591035 11.2545 0.0539971C11.2155 0.0386779 11.174 0.0233588 11.1324 0.0156992C11.0909 0.00803962 11.047 0.00293324 11.003 0.00293324C10.9981 0.00293324 10.9933 0.00293324 10.9884 0.00293324H2.93023C1.31372 0.00038005 0 1.374 0 3.06421V17.8727C0 19.5629 1.31372 20.9366 2.93023 20.9366H15.1395C16.756 20.9366 18.0698 19.5629 18.0698 17.8727V7.40463C18.0698 7.40463 18.0698 7.39442 18.0698 7.38932C18.0698 7.34336 18.0649 7.29995 18.0576 7.254C18.0502 7.21059 18.0356 7.16974 18.0209 7.12889C18.016 7.11612 18.0112 7.10591 18.0063 7.09315C17.9941 7.06251 17.9794 7.03442 17.9623 7.00378C17.955 6.99357 17.9501 6.98081 17.9428 6.97059C17.9184 6.93229 17.8915 6.89655 17.8598 6.86591L11.506 0.225061C11.4743 0.191869 11.4401 0.163784 11.4059 0.138252C11.3962 0.130593 11.384 0.125486 11.3742 0.117827C11.3473 0.0999545 11.318 0.0846354 11.2887 0.0693162ZM15.1395 19.4046H2.93023C2.12198 19.4046 1.46512 18.7178 1.46512 17.8727V3.06421C1.46512 2.2191 2.12198 1.53229 2.93023 1.53229H10.2558V5.10676C10.2558 6.79698 11.5695 8.17059 13.186 8.17059H16.6047V17.8727C16.6047 18.7178 15.9478 19.4046 15.1395 19.4046ZM15.5693 6.63868H13.186C12.3778 6.63868 11.7209 5.95187 11.7209 5.10676V2.61485L15.5693 6.63868Z' fill='white'/%3E%3Cpath d='M5.56068 24.0004H15.8727C18.7003 24.0004 21.0006 21.5953 21.0006 18.6387V9.9349C21.0006 9.51107 20.6734 9.16895 20.268 9.16895C19.8627 9.16895 19.5355 9.51107 19.5355 9.9349V18.6387C19.5355 20.7502 17.8921 22.4685 15.8727 22.4685H5.56068C5.15533 22.4685 4.82812 22.8106 4.82812 23.2345C4.82812 23.6583 5.15533 24.0004 5.56068 24.0004Z' fill='white'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_839_9295'%3E%3Crect width='21' height='24' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  --icon-cross: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8' fill='none'%3E%3Cpath d='M1 5.0001L4.00061 1.99949' stroke='%230A5AEB' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M7 5.0001L3.99939 1.99949' stroke='%230A5AEB' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  --icon-close: url("data:image/svg+xml,%3Csvg%20width%3D%2244%22%20height%3D%2244%22%20viewBox%3D%220%200%2044%2044%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cline%20x1%3D%2215.1213%22%20y1%3D%2214%22%20x2%3D%2229.9706%22%20y2%3D%2228.8492%22%20stroke%3D%22url%28%23paint0_linear_181_56418%29%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3Cline%20x1%3D%221.5%22%20y1%3D%22-1.5%22%20x2%3D%2222.5%22%20y2%3D%22-1.5%22%20transform%3D%22matrix%28-0.707107%200.707107%200.707107%200.707107%2032%2014%29%22%20stroke%3D%22url%28%23paint1_linear_181_56418%29%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22paint0_linear_181_56418%22%20x1%3D%2214%22%20y1%3D%2222.5%22%20x2%3D%2231.5%22%20y2%3D%2222.5%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22%232498FF%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23165B99%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22paint1_linear_181_56418%22%20x1%3D%2219.5815%22%20y1%3D%22-6.58148%22%20x2%3D%226.85355%22%20y2%3D%226.14645%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22%232498FF%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23165B99%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3C%2Fsvg%3E");
}

/* --------------------------------------------
animation
-------------------------------------------- */
/* --------------------------------------------
アニメーション
-------------------------------------------- */
@keyframes logo-slide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@keyframes slideUp {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes slideUpFromBottom {
  from {
    transform: translateY(120%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes fadeIn_service_fv_form {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn_top_company_logo {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
main {
  padding-top: 82px;
}
@media (max-width: 1024px) {
  main {
    padding-top: 60px;
  }
}

/* --------------------------------------------
cta_btn
-------------------------------------------- */
.cta_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: clamp(40px, 4vw, 50px);
  gap: 8px;
  padding: 16px;
  border-radius: 100vmax;
  box-sizing: border-box;
  transition: filter 0.3s ease-in-out;
  position: relative;
  background: #ED3748;
}
.cta_btn span {
  color: #fff;
}
@media (max-width: 1024px) {
  .cta_btn {
    width: 100%;
    width: 250px;
    justify-content: center;
    height: 60px;
  }
}
.cta_btn span {
  font-size: clamp(1.3rem, 1.2vw, 1.6rem);
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0;
}
@media (max-width: 1024px) {
  .cta_btn span {
    font-size: 16px;
  }
}
.cta_btn:hover {
  filter: brightness(1.4);
}
.cta_btn.outline {
  background: #fff;
  border: 1px solid #ED3748;
}
.cta_btn.outline span {
  background: #ED3748;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.cta_btn.outline:hover {
  border-color: #ED3748;
}
.cta_btn.big {
  width: 100%;
  padding: 20px 24px;
  height: 60px;
  flex: 1 0 0;
}
.cta_btn.big span {
  font-size: clamp(1.6rem, 1.2vw, 2rem);
}
@media (max-width: 1024px) {
  .cta_btn.big span {
    font-size: 16px;
  }
}

/* --------------------------------------------
modal_click
-------------------------------------------- */
.modal_click-btn {
  cursor: pointer;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.modal_click-btn:hover .sec_problem_item_btn_icon {
  background-color: #f03748;
}
.modal_click-btn:hover .sec_problem_item_btn_icon::before, .modal_click-btn:hover .sec_problem_item_btn_icon::after {
  background-color: #fff;
}
.modal_click-elm {
  padding: 16px;
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.modal_click-elm::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(3px);
}
.modal_click-elm.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.modal_click-close {
  z-index: 2;
  cursor: pointer;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  position: absolute;
  top: 16px;
  right: 16px;
  background: #f03748;
  border-radius: 100vmax;
  width: 44px;
  height: 44px;
  border: 2px solid #f03748;
  transition: background-color 0.3s ease;
}
@media (max-width: 768px) {
  .modal_click-close {
    top: 16px;
    right: 12px;
  }
}
.modal_click-close::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background-color: #fff;
  mask: var(--icon-close) no-repeat center;
  -webkit-mask: var(--icon-close) no-repeat center;
  mask-size: contain;
  -webkit-mask-size: contain;
  transition: background-color 0.3s ease;
}
.modal_click-close:hover {
  background-color: #fff;
}
.modal_click-close:hover::after {
  background-color: #f03748;
  transition: background-color 0.3s ease;
}
.modal_click-contents {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
}
.modal_click-sec {
  position: relative;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  scrollbar-width: none;
  height: fit-content;
  max-height: 100%;
}
.modal_click-sec::-webkit-scrollbar {
  display: none;
}
.modal_click-sec {
  background: #fff;
  border-radius: 20px;
}
@media (max-width: 1440px) {
  .modal_click-sec {
    border-radius: 8px;
  }
}
.modal_click-sec-inner {
  min-width: 900px;
  width: 100%;
  padding: 80px 40px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (max-width: 1024px) {
  .modal_click-sec-inner {
    min-width: 100%;
    padding: 64px 16px 40px;
  }
}
.modal_click-sec-title {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.4;
  border-bottom: 1px solid #f03748;
  padding-bottom: 24px;
}
.modal_click-sec-title b {
  color: #f03748;
  font-weight: 600;
}
.modal_click-sec-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-flex;
  flex-direction: column;
  gap: 12px;
}
.modal_click-sec-list li {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 6px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  position: relative;
}
.modal_click-sec-list li::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url("../img/icon/ico_check.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex: auto 0 0;
  margin-top: 4px;
}

/* --------------------------------------------
ヘッダー
-------------------------------------------- */
.hdr {
  font-family: "Noto Sans JP", sans-serif;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  height: 82px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
}
@media (max-width: 1024px) {
  .hdr {
    height: 60px;
    padding: 16px 16px 16px 16px;
  }
}
.hdr::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 99;
  display: none;
}
@media (max-width: 1024px) {
  .hdr::before {
    display: block;
  }
}
.hdr {
  /* --------------------------------------------
  バーガーメニュー
  -------------------------------------------- */
}
.hdr .bgr {
  display: none;
}
@media (max-width: 1024px) {
  .hdr .bgr {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 24px;
    height: fit-content;
    padding: 0;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 100;
    gap: 5px;
  }
  .hdr .bgr span {
    display: block;
    width: 24px;
    height: 3px;
    border-radius: 100vmax;
    transition: all 0.3s ease;
    transform-origin: center;
    background-color: #f03748;
  }
  .hdr .bgr[aria-expanded=true] span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
  }
  .hdr .bgr[aria-expanded=true] span:nth-child(2) {
    opacity: 0;
  }
  .hdr .bgr[aria-expanded=true] span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
  }
}
.hdr {
  /* --------------------------------------------
  ロゴ
  -------------------------------------------- */
}
.hdr_logo {
  display: flex;
  align-items: center;
  gap: 24px;
  z-index: 100;
}
@media screen and (max-width: 1024px) {
  .hdr_logo {
    gap: 16px;
  }
}
.hdr_logo_main {
  width: clamp(128px, 16vw, 220px);
  height: auto;
  display: inline-block;
}
.hdr_logo_main img {
  width: 100%;
  height: auto;
}
.hdr_logo_jpx {
  display: inline-block;
}
@media screen and (max-width: 1440px) {
  .hdr_logo_jpx {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  .hdr_logo_jpx {
    display: inline-block;
  }
}
.hdr_logo_jpx figure {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media screen and (max-width: 1024px) {
  .hdr_logo_jpx figure {
    gap: 8px;
  }
}
.hdr_logo_jpx figure img {
  width: 46px;
  height: 52px;
}
@media screen and (max-width: 1024px) {
  .hdr_logo_jpx figure img {
    width: 25px;
    height: 28px;
  }
}
.hdr_logo_jpx figure figcaption {
  font-size: clamp(8px, 2vw, 10px);
  display: inline-block;
  line-height: 1.6;
}

/* --------------------------------------------
メガメニュー（PC）
-------------------------------------------- */
.megamenu {
  display: flex;
  align-items: center;
  align-self: stretch;
  gap: 24px;
}
@media (max-width: 1024px) {
  .megamenu {
    display: none;
  }
}
.megamenu ul {
  display: flex;
  align-items: center;
  height: 100%;
  gap: 24px;
}
.megamenu ul li {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.megamenu ul li a {
  font-size: clamp(1.3rem, 1.2vw, 1.6rem);
  font-weight: 600;
  text-decoration: none;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: color 0.6s ease-in-out;
}
.megamenu ul li a:hover {
  color: #f03748;
}
.megamenu ul li:not(.megamenu-item) a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #f03748;
  transition: width 0.3s ease-in-out;
  opacity: 0;
}
.megamenu ul li:not(.megamenu-item) a:hover::after, .megamenu-item:hover .megamenu ul li:not(.megamenu-item) a::after {
  width: 100%;
  opacity: 1;
}
.megamenu-item {
  position: relative;
}
.megamenu-item:hover .megamenu-trigger::before {
  width: 100%;
  opacity: 1;
}
.megamenu-item .megamenu-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.megamenu-item .megamenu-trigger::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #f03748;
  transition: width 0.3s ease-in-out;
  opacity: 0;
}
.megamenu-item .megamenu-trigger::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  background-color: #13202f;
  mask: var(--icon-cross) no-repeat center;
  -webkit-mask: var(--icon-cross) no-repeat center;
  mask-size: contain;
  -webkit-mask-size: contain;
  margin-left: 4px;
  transition: transform 0.3s ease;
  flex-shrink: 0;
  transform: rotate(180deg);
}
.megamenu-item:hover .megamenu-trigger::after {
  transform: rotate(0deg);
  background-color: #f03748;
}
.megamenu-item .megamenu-dropdown {
  position: fixed;
  /* top は JavaScript で動的に設定 */
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  padding: 0 0;
  width: max-content;
  max-width: 1280px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  z-index: 9999;
}
.megamenu-item .megamenu-dropdown-body {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 48px;
  padding: 40px;
}
.megamenu-item .megamenu-dropdown-body_title {
  display: flex;
  flex-direction: column;
  gap: 0;
  flex: auto 0 0;
}
.megamenu-item .megamenu-dropdown-body_title_main {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: auto 0 0;
  margin-bottom: 80px;
}
.megamenu-item .megamenu-dropdown-body_title_main strong {
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
}
.megamenu-item .megamenu-dropdown-body_title_main small {
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
}
.megamenu-item .megamenu-dropdown-body_links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.megamenu-item .megamenu-dropdown-body_links_item {
  display: flex;
  align-items: center;
  gap: 16px;
  width: clamp(380px, 30vw, 504px);
}
.megamenu-item .megamenu-dropdown-body_links_item a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: rgba(240, 55, 72, 0.05);
  border-radius: 20px;
  padding: 20px 20px 12px;
  width: 100%;
  transition: opacity 0.3s ease-in-out, color 0.6s ease-in-out, background 0.4s ease-in-out;
}
@container (min-width: 400px) {
  .megamenu-item .megamenu-dropdown-body_links_item a {
    min-width: 252px;
  }
}
.megamenu-item .megamenu-dropdown-body_links_item a:hover {
  background: rgba(240, 55, 72, 0.08);
}
.megamenu-item .megamenu-dropdown-body_links_item a .icon {
  width: 40px;
  height: 40px;
  display: flex;
  background: #fff;
  align-items: center;
  justify-content: center;
  border: 1px solid #f03748;
  border-radius: 100vmax;
  transition: all 0.3s ease;
}
.megamenu-item .megamenu-dropdown-body_links_item a .icon::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background-color: #f03748;
  mask: var(--icon-arrow) no-repeat center;
  -webkit-mask: var(--icon-arrow) no-repeat center;
  mask-size: contain;
  -webkit-mask-size: contain;
  transition: all 0.3s ease;
}
.megamenu-item .megamenu-dropdown-body_links_item a:hover .icon {
  background: #f03748;
}
.megamenu-item .megamenu-dropdown-body_links_item a:hover .icon::after {
  background-color: #fff;
}
.megamenu-item .megamenu-dropdown-body_links_item_main {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 16px;
  width: max-content;
}
.megamenu-item .megamenu-dropdown-body_links_item_main figure {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 12px;
}
.megamenu-item .megamenu-dropdown-body_links_item_main img {
  width: auto;
  height: 40px;
  object-fit: cover;
}
.megamenu-item .megamenu-dropdown-body_links_item_main figcaption {
  font-size: clamp(1.2rem, 1.2vw, 1.6rem);
  font-weight: 600;
  line-height: 1;
  margin-bottom: 6px;
}
.megamenu-item:hover .megamenu-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.megamenu-cta {
  display: flex;
  align-items: center;
  gap: 8px;
}
.megamenu-cta .cta_btn {
  width: 172px;
}

/* --------------------------------------------
ドロップメニュー（SP）
-------------------------------------------- */
.dropmenu {
  display: none;
}
@media (max-width: 1024px) {
  .dropmenu {
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    padding: 80px 0 40px 0;
    z-index: 98;
    background-color: #fff;
    transform: translateY(-100%);
    visibility: hidden;
    transition: transform 0.5s ease-in-out, opacity 0.3s ease, visibility 0.3s ease;
    overflow-y: auto;
  }
  .dropmenu.is_active {
    transform: translateY(0);
    visibility: visible;
  }
}
.dropmenu ul {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  width: 100%;
}
.dropmenu ul li {
  width: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  gap: 1px;
}
.dropmenu ul li a {
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.3s ease-in-out;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.dropmenu ul li a:hover {
  color: #f03748;
}
.dropmenu-item {
  width: 100%;
}
.dropmenu-btn {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  font-size: 16px;
  font-weight: 600;
  padding: 12px;
  height: 44px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #13202f;
  transition: color 0.3s ease;
}
.dropmenu-btn:hover {
  color: #f03748;
}
.dropmenu-icon {
  position: absolute;
  top: 0;
  right: 0;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(240, 55, 72, 0.05);
}
.dropmenu-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 2px;
  transform: translate(-50%, -50%);
  border-radius: 100vmax;
  background-color: #13202f;
  transition: all 0.3s ease;
}
.dropmenu-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 10px;
  border-radius: 100vmax;
  transform: translate(-50%, -50%);
  background-color: #13202f;
  transition: all 0.3s ease;
}
.dropmenu-btn[aria-expanded=true] .dropmenu-icon::after {
  opacity: 0;
}
.dropmenu-content {
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease;
}
.dropmenu-content ul {
  flex-direction: column;
  gap: 1px;
}
.dropmenu-content ul li {
  height: auto;
}
.dropmenu-content ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  height: 44px;
  text-align: center;
  width: 100%;
  font-size: 14px;
  color: #13202f;
  transition: color 0.3s ease;
  background: rgba(240, 55, 72, 0.05);
  font-weight: 500;
}
.dropmenu-content ul li a:hover {
  color: #f03748;
}
.dropmenu.is_open .dropmenu-content {
  max-height: 1000px;
}
.dropmenu-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  width: 100%;
  padding: 0 40px;
}
@media (max-width: 1024px) {
  .dropmenu-cta {
    gap: 16px;
  }
}

/* --------------------------------------------
sec
-------------------------------------------- */
.sec {
  padding: 0 0;
  box-sizing: border-box;
  font-family: "Inter", sans-serif, "Noto Sans JP", sans-serif;
}
.sec .clr_white {
  color: #fff;
}
.sec .text-xs {
  font-size: 16px;
  line-height: 1;
}
.sec .pd-0 {
  padding-bottom: 0;
}
.sec.bg_gray {
  background: #F8F8F8;
}
.sec.bg_grd {
  background: linear-gradient(155deg, #F03748 75.56%, #F7AC00 100%);
}
.sec_line {
  width: 100%;
  box-sizing: border-box;
  padding: 0 24px;
  margin: 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sec_line::before {
  content: "";
  max-width: 1280px;
  display: block;
  width: 100%;
  height: 1px;
  background: #ccc;
  box-sizing: border-box;
}
.sec_content {
  box-sizing: border-box;
}
.sec_content.wfull {
  width: 100%;
}
.sec_inner {
  max-width: 1440px;
  margin: 0 auto;
  width: 100%;
  padding-top: 80px;
  padding-bottom: 80px;
  padding-left: clamp(24px, 5vw, 80px);
  padding-right: clamp(24px, 5vw, 80px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 40px;
}
@media (max-width: 1024px) {
  .sec_inner {
    padding-top: 40px;
    padding-bottom: 40px;
    gap: 24px;
  }
}
.sec_panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.sec_panel_group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.sec_panel_title {
  font-size: clamp(32px, 5vw, 40px);
  font-weight: 700;
  line-height: 1.4;
  color: #13202f;
  text-align: center;
  letter-spacing: 1px;
  margin-right: -1px;
}
@media (max-width: 798px) {
  .sec_panel_title {
    margin-right: -1px;
  }
}
.sec_panel_title b {
  font-weight: 700;
  color: #f03748;
}
.sec_panel_title small {
  font-size: clamp(24px, 5vw, 32px);
}
.sec_panel_title_m {
  font-size: 32px;
  font-weight: 600;
  line-height: 1.4;
  color: #13202f;
  text-align: center;
  letter-spacing: 2px;
  margin-right: -2px;
}
@media (max-width: 798px) {
  .sec_panel_title_m {
    letter-spacing: 2px;
    margin-right: -2px;
  }
}
.sec_panel_title_m b {
  font-weight: 600;
  color: #f03748;
}
.sec_panel_title_m strong {
  font-size: 40px;
  font-weight: 600;
  color: #f03748;
}
.sec_panel_title_m sup {
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  top: -14px;
}
.sec_panel_title_s {
  font-size: clamp(24px, 4vw, 32px);
  font-weight: 600;
  line-height: 1.4;
  color: #13202f;
  text-align: center;
  letter-spacing: 2px;
  margin-right: -2px;
}
@media (max-width: 798px) {
  .sec_panel_title_s {
    letter-spacing: 2px;
    margin-right: -2px;
  }
}
.sec_panel_title_s b {
  font-weight: 600;
  color: #f03748;
}
.sec_panel_title_s small {
  font-size: clamp(16px, 5vw, 24px);
}
.sec_panel_title_sub {
  color: #fff;
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  display: flex;
  padding: 8px 16px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  background: #f03748;
  margin-top: 16px;
}
.sec_panel_description {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: #13202f;
  text-align: center;
  letter-spacing: 1px;
}
@media (max-width: 1024px) {
  .sec_panel_description {
    text-align: justify;
    text-justify: inter-ideograph;
    overflow-wrap: break-word;
    word-break: normal;
  }
}

/* --------------------------------------------
フッター
-------------------------------------------- */
.ftr {
  font-family: "Noto Sans JP", sans-serif;
  display: flex;
  flex-direction: column;
  gap: 0;
  background: #fff;
  /* --------------------------------------------
  top
  -------------------------------------------- */
}
.ftr_top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 120px;
  max-width: 1440px;
  margin: 0 auto;
  width: 100%;
  padding-top: 40px;
  padding-bottom: 40px;
  padding-left: clamp(24px, 5vw, 80px);
  padding-right: clamp(24px, 5vw, 80px);
  box-sizing: border-box;
  position: relative;
}
@media (max-width: 1280px) {
  .ftr_top {
    gap: 56px;
  }
}
@media (max-width: 1024px) {
  .ftr_top {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 40px;
  }
}
.ftr_top_logo {
  width: 232px;
  height: 48px;
}
.ftr_top_logo img {
  width: 100%;
  height: 100%;
}
.ftr_top_link {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 40px;
  flex: 1 0 0;
  position: relative;
}
@media (max-width: 1440px) {
  .ftr_top_link {
    gap: 16px;
  }
}
@media (max-width: 960px) {
  .ftr_top_link {
    gap: 80px;
  }
}
@media (max-width: 768px) {
  .ftr_top_link {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 24px;
    flex: 0 0 0;
  }
}
@media (max-width: 768px) and (max-width: 960px) {
  .ftr_top_link {
    gap: 40px;
  }
}
.ftr_top_link_box {
  width: 150px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (max-width: 960px) {
  .ftr_top_link_box {
    gap: 16px;
    width: fit-content;
  }
}
.ftr_top_link_box p {
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
}
.ftr_top_link_box ul {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ftr_top_link_box ul li {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.ftr_top_link_box ul li a {
  font-size: 14px;
  line-height: 1;
  transition: color 0.3s ease;
}
.ftr_top_link_box ul li a:hover {
  color: #f03748;
}
.ftr_top_link_box ul li:before {
  content: "-";
  font-size: 16px;
}
.ftr_top_cta {
  position: absolute;
  right: 0;
  top: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 172px;
}
@media (max-width: 1280px) {
  .ftr_top_cta {
    display: none;
  }
}
.ftr {
  /* --------------------------------------------
  bottom
  -------------------------------------------- */
}
.ftr_bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 32px 0;
  background-color: #13202f;
  width: 100%;
}
.ftr_bottom_inner {
  max-width: 1440px;
  margin: 0 auto;
  width: 100%;
  padding-left: clamp(24px, 5vw, 80px);
  padding-right: clamp(24px, 5vw, 80px);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 960px) {
  .ftr_bottom_inner {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 24px;
  }
}
.ftr_bottom_inner.center {
  justify-content: center;
}
.ftr_bottom_link {
  display: flex;
  align-items: center;
  gap: 16px;
}
.ftr_bottom_link li {
  display: inline-flex;
  align-items: center;
}
.ftr_bottom_link li a {
  font-size: clamp(12px, 2vw, 14px);
  font-weight: 400;
  color: #fff;
}
.ftr_bottom_link li:after {
  content: "|";
  color: #fff;
  margin-left: 16px;
}
.ftr_bottom_link li:last-child:after {
  display: none;
}
.ftr_bottom_copyright {
  font-size: clamp(12px, 2vw, 14px);
  font-weight: 400;
  color: #fff;
}