@charset "UTF-8";
/*
buildOutputFile: 'style';
*/
:root {
  --primaryColor:#aa0012;
  --linkColor:#222222;
  --bgColor:#f8f7f5;
  --borderColor:#CCCCCC;
  --secondaryBorderColor:#EEEEEE;
  --secondaryBgColor:#F8F8F8;
  --tertiaryBgColor:#222222;
  --fontColor: #333333;
  --secondaryFontColor: #777777;
  --tertiaryFontColor:#999999;
  --alertColor:#EF4F4F;
  --alertBgColor:#FFEFEF;
  --lpBgColor:#FCF0E7;
  --w:1440px;
  --widthXL:1540px;
  --widthLG:1280px;
  --widthTab:768px;
  --font-go-base: "Poppins", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic Medium", "Yu Gothic", Meiryo, sans-serif;
  --font-go-noto: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic Medium", "Yu Gothic", Meiryo, sans-serif;
  --font-mi-base: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho","YuMincho", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  --pcHeaderHeight:90px;
  --spHeaderHeight:60px;
  --spCateNaviHeight:50px;
}

html {
  color: #000;
  background: #FFF;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td, select, main, address, span {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  line-height: 140%;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
  display: block;
  box-sizing: border-box;
}

a, span, details, summary {
  box-sizing: border-box;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset, img {
  border: 0;
}

address, caption, cite, code, dfn, em, th, var {
  font-style: normal;
  font-weight: normal;
}

strong {
  font-style: normal;
}

ul li {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

q:before, q:after {
  content: "";
}

abbr, acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-bottom;
}

sub {
  vertical-align: text-top;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

input, textarea, select {
  font-size: 100%;
}

legend {
  color: #000;
}

figure {
  margin: 0;
}

img {
  backface-visibility: hidden;
}

body {
  font-size: 1rem;
  color: var(--fontColor);
  font-family: var(--font-go-base);
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  letter-spacing: 0.05em;
  font-weight: 400;
}
@media (max-width: 767px) {
  body {
    font-size: 0.875rem;
  }
}

@media (max-width: 1279px) {
  .for-pc {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .for-pc-tab {
    display: none !important;
  }
}

@media (min-width: 1280px) {
  .for-tab {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .for-tab {
    display: none !important;
  }
}

@media (min-width: 1540px) {
  .for-md-sp {
    display: none !important;
  }
}

@media (min-width: 1280px) {
  .for-tab-sp {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .for-sp {
    display: none !important;
  }
}

.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

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

a {
  text-decoration: none;
  transition: all 0.2s;
  color: inherit;
}
a:hover {
  text-decoration: none;
}

p {
  line-height: 2;
}
@media (min-width: 768px) {
  p a:hover {
    color: var(--linkColor);
  }
}
@media (max-width: 767px) {
  p a:active {
    color: var(--linkColor);
  }
}

ol {
  padding-left: 1.25rem;
}

ruby rt {
  font-size: 40%;
}

em {
  color: #e13838;
}

button {
  font-family: var(--font-go-base);
}

.btnLink {
  border-radius: 50px;
  display: inline-block;
  width: 80vw;
  max-width: 520px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  padding: 25px 0 25px;
  position: relative;
  overflow: hidden;
  transition: ease 0.2s;
  color: #FFF;
  background: var(--primaryColor);
  text-decoration: none;
}
@media (max-width: 767px) {
  .btnLink {
    padding: 20px 0 20px;
  }
}
.btnLink.is_small {
  max-width: 450px;
  padding: 21px 0;
}
@media (max-width: 767px) {
  .btnLink.is_small {
    padding: 18px 0;
  }
}
.btnLink.is_black {
  background: #111;
}
.btnLink_txt {
  color: #FFF;
  font-size: clamp(16px, 1.875vw, 24px);
  font-weight: 700;
  letter-spacing: 0.05em;
  transition-delay: 0.3s;
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .btnLink_txt {
    font-size: clamp(15px, 3.125vw, 24px);
  }
}
.is_small .btnLink_txt {
  font-size: clamp(16px, 1.5625vw, 20px);
}
.btnLink::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background: #111;
  width: 100%;
  height: 100%;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}
.btnLink.is_black::before {
  background: var(--primaryColor);
}
.btnLink::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5.7692307692%;
  background: url(../img/common/arrow-1-wht.webp) no-repeat center center/contain;
  width: 24px;
  aspect-ratio: 1/1;
  transform: translateY(-50%);
  z-index: 3;
}
@media (max-width: 767px) {
  .btnLink::after {
    width: 20px;
  }
}
.btnLink:hover {
  text-decoration: none;
}
.btnLink:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
.btnLink:hover .btnLink_txt {
  color: #FFF;
}

.btnMore {
  cursor: pointer;
  border: none;
  border-radius: 50px;
  display: inline-block;
  width: 80vw;
  max-width: 520px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  padding: 25px 0 25px;
  position: relative;
  overflow: hidden;
  transition: ease 0.2s;
  color: #FFF;
  background: var(--primaryColor);
  margin-top: min(5.3333333333vw, 80px);
  text-decoration: none;
}
@media (max-width: 767px) {
  .btnMore {
    padding: 20px 0 20px;
    margin-top: 10.6666666667%;
  }
}
.btnMore_txt {
  color: #FFF;
  font-size: clamp(16px, 1.6vw, 24px);
  font-weight: 700;
  letter-spacing: 0.05em;
  transition-delay: 0.3s;
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .btnMore_txt {
    font-size: clamp(15px, 3.125vw, 24px);
  }
}
.btnMore::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background: #111;
  width: 100%;
  height: 100%;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}
.btnMore::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5.7692307692%;
  background: url(../img/common/arrow-2-wht.svg) no-repeat center center/contain;
  width: 24px;
  aspect-ratio: 24/14;
  transform: translateY(-50%);
  z-index: 3;
}
@media (max-width: 767px) {
  .btnMore::after {
    width: 20px;
  }
}
.btnMore:hover {
  text-decoration: none;
  color: #FFF;
}
.btnMore:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}

.btnLine {
  border-radius: 50px;
  display: inline-block;
  width: 80vw;
  max-width: 510px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  padding: 18px 0;
  position: relative;
  overflow: hidden;
  transition: ease 0.2s;
  color: #FFF;
  background: #23ba50;
  text-decoration: none;
}
@media (max-width: 767px) {
  .btnLine {
    padding: 20px 0 20px;
  }
}
.btnLine_txt {
  color: #FFF;
  font-size: clamp(16px, 1.875vw, 24px);
  font-weight: 500;
  letter-spacing: 0.05em;
  transition-delay: 0.3s;
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .btnLine_txt {
    font-size: clamp(18px, 3.125vw, 24px);
  }
}
.btnLine::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 5.7692307692%;
  background: url(../img/common/ico-line-on.webp) no-repeat center center/contain;
  width: 41px;
  aspect-ratio: 41/40;
  transform: translateY(-50%);
  z-index: 3;
}
@media (max-width: 767px) {
  .btnLine::before {
    width: 32px;
  }
}
.btnLine::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5.7692307692%;
  background: url(../img/common/arrow-1-wht.webp) no-repeat center center/contain;
  width: 24px;
  aspect-ratio: 1/1;
  transform: translateY(-50%);
  z-index: 3;
}
@media (max-width: 767px) {
  .btnLine::after {
    width: 20px;
  }
}
.btnLine:hover {
  text-decoration: none;
  background: #53d77b;
}
.btnLine:hover .btnLine_txt {
  color: #FFF;
}

.linkBtn {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  border-radius: 100px;
  transition: 0.3s all;
  z-index: 0;
  text-decoration: none;
}
.linkBtn.contact, .linkBtn.download {
  color: #FFF;
  background: linear-gradient(180deg, rgb(202, 49, 41) 0%, rgb(170, 0, 18) 100%);
  padding: 6.206024% 0;
  overflow: hidden;
}
.linkBtn.contact::before, .linkBtn.download::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgb(52, 52, 52) 0%, rgb(31, 31, 31) 100%);
  opacity: 0;
  transition: opacity 0.5s;
}
.linkBtn.contact:hover::before, .linkBtn.download:hover::before {
  opacity: 1;
}
.linkBtn.magazine, .linkBtn.line {
  background: #FFF;
  padding: 3.075% 0;
}
.linkBtn.magazine:hover, .linkBtn.line:hover {
  background: #111;
  color: #FFF;
}
.linkBtn_icon {
  margin-left: 9.6385542169%;
  margin-right: 3.313253012%;
  position: relative;
}
.contact .linkBtn_icon {
  width: 6.3253012048%;
}
.download .linkBtn_icon {
  width: 6.3253012048%;
}
.magazine .linkBtn_icon, .line .linkBtn_icon {
  width: 7.5301204819%;
  margin-left: 9.0361445783%;
  margin-right: 2.7108433735%;
}
.linkBtn_icon .hover {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  z-index: 2;
}
.linkBtn.magazine:hover .linkBtn_icon img, .linkBtn.line:hover .linkBtn_icon img {
  opacity: 0;
}
.linkBtn.magazine:hover .linkBtn_icon img.hover, .linkBtn.line:hover .linkBtn_icon img.hover {
  opacity: 1;
}
.linkBtn_txt {
  letter-spacing: 0.05em;
  font-weight: 700;
}
.linkBtn_txt_name {
  display: block;
  font-size: min(2vw, 30px);
}
@media (max-width: 767px) {
  .linkBtn_txt_name {
    font-size: min(4vw, 30px);
  }
}
.magazine .linkBtn_txt_name, .line .linkBtn_txt_name {
  color: var(--primaryColor);
  font-size: min(1.6vw, 24px);
}
@media (max-width: 767px) {
  .magazine .linkBtn_txt_name, .line .linkBtn_txt_name {
    font-size: min(3.2vw, 24px);
  }
}
.linkBtn_txt_exp {
  display: block;
  font-size: min(1.0666666667vw, 16px);
  margin-top: 0.2em;
}
@media (max-width: 767px) {
  .linkBtn_txt_exp {
    font-size: min(2.6666666667vw, 20px);
  }
}
.linkBtn:hover .linkBtn_txt_name {
  color: #FFF;
}
.linkBtn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 7.5301204819%;
  background: url(../img/common/arrow-1-wht.webp) no-repeat center center/contain;
  width: 28px;
  aspect-ratio: 1/1;
  transform: translateY(-50%);
  z-index: 3;
  transition: 0.3s all;
}
@media (max-width: 767px) {
  .linkBtn::after {
    width: 20px;
  }
}
.linkBtn.magazine::after, .linkBtn.line::after {
  background-image: url(../img/common/arrow-1-red.webp);
}
.linkBtn.magazine:hover::after, .linkBtn.line:hover::after {
  background-image: url(../img/common/arrow-1-wht.webp);
}

.fc_primary {
  color: var(--primaryColor);
}

.fc_yellow {
  color: #fffc00;
}

.f_noto-sans {
  font-family: "Noto Sans JP";
}

.f_poppins {
  font-family: "Poppins";
}

.fz-12 {
  font-size: 0.75rem;
}

.fz-14 {
  font-size: 0.875rem;
}

.fz-16 {
  font-size: 1rem;
}

.fz-18 {
  font-size: clamp(16px, 2.4vw, 18px);
}

.fz-20 {
  font-size: clamp(16px, 2.6666666667vw, 20px);
}

.fz-24 {
  font-size: clamp(18px, 3.2vw, 24px);
}

.fz-30 {
  font-size: clamp(20px, 4vw, 30px);
}

.table-1 {
  width: 100%;
  border-spacing: 0;
  border-top: 1px solid #e4e4e4;
}
@media (max-width: 767px) {
  .table-1 {
    font-size: clamp(14px, 2.1333333333vw, 16px);
  }
}
.table-1 th {
  border-bottom: 1px solid #e4e4e4;
  font-weight: 700;
  line-height: 1.8;
  text-align: left;
  padding: 2.75em 1.875em 2.75em 3.75em;
  width: 230px;
  vertical-align: baseline;
}
@media (max-width: 767px) {
  .table-1 th {
    padding: 2em 1em 0;
    display: block;
    width: 100%;
    border-bottom: none;
  }
}
.table-1 td {
  border-bottom: 1px solid #e4e4e4;
  line-height: 1.8;
  font-weight: 500;
  padding: 2.75em 1.875em 2.75em 3.75em;
  vertical-align: baseline;
}
@media (max-width: 767px) {
  .table-1 td {
    padding: 1.5em 1em 2em;
    display: block;
    width: 100%;
  }
}
.table-1 .ib {
  display: inline-block;
}
.table-1 ul li {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.8;
}
.table-1 ul li::before {
  content: "・";
}

.topTitle {
  font-size: clamp(16px, 1.5625vw, 20px);
  font-weight: 700;
}
@media (max-width: 767px) {
  .topTitle {
    font-size: clamp(16px, 3.2vw, 24px);
  }
}

.sectionTitle {
  text-align: center;
}
.sectionTitle_en {
  font-size: clamp(16px, 1.5625vw, 20px);
  font-weight: 700;
}
@media (max-width: 767px) {
  .sectionTitle_en {
    font-size: clamp(16px, 3.2vw, 24px);
  }
}
.sectionTitle_jp {
  font-size: min(4vw, 60px);
  font-weight: 700;
  margin-top: 0.75em;
  line-height: 1;
}
@media (max-width: 767px) {
  .sectionTitle_jp {
    font-size: min(8vw, 60px);
  }
}

.pageHeader {
  background: url(../img/common/bg-header-1.webp) no-repeat center bottom/cover;
  height: 460px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
}
@media (max-width: 767px) {
  .pageHeader {
    height: auto;
    aspect-ratio: 750/460;
  }
}
.pageHeader_en {
  font-size: clamp(18px, 1.5625vw, 20px);
  font-weight: 700;
  margin-bottom: 0.5em;
  margin-top: 7em;
}
@media (max-width: 767px) {
  .pageHeader_en {
    font-size: clamp(16px, 3.2vw, 24px);
    margin-top: 4em;
  }
  .pageHeader_en.is_small {
    font-size: clamp(14px, 3.2vw, 24px);
  }
}
.pageHeader_ttl {
  font-size: min(4.21875vw, 54px);
  font-weight: 700;
}
@media (max-width: 767px) {
  .pageHeader_ttl {
    font-size: min(7.2vw, 54px);
  }
}

button, input, select, textarea {
  -webkit-appearance: none;
  appearance: none;
}

label {
  display: block;
  font-weight: 500;
  margin: 8px 0;
}

fieldset {
  margin-bottom: 1em;
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=range],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color] {
  color: #000;
  background: #FFF;
  border: none;
  border-radius: 0;
  padding: 0 1em;
  font-size: 1rem;
  font-family: var(--font-go-noto);
  font-weight: 500;
  width: 100%;
  height: 44px;
}
@media (max-width: 767px) {
  input[type=text],
  input[type=email],
  input[type=url],
  input[type=password],
  input[type=search],
  input[type=number],
  input[type=tel],
  input[type=range],
  input[type=date],
  input[type=month],
  input[type=week],
  input[type=time],
  input[type=datetime],
  input[type=datetime-local],
  input[type=color] {
    font-size: 0.9375rem;
  }
}
input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=range]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=week]:focus,
input[type=time]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=color]:focus {
  color: #222;
}

textarea {
  color: #000;
  background: #fff;
  border: none;
  border-radius: 2px;
  padding: 10px 10px;
  width: 100%;
  height: 110px;
  font-size: 1rem;
}
textarea:focus {
  color: #222;
}

select {
  color: #000;
  background: #FFF;
  border: none;
  padding: 3px 25px 3px 10px;
  width: auto;
  appearance: menulist;
  font-size: 1rem;
  width: 100%;
  height: 64px;
}

input[type=radio] + label,
input[type=checkbox] + label {
  font-weight: 400;
}

input[type=file] {
  max-width: 90%;
  font-size: 0.875em;
}

button,
input[type=button],
input[type=submit] {
  background: none;
  border: 0;
  box-shadow: none;
  color: inherit;
  cursor: pointer;
  display: inline-block;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0;
  text-shadow: none;
}

input + button,
input + input[type=button],
input + input[type=submit] {
  padding: 0.75em 2em;
}

button.secondary,
input[type=reset],
input[type=button].secondary,
input[type=reset].secondary,
input[type=submit].secondary {
  background-color: #ddd;
  color: #222;
}

/* Placeholder text color -- selectors need to be separate to work. */
input:-moz-placeholder {
  color: #999;
  font-weight: 400;
}
input::-moz-placeholder {
  color: #999;
  font-weight: 400;
  opacity: 1;
}
input:-ms-input-placeholder {
  color: #999;
  font-weight: 400;
}
input:placeholder-shown {
  color: #999;
  font-weight: 400;
}
input::-webkit-input-placeholder {
  color: #999;
  font-weight: 400;
}

.forminator-radio label {
  display: inline-block;
  cursor: pointer;
}
.forminator-radio label .forminator-radio-text {
  position: relative;
  padding-left: 24px;
  white-space: nowrap;
}
.forminator-radio label .forminator-radio-text::before, .forminator-radio label .forminator-radio-text::after {
  content: "";
  border-radius: 50%;
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  background: #FFF;
}
.forminator-radio label .forminator-radio-text::before {
  border: 1px solid #C3C3C3;
}
.forminator-radio label .forminator-radio-text::after {
  width: 14px;
  height: 14px;
  margin-top: -7px;
  left: 3px;
  background: #FFF;
}
.forminator-radio label input[type=radio]:checked + .forminator-radio-text::before {
  border-color: #555;
}
.forminator-radio label input[type=radio]:checked + .forminator-radio-text::after {
  background: #555;
}

.forminator-checkbox__wrapper {
  display: flex;
  cursor: pointer;
  margin: 8px 30px 8px 0;
  align-items: center !important;
  justify-content: flex-start;
}
.forminator-checkbox-box {
  position: relative;
  padding-left: 20px;
  white-space: nowrap;
  display: inline !important;
  margin-top: -4px;
}
.forminator-checkbox-box::before, .forminator-checkbox-box::after {
  content: "";
  border-radius: 0;
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  background: #FFF;
  transition: all 0.3s ease-in-out;
}
.forminator-checkbox-box::before {
  border: 2px solid #C3C3C3;
}
.forminator-checkbox-box::after {
  width: 12px;
  height: 12px;
  margin-top: -4px;
  left: 4px;
  background: #FFF;
}
.forminator-checkbox-box a {
  border-bottom: 1px solid #000;
  transition: 0.3s;
}
.forminator-checkbox-box a:hover {
  opacity: 0.7;
}
.forminator-checkbox input[type=checkbox]:checked + .forminator-checkbox-box::before {
  border-color: #a8a8a8;
}
.forminator-checkbox input[type=checkbox]:checked + .forminator-checkbox-box::after {
  background: #999;
}

.sendBtn {
  border-radius: 50px;
  display: inline-block;
  width: 80vw !important;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: ease 0.2s;
  color: #FFF;
  background: var(--primaryColor);
  max-width: 450px;
  padding: 21px 0;
  color: #FFF;
  font-size: clamp(16px, 1.5625vw, 20px);
  font-weight: 700;
  letter-spacing: 0.05em;
  z-index: 2;
}
@media (max-width: 767px) {
  .sendBtn {
    font-size: clamp(15px, 3.125vw, 24px);
    padding: 18px 0;
    max-width: 100%;
  }
}
.sendBtn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5.7692307692%;
  background: url(../img/common/arrow-1-wht.webp) no-repeat center center/contain;
  width: 24px;
  aspect-ratio: 1/1;
  transform: translateY(-50%);
  z-index: 3;
}
@media (max-width: 767px) {
  .sendBtn::after {
    width: 20px;
  }
}
.sendBtn:hover {
  background: #111;
  text-decoration: none;
  color: #FFF;
}
.sendBtn:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}

.formWrap {
  margin-top: 1.5em;
  border: none;
}
.formWrap form .formItem {
  padding: 15px 0;
}
.formWrap form .formItem dl {
  width: 100%;
  margin: 0 auto;
  margin-left: 0;
  display: block;
}
.formWrap form .formItem dl dt {
  display: flex;
  align-items: center;
  font-weight: 500;
}
.formWrap form .formItem dl dt.required::after {
  content: "*";
  color: var(--primaryColor);
  font-weight: 500;
  vertical-align: super;
  height: auto;
  width: auto;
}
.formWrap form .formItem dl dd {
  margin-right: auto;
  margin-top: 8px;
  font-weight: 500;
}
.formWrap form .formItem dl dd .form_subtxt {
  color: #FF1A55;
  margin-top: 7px;
  font-weight: 400;
}
.formWrap form .formItem.birthday input[type=text],
.formWrap form .formItem.birthday input[type=number] {
  width: 70px;
  margin-right: 5px;
}
@media (max-width: 767px) {
  .formWrap form .formItem.birthday input[type=text],
  .formWrap form .formItem.birthday input[type=number] {
    width: 60px;
  }
}
.formWrap form .formItem.birthday input[type=text]:not(:first-of-type),
.formWrap form .formItem.birthday input[type=number]:not(:first-of-type) {
  margin-left: 10px;
}
.formWrap form .formItem.address dd p:not(:first-of-type) {
  margin-top: 15px;
}
.formWrap form .formItem.address dd input {
  margin-top: 2px;
}
.formWrap form .agreement {
  font-size: 0.875rem;
}
.formWrap form .formButton {
  text-align: center;
  margin-top: 30px;
  padding-top: 0;
}
@media (max-width: 767px) {
  .formWrap form .formButton {
    margin-top: 20px;
  }
}
.formWrap form .formButton .btnLink {
  width: 100%;
  max-width: 450px;
  padding: 21px 0;
}
@media (max-width: 767px) {
  .formWrap form .formButton .btnLink {
    padding: 18px 0;
  }
}
.formWrap form .formButton .btnLink .btnLink_txt {
  font-size: clamp(16px, 1.5625vw, 20px);
}

.forminator-field a {
  text-decoration: underline;
}
.forminator-field:has(.forminator-button) {
  text-align: center;
}

.forminator-row {
  margin: 30px 0;
}
.forminator-row:nth-of-type(1), .forminator-row:nth-of-type(2) {
  margin-top: 0;
}
.forminator-row:has(.agreement) {
  margin-top: 0;
}

.pageComplete {
  padding-top: min(20vw, 150px);
}
.pageComplete_cont {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  max-width: 1200px;
  margin-top: min(9.375vw, 120px);
}
.pageComplete_ttl {
  font-size: min(2.8125vw, 36px);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  border-bottom: 1px solid #e4e4e4;
  padding-bottom: 2em;
  margin-bottom: 1.75em;
}
@media (max-width: 767px) {
  .pageComplete_ttl {
    font-size: clamp(20px, 4.8vw, 36px);
    text-wrap: balance;
    word-break: auto-phrase;
  }
}
.pageComplete_txt {
  text-align: center;
  font-weight: 500;
  margin-top: 1.5em;
  padding: 0 1em;
}
@media (max-width: 767px) {
  .pageComplete_txt {
    text-align: left;
  }
}
.pageComplete_link {
  text-align: center;
  margin-top: min(5.078125%, 65px);
}
@media (max-width: 767px) {
  .pageComplete_link {
    margin-top: 8.6666666667%;
  }
}

html a:where(:not(.wp-element-button)) {
  text-decoration: inherit;
}

h2.wp-block-heading {
  border-bottom: 1px solid #d0cfcc;
  font-size: min(4vw, 30px);
  font-weight: 500;
  padding-bottom: 0.5em;
  margin: 1.5em 0 1em;
}

h3.wp-block-heading {
  background: #ededed;
  font-size: min(2.9333333333vw, 22px);
  font-weight: 500;
  padding: 1em 1.1em;
  margin: 1.5em 0;
}

h4.wp-block-heading {
  border-left: 4px solid #000;
  font-size: min(2.6666666667vw, 20px);
  font-weight: 500;
  padding: 0.3em 1em;
  margin: 1.5em 0;
}

.postContent p {
  line-height: 1.8;
  margin: 1.5em 0;
}
.postContent p a {
  color: #0070c6;
  text-decoration: underline;
}
.postContent p a:hover {
  opacity: 0.8;
}
.postContent p a::before {
  content: "";
  display: inline-block;
  width: 20px;
  aspect-ratio: 1/1;
  background: url(../img/common/ico-link.webp) no-repeat center center;
  background-size: contain;
  margin-right: 0.5em;
  vertical-align: middle;
}

a.wp-block-button__link {
  border-radius: 50px;
  display: inline-block;
  width: 80vw !important;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: ease 0.2s;
  color: #FFF;
  background: var(--primaryColor);
  max-width: 450px;
  padding: 21px 0;
  color: #FFF;
  font-size: clamp(16px, 1.5625vw, 20px);
  font-weight: 700;
  letter-spacing: 0.05em;
  z-index: 2;
}
@media (max-width: 767px) {
  a.wp-block-button__link {
    font-size: clamp(15px, 3.125vw, 24px);
    padding: 18px 0;
    max-width: 100%;
  }
}
a.wp-block-button__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5.7692307692%;
  background: url(../img/common/arrow-1-wht.webp) no-repeat center center/contain;
  width: 24px;
  aspect-ratio: 1/1;
  transform: translateY(-50%);
  z-index: 3;
}
@media (max-width: 767px) {
  a.wp-block-button__link::after {
    width: 20px;
  }
}
a.wp-block-button__link:hover {
  background: #111;
  text-decoration: none;
  color: #FFF;
}
a.wp-block-button__link:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}

.js-loading {
  background-color: #fff;
  bottom: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  width: 100vw;
  z-index: 10000;
}
.js-loading.is-loaded {
  opacity: 0;
  transition: 0.3s;
  visibility: hidden;
}

.js-accordion-title {
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: all 0.3s;
}
.js-accordion-title::-webkit-details-marker {
  display: none;
}
.js-accordion-content {
  display: block;
  position: relative;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
.js-accordion-content-inner {
  width: 100%;
  padding-bottom: 1px;
}

.siteWrap {
  overflow: clip;
}

.breadcrumb {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  padding: min(2.8125vw, 36px) 0;
}
.serviceIntro .breadcrumb, .downloadDetail .breadcrumb, .columnDetail .breadcrumb {
  padding: min(2.8125vw, 36px) 5.859375%;
  max-width: none;
  width: 100%;
}
.breadcrumb > ul > li {
  font-size: clamp(12px, 1.25vw, 16px);
  font-weight: 700;
  display: inline;
}
@media (max-width: 767px) {
  .breadcrumb > ul > li {
    font-size: clamp(12px, 2.1333333333vw, 16px);
  }
}
.breadcrumb > ul > li:not(:first-of-type)::before {
  content: " ／ ";
}
.breadcrumb > ul > li a {
  transition: 0.3s;
}
.breadcrumb > ul > li a:hover {
  opacity: 0.8;
}

.footerMessage {
  margin-top: min(10.6666666667vw, 160px);
}
@media (max-width: 767px) {
  .footerMessage {
    margin-top: min(16vw, 120px);
  }
}
.is-index .footerMessage {
  background: var(--bgColor);
  margin-top: 0;
}
.footerMessage_logo {
  width: min(8.6666666667vw, 130px);
  margin: 0 auto;
}
@media (max-width: 767px) {
  .footerMessage_logo {
    width: min(17.3333333333vw, 130px);
  }
}
.footerMessage_txt {
  font-size: min(4vw, 60px);
  font-weight: 700;
  line-height: 1;
  text-align: center;
  margin-top: min(3.3333333333vw, 50px);
  display: flex;
  justify-content: center;
}
@media (max-width: 767px) {
  .footerMessage_txt {
    font-size: min(7.2vw, 54px);
    flex-direction: column;
    margin-top: min(6.6666666667vw, 50px);
  }
}
.footerMessage_txt span:not(.footerMessage_box) {
  display: inline-block;
  transform: translateY(100%);
}
@media (max-width: 767px) {
  .footerMessage_txt span:not(.footerMessage_box) {
    display: block;
  }
}
.footerMessage.is-active .footerMessage_txt span:not(.footerMessage_box) {
  animation: textAnime 0.8s 0.5s forwards cubic-bezier(0.215, 0.61, 0.355, 1);
}
.footerMessage.is-active .footerMessage_txt .footerMessage_box:nth-child(2) span:not(.footerMessage_box) {
  animation-delay: 0.7s;
}
.footerMessage_enTxt {
  text-align: center;
  font-size: min(17.3333333333vw, 260px);
  font-weight: 400;
  letter-spacing: 0.075em;
  color: var(--primaryColor);
  line-height: 0.85;
  margin-top: min(2vw, 50px);
}
@media (max-width: 767px) {
  .footerMessage_enTxt {
    font-size: min(18.6666666667vw, 140px);
    margin-top: min(4vw, 50px);
  }
}
.footerMessage_enTxt span:not(.footerMessage_box) {
  line-height: inherit;
  display: inline-block;
  transform: translateY(100%);
}
.footerMessage.is-active .footerMessage_enTxt span:not(.footerMessage_box) {
  animation: textAnimeFenT 0.8s 1s forwards cubic-bezier(0.215, 0.61, 0.355, 1);
}
.footerMessage_box {
  display: block;
  overflow: hidden;
  line-height: inherit;
}

@keyframes textAnimeFenT {
  to {
    transform: translateY(0.08em);
  }
}
.footerContact {
  background: var(--primaryColor);
  padding: min(4.6666666667vw, 70px) 0;
  color: #FFF;
}
@media (max-width: 767px) {
  .footerContact {
    padding: 12% 0;
  }
}
.footerContact_cont {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
}
.footerContact_lead {
  text-align: center;
  font-size: clamp(15px, 1.5625vw, 20px);
  font-weight: 500;
}
@media (max-width: 767px) {
  .footerContact_lead {
    font-size: clamp(15px, 3.2vw, 24px);
    line-height: 1.5;
    word-break: auto-phrase;
  }
}
.footerContact_main {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row-reverse;
  margin-top: min(1.875vw, 24px);
}
@media (max-width: 767px) {
  .footerContact_main {
    margin-top: 6.9230769231%;
    flex-direction: column;
  }
}
.footerContact_feature {
  display: flex;
}
.footerContact_feature p {
  line-height: 1.2;
  font-size: min(1.40625vw, 18px);
  font-weight: 700;
}
@media (max-width: 767px) {
  .footerContact_feature p {
    font-size: min(3.2vw, 24px);
  }
}
.footerContact_feature_free {
  background: #FFF;
  color: var(--primaryColor);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  text-align: center;
  width: min(10vw, 128px);
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .footerContact_feature_free {
    width: min(22.6666666667vw, 170px);
  }
}
.footerContact_feature_free .yen {
  font-size: min(2.34375vw, 30px);
  letter-spacing: -0.4em;
}
@media (max-width: 767px) {
  .footerContact_feature_free .yen {
    font-size: min(5.3333333333vw, 40px);
  }
}
.footerContact_feature_free .yen > span {
  font-size: 2em;
  font-weight: 500;
  line-height: 1;
}
.footerContact_feature_area {
  background: var(--primaryColor);
  color: #FFF;
  border: 2px solid #FFF;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  text-align: center;
  width: min(10vw, 128px);
  margin-left: -5.859375%;
}
@media (max-width: 767px) {
  .footerContact_feature_area {
    width: min(22.6666666667vw, 170px);
  }
}
.footerContact_feature_area p:first-child {
  margin-bottom: min(0.78125vw, 10px);
}
.footerContact_feature_area .map {
  width: 64.5161290323%;
}
.footerContact_tel {
  display: flex;
  vertical-align: top;
  margin-right: min(2.96875vw, 38px);
  margin-top: min(1.171875vw, 15px);
}
@media (max-width: 767px) {
  .footerContact_tel {
    margin-right: 0;
    margin-top: min(6.6666666667vw, 50px);
  }
}
.footerContact_tel_icon {
  width: min(2.890625vw, 37px);
  margin-right: min(1.640625vw, 21px);
  flex: 0 0 auto;
}
@media (max-width: 767px) {
  .footerContact_tel_icon {
    width: min(4.9333333333vw, 50px);
    margin-right: min(2.8vw, 21px);
  }
}
.footerContact_tel_body .num {
  font-size: min(5.625vw, 72px);
  font-weight: 400;
  line-height: 0.85;
}
@media (max-width: 767px) {
  .footerContact_tel_body .num {
    font-size: min(9.6vw, 72px);
  }
}
.footerContact_tel_body .time {
  margin-top: 0.2em;
  margin-left: 0.3em;
  font-size: clamp(13px, 1.25vw, 16px);
}
@media (max-width: 767px) {
  .footerContact_tel_body .time {
    font-size: min(3.2vw, 24px);
  }
}

.footerLinks {
  max-width: 1364px;
  width: 90%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(2.6666666667vw, 40px) min(2.4vw, 36px);
}
@media (max-width: 767px) {
  .footerLinks {
    grid-template-columns: 1fr;
    gap: min(4vw, 30px) 0;
  }
}
.footerLinks_wrap {
  background: #f1f0ee;
  padding: min(8vw, 120px) 0;
}
@media (max-width: 767px) {
  .footerLinks_wrap {
    padding: min(10.6666666667vw, 80px) 0;
  }
}
.footerLinks > li {
  display: grid;
  gap: 0;
}

.footerMain {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  display: grid;
  grid-template-columns: auto 50%;
  align-items: stretch;
  justify-content: space-between;
  margin-top: min(4.6875vw, 60px);
  padding-bottom: min(3.90625vw, 50px);
  letter-spacing: 0.025em;
}
@media (max-width: 767px) {
  .footerMain {
    grid-template-columns: 1fr;
    margin-top: min(8vw, 60px);
    padding-bottom: min(6.6666666667vw, 50px);
    gap: min(8vw, 60px) 0;
  }
}
.footerMain .footerInfo {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: min(6.25vw, 80px) 0;
}
@media (max-width: 767px) {
  .footerMain .footerInfo {
    gap: min(6.6666666667vw, 50px) 0;
  }
}
.footerMain .footerInfo_logo {
  max-width: 290px;
}
@media (max-width: 767px) {
  .footerMain .footerInfo_logo {
    max-width: min(64vw, 480px);
  }
}
.footerMain .footerInfo_company {
  font-size: 0.875rem;
  font-weight: 700;
  margin-top: 1.5em;
}
@media (max-width: 767px) {
  .footerMain .footerInfo_company {
    font-size: clamp(13px, 2.6666666667vw, 20px);
  }
}
.footerMain .footerInfo_address {
  font-size: 0.75rem;
  font-weight: 400;
}
@media (max-width: 767px) {
  .footerMain .footerInfo_address {
    font-size: clamp(12px, 2.6666666667vw, 20px);
  }
}
.footerMain .footerInfo_tel {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .footerMain .footerInfo_tel {
    font-size: clamp(14px, 2.6666666667vw, 20px);
    margin-top: 0.2em;
  }
}
.footerMain .footerInfo_x {
  font-size: 0.75rem;
  font-weight: 700;
  align-self: center;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .footerMain .footerInfo_x {
    font-size: clamp(13px, 2.6666666667vw, 20px);
  }
}
.footerMain .footerInfo_x a {
  display: flex;
  align-items: center;
  transition: 0.3s;
}
.footerMain .footerInfo_x a:hover {
  opacity: 0.8;
}
.footerMain .footerInfo_x img {
  max-width: 32px;
  margin-right: 10px;
}
.footerMain .footerNavi {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: min(5.46875vw, 70px) 0;
  min-width: 50%;
}
@media (max-width: 767px) {
  .footerMain .footerNavi {
    gap: min(9.3333333333vw, 70px) 0;
  }
}

.footerSitemap {
  display: flex;
  justify-content: space-between;
  font-size: 0.875rem;
  padding-top: 1em;
}
@media (max-width: 767px) {
  .footerSitemap {
    flex-wrap: wrap;
    font-size: clamp(13px, 2.6666666667vw, 20px);
    font-weight: 500;
  }
}
@media (max-width: 767px) {
  .footerSitemap_list {
    flex-basis: 50%;
  }
}
.footerSitemap_list > li + li {
  margin-top: 1.2em;
}
.footerSitemap_list a {
  transition: 0.3s;
}
.footerSitemap_list a:hover {
  opacity: 0.8;
}
@media (max-width: 767px) {
  .footerSitemap_list:last-of-type {
    flex-basis: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .footerSitemap_list:last-of-type > li {
    margin-top: 1em;
  }
}
.footerSitemap_sublist {
  margin-top: 1.2em;
}
.footerSitemap_sublist > li {
  padding-left: 1em;
}
.footerSitemap_sublist > li + li {
  margin-top: 1.2em;
}

.footerCopy {
  font-size: 0.875rem;
  font-weight: 500;
  text-align: right;
  align-self: center;
}
@media (max-width: 767px) {
  .footerCopy {
    font-size: clamp(12px, 2.6666666667vw, 20px);
    text-align: left;
  }
}

.ly_header {
  height: auto;
  position: fixed;
  left: 0;
  top: 0;
  transition: opacity 0.1s linear;
  width: 100%;
  z-index: 101;
}

@media (min-width: 768px) {
  .js_menuTip {
    position: relative;
    transition: 0.3s;
  }
  .js_menuTip:hover .headerNavi_page_child {
    opacity: 1;
    visibility: visible;
  }
}

@keyframes navClose {
  0% {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
  }
  to {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0);
  }
}
@keyframes navOpen {
  0% {
    -webkit-clip-path: inset(100% 0 0 0);
    clip-path: inset(100% 0 0 0);
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
  }
}
.header {
  background: transparent;
  transition: 0.3s;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: min(3.3333333333vw, 50px);
  padding-bottom: min(1.3333333333vw, 20px);
}
@media (max-width: 767px) {
  .header {
    padding-top: min(4vw, 30px);
    padding-bottom: min(4vw, 30px);
  }
}
.is-scroll .header {
  background: rgba(255, 255, 255, 0.8);
  padding-top: min(1.3333333333vw, 20px);
}
@media (max-width: 767px) {
  .is-scroll .header {
    padding-top: min(2vw, 15px);
    padding-bottom: min(2vw, 15px);
  }
}
.is-open .header {
  background: rgba(248, 247, 245, 0.8);
}

.headerLogo {
  margin-left: min(5.3333333333vw, 80px);
  top: 50px;
  width: 280px;
  z-index: 1003;
  transition: 0.3s;
}
@media screen and (max-width: 1400px) {
  .headerLogo {
    margin-left: min(5.3333333333vw, 40px);
  }
}
@media (max-width: 1279px) {
  .headerLogo {
    width: min(37.3333333333vw, 280px);
  }
}
.headerLogo a {
  transition: all 0.3s;
}
@media (hover: hover) {
  .headerLogo a:hover {
    opacity: 0.75;
  }
}

.headerNavi {
  margin-right: min(5.3333333333vw, 80px);
  top: 50px;
  display: flex;
  align-items: center;
  transition: 0.3s;
}
.is-scroll .headerNavi {
  top: 20px;
}
.headerNavi_page {
  position: relative;
  display: flex;
  align-items: stretch;
  flex-flow: row wrap;
  justify-content: flex-end;
}
.headerNavi_page_item {
  position: relative;
  padding: 5px 5px;
}
.headerNavi_page_item + .headerNavi_page_item {
  margin-left: 12px;
}
.headerNavi_page_item .arrow {
  position: relative;
  display: inline-block;
  width: 12px;
  height: 7px;
  vertical-align: middle;
  margin-left: 4px;
}
.headerNavi_page_item .arrow::before,
.headerNavi_page_item .arrow::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50% - 1px);
  width: 2px;
  height: 9px;
  border-radius: 9999px;
  background-color: #000000;
  transform-origin: 50% calc(100% - 1px);
}
.headerNavi_page_item .arrow::before {
  transform: rotate(45deg);
}
.headerNavi_page_item .arrow::after {
  transform: rotate(-45deg);
}
.headerNavi_page_item_link {
  position: relative;
  display: inline-block;
  font-weight: 700;
  cursor: pointer;
}
.headerNavi_page_item_link::before {
  content: "";
  position: absolute;
  top: 110%;
  left: -1%;
  width: 102%;
  height: 2px;
  margin-top: 0;
  transform: scale(0, 1);
  transition: transform 0.5s cubic-bezier(0.86, 0, 0.07, 1);
  background: var(--primaryColor);
  transform-origin: left top;
  z-index: 3001;
}
.headerNavi_page_item_link:hover::before, .headerNavi_page_item_link.is_active::before {
  transform: scale(1, 1);
  transform-origin: right top;
}
.headerNavi_page_child {
  position: absolute;
  top: 100%;
  padding-top: 30px;
  left: 50%;
  transform: translate(-50%, 0%);
  transition: 0.3s;
  opacity: 0;
  visibility: hidden;
}
.headerNavi_page_child_list {
  margin: auto;
  padding: 30px 25px 30px;
  width: fit-content;
  width: 200px;
  background: #f1f0ee;
  position: relative;
}
.headerNavi_page_child_list::before {
  content: "";
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 12px solid #f1f0ee;
  border-top: 0;
}
.headerNavi_page_child_list > li {
  font-size: 0.875rem;
  font-weight: 700;
}
.headerNavi_page_child_list > li + li {
  margin-top: 1em;
}
.headerNavi_page_child_list > li a {
  transition: all 0.3s;
}
.headerNavi_page_child_list > li a:hover {
  opacity: 0.8;
}
.headerNavi_contact {
  display: flex;
  align-items: stretch;
  flex-flow: row wrap;
  justify-content: flex-end;
  margin-left: 18px;
}
.headerNavi_contact_item + .headerNavi_contact_item {
  margin-left: 6px;
}
.headerNavi_contact_item_download a, .headerNavi_contact_item_contact a {
  border-radius: 30px;
  background: #111;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 500;
  height: 50px;
  padding: 0 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s background;
}
.headerNavi_contact_item_download a:hover, .headerNavi_contact_item_contact a:hover {
  background: #444;
}
.headerNavi_contact_item_contact a {
  padding: 0 25px;
  background: var(--primaryColor);
  color: #FFF;
}
.headerNavi_contact_item_contact a:hover {
  background: #111;
}
.headerNavi_contact_item_download a:hover {
  background: var(--primaryColor);
}
@media (max-width: 1279px) {
  .headerNavi {
    display: none;
  }
}
@media (min-width: 768px) {
  .headerNavi_copy {
    display: none;
  }
}
@media (max-width: 1279px) {
  .headerNavi_copy {
    font-size: max(2.6041666667vw, 13px);
    font-weight: 700;
    text-align: right;
    margin-right: 5.859375vw;
    padding: 6.5104166667vw 0 9.1145833333vw;
  }
}

.headerContactSP {
  flex: 0 0 auto;
  margin-left: auto;
}
@media (min-width: 1280px) {
  .headerContactSP {
    display: none;
  }
}
.headerContactSP a {
  border-radius: 50px;
  background: var(--primaryColor);
  color: #FFF;
  font-size: min(3.2vw, 24px);
  font-weight: 500;
  width: min(24vw, 180px);
  aspect-ratio: 180/50;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .headerToggle {
    display: none;
  }
}
@media (max-width: 1279px) {
  .headerToggle {
    background: #111;
    border-radius: 50px;
    display: block;
    position: relative;
    width: min(10.6666666667vw, 80px);
    aspect-ratio: 80/50;
    margin-right: min(5.3333333333vw, 40px);
    transition: 0.3s;
    z-index: 1003;
    margin-left: min(1.6vw, 12px);
  }
  .headerToggle > span {
    content: "";
    display: inline-block;
    transition: all 0.3s;
    position: absolute;
    left: 50%;
    top: calc(50% - 1px);
    width: 37.5%;
    height: 2px;
    background: #FFF;
    translate: -50% 0;
  }
  .headerToggle > span:nth-child(1) {
    translate: -50% max(-1.0666666667vw, -8px);
  }
  .headerToggle > span:nth-child(3) {
    translate: -50% min(1.0666666667vw, 8px);
  }
  .headerToggle.is-active > span {
    transition: translate 0.2s 0s, transform 0.2s 0.1s;
  }
  .headerToggle.is-active > span:nth-child(1) {
    transform: rotate(45deg);
    translate: -50% 0;
  }
  .headerToggle.is-active > span:nth-child(2) {
    transform: scale(0);
  }
  .headerToggle.is-active > span:nth-child(3) {
    transform: rotate(-45deg);
    translate: -50% 0;
  }
}
.spNavi {
  width: 100%;
  height: 100vh;
  background: var(--bgColor);
  transform: translateX(100%);
  transition: 0.3s ease-out;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
  overflow-y: scroll;
}
.spNavi.is-active {
  transform: translateX(0);
}
.spNavi_main {
  background: #f1f0ee;
  padding-bottom: 8vw;
}
.spNavi_sitemap {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  padding-top: min(20%, 150px);
  padding-bottom: min(8%, 60px);
  font-size: min(4.6666666667vw, 30px);
  font-weight: 700;
}
.spNavi_sitemap > li {
  border-top: 1px solid #e4e4e4;
  padding: 1em 4.6875%;
}
.spNavi_sitemap > li:first-of-type {
  border-top: none;
}
.spNavi_sitemap_parent {
  display: block;
  padding: 0 0 1em;
}
.spNavi_sitemap_child {
  border-top: 1px solid #e4e4e4;
  margin-left: 1em;
  padding-top: 1em;
  padding-left: 1em;
}
.spNavi_sitemap_child > li + li {
  margin-top: 1.2em;
}
.spNavi_contact {
  background: var(--primaryColor);
  color: #FFF;
  padding: 8% 0 5.3333333333%;
}
.spNavi_contact_cont {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
}
.spNavi_contact_lead {
  text-align: center;
  font-size: clamp(15px, 3.2vw, 24px);
  font-weight: 500;
  line-height: 1.5;
  word-break: auto-phrase;
}
.spNavi_contact_main {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-top: 6.9230769231%;
}
.spNavi_contact_feature {
  display: flex;
}
.spNavi_contact_feature p {
  line-height: 1.2;
  font-size: min(3.2vw, 24px);
  font-weight: 700;
}
.spNavi_contact_feature_free {
  background: #FFF;
  color: var(--primaryColor);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  text-align: center;
  width: min(22.6666666667vw, 170px);
  position: relative;
  z-index: 2;
}
.spNavi_contact_feature_free .yen {
  font-size: min(5.3333333333vw, 40px);
  letter-spacing: -0.4em;
}
.spNavi_contact_feature_free .yen > span {
  font-size: 2em;
  font-weight: 500;
  line-height: 1;
}
.spNavi_contact_feature_area {
  background: var(--primaryColor);
  color: #FFF;
  border: 2px solid #FFF;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  text-align: center;
  margin-left: -5.859375%;
  width: min(22.6666666667vw, 170px);
}
.spNavi_contact_feature_area p:first-child {
  margin-bottom: min(0.78125vw, 10px);
}
.spNavi_contact_feature_area .map {
  width: 64.5161290323%;
}
.spNavi_contact_tel {
  display: flex;
  vertical-align: top;
  margin-right: 0;
  margin-top: min(6.6666666667vw, 50px);
}
.spNavi_contact_tel_icon {
  width: min(5.0203527815vw, 50px);
  margin-right: min(2.8vw, 21px);
  flex: 0 0 auto;
}
.spNavi_contact_tel_body .num {
  font-size: min(9.6vw, 72px);
  font-weight: 400;
  line-height: 0.85;
}
.spNavi_contact_tel_body .time {
  margin-top: 0.2em;
  margin-left: 0.3em;
  font-size: min(3.2vw, 24px);
}
.spNavi_links {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 4vw 0;
  padding-top: 8vw;
}
.spNavi_exLinks {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 5.3333333333vw;
  gap: 1.5em;
}
.spNavi_exLinks > li {
  font-size: min(3.4666666667vw, 24px);
  font-weight: 700;
}

.topFV {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-top: min(18.6666666667vw, 280px);
  padding-bottom: min(12vw, 180px);
}
@media (max-width: 767px) {
  .topFV {
    padding-top: 32vw;
    padding-bottom: 13.3333333333vw;
  }
}
.topFV_cont {
  width: fit-content;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .topFV_cont {
    margin-left: 6.5104166667%;
  }
}
.topFV_box {
  overflow: hidden;
  display: block;
}
.topFV_box > span {
  animation: textAnime 0.8s forwards cubic-bezier(0.215, 0.61, 0.355, 1);
  display: block;
  transform: translateY(100%);
}
.topFV_catch {
  font-size: min(6.2666666667vw, 94px);
  font-weight: 700;
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .topFV_catch {
    flex-direction: column;
    font-size: 10.4vw;
  }
}
.topFV_catch .topFV_box:nth-child(1) span {
  animation-delay: 0.4s;
}
.topFV_catch .topFV_box:nth-child(2) span {
  animation-delay: 0.6s;
}
.topFV_enTxt {
  font-size: min(2.4vw, 20px);
  font-weight: 700;
  margin-top: 1em;
}
@media (max-width: 767px) {
  .topFV_enTxt {
    margin-top: 2em;
  }
}
.topFV_enTxt .topFV_box span {
  animation-delay: 0.8s;
}
.topFV_txt {
  font-size: min(3.4666666667vw, 24px);
  font-weight: 700;
  display: flex;
  flex-wrap: wrap;
  margin-top: 0.5em;
  line-height: 1.5384615385em;
}
@media (max-width: 767px) {
  .topFV_txt {
    flex-direction: column;
    margin-top: 0.75em;
  }
}
.topFV_txt .topFV_box span {
  animation-delay: 1s;
}

@keyframes textAnime {
  to {
    transform: translateY(0px);
  }
}
.topFVImg {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1500/540;
}
@media (max-width: 767px) {
  .topFVImg {
    aspect-ratio: 750/600;
  }
}
.topFVImg img {
  width: 100%;
}
@media (max-width: 767px) {
  .topFVImg img {
    width: 150%;
    max-width: none;
    position: relative;
    left: -18%;
  }
}

.topIdentity {
  background: var(--bgColor);
  overflow: hidden;
}
.topIdentity .swiper-wrapper {
  transition-timing-function: linear;
}
.topIdentity .swiper-slide {
  max-width: 292px;
  width: 100%;
  height: auto;
  aspect-ratio: 292/342;
  border-radius: 10px;
  overflow: hidden;
}
@media (max-width: 767px) {
  .topIdentity .swiper-slide {
    width: 38.9333333333%;
  }
}
.topIdentity_cont {
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  padding: min(10.6666666667vw, 160px) 0;
}
@media screen and (max-width: 1360px) {
  .topIdentity_cont {
    max-width: none;
    padding: min(9.5588235294vw, 130px) 0 min(9.5588235294vw, 130px) min(2.9411764706vw, 40px);
  }
}
@media (max-width: 767px) {
  .topIdentity_cont {
    padding-left: 0;
  }
}
@media (max-width: 767px) {
  .topIdentity .topTitle {
    padding-left: 6.6666666667%;
  }
}
.topIdentity_slider {
  position: absolute !important;
  top: 0;
  width: 22.8125%;
  height: 100%;
}
@media (max-width: 767px) {
  .topIdentity_slider {
    width: 100%;
    position: static !important;
  }
}
.topIdentity_slider_1 {
  right: calc(22.8125% + 20px);
}
@media screen and (max-width: 1360px) {
  .topIdentity_slider_1 {
    right: calc(22.8125% + 2.9411764706vw);
  }
}
.topIdentity_slider_2 {
  right: 0;
}
@media screen and (max-width: 1360px) {
  .topIdentity_slider_2 {
    right: 1.4705882353vw;
  }
}
@media (max-width: 767px) {
  .topIdentity_slider_2 {
    margin-top: 20px;
  }
}
.topIdentity_catch {
  font-size: clamp(16px, 1.875vw, 24px);
  font-weight: 700;
  margin-top: 4em;
  line-height: 1;
}
@media (max-width: 767px) {
  .topIdentity_catch {
    padding-left: 6.6666666667%;
    font-size: 4vw;
    margin-top: 3em;
    margin-bottom: 1.5em;
  }
}
.topIdentity_catch .mlg {
  font-size: 2em;
}
@media (max-width: 767px) {
  .topIdentity_catch .mlg {
    font-size: 1.8em;
  }
}
.topIdentity_catch .xlg {
  font-size: 1.25em;
}
.topIdentity_txt {
  line-height: 2.25em;
  width: min(43.75%, 560px);
  margin-top: 3em;
  font-size: clamp(15px, 1.25vw, 16px);
}
@media (max-width: 767px) {
  .topIdentity_txt {
    padding-left: 6.6666666667%;
    padding-right: 6.6666666667%;
    font-size: clamp(14px, 3.2vw, 24px);
    width: 100%;
  }
}

@keyframes topMarqueeAnim {
  0% {
    background-position: 0;
  }
  to {
    background-position: -4450px;
  }
}
.topStrength {
  background: var(--primaryColor);
  background-image: linear-gradient(125deg, rgb(204, 45, 37) 0%, rgb(170, 0, 18) 100%);
  color: #FFF;
  padding-bottom: min(10vw, 150px);
}
.topStrength_marquee {
  position: relative;
  height: 130px;
  width: 100%;
  margin: 0 0 min(10.6666666667vw, 160px);
  overflow: hidden;
  overflow: clip;
}
@media (max-width: 767px) {
  .topStrength_marquee {
    height: 16.9270833333vw;
    margin: 0 0 min(15.625vw, 120px);
  }
}
.topStrength_marquee_img {
  position: absolute;
  left: -50%;
  top: 0;
  background-position: 0 0;
  background-repeat: repeat;
  animation: topMarqueeAnim 80s linear 0s infinite;
  color: transparent;
  font-size: 0;
  line-height: 0;
  transition: background-image 0.4s ease-in-out;
  background-image: url(../img/top/bg-txt-1.webp);
  width: calc(100vw + 4450px);
  height: 130px;
  background-size: 4450px 130px;
}
@media (max-width: 767px) {
  .topStrength_marquee_img {
    background-size: auto 16.9270833333vw;
    height: 16.9270833333vw;
    animation-duration: 100s;
  }
}
.topStrength .topTitle {
  text-align: center;
  font-weight: 500;
}
.topStrength_catch {
  text-align: center;
  font-size: min(4vw, 60px);
  font-weight: 700;
  margin-top: 1em;
  line-height: 1;
}
@media (max-width: 767px) {
  .topStrength_catch {
    font-size: min(7.8125vw, 60px);
  }
}
.topStrength_catch .name {
  font-weight: 500;
}
.topStrength_catch .num {
  font-size: 1.6666666667em;
  line-height: 1;
}
.topStrength_list {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  margin-top: min(8vw, 120px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(3.6666666667vw, 55px);
}
@media (max-width: 767px) {
  .topStrength_list {
    grid-template-columns: 1fr;
    margin-top: 6.5104166667%;
    gap: min(9.3333333333vw, 70px) 0;
  }
}
.topStrength_list > li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
}
.topStrength_list_img {
  border-radius: 8px;
  overflow: hidden;
}
.topStrength_list_ttl {
  font-size: min(2.34375vw, 30px);
  font-weight: 700;
  line-height: 1.6;
  margin-top: 1em;
  padding: 0 2.5641025641%;
}
@media (max-width: 767px) {
  .topStrength_list_ttl {
    padding: 0;
    font-size: 4.8vw;
  }
}
.topStrength_list_txt {
  font-size: clamp(15px, 1.25vw, 16px);
  margin-top: 1.2em;
  padding: 0 2.5641025641%;
}
@media (max-width: 767px) {
  .topStrength_list_txt {
    font-size: clamp(14px, 3.2vw, 24px);
    padding: 0;
    line-height: 1.6;
  }
}

.topService {
  background: url(../img/common/bg-1.webp) no-repeat center top/100% auto;
}
@media (max-width: 767px) {
  .topService {
    background-image: url(../img/common/bg-1-sp.webp);
  }
}
.topService_cont {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  padding: min(14.6666666667vw, 220px) 0 min(12vw, 180px);
  position: relative;
}
@media (max-width: 767px) {
  .topService_cont {
    padding: 21.3333333333vw 0 18.6666666667vw;
  }
}
.topService_ttl {
  font-size: min(4vw, 60px);
  font-weight: 700;
  margin-top: 2em;
  line-height: 1;
}
@media (max-width: 767px) {
  .topService_ttl {
    font-size: min(7.8125vw, 60px);
    margin-top: 1.5em;
  }
}
.topService_lead {
  font-size: min(2vw, 30px);
  font-weight: 700;
  line-height: 2;
  margin-top: 1.5em;
  max-width: 50%;
}
@media (max-width: 767px) {
  .topService_lead {
    font-size: min(4vw, 30px);
    margin-top: 1.5em;
    max-width: none;
  }
}
.topService_img {
  max-width: 38.90625%;
  position: absolute;
  right: 3.125%;
  top: 17%;
}
@media (min-width: 768px) and (max-width: 1279px) {
  .topService_img {
    top: 14%;
  }
}
@media (max-width: 767px) {
  .topService_img {
    position: static;
    max-width: 92%;
    margin: 10.7692307692% auto;
  }
}
.topService_list {
  margin-top: min(8vw, 120px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(3.6666666667vw, 55px);
}
@media (max-width: 767px) {
  .topService_list {
    grid-template-columns: 1fr;
    margin-top: 12.3076923077%;
    gap: 10.7692307692vw;
  }
}
.topService_list > li {
  background: #f3f3f3;
  border-radius: 8px;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 1px;
  padding: min(4.6875vw, 60px) 0 min(4.6875vw, 60px);
  font-size: clamp(14px, 1.25vw, 16px);
}
.topService_list_img {
  max-width: 196px;
  margin: 0 auto;
  align-self: center;
}
@media (max-width: 767px) {
  .topService_list_img {
    max-width: min(49.2307692308%, 320px);
  }
}
.topService_list > li:nth-child(3) .topService_list_img {
  max-width: 172px;
}
@media (max-width: 767px) {
  .topService_list > li:nth-child(3) .topService_list_img {
    max-width: min(43.0769230769%, 280px);
  }
}
.topService_list_ttl {
  text-align: center;
  color: var(--primaryColor);
  font-size: min(2.34375vw, 30px);
  font-weight: 700;
  margin-top: 1em;
}
@media (max-width: 767px) {
  .topService_list_ttl {
    font-size: min(6.4vw, 48px);
  }
}
.topService_list_txt {
  font-weight: 700;
  margin-top: 1.5em;
  padding: 0 7.6923076923%;
  line-height: 1.5em;
}
@media (max-width: 767px) {
  .topService_list_txt {
    font-size: clamp(14px, 3.2vw, 24px);
  }
}
.topService_list_sublist {
  margin-top: 1.5em;
  padding: 0 10.2564102564%;
  line-height: 1.5em;
}
@media (max-width: 767px) {
  .topService_list_sublist {
    padding: 0 7.6923076923%;
  }
}
.topService_list_sublist > li {
  display: flex;
  align-items: center;
  font-weight: 700;
}
@media (max-width: 767px) {
  .topService_list_sublist > li {
    font-size: clamp(14px, 3.2vw, 24px);
  }
}
.topService_list_sublist > li + li {
  margin-top: 1em;
}
.topService_list_sublist > li::before {
  content: "";
  display: block;
  width: 30px;
  aspect-ratio: 1/1;
  background: url(../img/common/check-1.webp) no-repeat center/contain;
  margin-right: 0.8em;
  flex: 0 0 auto;
}
@media (max-width: 767px) {
  .topService_list_sublist > li::before {
    width: clamp(24px, 5.3333333333vw, 40px);
    margin-right: 0.6em;
  }
}
.topService_link {
  text-align: center;
  margin-top: min(6.6666666667vw, 100px);
}

.topMidObi {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1500/430;
}
@media (max-width: 767px) {
  .topMidObi {
    aspect-ratio: 750/430;
  }
}
.topMidObi img {
  width: 100%;
}
@media (max-width: 767px) {
  .topMidObi img {
    width: 150%;
    max-width: none;
    position: relative;
    left: -18%;
  }
}

.topCase {
  padding: min(10vw, 150px) 0;
  background: url(../img/top/bg-case-1.webp) no-repeat center center/100% auto;
}
@media (max-width: 767px) {
  .topCase {
    background-position: center top 8%;
    padding: 20% 0;
  }
}
.topCase .topTitle {
  text-align: center;
}
.topCase_ttl {
  text-align: center;
  font-size: min(4vw, 60px);
  font-weight: 700;
  margin-top: 1em;
  line-height: 1;
}
@media (max-width: 767px) {
  .topCase_ttl {
    font-size: min(8vw, 60px);
  }
}
.topCase_link {
  text-align: center;
  margin-top: min(6.6666666667vw, 100px);
}
@media (max-width: 767px) {
  .topCase_link {
    margin-top: 13.3333333333vw;
  }
}

.topColumn {
  padding: min(10vw, 150px) 0;
  background: var(--bgColor);
}
@media (max-width: 767px) {
  .topColumn {
    padding: 20% 0;
  }
}
.topColumn_header {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  display: flex;
}
@media (max-width: 767px) {
  .topColumn_header {
    flex-direction: column;
  }
}
.topColumn_header_ttl {
  flex: 0 0 auto;
  margin-right: 10.15625%;
}
.topColumn_header_body {
  flex: 1 1 auto;
}
.topColumn_ttl {
  font-size: min(4vw, 60px);
  font-weight: 700;
  margin-top: 1em;
  line-height: 1;
}
@media (max-width: 767px) {
  .topColumn_ttl {
    font-size: min(8vw, 60px);
  }
}
.topColumn_txtbox {
  display: flex;
  flex-direction: column;
  gap: min(0.6666666667vw, 10px);
}
@media (max-width: 767px) {
  .topColumn_txtbox {
    margin-left: calc(50% - 50vw);
    margin-top: 5.3333333333%;
  }
}
.topColumn_txtbox .box {
  overflow: hidden;
  width: max-content;
  position: relative;
  display: block;
  opacity: 1;
  transition: 0.4s;
  background: white;
  letter-spacing: 0.05em;
  color: #333;
  font-size: min(1.6vw, 24px);
  font-weight: 900;
  padding: 0.56em 1em 0.56em 1.2em;
}
@media (max-width: 767px) {
  .topColumn_txtbox .box {
    font-size: min(3.2vw, 24px);
    padding-left: 7vw;
    padding-right: 0.5em;
  }
}
.topColumn_txtbox .box::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  right: 0;
  top: 0;
  z-index: 1;
  background-color: var(--primaryColor);
  transition: all 0.6s cubic-bezier(0.5, 0, 0.3, 1);
  transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}
.topColumn_txtbox.is-active .box::before {
  translate: 101% 0;
  transition-delay: 0.3s;
}
.topColumn_enTxt {
  font-size: min(8vw, 120px);
  font-weight: 500;
  color: #e5e2dc;
  line-height: 1;
  margin-top: 0.25em;
  text-align: right;
}
@media (max-width: 767px) {
  .topColumn_enTxt {
    font-size: min(16vw, 120px);
    white-space: nowrap;
    text-indent: -0.15em;
    text-align: center;
  }
}
.topColumn_link {
  text-align: center;
  margin-top: min(6.6666666667vw, 100px);
}
@media (max-width: 767px) {
  .topColumn_link {
    margin-top: 13.3333333333vw;
  }
}

.serviceFV {
  display: grid;
  grid-template-columns: 1fr 41.3333333333%;
  grid-template-rows: 1fr auto;
}
@media (max-width: 820px) {
  .serviceFV {
    display: flex;
    flex-direction: column;
  }
}
.serviceFV_ttl {
  grid-column: 1/2;
  grid-row: 1/2;
  align-self: end;
}
@media (max-width: 820px) {
  .serviceFV_ttl {
    padding-top: 24vw;
    padding-bottom: 8vw;
    align-self: auto;
  }
}
.serviceFV_ttl_en {
  font-size: 1.3333333333vw;
  font-weight: 700;
  margin-left: 5.6vw;
  margin-bottom: 1em;
}
@media (max-width: 820px) {
  .serviceFV_ttl_en {
    font-size: clamp(15px, 2.6666666667vw, 20px);
  }
}
.serviceFV_ttl_catch {
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.3333333333em;
  margin-left: 5.2vw;
  margin-bottom: 0.8em;
}
@media (max-width: 820px) {
  .serviceFV_ttl_catch {
    font-size: 8vw;
  }
}
.serviceFV_box {
  overflow: hidden;
  display: block;
}
.serviceFV_box > span {
  animation: textAnime 0.8s forwards cubic-bezier(0.215, 0.61, 0.355, 1);
  display: block;
  transform: translateY(100%);
}
.serviceFV_box:nth-of-type(1) > span {
  animation-delay: 0.2s;
}
.serviceFV_box:nth-of-type(2) > span {
  animation-delay: 0.4s;
}
.serviceFV_box:nth-of-type(3) > span {
  animation-delay: 0.6s;
}
.serviceFV_cta {
  grid-column: 1/2;
  grid-row: 2/3;
  background-image: linear-gradient(90deg, rgb(204, 45, 37) 0%, rgb(170, 0, 18) 100%);
  color: #FFF;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 6.8181818182% 0;
}
@media (max-width: 820px) {
  .serviceFV_cta {
    padding: 8% 0;
  }
}
.serviceFV_cta_catch {
  font-size: 1.6vw;
  font-weight: 700;
  margin-left: 5.7333333333vw;
}
@media (max-width: 820px) {
  .serviceFV_cta_catch {
    font-size: clamp(16px, 3.2vw, 24px);
  }
}
.serviceFV_cta_txt {
  font-size: 1.0666666667vw;
  font-weight: 700;
  margin-top: 1em;
  line-height: 1.875em;
  margin-left: 5.7333333333vw;
}
@media (max-width: 820px) {
  .serviceFV_cta_txt {
    font-size: clamp(13px, 2.1333333333vw, 16px);
  }
}
.serviceFV_cta_btn {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.6666666667vw;
  width: 81.8181818182%;
  margin: 3.9772727273% auto 0;
}
@media (max-width: 820px) {
  .serviceFV_cta_btn {
    width: 90%;
    margin: 4.6666666667% auto 0;
    gap: 1.3333333333vw;
  }
}
.serviceFV_cta_btn .btn {
  border-radius: 50px;
  background: #FFF;
  color: var(--primaryColor);
  font-size: 1.3333333333vw;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.2em 0;
}
.serviceFV_cta_btn .btn:hover {
  background: #ff8888;
}
@media (max-width: 820px) {
  .serviceFV_cta_btn .btn {
    font-size: 3.2vw;
  }
  .serviceFV_cta_btn .btn span {
    display: none;
  }
}
.serviceFV_img {
  grid-column: 2/3;
  grid-row: 1/3;
}
@media (max-width: 820px) {
  .serviceFV_img {
    width: 100%;
  }
  .serviceFV_img img {
    width: 100%;
    height: 100%;
    aspect-ratio: 750/400;
    object-fit: cover;
    object-position: 50% 60%;
  }
}

.serviceIntro {
  background: linear-gradient(180deg, transparent 0%, transparent 85%, rgb(255, 255, 255) 100%), url(../img/common/bg-1.webp) no-repeat center top/100% auto;
  padding-bottom: min(6.6666666667vw, 100px);
}
@media (max-width: 767px) {
  .serviceIntro {
    background-image: url(../img/common/bg-1-sp.webp);
  }
}
.serviceIntro_ttl {
  text-align: center;
  padding-top: 5.3333333333%;
}
.serviceIntro_ttl_en {
  font-size: min(1.5625vw, 20px);
  font-weight: 700;
}
@media (max-width: 767px) {
  .serviceIntro_ttl_en {
    font-size: min(2.6666666667vw, 20px);
  }
}
.serviceIntro_ttl_main {
  font-size: min(4.6875vw, 60px);
  font-weight: 700;
  margin-top: 0.5em;
}
@media (max-width: 767px) {
  .serviceIntro_ttl_main {
    font-size: min(6.4vw, 48px);
  }
}
.serviceIntro_txt {
  text-align: center;
  font-size: min(1.40625vw, 18px);
  font-weight: 700;
  line-height: 3.3333333333em;
  margin-top: min(5.46875vw, 70px);
}
@media (max-width: 767px) {
  .serviceIntro_txt {
    font-size: clamp(13px, 2.4vw, 18px);
    padding: 0 2em;
    word-break: auto-phrase;
    line-height: 3;
  }
}

.serviceNavi {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  margin-top: min(12.6666666667vw, 190px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(3.6666666667vw, 55px);
}
@media (max-width: 767px) {
  .serviceNavi {
    display: block;
    margin-top: 23.0769230769%;
  }
}
.serviceNavi > li {
  background: #f3f3f3;
  border-radius: 8px;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 1px;
  padding: min(7.03125vw, 90px) 0 0;
  font-size: clamp(14px, 1.25vw, 16px);
  position: relative;
}
@media (max-width: 767px) {
  .serviceNavi > li {
    padding: 16.9230769231% 0 0;
  }
  .serviceNavi > li + li {
    margin-top: 24.6153846154%;
  }
}
.serviceNavi > li::after {
  content: "";
  width: 100%;
  aspect-ratio: 390/80;
  border-radius: 0 0 8px 8px;
  background: var(--primaryColor) url(../img/common/arrow-2-wht.svg) no-repeat center;
  background-size: min(6.1538461538%, 24px) auto;
  transition: all 0.3s;
  max-height: 80px;
}
@media (max-width: 767px) {
  .serviceNavi > li::after {
    aspect-ratio: 390/50;
  }
}
.serviceNavi > li:hover::after {
  background-color: #000;
}
.serviceNavi_num {
  color: var(--primaryColor);
  font-weight: 700;
  text-align: center;
  line-height: 1;
  font-size: min(1.6vw, 24px);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -53%);
}
@media (max-width: 767px) {
  .serviceNavi_num {
    font-size: min(3.2vw, 24px);
  }
}
.serviceNavi_num span {
  font-size: 6.25em;
  font-weight: 500;
  display: block;
  line-height: 1;
}
.serviceNavi_img {
  max-width: 196px;
  margin: 0 auto;
  align-self: center;
}
@media (max-width: 767px) {
  .serviceNavi_img {
    max-width: min(49.2307692308%, 320px);
  }
}
.serviceNavi > li:nth-child(3) .serviceNavi_img {
  max-width: 172px;
}
@media (max-width: 767px) {
  .serviceNavi > li:nth-child(3) .serviceNavi_img {
    max-width: min(43.0769230769%, 280px);
  }
}
.serviceNavi_ttl {
  text-align: center;
  color: var(--primaryColor);
  font-size: min(2.34375vw, 30px);
  font-weight: 700;
  margin-top: 0.5em;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .serviceNavi_ttl {
    font-size: min(6.4vw, 48px);
  }
}
.serviceNavi_txt {
  font-size: min(1.5625vw, 20px);
  font-weight: 700;
  margin: 1em 0 1.5em;
  padding: 0 7.6923076923%;
  line-height: 1.5em;
}
@media (max-width: 767px) {
  .serviceNavi_txt {
    font-size: clamp(14px, 3.2vw, 24px);
  }
}
.serviceNavi_link {
  position: absolute;
  inset: 0;
  margin: auto;
  z-index: 1;
}

.serviceSubNavi {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  margin-top: min(3.3333333333vw, 50px);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: min(2.6666666667vw, 40px);
}
@media (max-width: 767px) {
  .serviceSubNavi {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 7.6923076923%;
    gap: min(4vw, 40px);
  }
}
.serviceSubNavi > li {
  background: #f3f3f3;
  border-radius: 8px;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 1px;
  position: relative;
}
.serviceSubNavi > li::after {
  content: "";
  width: 100%;
  aspect-ratio: 290/40;
  border-radius: 0 0 8px 8px;
  background: var(--primaryColor) url(../img/common/arrow-2-wht.svg) no-repeat center;
  background-size: min(6.1538461538%, 24px) auto;
  transition: all 0.3s;
  max-height: 80px;
}
@media (max-width: 767px) {
  .serviceSubNavi > li::after {
    aspect-ratio: 290/50;
  }
}
.serviceSubNavi > li:hover::after {
  background-color: #000;
}
.serviceSubNavi_ttl {
  text-align: center;
  color: var(--primaryColor);
  font-size: min(1.5625vw, 20px);
  font-weight: 700;
  margin: 1.5em 0 1.2em;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .serviceSubNavi_ttl {
    margin: 2em 0 1.5em;
    font-size: min(3.4666666667vw, 20px);
    word-break: auto-phrase;
    padding: 0 1em;
    align-self: center;
  }
}
.serviceSubNavi_link {
  position: absolute;
  inset: 0;
  margin: auto;
  z-index: 1;
}

.serviceSection {
  margin-top: min(5.3333333333vw, 80px);
}
@media (max-width: 767px) {
  .serviceSection {
    margin-top: 10.6666666667%;
  }
}

.serviceHeader {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  align-items: center;
}
@media (max-width: 767px) {
  .serviceHeader {
    display: flex;
    flex-direction: column;
  }
}
.serviceHeader_num {
  color: var(--primaryColor);
  font-weight: 700;
  text-align: center;
  line-height: 1;
  font-size: min(1.6vw, 24px);
}
@media (max-width: 767px) {
  .serviceHeader_num {
    font-size: min(3.2vw, 24px);
  }
}
.serviceHeader_num span {
  font-size: 6.25em;
  font-weight: 500;
  display: block;
  line-height: 1;
}
.serviceHeader_ttl {
  font-size: min(4.8vw, 72px);
  font-weight: 700;
  line-height: 1;
  text-align: center;
  margin-top: 0.3em;
}
@media (max-width: 767px) {
  .serviceHeader_ttl {
    font-size: min(9.6vw, 72px);
  }
}
.serviceHeader_en {
  text-align: center;
  font-size: min(1.2vw, 18px);
  font-weight: 700;
  margin-top: 0.5em;
  letter-spacing: normal;
}
@media (max-width: 767px) {
  .serviceHeader_en {
    font-size: min(2.4vw, 18px);
  }
}
.serviceHeader_img {
  border-radius: 8px;
  overflow: hidden;
}
@media (max-width: 767px) {
  .serviceHeader_img {
    margin-top: min(5.3333333333vw, 40px);
  }
}

.serviceLead {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  padding-bottom: min(10vw, 150px);
}
.serviceLead_catch {
  font-size: min(4vw, 60px);
  font-weight: 700;
  margin-top: 0.75em;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .serviceLead_catch {
    font-size: min(8vw, 60px);
    margin-top: 1em;
    line-height: 1.2;
    word-break: auto-phrase;
  }
}
.serviceLead_txt {
  line-height: 2.25em;
  font-size: clamp(13px, 1.0666666667vw, 16px);
  margin-top: 0.75em;
}
@media (max-width: 767px) {
  .serviceLead_txt {
    font-size: clamp(13px, 2.1333333333vw, 16px);
  }
}

.serviceConcern {
  background: var(--bgColor);
}
.serviceConcern_img {
  text-align: center;
  translate: 0 max(-3.125vw, -40px);
  width: min(16.40625%, 210px);
  margin: 0 auto;
}
@media (max-width: 767px) {
  .serviceConcern_img {
    width: min(20%, 150px);
  }
}
.serviceConcern_catch {
  text-align: center;
  line-height: 1.3333333333em;
  font-size: min(2.4vw, 36px);
  font-weight: 700;
  margin-top: -0.25em;
}
@media (max-width: 767px) {
  .serviceConcern_catch {
    font-size: min(4.8vw, 36px);
    margin-top: 0;
  }
}
.serviceConcern_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(2.734375vw, 35px);
  max-width: 1240px;
  margin: min(3.125vw, 40px) auto 0;
  padding: 0 20px;
}
@media (max-width: 767px) {
  .serviceConcern_list {
    grid-template-columns: 1fr;
    max-width: 90%;
    padding: 0;
  }
}
.serviceConcern_list > li {
  background: #FFF;
  text-align: center;
  border-radius: 88px;
  padding: 10.2564102564% 2em;
  font-size: clamp(13px, 1.40625vw, 18px);
  font-weight: 700;
  line-height: 1.6666666667em;
  display: grid;
  place-items: center;
  gap: 0;
}
@media (max-width: 820px) {
  .serviceConcern_list > li {
    word-break: auto-phrase;
  }
  .serviceConcern_list > li br {
    display: none;
  }
}
@media (max-width: 767px) {
  .serviceConcern_list > li {
    font-size: clamp(14px, 2.4vw, 18px);
    padding: 5.5555555556% 3em;
  }
  .serviceConcern_list > li span {
    display: inline-block;
  }
}
.serviceConcern_state {
  text-align: center;
  line-height: 1.3333333333em;
  font-size: min(2.4vw, 36px);
  font-weight: 700;
  margin-top: min(6vw, 90px);
  margin-bottom: min(2.6666666667vw, 40px);
}
@media (max-width: 767px) {
  .serviceConcern_state {
    font-size: min(4.8vw, 36px);
    margin-top: 12%;
    margin-bottom: 5.3333333333%;
  }
}
.serviceConcern_resolve {
  background-image: linear-gradient(122deg, rgb(204, 45, 37) 0%, rgb(170, 0, 18) 100%);
  color: #FFF;
  padding: min(6%, 90px) 3em;
  text-align: center;
  font-size: min(1.875vw, 24px);
  font-weight: 700;
  line-height: 2;
}
@media (max-width: 767px) {
  .serviceConcern_resolve {
    font-size: clamp(15px, 3.2vw, 24px);
    padding: 12% 3em;
    word-break: auto-phrase;
  }
}

.serviceDetail {
  margin-top: min(8vw, 120px);
  padding-bottom: min(6.6666666667vw, 100px);
}
@media (max-width: 767px) {
  .serviceDetail {
    margin-top: 16%;
    padding-bottom: 13.3333333333%;
  }
}
.serviceDetail_ttl {
  font-size: min(3.2vw, 48px);
  font-weight: 700;
  text-align: center;
}
@media (max-width: 767px) {
  .serviceDetail_ttl {
    font-size: min(6.4vw, 48px);
  }
}
.serviceDetail_list {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(3.125vw, 40px);
  margin-top: min(3.90625vw, 50px);
}
@media (max-width: 767px) {
  .serviceDetail_list {
    grid-template-columns: 1fr;
    margin-top: 6.6666666667%;
    gap: min(5.3333333333vw, 40px);
  }
}
.serviceDetail_list > li {
  background: #f3f3f3;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
  border-radius: 8px;
  padding: min(3.90625vw, 50px) min(3.90625vw, 50px) min(3.125vw, 40px);
}
@media (max-width: 767px) {
  .serviceDetail_list > li {
    padding: min(6.6666666667vw, 50px) min(6.6666666667vw, 50px) min(5.3333333333vw, 40px);
  }
}
.serviceDetail_list_icon {
  width: min(17.7419354839%, 110px);
  margin: 0 auto;
  align-self: center;
}
.serviceDetail_list_ttl {
  text-align: center;
  color: var(--primaryColor);
  font-size: min(2.34375vw, 30px);
  font-weight: 700;
  margin: 5.8064516129% 0 3.8709677419%;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .serviceDetail_list_ttl {
    font-size: min(4vw, 30px);
  }
}
.serviceDetail_list_txt {
  font-size: clamp(14px, 1.40625vw, 18px);
  font-weight: 500;
  line-height: 1.7777777778em;
  letter-spacing: 0.025em;
}
.serviceDetail_list_txt span {
  font-weight: 700;
}

.serviceCTA {
  background-image: linear-gradient(122deg, rgb(204, 45, 37) 0%, rgb(170, 0, 18) 100%);
  color: #FFF;
  text-align: center;
  padding: min(4%, 60px) 0;
}
.servicePrice .serviceCTA {
  background: #80000e;
}
@media (max-width: 767px) {
  .serviceCTA {
    padding: 8% 0;
  }
}
.serviceCTA_ttl {
  font-size: min(2vw, 30px);
  font-weight: 700;
  margin-bottom: 1em;
}
@media (max-width: 767px) {
  .serviceCTA_ttl {
    font-size: min(3.7333333333vw, 28px);
  }
}
.serviceCTA_btn {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(2.34375vw, 30px);
  width: min(57.8125vw, 740px);
  margin: 0 auto 0;
}
@media (max-width: 767px) {
  .serviceCTA_btn {
    width: 90%;
    margin: 4.6666666667% auto 0;
    gap: 2.6666666667vw;
  }
}
.serviceCTA_btn .btn {
  border-radius: 50px;
  background: #FFF;
  color: var(--primaryColor);
  font-size: min(1.5625vw, 20px);
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.2em 0;
}
.serviceCTA_btn .btn:hover {
  background: #ff8888;
}
@media (max-width: 767px) {
  .serviceCTA_btn .btn {
    font-size: 3.2vw;
  }
  .serviceCTA_btn .btn span {
    display: none;
  }
}

.serviceCase {
  padding: min(11.3333333333vw, 170px) 0 min(10.6666666667vw, 160px);
  background: url(../img/top/bg-case-1.webp) no-repeat center center/100% auto;
}
@media (max-width: 767px) {
  .serviceCase {
    background-position: center top 8%;
    padding: 21.3333333333% 0;
  }
}
.serviceCase_ttl {
  text-align: center;
}
.serviceCase_ttl_en {
  font-size: clamp(16px, 1.5625vw, 20px);
  font-weight: 700;
}
@media (max-width: 767px) {
  .serviceCase_ttl_en {
    font-size: clamp(16px, 3.2vw, 24px);
  }
}
.serviceCase_ttl_jp {
  font-size: min(4vw, 60px);
  font-weight: 700;
  margin-top: 0.75em;
  line-height: 1;
}
@media (max-width: 767px) {
  .serviceCase_ttl_jp {
    font-size: min(8vw, 60px);
  }
}

.serviceMidObi {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1500/430;
}
@media (max-width: 767px) {
  .serviceMidObi {
    aspect-ratio: 750/430;
  }
}
.serviceMidObi img {
  width: 100%;
}
@media (max-width: 767px) {
  .serviceMidObi img {
    width: 150%;
    max-width: none;
    position: relative;
    left: -26%;
  }
}

.serviceFeature {
  padding: min(7.3333333333vw, 110px) 0 min(10.6666666667vw, 160px);
}
@media (max-width: 767px) {
  .serviceFeature {
    padding: 14.6666666667% 0 21.3333333333%;
  }
}
.serviceFeature_list {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  margin-top: min(6vw, 90px);
}
@media (max-width: 767px) {
  .serviceFeature_list {
    margin-top: 12%;
  }
}
.serviceFeature_list > li {
  display: grid;
  grid-template-columns: 50% 1fr;
  gap: min(6vw, 90px);
  align-items: center;
}
.serviceFeature_list > li:nth-child(even) {
  grid-template-columns: 1fr 50%;
}
@media (min-width: 768px) {
  .serviceFeature_list > li:nth-child(even) .serviceFeature_list_img {
    order: 1;
  }
}
@media (max-width: 767px) {
  .serviceFeature_list > li {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
}
.serviceFeature_list > li + li {
  margin-top: min(8vw, 120px);
}
@media (max-width: 767px) {
  .serviceFeature_list > li + li {
    margin-top: 13.3333333333%;
  }
}
.serviceFeature_list_img {
  border-radius: 8px;
  overflow: hidden;
}
.serviceFeature_list_ttl {
  font-size: min(3.2vw, 48px);
  font-weight: 700;
  line-height: 1.25;
  font-family: "Noto Sans JP";
}
@media (max-width: 767px) {
  .serviceFeature_list_ttl {
    font-size: min(6.4vw, 48px);
    margin-top: 1em;
  }
}
.serviceFeature_list_txt {
  font-size: clamp(14px, 1.0666666667vw, 16px);
  line-height: 2.25em;
  margin-top: 1.75em;
}
@media (max-width: 767px) {
  .serviceFeature_list_txt {
    font-size: clamp(14px, 2.1333333333vw, 16px);
  }
}

.serviceFlow {
  background: var(--bgColor);
  padding: min(10vw, 150px) 0;
}
@media (max-width: 767px) {
  .serviceFlow {
    padding: 16% 0;
  }
}
@media (max-width: 767px) {
  .serviceFlow .sectionTitle_jp {
    font-size: min(7.2vw, 54px);
  }
}
.serviceFlow_list {
  max-width: 1160px;
  width: 85.3333333333%;
  margin: min(5.3333333333vw, 80px) auto 0;
  list-style: none;
  padding: 0;
}
@media (max-width: 767px) {
  .serviceFlow_list {
    margin-top: 9.3333333333%;
  }
}
.serviceFlow_list > li {
  background: #FFF;
  padding: min(2.6666666667vw, 40px) min(3.3333333333vw, 50px);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0 min(3.0666666667vw, 46px);
  position: relative;
}
@media (max-width: 767px) {
  .serviceFlow_list > li {
    flex-direction: column;
    align-items: center;
    padding: 8% 6.6666666667%;
  }
}
.serviceFlow_list > li + li {
  margin-top: min(4vw, 60px);
}
@media (max-width: 767px) {
  .serviceFlow_list > li + li {
    margin-top: 8%;
  }
}
.serviceFlow_list > li:not(:last-child)::after {
  content: "";
  display: block;
  position: relative;
  width: 75px;
  aspect-ratio: 75/30;
  background-color: var(--primaryColor);
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 767px) {
  .serviceFlow_list > li:not(:last-child)::after {
    width: min(10vw, 75px);
  }
}
.serviceFlow_list_num {
  width: 22.641509434%;
  display: flex;
  flex: 0 0 auto;
}
@media (max-width: 767px) {
  .serviceFlow_list_num {
    width: min(34.6666666667vw, 240px);
  }
}
.serviceFlow_list_num .num {
  background: var(--primaryColor);
  color: #FFF;
  border-radius: 50%;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex: 0 0 52.5%;
  font-size: min(1.0666666667vw, 16px);
  font-weight: 700;
  line-height: 1.25;
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .serviceFlow_list_num .num {
    font-size: min(2.1333333333vw, 16px);
  }
}
.serviceFlow_list_num .num span {
  font-size: 3em;
  font-weight: 500;
  line-height: 1;
}
.serviceFlow_list_num .icon {
  margin-left: -9.1666666667%;
  flex: 0 0 52.5%;
}
.serviceFlow_list_ttl {
  color: var(--primaryColor);
  font-size: clamp(18px, 1.6vw, 24px);
  font-weight: 700;
  line-height: 1.4;
  padding-top: 0.5em;
}
@media (max-width: 767px) {
  .serviceFlow_list_ttl {
    text-align: center;
    font-size: clamp(20px, 3.2vw, 24px);
    padding-top: 1.2em;
  }
}
.serviceFlow_list_txt {
  font-size: clamp(14px, 1.0666666667vw, 16px);
  font-weight: 500;
  line-height: 1.6;
  margin-top: 0.5em;
}
@media (max-width: 767px) {
  .serviceFlow_list_txt {
    font-size: clamp(14px, 2.1333333333vw, 16px);
    margin-top: 1.5em;
    line-height: 1.75;
  }
}
.serviceFlow_list_sub {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: fit-content;
  gap: 0.75em 2.5em;
  margin-top: 1.5em;
  font-size: clamp(14px, 1.0666666667vw, 16px);
}
@media (max-width: 767px) {
  .serviceFlow_list_sub {
    font-size: clamp(14px, 2.1333333333vw, 16px);
  }
}
.serviceFlow_list_sub > li::before {
  content: "・";
}

.servicePrice {
  background-image: linear-gradient(122deg, rgb(204, 45, 37) 0%, rgb(170, 0, 18) 100%);
  color: #FFF;
  padding: min(10vw, 150px) 0 0;
  text-align: center;
}
@media (max-width: 767px) {
  .servicePrice {
    padding: 16% 0 0;
  }
}
.servicePrice_price {
  width: fit-content;
  margin: 0 auto;
  font-size: min(2.34375vw, 30px);
  font-weight: 700;
  font-family: "Noto Sans JP";
  letter-spacing: 0.05em;
  position: relative;
  margin-top: 1em;
}
@media (max-width: 767px) {
  .servicePrice_price {
    font-size: min(4vw, 30px);
    margin-top: 1.5em;
  }
}
.servicePrice_price .month {
  font-size: 1.6em;
  margin-right: 0.25em;
}
.servicePrice_price .num {
  font-size: 2.4em;
}
.servicePrice_price::after {
  content: "";
  display: block;
  width: calc(100% + 2em);
  height: 0.8em;
  background: #fffc00;
  position: relative;
  left: -1em;
  margin-top: 0.2em;
}
.servicePrice_txt {
  font-size: clamp(16px, 1.875vw, 24px);
  font-weight: 700;
  margin-top: 2.5em;
  line-height: 1.5em;
  padding: 0 2em;
  word-break: auto-phrase;
}
@media (max-width: 767px) {
  .servicePrice_txt {
    font-size: clamp(16px, 3.2vw, 24px);
  }
}
.servicePrice_noteTtl {
  font-size: clamp(13px, 1.25vw, 16px);
  font-weight: 500;
  margin-top: 1.2em;
  padding: 0 2em;
}
@media (max-width: 767px) {
  .servicePrice_noteTtl {
    font-size: clamp(13px, 2.1333333333vw, 16px);
  }
}
.servicePrice_noteTxt {
  font-size: clamp(13px, 1.25vw, 16px);
  font-weight: 500;
  margin-top: 0.5em;
  line-height: 1.5em;
  padding: 0 2em;
  word-break: auto-phrase;
}
@media (max-width: 767px) {
  .servicePrice_noteTxt {
    font-size: clamp(13px, 2.1333333333vw, 16px);
  }
}
.servicePrice .serviceCTA {
  margin-top: min(6.6666666667vw, 100px);
}
@media (max-width: 767px) {
  .servicePrice .serviceCTA {
    margin-top: 13.3333333333%;
  }
}

.messageFV {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1500/743;
}
.messageFV img {
  width: 100%;
}

@keyframes messageMarqueeAnim {
  0% {
    background-position: 0;
  }
  to {
    background-position: -2350px;
  }
}
.messageMarquee {
  position: relative;
  height: 130px;
  width: 100%;
  margin: 0 0 min(7.3333333333vw, 110px);
  overflow: hidden;
  overflow: clip;
}
@media (max-width: 767px) {
  .messageMarquee {
    height: 16.9270833333vw;
    margin: 0 0 min(15.625vw, 120px);
  }
}
.messageMarquee_img {
  position: absolute;
  left: -50%;
  top: 0;
  background-position: 0 0;
  background-repeat: repeat;
  animation: topMarqueeAnim 80s linear 0s infinite;
  color: transparent;
  font-size: 0;
  line-height: 0;
  transition: background-image 0.4s ease-in-out;
  background-image: url(../img/message/bg-txt-1.webp);
  width: calc(100vw + 2350px);
  height: 130px;
  background-size: 2350px 130px;
}
@media (max-width: 767px) {
  .messageMarquee_img {
    background-size: auto 16.9270833333vw;
    height: 16.9270833333vw;
    animation-duration: 100s;
  }
}

.messageMain {
  padding-bottom: min(6vw, 90px);
}
@media (max-width: 767px) {
  .messageMain {
    padding-bottom: 12%;
  }
}
.messageMain_ttl {
  text-align: center;
  font-size: clamp(16px, 1.5625vw, 20px);
  font-weight: 700;
  margin-bottom: 0.5em;
}
@media (max-width: 767px) {
  .messageMain_ttl {
    font-size: clamp(16px, 2.6666666667vw, 20px);
  }
}
.messageMain_catch {
  font-size: min(4.8vw, 72px);
  font-weight: 700;
  line-height: 1.75;
  text-align: center;
  margin-top: 0.75em;
}
@media (max-width: 767px) {
  .messageMain_catch {
    font-size: min(6.9333333333vw, 52px);
  }
}
.messageMain_body {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  margin-top: min(3.125vw, 40px);
}
@media (max-width: 767px) {
  .messageMain_body {
    margin-top: 8%;
  }
}
.messageMain_body p {
  font-size: clamp(14px, 1.25vw, 16px);
  font-weight: 500;
}
.messageMain_body p + p {
  margin-top: 2em;
}
.messageMain_from {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  margin-top: 4em;
  font-size: clamp(14px, 1.25vw, 16px);
  font-weight: 700;
  text-align: right;
}
@media (max-width: 767px) {
  .messageMain_from {
    font-size: clamp(14px, 2.1333333333vw, 16px);
    margin-top: 3em;
  }
}
.messageMain_name {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  font-size: min(2.8125vw, 36px);
  font-weight: 400;
  text-align: right;
}
@media (max-width: 767px) {
  .messageMain_name {
    font-size: clamp(26px, 4.8vw, 36px);
  }
}

.philosophy {
  background-image: linear-gradient(122deg, rgb(204, 45, 37) 0%, rgb(170, 0, 18) 100%);
  color: #FFF;
}
.philosophy_img {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  align-items: start;
}
.philosophy_img img {
  width: 100%;
  max-width: none;
}
.philosophy_inner {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  padding: min(6vw, 90px) 0 min(9.3333333333vw, 140px);
}
@media (max-width: 767px) {
  .philosophy_inner {
    padding: 10.6666666667% 0 16%;
  }
}
.philosophy_en {
  font-size: clamp(16px, 1.5625vw, 20px);
  font-weight: 700;
}
@media (max-width: 767px) {
  .philosophy_en {
    font-size: clamp(16px, 2.6666666667vw, 20px);
  }
}
.philosophy_ttl {
  font-size: min(2.34375vw, 30px);
  font-weight: 500;
  margin-top: 2em;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .philosophy_ttl {
    font-size: min(4vw, 30px);
  }
}
.philosophy_state {
  font-size: min(4.6875vw, 60px);
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .philosophy_state {
    font-size: min(6.9333333333vw, 52px);
    text-wrap: balance;
    margin-top: 0.5em;
    line-height: 1.5;
  }
}
.philosophy_body {
  margin-top: min(3.125vw, 40px);
}
@media (max-width: 767px) {
  .philosophy_body {
    margin-top: 8%;
  }
}
.philosophy_body p {
  font-size: clamp(14px, 1.25vw, 16px);
  font-weight: 500;
}
.philosophy_body p + p {
  margin-top: 2em;
}

.approach {
  background: url(../img/common/bg-2.webp) no-repeat center top/100% auto;
  overflow: hidden;
}
@media (max-width: 767px) {
  .approach {
    background-image: url(../img/common/bg-1-sp.webp);
  }
}
.approach_inner {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  margin-top: min(6vw, 90px);
  padding: 0 0 min(9.3333333333vw, 140px);
  position: relative;
}
@media (max-width: 767px) {
  .approach_inner {
    padding: 10.6666666667% 0 16%;
  }
}
.approach_body {
  margin-top: min(3.125vw, 40px);
  padding-right: 37.5%;
}
@media (max-width: 767px) {
  .approach_body {
    margin-top: 8%;
    padding-right: 0;
  }
}
.approach_body p {
  font-size: clamp(14px, 1.25vw, 16px);
  font-weight: 500;
}
@media (max-width: 767px) {
  .approach_body p {
    font-size: clamp(14px, 2.1333333333vw, 16px);
  }
}
.approach_body p + p {
  margin-top: 2em;
}
.approach_en {
  font-size: clamp(16px, 1.4285714286vw, 20px);
  font-weight: 700;
}
@media (max-width: 767px) {
  .approach_en {
    font-size: clamp(16px, 2.6666666667vw, 20px);
  }
}
.approach_ttl {
  font-size: min(2.1428571429vw, 30px);
  font-weight: 500;
  margin-top: 2em;
  letter-spacing: 0.05em;
  text-indent: -0.5em;
}
@media (max-width: 767px) {
  .approach_ttl {
    font-size: min(3.4666666667vw, 26px);
  }
}
.approach_state {
  font-size: min(4.2857142857vw, 60px);
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .approach_state {
    font-size: min(6.9333333333vw, 52px);
    margin-top: 0.2em;
  }
}
.approach_img {
  position: absolute;
  right: 0;
  top: 0;
  border-radius: 8px;
  overflow: hidden;
  width: 34.375%;
}
@media (max-width: 767px) {
  .approach_img {
    position: relative;
    width: 100%;
    margin-top: 10%;
  }
}
.approach_img img {
  width: 100%;
}
.approach_last p {
  font-size: clamp(14px, 1.25vw, 16px);
  font-weight: 500;
}
@media (max-width: 767px) {
  .approach_last p {
    font-size: clamp(14px, 2.1333333333vw, 16px);
  }
}
.approach_last p + p {
  margin-top: 2em;
}
.approach_subttl {
  font-size: min(2.8125vw, 36px);
  font-weight: 500;
  margin-top: 1.5em;
  margin-bottom: 1em;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .approach_subttl {
    font-size: min(4.8vw, 36px);
    margin-top: 2em;
  }
}

.visionFV {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1500/560;
}
.visionFV img {
  width: 100%;
}

@keyframes visionMarqueeAnim {
  0% {
    background-position: 0;
  }
  to {
    background-position: -2400px;
  }
}
.visionMarquee {
  position: relative;
  height: 130px;
  width: 100%;
  margin: 0 0 min(7.3333333333vw, 110px);
  overflow: hidden;
  overflow: clip;
}
@media (max-width: 767px) {
  .visionMarquee {
    height: 16.9270833333vw;
    margin: 0 0 min(15.625vw, 120px);
  }
}
.visionMarquee_img {
  position: absolute;
  left: -50%;
  top: 0;
  background-position: 0 0;
  background-repeat: repeat;
  animation: visionMarqueeAnim 80s linear 0s infinite;
  color: transparent;
  font-size: 0;
  line-height: 0;
  transition: background-image 0.4s ease-in-out;
  background-image: url(../img/vision/bg-txt-1.webp);
  width: calc(100vw + 2400px);
  height: 130px;
  background-size: 2400px 130px;
}
@media (max-width: 767px) {
  .visionMarquee_img {
    background-size: auto 16.9270833333vw;
    height: 16.9270833333vw;
    animation-duration: 100s;
  }
}

.visionMain {
  padding-bottom: min(6vw, 90px);
}
@media (max-width: 767px) {
  .visionMain {
    padding-bottom: 12%;
  }
}
.visionMain_ttl {
  text-align: center;
  font-size: clamp(16px, 1.5625vw, 20px);
  font-weight: 700;
  margin-bottom: 0.5em;
}
@media (max-width: 767px) {
  .visionMain_ttl {
    font-size: clamp(16px, 2.6666666667vw, 20px);
  }
}
.visionMain_catch {
  font-size: min(4.8vw, 72px);
  font-weight: 700;
  line-height: 1.75;
  text-align: center;
  margin-top: 0.75em;
}
@media (max-width: 767px) {
  .visionMain_catch {
    font-size: min(6.6666666667vw, 50px);
  }
}
.visionMain_body {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  margin-top: min(3.125vw, 40px);
}
@media (max-width: 767px) {
  .visionMain_body {
    margin-top: 8%;
  }
}
.visionMain_body p {
  font-size: clamp(14px, 1.25vw, 16px);
  font-weight: 500;
  text-align: center;
  word-break: auto-phrase;
}
.visionMain_body p + p {
  margin-top: 2em;
}
.visionMain_from {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  margin-top: 4em;
  font-size: clamp(14px, 1.25vw, 16px);
  font-weight: 700;
  text-align: right;
}
@media (max-width: 767px) {
  .visionMain_from {
    font-size: clamp(14px, 2.1333333333vw, 16px);
    margin-top: 3em;
  }
}
.visionMain_name {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  font-size: min(2.8125vw, 36px);
  font-weight: 400;
  text-align: right;
}
@media (max-width: 767px) {
  .visionMain_name {
    font-size: clamp(26px, 4.8vw, 36px);
  }
}

.companyVision {
  background: var(--bgColor) url(../img/vision/bg-1.webp) no-repeat center bottom/100% auto;
  padding: min(8.6666666667vw, 130px) 0 0;
}
@media (max-width: 767px) {
  .companyVision {
    padding-top: 14.6666666667%;
    background-size: 200%;
  }
}
.companyVision_ttl {
  text-align: center;
  font-size: clamp(16px, 1.5625vw, 20px);
  font-weight: 700;
}
@media (max-width: 767px) {
  .companyVision_ttl {
    font-size: clamp(16px, 2.6666666667vw, 20px);
  }
}
.companyVision_catch {
  font-size: min(4vw, 60px);
  font-weight: 700;
  line-height: 1.75;
  text-align: center;
  margin-top: 0.75em;
}
@media (max-width: 767px) {
  .companyVision_catch {
    font-size: min(6.4vw, 48px);
    margin-top: 1em;
  }
}
.companyVision_body {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
}
.companyVision_state {
  font-size: clamp(16px, 1.6vw, 24px);
  font-weight: 700;
  line-height: 1.75;
  text-align: center;
  text-wrap: balance;
  margin-top: 1.5em;
}
@media (max-width: 767px) {
  .companyVision_state {
    font-size: clamp(18px, 3.2vw, 24px);
    margin-top: 1.25em;
  }
}
.companyVision_txt {
  font-size: clamp(14px, 1.25vw, 16px);
  font-weight: 500;
  text-align: center;
  word-break: auto-phrase;
  margin-top: 1.5em;
}
@media (max-width: 767px) {
  .companyVision_txt {
    font-size: clamp(14px, 2.1333333333vw, 16px);
  }
}

@keyframes visionMarqueeAnim2 {
  0% {
    background-position: 0;
  }
  to {
    background-position: -2030px;
  }
}
.visionMarquee2 {
  position: relative;
  height: 130px;
  width: 100%;
  margin: min(18.6666666667vw, 280px) 0 0;
  overflow: hidden;
  overflow: clip;
}
@media (max-width: 767px) {
  .visionMarquee2 {
    height: 16.9270833333vw;
    margin: min(37.3333333333vw, 280px) 0 0;
  }
}
.visionMarquee2_img {
  position: absolute;
  left: -50%;
  top: 0;
  background-position: 0 0;
  background-repeat: repeat;
  animation: visionMarqueeAnim2 80s linear 0s infinite;
  color: transparent;
  font-size: 0;
  line-height: 0;
  transition: background-image 0.4s ease-in-out;
  background-image: url(../img/vision/bg-txt-2.webp);
  width: calc(100vw + 2030px);
  height: 130px;
  background-size: 2030px 130px;
}
@media (max-width: 767px) {
  .visionMarquee2_img {
    background-size: auto 16.9270833333vw;
    height: 16.9270833333vw;
    animation-duration: 100s;
  }
}

.visionMidObi {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1500/560;
}
@media (max-width: 767px) {
  .visionMidObi {
    aspect-ratio: 750/400;
  }
}
.visionMidObi img {
  width: 100%;
}
@media (max-width: 767px) {
  .visionMidObi img {
    width: 124%;
    max-width: none;
    position: relative;
    left: -12%;
  }
}

.companyOverview {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  padding-top: min(8.6666666667vw, 130px);
}
@media (max-width: 767px) {
  .companyOverview {
    padding-top: 17.3333333333%;
  }
}
.companyOverview_table {
  margin-top: min(8.6666666667vw, 130px);
}
@media (max-width: 767px) {
  .companyOverview_table {
    margin-top: 17.3333333333%;
  }
}

.access {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  padding-top: min(8.6666666667vw, 130px);
}
@media (max-width: 767px) {
  .access {
    padding-top: 17.3333333333%;
  }
}
.access_map {
  margin-top: min(8.59375vw, 110px);
  aspect-ratio: 1280/540;
}
@media (max-width: 767px) {
  .access_map {
    margin-top: 13.3333333333%;
    aspect-ratio: 750/540;
  }
}
.access_map iframe {
  width: 100%;
  height: 100%;
}
.access_address {
  text-align: center;
  margin-top: 3em;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1em 1.5em;
}
.access_address .ib {
  display: inline-block;
}
.access_address_ttl {
  font-weight: 700;
  flex: 0 0 auto;
}
.access_address_txt {
  text-align: center;
}

.caseList {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  margin-top: min(6.6666666667vw, 100px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(3.6666666667vw, 55px);
}
@media (max-width: 767px) {
  .caseList {
    grid-template-columns: 1fr;
    gap: 9.3333333333vw;
    margin-top: 40%;
  }
}
.caseArchive .caseList {
  margin-top: min(2vw, 30px);
}
@media (max-width: 767px) {
  .caseArchive .caseList {
    margin-top: 4%;
  }
}
.caseList article {
  position: relative;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
}
.caseList article:hover .caseList_img img {
  transform: scale(1.05);
}
.caseList article:hover .caseList_ttl span {
  background-size: 100% 1px;
  background-position: bottom left;
}
.caseList_link {
  position: absolute;
  inset: 0;
  margin: auto;
  z-index: 1;
}
.caseList_img {
  border-radius: 8px;
  overflow: hidden;
}
.caseList_img img {
  transition: transform 0.4s;
}
.caseList_ttl {
  font-size: 1.125rem;
  font-weight: 700;
  margin-top: 1em;
  line-height: 1.6;
  padding: 0 0.75em;
}
@media (max-width: 767px) {
  .caseList_ttl {
    font-size: min(4vw, 30px);
    margin-top: 1.5em;
  }
}
.caseList_ttl span {
  background-image: linear-gradient(#111, #111);
  background-repeat: no-repeat;
  background-size: 0% 1px;
  background-position: bottom right;
  transition: background-size 0.4s cubic-bezier(0.58, 0.59, 0.35, 1.04);
}
.caseList_name {
  border-top: 1px solid #e4e4e4;
  margin: 0.75em 1em 0;
  padding-top: 0.75em;
  font-size: 0.875rem;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .caseList_name {
    font-size: clamp(14px, 3.2vw, 24px);
    margin-top: 1em;
    padding-top: 1em;
  }
}

@media (max-width: 767px) {
  .caseArchive {
    padding-bottom: 8%;
  }
}

.caseDetail {
  padding-top: min(20vw, 150px);
}
.caseDetail_cont {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  margin: 36px auto 0;
}
@media screen and (max-width: 992px) {
  .caseDetail_cont {
    margin: 40px auto;
  }
}
.caseDetail_back {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  margin-top: min(5.46875%, 70px);
}
@media (max-width: 767px) {
  .caseDetail_back {
    margin-top: 9.3333333333%;
  }
}

.caseHeader:has(.caseHeader_thumb) {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
@media (max-width: 767px) {
  .caseHeader:has(.caseHeader_thumb) {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
.caseHeader_main {
  background: var(--bgColor);
  padding: min(9.6774193548%, 60px) min(7.2580645161%, 45px);
}
@media (max-width: 767px) {
  .caseHeader_main {
    order: 1;
  }
}
.caseHeader_main:has(+ .caseHeader_thumb) {
  padding-bottom: min(8.064516129%, 50px);
}
.caseHeader_thumb {
  border-radius: 8px;
  overflow: hidden;
}
.caseHeader_meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5em 0.8em;
  margin-bottom: 1em;
}
.caseHeader_meta .category {
  font-size: 0.875rem;
  font-weight: 400;
  color: #FFF;
  background: var(--primaryColor);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 1.2em;
}
@media (max-width: 767px) {
  .caseHeader_meta .category {
    font-size: clamp(14px, 2.6666666667vw, 20px);
    padding: 0 1em;
  }
}
.caseHeader_meta .date {
  font-weight: 500;
}
@media (max-width: 767px) {
  .caseHeader_meta .date {
    font-size: clamp(15px, 3.3333333333vw, 25px);
  }
}
.caseHeader_ttl {
  font-size: min(2.4vw, 36px);
  font-weight: 700;
  line-height: 1.3333333333em;
  border-bottom: 1px solid #d0cfcc;
  padding-bottom: 0.75em;
  margin-bottom: 0.75em;
  max-width: 520px;
}
@media (max-width: 767px) {
  .caseHeader_ttl {
    font-size: min(4vw, 30px);
  }
}
.caseHeader_name {
  font-weight: 500;
}
.caseHeader_industry {
  font-weight: 500;
}
.caseHeader_url {
  font-weight: 500;
  font-family: var(--font-go-noto);
  position: relative;
  width: fit-content;
  border-bottom: 1px solid #111;
}
.caseHeader_url a:hover {
  color: #666;
}
.caseHeader_logo {
  margin-top: min(5.7692307692%, 30px);
}

.caseSummary {
  background: var(--bgColor);
  padding: max(4.6875%, 40px) 6.25% 1.5625%;
  width: 100%;
  margin: 4.6875% auto 1.5625%;
}
@media (max-width: 767px) {
  .caseSummary {
    margin: 8% auto;
  }
}
.caseSummary_ttl {
  font-size: min(3.2vw, 24px);
  font-weight: 700;
  margin-top: 0;
  text-align: center;
  margin-bottom: 1.5em;
}
@media (max-width: 767px) {
  .caseSummary_ttl {
    font-size: clamp(18px, 3.2vw, 24px);
  }
}
.caseSummary > section {
  border-top: 1px solid #d0cfcc;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0 1em;
  padding: 2em 0;
}
.caseSummary > section > p {
  line-height: 1.8;
  font-weight: 500;
}
.caseSummary_subttl {
  font-size: clamp(16px, 3.2vw, 24px);
  font-weight: 700;
  width: 5em;
  padding-left: 1em;
}

.caseSection {
  counter-increment: num;
  display: grid;
  grid-template-columns: auto 1fr;
  border-bottom: 1px solid #d0cfcc;
  padding: 5.46875% 4.6875% 4.6875%;
  gap: 0 25px;
}
@media (max-width: 767px) {
  .caseSection {
    padding: 8% 2.6666666667% 6.6666666667%;
    gap: 0 20px;
  }
}
.caseSection::before {
  content: counter(num, decimal-leading-zero);
  color: var(--primaryColor);
  font-family: var(--font-go-noto);
  font-size: min(3.75vw, 48px);
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .caseSection::before {
    font-size: min(6.4vw, 48px);
  }
}
.caseSection_ttl {
  font-size: min(2.34375vw, 30px);
  font-weight: 500;
  margin-top: -0.2em;
  margin-bottom: 1em;
}
@media (max-width: 767px) {
  .caseSection_ttl {
    font-size: clamp(18px, 4vw, 30px);
  }
}
@media (max-width: 767px) {
  .caseSection_body {
    font-size: min(inherit, 24px) !important;
  }
}
.caseSection_body > * + * {
  margin-top: 20px;
}
.caseSection_body img {
  display: block;
  width: auto !important;
  max-width: 100%;
  height: auto;
}
.caseSection_body h3, .caseSection_body h4, .caseSection_body h5, .caseSection_body h6 {
  font-weight: 700;
  margin-bottom: 0.4em;
  margin-top: 1em;
}
.caseSection_body h3:not(:first-child), .caseSection_body h4:not(:first-child), .caseSection_body h5:not(:first-child), .caseSection_body h6:not(:first-child) {
  margin-top: 2em;
}
.caseSection_body h3 {
  font-size: clamp(18px, 2.6666666667vw, 20px);
}
.caseSection_body h4 {
  font-size: clamp(16px, 2.4vw, 18px);
}
.caseSection_body h5, .caseSection_body h6 {
  font-size: clamp(15px, 2.1333333333vw, 16px);
}
.caseSection_body ul li::before {
  content: "・";
}
.caseSection_body ul li + li {
  margin-top: 0.75em;
}

.columnNavi {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 28px 30px;
  margin-top: min(2.6666666667vw, 40px);
}
@media (max-width: 767px) {
  .columnNavi {
    margin-top: min(5.3333333333vw, 40px);
    gap: 20px 25px;
  }
}
.columnNavi > li {
  font-size: 1.25rem;
  font-weight: 700;
  max-width: 196px;
  width: 45%;
  text-align: center;
}
@media (max-width: 767px) {
  .columnNavi > li {
    font-size: 1rem;
    max-width: 160px;
  }
}
.columnNavi > li > a {
  display: block;
  border-bottom: 2px solid #111;
  padding: 0.5em 0.75em;
  transition: all 0.3s;
}
.columnNavi > li > a.is-current {
  border-color: var(--primaryColor);
}
.columnNavi > li > a:hover {
  border-color: var(--primaryColor);
}

.columnList {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  margin-top: min(4vw, 60px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(3.6666666667vw, 55px);
}
@media (max-width: 767px) {
  .columnList {
    grid-template-columns: 1fr;
    gap: 8vw 0;
    margin-top: 10.6666666667%;
  }
}
.columnArchive .columnList {
  margin-top: min(6.6666666667vw, 100px);
}
@media (max-width: 767px) {
  .columnArchive .columnList {
    margin-top: 13.3333333333%;
  }
}
.columnList article {
  position: relative;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
}
.columnList article:hover .columnList_img img {
  transform: scale(1.05);
}
.columnList article:hover .columnList_ttl span {
  background-size: 100% 1px;
  background-position: bottom left;
}
.columnList_link {
  position: absolute;
  inset: 0;
  margin: auto;
  z-index: 1;
}
.columnList_img {
  border-radius: 8px;
  overflow: hidden;
}
.columnList_img img {
  transition: transform 0.4s;
}
.columnList_ttl {
  font-size: 1.125rem;
  font-weight: 700;
  margin-top: 1em;
  line-height: 1.6;
  padding: 0 0.75em;
}
@media (max-width: 767px) {
  .columnList_ttl {
    font-size: min(4vw, 30px);
    margin-top: 0.75em;
    padding: 0 3.3333333333vw;
  }
}
.columnList_ttl span {
  background-image: linear-gradient(#111, #111);
  background-repeat: no-repeat;
  background-size: 0% 1px;
  background-position: bottom right;
  transition: background-size 0.4s cubic-bezier(0.58, 0.59, 0.35, 1.04);
}
.columnList_meta {
  display: flex;
  align-items: center;
  gap: 0.5em 0.8em;
  padding: 0 0.75em;
  margin-top: 1.5em;
}
@media (max-width: 767px) {
  .columnList_meta {
    margin-top: 4.6666666667vw;
    padding: 0 3.3333333333vw;
  }
}
.columnList_meta .category {
  font-size: 0.875rem;
  font-weight: 400;
  color: #FFF;
  background: var(--primaryColor);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 1.2em;
}
@media (max-width: 767px) {
  .columnList_meta .category {
    font-size: clamp(14px, 2.6666666667vw, 20px);
    padding: 0 1em;
  }
}
.columnList_meta .date {
  font-weight: 500;
}
@media (max-width: 767px) {
  .columnList_meta .date {
    font-size: clamp(15px, 3.3333333333vw, 25px);
  }
}

.columnDetail {
  padding-top: min(20vw, 150px);
}
.columnDetail_cont {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  margin: 36px auto 0;
}
@media screen and (max-width: 992px) {
  .columnDetail_cont {
    margin: 40px auto;
  }
}
.columnDetail_back {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  border-top: 1px solid #d0cfcc;
  text-align: center;
  padding-top: min(5.46875%, 70px);
  margin-top: min(5.46875%, 70px);
}
@media (max-width: 767px) {
  .columnDetail_back {
    padding-top: 9.3333333333%;
    margin-top: 9.3333333333%;
  }
}

.columnHeader {
  background: var(--bgColor);
  padding: 4% 4.6666666667%;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .columnHeader {
    padding: 8% 6.6666666667%;
  }
}
.columnHeader_meta {
  display: flex;
  align-items: center;
  gap: 0.5em 0.8em;
  margin-bottom: 0.75em;
}
.columnHeader_meta .category {
  font-size: 0.875rem;
  font-weight: 400;
  color: #FFF;
  background: var(--primaryColor);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 1.2em;
}
@media (max-width: 767px) {
  .columnHeader_meta .category {
    font-size: clamp(14px, 2.6666666667vw, 20px);
    padding: 0 1em;
  }
}
.columnHeader_meta .date {
  font-weight: 500;
}
@media (max-width: 767px) {
  .columnHeader_meta .date {
    font-size: clamp(15px, 3.3333333333vw, 25px);
  }
}
.columnHeader_ttl {
  font-size: min(2.4vw, 36px);
  font-weight: 700;
  line-height: 1.6666666667em;
}
@media (max-width: 767px) {
  .columnHeader_ttl {
    font-size: min(4vw, 30px);
  }
}

div#toc_container {
  border: none;
  background: var(--bgColor);
  padding: 60px 80px;
  width: 100%;
  margin: 40px auto 70px;
}
@media (max-width: 767px) {
  div#toc_container {
    margin: 20px auto 50px;
    padding: 6% 8% 8%;
  }
}
div#toc_container p.toc_title {
  border-bottom: 1px solid #d0cfcc;
  font-size: min(3.2vw, 24px);
  font-weight: 500;
  margin-top: 0;
  text-align: center;
  margin-bottom: 2em;
  padding-bottom: 1em;
}
@media (max-width: 767px) {
  div#toc_container p.toc_title {
    font-size: 1.125rem;
  }
}
div#toc_container .toc_list {
  font-family: var(--font-go-noto);
  padding-left: 2em;
}
@media (max-width: 767px) {
  div#toc_container .toc_list {
    font-size: 0.875rem;
    padding-left: 1em;
  }
}
div#toc_container .toc_list li {
  margin-top: 1.5em;
}
div#toc_container .toc_list li a {
  color: #000;
  position: relative;
  display: block;
  transition: 0.3s;
  text-decoration: none;
}
div#toc_container .toc_list li a:hover {
  color: var(--primaryColor);
}
div#toc_container .toc_list li a .toc_depth_1 {
  font-size: 0.875rem;
}
@media (max-width: 767px) {
  div#toc_container .toc_list li a .toc_depth_1 {
    font-size: 0.75rem;
  }
}
div#toc_container .toc_list li a .toc_depth_1::after {
  content: ".";
}
div#toc_container .toc_list li a .toc_depth_2 {
  border-bottom: 1px solid #000;
}

.no-posts {
  margin-top: min(13.3333333333vw, 100px);
  text-align: center;
  font-size: 1.125rem;
  font-weight: 500;
  padding: 0 2em;
  word-break: auto-phrase;
}

.faqNavi {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  margin-top: min(3.3333333333vw, 50px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(2.6666666667vw, 40px);
}
@media (max-width: 767px) {
  .faqNavi {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 7.6923076923%;
    gap: min(4vw, 40px);
  }
}
.faqNavi > li {
  background: #f3f3f3;
  border-radius: 8px;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 1px;
  position: relative;
}
.faqNavi > li::after {
  content: "";
  width: 100%;
  aspect-ratio: 400/40;
  border-radius: 0 0 8px 8px;
  background: var(--primaryColor) url(../img/common/arrow-2-wht.svg) no-repeat center;
  background-size: min(6.1538461538%, 24px) auto;
  transition: all 0.3s;
  max-height: 80px;
}
@media (max-width: 767px) {
  .faqNavi > li::after {
    aspect-ratio: 480/40;
  }
}
.faqNavi > li:hover::after {
  background-color: #000;
}
.faqNavi_ttl {
  text-align: center;
  color: var(--primaryColor);
  font-size: min(1.5625vw, 20px);
  font-weight: 700;
  margin: 1.5em 0 1.2em;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .faqNavi_ttl {
    margin: 2em 0 1.5em;
    font-size: min(3.4666666667vw, 20px);
    word-break: auto-phrase;
    padding: 0 1em;
    align-self: center;
  }
}
.faqNavi_link {
  position: absolute;
  inset: 0;
  margin: auto;
  z-index: 1;
}

.faqSection {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  margin-top: min(6.6666666667vw, 100px);
}
@media (max-width: 767px) {
  .faqSection {
    margin-top: 12.3076923077%;
  }
}
.faqSection_ttl {
  font-size: min(2.4vw, 36px);
  font-weight: 700;
  color: var(--primaryColor);
  margin-bottom: 1em;
}
@media (max-width: 767px) {
  .faqSection_ttl {
    font-size: min(4.8vw, 36px);
  }
}

.faqBlock {
  background: #f3f3f3;
  width: 100%;
  position: relative;
}
.faqBlock + .faqBlock {
  margin-top: 40px;
}
@media (max-width: 767px) {
  .faqBlock + .faqBlock {
    margin-top: 30px;
  }
}
.faqBlock::before, .faqBlock::after {
  content: "";
  display: block;
  position: absolute;
  right: 40px;
  top: 50px;
  width: 26px;
  aspect-ratio: 26/2;
  background: #c2c8d0;
  transition: all 0.3s;
  transform: rotate(0deg);
}
@media (max-width: 767px) {
  .faqBlock::before, .faqBlock::after {
    right: 20px;
    width: 20px;
    aspect-ratio: 20/2;
    top: 44px;
  }
}
.faqBlock::after {
  transform: rotate(90deg);
}
.faqBlock.is-open::before {
  transform: rotate(-180deg);
}
.faqBlock.is-open::after {
  transform: rotate(180deg);
}
.faqBlock_ttl {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  padding: 1.9em 100px 1.9em 40px;
  font-size: 1.125rem;
  line-height: 1.5;
  font-weight: 500;
  transition: all 0.3s;
  cursor: pointer;
}
@media (max-width: 767px) {
  .faqBlock_ttl {
    padding: 1.9em 60px 1.9em 25px;
    font-size: 1rem;
  }
}
.faqBlock_ttl:hover {
  color: #555;
}
.faqBlock_ttl::before {
  content: "Q";
  color: var(--primaryColor);
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1;
  flex: 0 0 auto;
  width: auto;
  margin-right: 1.4em;
  transform: translateY(14.2857142857%);
}
@media (max-width: 767px) {
  .faqBlock_ttl::before {
    font-size: 1.5rem;
    margin-right: 1em;
  }
}
.faqBlock_answer {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 0 100px 1.9em 40px;
  font-size: 1rem;
}
@media (max-width: 767px) {
  .faqBlock_answer {
    padding: 0 40px 1.9em 25px;
    font-size: 0.875rem;
  }
}
.faqBlock_answer::before {
  content: "A";
  color: var(--primaryColor);
  font-size: 1.875rem;
  font-weight: 500;
  flex: 0 0 auto;
  width: auto;
  margin-right: 1.4em;
}
@media (max-width: 767px) {
  .faqBlock_answer::before {
    font-size: 1.5rem;
    margin-right: 1em;
  }
}
.faqBlock_answer_cont {
  margin-top: -0.5em;
}
.faqBlock_answer_cont p {
  line-height: 2.25;
}
@media (max-width: 767px) {
  .faqBlock_answer_cont p {
    line-height: 2;
  }
}
.faqBlock_answer_cont p + p {
  margin-top: 2em;
}

.pageContact_cont {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  display: grid;
  grid-template-columns: 1fr max(46.09375%, 440px);
  gap: 4.296875%;
  align-items: start;
  margin: 36px auto 0;
}
@media screen and (max-width: 992px) {
  .pageContact_cont {
    display: block;
    margin: 40px auto;
  }
}
.pageContact_main_section + .pageContact_main_section {
  margin-top: 45px;
}
.pageContact_ttl {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1em;
}
@media (max-width: 767px) {
  .pageContact_ttl {
    font-size: max(3.125vw, 20px);
  }
}
.pageContact_miniTtl {
  font-size: 1.125rem;
  font-weight: 700;
  border-bottom: 1px solid #cbcfd0;
  padding-bottom: 0.75em;
  margin-bottom: 0.75em;
}
.pageContact_voice > li {
  background: #f3f3f3;
  border-radius: 8px;
  padding: 7.8125% 6.25% 6.25%;
}
.pageContact_voice > li + li {
  margin-top: 30px;
}
.pageContact_voice_txt {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6666666667em;
}
@media (max-width: 767px) {
  .pageContact_voice_txt {
    font-size: 1rem;
  }
}
.pageContact_voice_name {
  font-weight: 700;
  margin-top: 0.5em;
}
.pageContact_image {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(4.6875vw, 30px);
}
.pageContact_image > div {
  border-radius: 8px;
  overflow: hidden;
}
.pageContact_line {
  margin-top: 10.9375%;
}
.pageContact_line_txt {
  line-height: 1.875em;
  font-weight: 500;
}
.pageContact_line_btn {
  margin-top: 20px;
}
.pageContact_line_btn .btnLine {
  width: 100%;
}
@media screen and (max-width: 992px) {
  .pageContact_right {
    margin-top: 10.9375%;
  }
}
.pageContact_form {
  background: #f5f5f5;
  border-radius: 8px;
  padding: 7.5% 9.375% 7.8125%;
}
@media screen and (max-width: 992px) {
  .pageContact_form {
    padding: 6.25% 7.8125% 9.375%;
  }
}
.pageContact_form .formWrap {
  margin-top: 0;
}
.pageContact_form_ttl {
  font-size: 1.5rem;
  font-weight: 700;
}
@media (max-width: 767px) {
  .pageContact_form_ttl {
    font-size: max(3.125vw, 20px);
    margin-bottom: 0.5em;
  }
}
.pageContact_form_txt {
  font-size: 0.875rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .pageContact_form_txt {
    font-size: 0.8125rem;
  }
}
.pageContact_form_attention {
  font-size: 0.75rem;
  font-weight: 500;
}
.pageContact_form .mwform-checkbox-field label {
  margin: 0;
  white-space: nowrap;
}
.pageContact_tel {
  display: flex;
  vertical-align: top;
  margin-top: 24px;
}
.pageContact_tel_icon {
  width: min(2.734375vw, 35px);
  margin-right: min(1.328125vw, 17px);
  flex: 0 0 auto;
}
@media screen and (max-width: 992px) {
  .pageContact_tel_icon {
    width: min(6vw, 45px);
    margin-right: min(2.4vw, 18px);
  }
}
.pageContact_tel_body .num {
  font-size: min(3.75vw, 48px);
  font-weight: 600;
  line-height: 0.85;
}
@media screen and (max-width: 992px) {
  .pageContact_tel_body .num {
    font-size: min(7.2vw, 54px);
  }
}
.pageContact_tel_body .time {
  margin-top: 0.2em;
  margin-left: 0.25em;
  font-size: clamp(12px, 1.09375vw, 14px);
  font-weight: 500;
  line-height: 1.25;
}
@media screen and (max-width: 992px) {
  .pageContact_tel_body .time {
    font-size: min(2.9333333333vw, 22px);
  }
}

.downloadList {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  margin-top: min(6.6666666667vw, 100px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(3.6666666667vw, 55px);
}
@media (max-width: 767px) {
  .downloadList {
    grid-template-columns: 1fr;
    gap: 9.3333333333vw;
    margin-top: 40%;
  }
}
.downloadArchive .downloadList {
  margin-top: min(2vw, 30px);
}
@media (max-width: 767px) {
  .downloadArchive .downloadList {
    margin-top: 4%;
  }
}
.downloadList article {
  position: relative;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
}
.downloadList article:hover .downloadList_img img {
  transform: scale(1.05);
}
.downloadList article:hover .downloadList_ttl span {
  background-size: 100% 1px;
  background-position: bottom left;
}
.downloadList_link {
  position: absolute;
  inset: 0;
  margin: auto;
  z-index: 1;
}
.downloadList_img {
  background: #efefef;
  border-radius: 8px;
  overflow: hidden;
  padding: 16.9230769231% 10.2564102564%;
}
@media (max-width: 767px) {
  .downloadList_img {
    padding: 12.8205128205% 10.2564102564%;
  }
}
.downloadList_img img {
  transition: transform 0.4s;
}
.downloadList_ttl {
  font-size: 1.125rem;
  font-weight: 700;
  margin-top: 1em;
  line-height: 1.6;
  padding: 0 0.75em;
}
@media (max-width: 767px) {
  .downloadList_ttl {
    font-size: min(4vw, 30px);
    margin-top: 1.5em;
  }
}
.downloadList_ttl span {
  background-image: linear-gradient(#111, #111);
  background-repeat: no-repeat;
  background-size: 0% 1px;
  background-position: bottom right;
  transition: background-size 0.4s cubic-bezier(0.58, 0.59, 0.35, 1.04);
}

@media (max-width: 767px) {
  .downloadArchive {
    padding-bottom: 8%;
  }
}

.downloadDetail {
  padding-top: min(20vw, 150px);
}
.downloadDetail_cont {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  display: grid;
  grid-template-columns: 1fr max(50%, 440px);
  gap: 4.296875%;
  align-items: start;
  margin: 36px auto 0;
}
@media screen and (max-width: 992px) {
  .downloadDetail_cont {
    display: block;
    margin: 40px auto;
  }
}
.downloadDetail_ttl {
  border-bottom: 1px solid #cbcfd0;
  font-size: 1.875rem;
  font-weight: bold;
  line-height: 1.6;
  padding-bottom: 0.75em;
  word-break: auto-phrase;
}
@media (max-width: 767px) {
  .downloadDetail_ttl {
    font-size: max(3.90625vw, 24px);
  }
}
.downloadDetail_introTxt {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.8;
  margin-top: 1.75em;
}
@media (max-width: 767px) {
  .downloadDetail_introTxt {
    font-size: 0.875rem;
  }
}
.downloadDetail_info {
  background: var(--bgColor);
  border-radius: 8px;
  padding: 7.1794871795%;
  margin-top: 6.8376068376%;
}
.downloadDetail_info_ttl {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.4em;
}
@media (max-width: 767px) {
  .downloadDetail_info_ttl {
    font-size: max(3.125vw, 20px);
  }
}
.downloadDetail_info_learn {
  line-height: 1.8;
}
.downloadDetail_info_list li {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  padding-left: 1em;
  margin-right: 5px;
  text-indent: -1em;
}
@media (max-width: 767px) {
  .downloadDetail_info_list li {
    font-size: 0.875rem;
  }
}
.downloadDetail_info_list li::before {
  content: "・";
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .downloadDetail_info_list li::before {
    font-size: 0.875rem;
  }
}
.downloadDetail_info_img {
  text-align: center;
  margin-top: 7.2%;
}
.downloadDetail_form {
  background: var(--bgColor);
  border-radius: 8px;
  padding: 7.5% 9.375% 7.8125%;
}
@media screen and (max-width: 992px) {
  .downloadDetail_form {
    margin-top: 40px;
    padding: 9.375% 7.8125%;
  }
}
.downloadDetail_form_ttl {
  font-size: 1.5rem;
  font-weight: 700;
}
@media (max-width: 767px) {
  .downloadDetail_form_ttl {
    font-size: max(3.125vw, 20px);
    margin-bottom: 0.5em;
  }
}
.downloadDetail_form_txt {
  font-size: 0.875rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .downloadDetail_form_txt {
    font-size: 0.8125rem;
  }
}
.downloadDetail_form_attention {
  font-size: 0.75rem;
  font-weight: 500;
}
.downloadDetail_form .mwform-checkbox-field label {
  margin: 0;
  white-space: nowrap;
}

.pageMagazine_cont {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  display: grid;
  grid-template-columns: 1fr max(41.40625%, 440px);
  gap: 4.296875%;
  align-items: start;
  margin: 36px auto 0;
}
@media screen and (max-width: 992px) {
  .pageMagazine_cont {
    display: block;
    margin: 40px auto;
  }
}
.pageMagazine_ttl {
  font-size: 1.375rem;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 2.5em;
  text-align: center;
  word-break: auto-phrase;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  text-wrap: balance;
  justify-content: center;
}
@media (max-width: 767px) {
  .pageMagazine_ttl {
    font-size: max(2.8645833333vw, 20px);
  }
}
.pageMagazine_ttl br {
  display: none;
}
@media (max-width: 767px) {
  .pageMagazine_ttl br {
    display: block;
  }
}
.pageMagazine_ttl > span {
  flex: 0 1 fit-content;
}
.pageMagazine_ttl::before {
  content: "＼";
  color: var(--primaryColor);
  flex: 0 0 auto;
  margin-right: 0.2em;
}
.pageMagazine_ttl::after {
  content: "／";
  color: var(--primaryColor);
  flex: 0 0 auto;
  margin-left: 0.2em;
}
.pageMagazine_list + .pageMagazine_list {
  margin-top: 2em;
}
.pageMagazine_list_ttl {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 0.2em;
}
.pageMagazine_form {
  background: var(--bgColor);
  border-radius: 8px;
  padding: 7.5% 9.375% 7.8125%;
}
@media screen and (max-width: 992px) {
  .pageMagazine_form {
    margin-top: 40px;
    padding: 6.25% 7.8125% 9.375%;
  }
}
.pageMagazine_form .formWrap {
  margin-top: 0;
}
.pageMagazine_form_ttl {
  font-size: 1.5rem;
  font-weight: 700;
}
@media (max-width: 767px) {
  .pageMagazine_form_ttl {
    font-size: max(3.125vw, 20px);
    margin-bottom: 0.5em;
  }
}
.pageMagazine_form_txt {
  font-size: 0.875rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .pageMagazine_form_txt {
    font-size: 0.8125rem;
  }
}
.pageMagazine_form_attention {
  font-size: 0.75rem;
  font-weight: 500;
}
.pageMagazine_form .mwform-checkbox-field label {
  margin: 0;
  white-space: nowrap;
}

.pagePrivacy_body {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  margin-top: max(30px, 3.125%);
}

.privacySection {
  font-family: var(--font-go-noto);
}
.privacySection + .privacySection {
  margin-top: max(40px, 3.90625%);
}
.privacySection_ttl {
  font-size: clamp(16px, 1.875vw, 24px);
  font-weight: 700;
  margin-bottom: max(0.5em, 10px);
}
.privacySection p, .privacySection ul {
  line-height: 1.8;
  font-weight: 500;
}
.privacySection ul {
  margin-top: 2em;
}
.privacySection li {
  padding-left: 1.3em;
  text-indent: -1.3em;
  line-height: 1.5;
}
.privacySection li + li {
  margin-top: 0.2em;
}

.pageSitemap_body {
  max-width: 1280px;
  width: 86.6666666667%;
  margin-right: auto;
  margin-left: auto;
  margin-top: max(30px, 3.125%);
}

.sitemapList {
  font-size: clamp(16px, 1.814516129vw, 18px);
  font-weight: 500;
  border-bottom: 1px solid #e4e4e4;
}
.sitemapList > li {
  border-top: 1px solid #e4e4e4;
  padding: 2em 4.6875%;
}
@media (max-width: 767px) {
  .sitemapList > li {
    padding: 1.75em 4.6875%;
  }
}
.sitemapList_parent {
  display: block;
  padding: 0 0 2.6em;
}
@media (max-width: 767px) {
  .sitemapList_parent {
    padding: 0 0 2em;
  }
}
.sitemapList_child {
  border-top: 1px solid #e4e4e4;
  margin-left: 13.28125%;
  padding-top: 2em;
  padding-left: 1.5em;
}
@media (max-width: 767px) {
  .sitemapList_child {
    padding-top: 1.75em;
  }
}
.sitemapList_child > li + li {
  margin-top: 1.5em;
}
.sitemapList a:hover {
  opacity: 0.8;
}

.page404 {
  background: url(../img/common/bg-header-1.webp) no-repeat center top/100% auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: min(280px, 18.6666666667%) 0 20px;
}
@media (max-width: 767px) {
  .page404 {
    padding-top: 26.6666666667%;
    background-position: center top 20%;
  }
}
.page404_num {
  color: var(--primaryColor);
  font-size: 9.375rem;
  font-family: "IBM Plex Serif", serif;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .page404_num {
    font-size: min(26.6666666667vw, 150px);
  }
}
.page404_ttl {
  font-size: 2.25rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-top: 0.2em;
}
@media (max-width: 767px) {
  .page404_ttl {
    font-size: min(6.4vw, 36px);
  }
}
.page404_txt {
  font-size: 1.125rem;
  font-weight: 500;
  text-align: center;
  margin-top: 2em;
  line-height: 1.8;
  padding: 0 1em;
}
@media (max-width: 767px) {
  .page404_txt {
    font-size: clamp(13px, 2.4vw, 18px);
  }
}
.page404_link {
  margin-top: min(8%, 60px);
  text-align: center;
}