@charset "UTF-8";
/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

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

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

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

#root, #__next {
  isolation: isolate;
}

/* common */
html {
  scroll-behavior: smooth;
  color: #333333;
  font-size: 16px;
  background-color: #ffffff;
  min-height: 100%;
  scroll-behavior: smooth;
}

body {
  --admin-bar: 0px;
  line-height: 2;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  background-color: #ffffff;
  font-size: var(--14px);
}
@media screen and (min-width: 769px) {
  body {
    font-size: var(--16px);
  }
}

main {
  padding-top: var(--header-h);
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
  line-height: 1.5;
}

h1, h2 {
  font-weight: normal;
}

body.home {
  background-color: #ffffff;
}
body.home main {
  background-color: transparent;
}
body.home footer {
  background-color: transparent;
}

sup {
  font-size: 50%;
}

small {
  font-size: 0.67em;
}

img {
  vertical-align: middle;
  height: auto;
}

a {
  color: inherit;
}

main ul, main ol {
  padding-left: 1em;
}

@media screen and (min-width: 769px) {
  .-SP {
    display: none;
  }
}

.-PC {
  display: none;
}
@media screen and (min-width: 769px) {
  .-PC {
    display: block;
  }
}

.-animate {
  transform: translateY(40px);
  opacity: 0;
  transition-property: transform, opacity;
  transition-duration: var(--animate-duration);
}
.-animate.-active {
  transform: translateY(0px);
  opacity: 1;
}

.-animateItems > * {
  transform: translateY(40px);
  opacity: 0;
  transition-property: transform, opacity;
  transition-duration: var(--animate-duration);
}
.-animateItems > *:nth-child(1) {
  transition-delay: 0.2s;
}
.-animateItems > *:nth-child(2) {
  transition-delay: 0.4s;
}
.-animateItems > *:nth-child(3) {
  transition-delay: 0.6s;
}
.-animateItems > *:nth-child(4) {
  transition-delay: 0.8s;
}
.-animateItems > *:nth-child(5) {
  transition-delay: 1s;
}
.-animateItems.-active > * {
  transform: translateY(0px);
  opacity: 1;
}

:root {
  --animate-duration:.8s;
  --admin-bar:0px;
  --header-h:60px;
  --float-h:55px;
  --70px:4.375rem;
  --48px:3rem;
  --46px:2.875rem;
  --44px:2.75rem;
  --40px:2.5rem;
  --39px:2.4375rem;
  --36px:2.25rem;
  --30px:1.875rem;
  --28px:1.75rem;
  --26px:1.625rem;
  --24px:1.5rem;
  --22px:1.375rem;
  --20px:1.25rem;
  --18px:1.125rem;
  --17px:1.0625rem;
  --16px:1rem;
  --14px:0.875rem;
  --13px:0.8125rem;
  --12px:0.75rem;
  --11px:0.6875rem;
  --10px:0.625rem;
  --fs-heading: var(--24px);
  --fs-subheading: var(--18px);
  --spc10: 40px;
  --spc15: 64px;
  --primary:#AE1E25;
  --comm-black:#222222;
  --comn-yellow:#F8EC4D;
  --comn-border:#EBEBE7;
  --text-color:var(--comm-black);
}
@media screen and (min-width: 769px) {
  :root {
    --header-h:80px;
    --float-h:0px;
    --fs-heading: var(--28px);
    --fs-subheading: var(--24px);
    --spc10: 80px;
    --spc15: 120px;
  }
}

body.admin-bar {
  --admin-bar:32px;
}
@media screen and (max-width: 782px) {
  body.admin-bar {
    --admin-bar:46px;
  }
}

:target {
  scroll-margin-top: var(--header-h);
}

.Stack > * + * {
  margin-top: var(--mt);
}

.Stack.-article > * {
  --mt:1em;
}

.Stack.-spc2 > * {
  --mt:16px;
}

.Stack.-spc3 > * {
  --mt:24px;
}

.Stack.-spc5 > * {
  --mt:24px;
}
@media screen and (min-width: 769px) {
  .Stack.-spc5 > * {
    --mt:40px;
  }
}

.Stack.-spc8 > * {
  --mt:40px;
}
@media screen and (min-width: 769px) {
  .Stack.-spc8 > * {
    --mt:64px;
  }
}

.Stack.-spc10 > * {
  --mt:var(--spc10);
}

.Container {
  width: calc(100% - 40px);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 769px) {
  .Container {
    width: calc(100% - 60px);
  }
}
.Container .Container {
  width: 100%;
}

.Container.-full {
  width: 100%;
}

.Container.-large {
  max-width: 1040px;
}

.Container.-medium {
  max-width: 940px;
}

.Container.-small {
  max-width: 800px;
}

.Grid {
  --gap:0px;
  display: flex;
  gap: var(--gap);
}
.Grid > * {
  flex-basis: var(--basis);
}

.Grid[class*=-col], .Grid.-wrap {
  flex-wrap: wrap;
  --col:1;
}
.Grid[class*=-col] > *, .Grid.-wrap > * {
  flex-basis: calc(100% / var(--col) - var(--gap) * (var(--col) - 1) / var(--col));
}

.Grid:not([class*=-col]).-resp {
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  .Grid:not([class*=-col]).-resp {
    flex-direction: row;
  }
}
@media screen and (max-width: 768px) {
  .Grid:not([class*=-col]).-resp > * {
    flex-basis: auto !important;
  }
}

.Grid.-col2 {
  --col:2;
}
.Grid.-col2.-resp {
  --col:1;
}
@media screen and (min-width: 769px) {
  .Grid.-col2.-resp {
    --col:2;
  }
}

.Grid.-respCol2 {
  --col:2;
}
@media screen and (min-width: 769px) {
  .Grid.-respCol2 {
    --col:1;
  }
}

.Grid.-col3 {
  --col:3;
}
.Grid.-col3.-resp {
  --col:2;
}
@media screen and (min-width: 769px) {
  .Grid.-col3.-resp {
    --col:3;
  }
}
.Grid.-col3.-respCol1 {
  --col:1;
}
@media screen and (min-width: 769px) {
  .Grid.-col3.-respCol1 {
    --col:3;
  }
}

.Grid.-col5 {
  --col:5;
}

.Grid.-spc2 {
  --gap: 16px;
}

.Grid.-spc1 {
  --gap: 8px;
}

.Grid.-spc5 {
  --gap: 16px;
}
@media screen and (min-width: 769px) {
  .Grid.-spc5 {
    --gap: 40px;
  }
}
.Grid.-spc5.-repsSpc1 {
  --gap: 8px;
}
@media screen and (min-width: 769px) {
  .Grid.-spc5.-repsSpc1 {
    --gap: 40px;
  }
}

.Grid.-spc8 {
  --gap: 32px;
}
@media screen and (min-width: 769px) {
  .Grid.-spc8 {
    --gap: 64px;
  }
}

.Grid.-spc4 {
  --gap: 16px;
}
@media screen and (min-width: 769px) {
  .Grid.-spc4 {
    --gap: 32px;
  }
}

.Grid.-spcX2 {
  gap: 0px 16px;
}

.Grid.-spcY5 {
  gap: 50px var(--gap);
}

.Grid.-contentCenter {
  justify-content: center;
}

.Grid.-alignCenter {
  align-items: center;
}

.Grid.-alignEnd {
  align-items: flex-end;
}

.Grid.-cluster > * {
  flex-basis: auto;
}

.Button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  color: var(--text-color);
  font-weight: 800;
  width: 100%;
  max-width: 340px;
  height: 60px;
  background-color: var(--bg-color);
  border: none;
  margin-left: auto;
  margin-right: auto;
  cursor: pointer;
}
.Button:disabled {
  cursor: not-allowed;
}

.Button.-fill {
  --text-color:#ffffff;
  --bg-color: #021B51;
}
.Button.-fill:disabled {
  --bg-color: #E3E3E3;
}
@media screen and (min-width: 769px) {
  .Button.-fill:disabled:hover {
    --bg-color: #E3E3E3;
  }
}
.Button.-fill::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  width: 7px;
  height: 12px;
  background-image: url(../images/icon_arrow_w.svg);
}
@media screen and (min-width: 769px) {
  .Button.-fill:hover {
    --bg-color: #1B5E7A;
  }
}

.Button.wpcf7-submit {
  margin-top: 40px;
}

.BgArea {
  --bg-color:#ffffff;
  padding: 12px;
  background-color: var(--bg-color);
}
@media screen and (min-width: 769px) {
  .BgArea {
    padding: 40px;
  }
}
.BgArea.-rounded {
  border-radius: 10px;
}
@media screen and (min-width: 769px) {
  .BgArea.-pdS {
    padding: 24px;
  }
}

.BgArea__heading {
  color: #021B51;
  font-size: var(--20px);
  text-align: center;
  font-weight: bold;
  --mt:40px;
  margin-top: var(--mt);
}
@media screen and (min-width: 769px) {
  .BgArea__heading {
    font-size: var(--fs-heading);
  }
}
.BgArea__heading:not(:first-child) {
  --mt:var(--spc10);
}

.BgArea__lead {
  font-size: var(--18px);
  line-height: 1.6;
  font-weight: bold;
  color: #021B51;
  text-align: center;
}

.BgHeading {
  font-size: 5vw;
  color: #ffffff;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 470px) {
  .BgHeading {
    font-size: var(--24px);
  }
}
@media screen and (min-width: 769px) {
  .BgHeading {
    font-size: 3.89vw;
  }
}
@media screen and (min-width: 1130px) {
  .BgHeading {
    font-size: var(--44px);
  }
}
.BgHeading span {
  background-color: #AE1E25;
  padding: 0px 0.5em;
}

.BorderedCard {
  --border-color:#FFF6F6;
  border: var(--border-color) solid 4px;
  border-radius: 10px;
  background-color: #ffffff;
  padding: 24px 12px;
  font-size: var(--14px);
}
@media screen and (min-width: 769px) {
  .BorderedCard {
    padding: 20px 20px 24px;
  }
}
.BorderedCard > * + * {
  margin-top: 8px;
}

.BorderedCard__title {
  color: #AE1E25;
  font-weight: bold;
  font-size: var(--fs-subheading);
  line-height: 1.6;
}
.BorderedCard__title small {
  font-size: 0.6em;
}

.BorderedCard__desc {
  font-size: var(--13px);
}

.BorderedList {
  padding-left: 0px;
  list-style-type: none;
}
.BorderedList li {
  padding-bottom: 1em;
  border-bottom: var(--comn-border) solid 1px;
}
.BorderedList li:last-child {
  border-bottom: none;
}
.BorderedList > * + * {
  margin-top: 1em;
}

.ButtonOuter {
  width: calc(100% - 40px);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  position: relative;
  z-index: 1;
}

.HeroArea__button.ButtonOuter {
  position: absolute;
  left: 50%;
  bottom: -40px;
  transform: translateX(-50%);
}
@media screen and (min-width: 769px) {
  .HeroArea__button.ButtonOuter {
    bottom: -52px;
  }
}

.CTASection .ButtonOuter {
  width: 100%;
}

.CaseCard {
  background-color: var(--bg-color);
  padding: 24px 12px;
  border-radius: 10px;
}
@media screen and (min-width: 769px) {
  .CaseCard {
    padding: 40px;
  }
}
.CaseCard.-typeA {
  --title-color:#021B51;
  --bg-color:#F6F6F2;
}
.CaseCard.-typeB {
  --title-color:#ffffff;
  --bg-color:#1B5E7A;
}

.CaseCard__title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.3em;
  color: var(--title-color);
  font-size: var(--fs-subheading);
  font-weight: bold;
  line-height: 1.5;
}

.ContentSlider__icon {
  flex-shrink: 0;
}

.CaseCard__body {
  background-color: #ffffff;
  padding: 24px 12px;
  margin-top: 16px;
  border-radius: 10px;
}
@media screen and (min-width: 769px) {
  .CaseCard__body {
    padding: 40px;
    margin-top: 40px;
  }
}

.ColumnArea {
  font-size: var(--14px);
  max-width: -moz-fit-content;
  max-width: fit-content;
}

.ColumnArea.-typeA {
  --type-color: #021B51;
}

.ColumnArea.-typeB {
  --type-color: #BDBDBD;
  --text-color: #ffffff;
}

.ColumnArea__title {
  color: #021B51;
  font-size: var(--fs-heading);
  font-weight: bold;
  line-height: 1.6;
}
.ColumnArea__title + * {
  margin-top: 16px;
}

.ColumnArea__heading {
  max-width: -moz-fit-content;
  max-width: fit-content;
  color: var(--text-color);
  font-size: var(--17px);
  font-weight: bold;
  line-height: 1.6;
  padding: 4px 8px;
  background-color: var(--type-color);
  border-radius: 10px 10px 0px 0px;
}

.ColumnArea__body {
  border: var(--type-color) solid 4px;
  background-color: #ffffff;
  padding: 24px 12px;
}
@media screen and (min-width: 769px) {
  .ColumnArea__body {
    padding: 24px;
  }
}

.ColumnArea__list {
  font-size: var(--16px);
  font-weight: bold;
  line-height: 1.6;
}
@media screen and (min-width: 769px) {
  .ColumnArea__list {
    font-size: var(--20px);
  }
}

.ColumnArea__listItem {
  color: var(--text-color);
}

.ColumnArea__listItem.-primary {
  --text-color:#021B51;
}

.ColumnArea__listItem.-secondary {
  --text-color:#1B5E7A;
}

.CommonFigure {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.CommonFigure:has(.-resp) {
  position: relative;
  padding-bottom: 12px;
}
@media screen and (min-width: 769px) {
  .CommonFigure:has(.-resp) {
    padding-bottom: 12px;
  }
}
.CommonFigure img {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 16px;
  max-width: 100%;
}
.CommonFigure > * + * {
  margin-top: auto;
}

.CommonTable {
  --text-color:#AE1E25;
  --primary-color: #FFF13B;
  --primary-border-width: 6px;
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed;
  font-size: var(--16px);
  line-height: 1.6;
}
@media screen and (min-width: 769px) {
  .CommonTable {
    --primary-border-width: 8px;
    font-size: var(--20px);
  }
}
.CommonTable th {
  --text-color:#ffffff;
  --bg-color:#AE1E25;
}
.CommonTable tr {
  --bg-color:#FFF6F6;
}
.CommonTable tr:nth-child(even) {
  --bg-color:#ffffff;
}
.CommonTable tr > * {
  --width:24%;
  width: var(--width);
}
.CommonTable tr > *:first-child {
  --width:42%;
}
.CommonTable tbody td.CommonTable__cell.-primary {
  font-size: 1.4em;
  font-weight: bold;
}
.CommonTable tbody tr:first-child .CommonTable__cell.-primary {
  border-top: var(--primary-color) solid var(--primary-border-width);
}
.CommonTable tfoot {
  --text-color:var(--comm-black);
}
.CommonTable tfoot tr {
  --bg-color:#ffffff;
}
.CommonTable tfoot .CommonTable__cell {
  padding-left: 0.3em;
  padding-right: 0.3em;
}
.CommonTable tfoot .CommonTable__cell:has(small) {
  text-align: left;
  line-height: 1.4;
}
.CommonTable tfoot .CommonTable__cell.-primary {
  border-bottom: var(--primary-color) solid var(--primary-border-width);
  font-weight: 900;
}

.CommonTable__cell {
  font-weight: bold;
  padding: 0.5em 0.3em;
  color: var(--text-color);
  background-color: var(--bg-color);
}
@media screen and (min-width: 769px) {
  .CommonTable__cell {
    padding-left: 1em;
    padding-right: 1em;
  }
}
.CommonTable__cell.-primary {
  --width: 30%;
  border: var(--primary-color) solid var(--primary-border-width);
  border-top: none;
  border-bottom: none;
}
.CommonTable__cell.-alignCenter {
  text-align: center;
}
.CommonTable__cell.-overlay {
  position: relative;
}
.CommonTable__cell.-overlay::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background-color: rgba(165, 34, 37, 0.05);
  pointer-events: none;
}
.CommonTable__cell small {
  font-weight: normal;
  font-size: 12px;
}

.CommonTable__textOuter {
  position: relative;
}
.CommonTable__textOuter sup {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: calc(100% + 0.5em);
  transform: translateY(-50%);
}

.CommonText {
  --size: 1em;
  --weight: normal;
  --align: left;
  font-size: var(--size);
  font-weight: var(--weight);
  text-align: var(--align);
}

.CommonText.-sizeL {
  line-height: 1.5;
  --size: var(--24px);
}
@media screen and (min-width: 769px) {
  .CommonText.-sizeL {
    --size: var(--36px);
  }
}

.CommonText.-sizeM {
  line-height: 1.5;
  --size: var(--18px);
  --round-size: 10px;
}
@media screen and (min-width: 769px) {
  .CommonText.-sizeM {
    --size: var(--24px);
  }
}

.CommonText.-size18 {
  line-height: 1.5;
  --size: var(--16px);
  --round-size: 6px;
}
@media screen and (min-width: 769px) {
  .CommonText.-size18 {
    --size: var(--18px);
  }
}

.CommonText.-bold {
  --weight: bold;
}

.CommonText.-alignCenter {
  --align: center;
}

.CommonText.-colorPrimary {
  --bg-color:#AE1E25;
  color: #AE1E25;
}

.CommonText.-notes small {
  font-size: var(--11px);
  font-weight: normal;
  color: #777777;
}

.CommonText.-hasBg {
  background-color: var(--bg-color);
  color: #ffffff;
  padding: 0.3em 0.5em;
  border-radius: var(--round-size);
}

.CommonText.-hasBorder {
  border: #FFF6F6 solid 4px;
  padding: 0.3em 0.5em;
  border-radius: var(--round-size);
}

.ContentSlider {
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding: 0px 30px;
}

.ContentSlider__arrow {
  position: absolute;
  z-index: 1;
  top: 50%;
  transform: translateY(-50%);
  background-color: transparent;
  border: none;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .ContentSlider__arrow:hover {
    opacity: 0.8;
  }
}
.ContentSlider__arrow svg {
  fill: #AE1E25;
}
.ContentSlider__arrow.-angleLeft {
  left: 0px;
}
.ContentSlider__arrow.-angleRight {
  right: 0px;
}

.ContentSlider .slick-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 24px;
  padding-left: 0px;
}
.ContentSlider .slick-dots li {
  list-style-type: none;
  width: 12px;
  height: 12px;
  background-color: #F6F6F2;
  font-size: 0px;
  border-radius: 12px;
}
.ContentSlider .slick-dots li.slick-active {
  background-color: #E3F2FB;
}
.ContentSlider .slick-dots li button {
  pointer-events: auto;
  cursor: pointer;
  background-color: transparent;
  border: none;
}

.CTAButton {
  --border-width: 4px;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  color: var(--text-color);
  font-weight: bold;
  text-decoration: none;
  background: linear-gradient(#FFF13B, #FFC916);
  border-radius: 999px;
  vertical-align: middle;
}
@media screen and (min-width: 769px) {
  .CTAButton:hover {
    background: linear-gradient(#FFC916, #FFF13B);
  }
  .CTAButton:hover::after {
    background: linear-gradient(#FFF13B, #FFC916);
  }
}
.CTAButton::before, .CTAButton::after {
  content: "";
  display: block;
}
.CTAButton::after {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + var(--border-width) * 2);
  height: calc(100% + var(--border-width) * 2);
  background: linear-gradient(#FFC916, #FFF13B);
  border-radius: 999px;
}
.CTAButton.-normal {
  color: var(--comm-black);
}

.CTAButton.-large {
  max-width: 640px;
}
.CTAButton.-large .CTAButton__text {
  font-size: var(--18px);
}
@media screen and (min-width: 769px) {
  .CTAButton.-large .CTAButton__text {
    font-size: var(--28px);
  }
}
.CTAButton.-large .CTAButton__subText {
  font-size: 0.64em;
}

.CTAButton.-primary {
  padding: 0px 12px;
  line-height: 1.3;
  width: 100%;
  max-width: 600px;
  height: 70px;
}
@media screen and (min-width: 769px) {
  .CTAButton.-primary {
    height: 86px;
    padding: 0px 60px 0px 40px;
  }
}
.CTAButton.-primary::before {
  background-image: url(../images//icon_cta_avatar.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top;
  width: 50px;
  height: 80px;
  align-self: flex-end;
}
@media screen and (min-width: 769px) {
  .CTAButton.-primary::before {
    width: 84px;
    height: 76px;
  }
}
@media screen and (min-width: 769px) {
  .CTAButton.-primary.-large {
    height: 104px;
  }
}
.CTAButton.-primary.-large::before {
  background-size: contain;
  background-position: bottom;
  width: 50px;
  height: 80px;
}
@media screen and (min-width: 430px) {
  .CTAButton.-primary.-large::before {
    width: 60px;
    height: 128px;
  }
}
@media screen and (min-width: 769px) {
  .CTAButton.-primary.-large::before {
    width: 103px;
    height: 112px;
  }
}
.CTAButton.-primary .CTAButton__text {
  font-size: var(--14px);
}
@media screen and (min-width: 500px) {
  .CTAButton.-primary .CTAButton__text {
    font-size: var(--18px);
  }
}
@media screen and (min-width: 769px) {
  .CTAButton.-primary .CTAButton__text {
    font-size: var(--26px);
  }
}

.CTAButton__text {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  flex-grow: 1;
  gap: 16px;
  text-align: center;
}
.CTAButton__text::after {
  content: "";
  display: block;
  width: 14px;
  height: 9px;
  background-image: url(../images/icon_arrow_n.svg);
  flex-shrink: 0;
}
.CTAButton__text span {
  flex-grow: 1;
}

.CTAButton.-vertical {
  line-height: 1;
  background: linear-gradient(to right, #FFF13B, #FFC916);
  height: 32px;
}
@media screen and (min-width: 769px) {
  .CTAButton.-vertical {
    height: auto;
  }
}
@media screen and (min-width: 769px) {
  .CTAButton.-vertical:hover {
    background: linear-gradient(to right, #FFC916, #FFF13B);
  }
}
.CTAButton.-vertical .CTAButton__text {
  padding: 16px;
}

.CTASection {
  background-color: #AE1E25;
  color: #ffffff;
  padding: 40px 0px;
}
@media screen and (min-width: 769px) {
  .CTASection {
    padding: 80px 0px;
  }
}

.CTASection__body {
  max-width: 1000px;
  padding: 0px 20px;
  margin-left: auto;
  margin-right: auto;
  background-size: 40px;
}
@media screen and (min-width: 769px) {
  .CTASection__body {
    background-image: url(../images/deco_laurel_left.svg), url(../images/deco_laurel_right.svg);
    background-repeat: no-repeat;
    background-position: left center, right center;
    background-size: auto;
    padding: 0px 90px;
  }
}

.CTASection__copy {
  font-weight: bold;
  font-size: var(--24px);
  font-weight: 800;
  line-height: 1.5;
  text-align: center;
  background-image: url(../images/deco_laurel_left.svg), url(../images/deco_laurel_right.svg);
  background-position: left bottom, right bottom;
  background-repeat: no-repeat;
  background-size: 32px;
  padding: 0px 30px;
}
@media screen and (min-width: 769px) {
  .CTASection__copy {
    background: none;
    font-size: var(--40px);
    padding: 0px 16px;
    background-size: 40px;
  }
}
.CTASection__copy span {
  color: #FFC916;
  font-size: 0.7em;
}

.EmblemUnit {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  aspect-ratio: 260/237;
  background-image: url(../images//deco_laurel.svg);
  background-repeat: no-repeat;
  background-size: contain;
  max-width: 200px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 769px) {
  .EmblemUnit {
    max-width: 260px;
  }
}

.EmblemUnit__title {
  font-weight: bold;
  line-height: 1.5;
  font-size: var(--16px);
}
@media screen and (min-width: 769px) {
  .EmblemUnit__title {
    font-size: 1.59vw;
  }
}
@media screen and (min-width: 1130px) {
  .EmblemUnit__title {
    font-size: var(--18px);
  }
}
.EmblemUnit__title span {
  font-size: 1.6em;
}

.EmblemUnit__data {
  font-weight: bold;
  line-height: 1.5;
  color: #AE1E25;
  font-size: var(--20px);
}
@media screen and (min-width: 769px) {
  .EmblemUnit__data {
    font-size: 2.65vw;
  }
}
@media screen and (min-width: 1130px) {
  .EmblemUnit__data {
    font-size: var(--30px);
  }
}
.EmblemUnit__data span {
  font-size: 2.3em;
}

.FAQCard {
  padding-bottom: 24px;
  border-bottom: #E3E3E3 solid 1px;
}
@media screen and (min-width: 769px) {
  .FAQCard {
    padding-bottom: 40px;
  }
}

.FAQCard__title {
  color: #AE1E25;
  font-size: var(--fs-subheading);
  font-weight: bold;
}
.FAQCard__title::before {
  content: "Q";
  margin-right: 0.5em;
  color: #EC6323;
  display: inline-block;
}

.FAQCard__body {
  margin-top: 16px;
}

.FloatCTA {
  position: fixed;
  z-index: 10;
  bottom: 0px;
  right: 0px;
  background-color: #021B51;
  padding: 10px;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .FloatCTA {
    top: calc(var(--header-h) + var(--admin-bar));
    bottom: auto;
    width: auto;
    padding: 16px;
    writing-mode: vertical-lr;
  }
}
.FloatCTA.-typeA {
  --type-color: #AE1E25;
  background-color: var(--type-color);
}

.FlowList {
  counter-reset: step 0;
}

.FlowList__item {
  --bg-color: #E3F2FB;
  position: relative;
  padding: 24px;
  padding-left: 80px;
  background-color: var(--bg-color);
}
@media screen and (min-width: 769px) {
  .FlowList__item {
    padding: 40px;
    padding-left: 116px;
    padding-right: 36.36vw;
  }
}
@media screen and (min-width: 1100px) {
  .FlowList__item {
    padding-right: 380px;
  }
}
.FlowList__item::before {
  counter-increment: step 1;
  content: "STEP\a" counter(step);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
  white-space: pre;
  text-align: center;
  line-height: 1.2;
  font-weight: bold;
  color: #ffffff;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  font-size: var(--14px);
  background-color: #1B5E7A;
}
@media screen and (min-width: 769px) {
  .FlowList__item::before {
    left: 40px;
  }
}
.FlowList__item:nth-child(even) {
  --bg-color: #ffffff;
}

.FlowList__title {
  font-size: var(--18px);
  font-weight: bold;
  line-height: 1.6;
}
@media screen and (min-width: 769px) {
  .FlowList__title {
    font-size: var(--fs-heading);
  }
}

.FlowListOuter {
  position: relative;
}

.FlowListOuter__figure {
  position: absolute;
  bottom: 0px;
  right: 0px;
  display: none;
}
@media screen and (min-width: 769px) {
  .FlowListOuter__figure {
    display: block;
  }
}
.FlowListOuter__figure img {
  max-width: 36.36vw;
}
@media screen and (min-width: 1100px) {
  .FlowListOuter__figure img {
    max-width: auto;
  }
}

.FormItem {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 24px;
  width: 100%;
  font-size: 14px;
}
.FormItem + .FormItem {
  margin-top: var(--spc-5);
}
.FormItem > :first-child {
  flex-grow: 1;
  flex-basis: 160px;
}
.FormItem.-hasTextarea {
  align-items: flex-start;
}
@media screen and (min-width: 769px) {
  .FormItem.-hasTextarea .FormItem__label {
    margin-top: 0.5em;
  }
}

.FormItem__body {
  flex-basis: 0;
  flex-grow: 999;
  min-width: 60%;
  max-width: 540px;
  margin-left: auto;
  --space: 20px;
}
.FormItem__body > * + * {
  margin-top: var(--space);
}

.FormItem__unit {
  display: flex;
  align-items: center;
  gap: 20px;
}
.FormItem__unit p {
  display: flex;
  align-items: flex-end;
  gap: 6px;
}

.FormItem__subtext {
  line-height: 1.5;
  flex-shrink: 0;
}

.FormItem__label {
  font-weight: normal;
  font-size: 14px;
  display: block;
  line-height: 1.5;
}
.FormItem__label.-required::after {
  content: "（必須）";
  color: var(--primary);
  display: inline-block;
  font-size: 12px;
}

.wpcf7-form .Stack {
  --space: 40px;
}
.wpcf7-form .Stack > * + * {
  margin-top: var(--space);
}
.wpcf7-form .Stack h3 {
  --space: 100px;
}

.wpcf7-form-control:not(.wpcf7-submit) {
  max-width: 100%;
}
.wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-radio):not(.wpcf7-acceptance):not(.wpcf7-checkbox):not(.wpcf7-submit) {
  padding: 8px;
  border-radius: 4px;
  border: 1px solid #E3E3E3;
  background: #ffffff;
}
.wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-radio):not(.wpcf7-acceptance):not(.wpcf7-checkbox):not(.wpcf7-submit):not(.wpcf7-date):not(.wpcf7-tel) {
  width: 100%;
}

.wpcf7-free-text {
  padding: 8px;
  border-radius: 4px;
  border: 1px solid #E3E3E3;
  background: #ffffff;
}

.wpcf7-radio label, .wpcf7-acceptance label, .wpcf7-checkbox label, .wpcf7-date {
  cursor: pointer;
}

.wpcf7-list-item label {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  width: -moz-fit-content;
  width: fit-content;
}
.wpcf7-list-item label input[type=checkbox], .wpcf7-list-item label input[type=radio] {
  margin-top: 0.6em;
}

.wpcf7-radio, .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.wpcf7-textarea {
  resize: vertical;
  min-height: 20em;
}

.wpcf7-acceptance {
  display: inline-block;
  margin-top: 0.5em;
}
.wpcf7-acceptance .wpcf7-list-item {
  margin: 0px;
}

.HeroArea {
  position: relative;
  background-image: url("../images//main.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right 20% center;
  height: 500px;
}
@media screen and (min-width: 769px) {
  .HeroArea {
    background-position: center;
  }
}

.HeroArea__inner {
  position: relative;
  width: calc(100% - 40px);
}
@media screen and (min-width: 769px) {
  .HeroArea__inner {
    width: calc(100% - 60px);
  }
}

@keyframes fadeUp {
  0% {
    transform: translateY(40px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
.HeroArea__title {
  font-weight: 800;
  line-height: 1.5;
  padding-top: 40px;
  transform: translateY(40px);
  opacity: 0;
  animation: fadeUp ease var(--animate-duration) 0.1s forwards;
}
@media screen and (min-width: 769px) {
  .HeroArea__title {
    padding-top: 80px;
  }
}
.HeroArea__title > * + * {
  display: inline-block;
  margin-top: 16px;
}

.HeroArea__primaryText {
  display: block;
  max-width: -moz-fit-content;
  max-width: fit-content;
  color: #ffffff;
  font-size: var(--48px);
  line-height: 1.2;
  background-color: #AE1E25;
  padding: 0.05em 0.2em 0.1em;
  text-shadow: none;
}
@media screen and (min-width: 769px) {
  .HeroArea__primaryText {
    font-size: 6.19vw;
  }
}
@media screen and (min-width: 1130px) {
  .HeroArea__primaryText {
    font-size: var(--70px);
    padding: 0.05em 0.4em 0.15em;
  }
}
.HeroArea__primaryText span {
  font-size: 0.7em;
}

.HeroArea__secondaryText {
  color: #ffffff;
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.35);
  font-size: var(--24px);
}
@media screen and (min-width: 769px) {
  .HeroArea__secondaryText {
    font-size: 4.07vw;
  }
}
@media screen and (min-width: 1130px) {
  .HeroArea__secondaryText {
    font-size: var(--46px);
  }
}

.HeroArea__markText {
  display: block;
  color: var(--comn-yellow);
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.35);
  font-size: var(--18px);
  line-height: 1.8;
}
@media screen and (min-width: 769px) {
  .HeroArea__markText {
    font-size: 2.48vw;
  }
}
@media screen and (min-width: 1130px) {
  .HeroArea__markText {
    font-size: var(--28px);
  }
}

.HeroArea__map {
  position: absolute;
  bottom: 0px;
}
@media screen and (min-width: 769px) {
  .HeroArea__map {
    top: 50%;
    right: 0px;
    transform: translateY(-50%);
  }
}
.HeroArea__map img {
  margin-left: auto;
  width: 100%;
  max-width: 400px;
}
@media screen and (min-width: 769px) {
  .HeroArea__map img {
    max-width: 63.82vw;
  }
}
@media screen and (min-width: 1100px) {
  .HeroArea__map img {
    max-width: auto;
  }
}

.LabeldImage {
  position: relative;
  overflow: hidden;
}
.LabeldImage img {
  border-radius: 10px;
  aspect-ratio: 7/5;
  -o-object-fit: cover;
     object-fit: cover;
}

.LabeldImage__text {
  position: absolute;
  z-index: 1;
  top: 12px;
  left: 10px;
  font-size: var(--12px);
  font-weight: bold;
  text-shadow: 0px 0px 10px rgb(255, 255, 255);
}

.Logo {
  flex-shrink: 0;
  max-width: 120px;
}
@media screen and (min-width: 769px) {
  .Logo {
    max-width: none;
  }
}

.Modal {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) !important;
  width: calc(100% - 60px);
  max-width: 940px;
}

.Modal__close {
  position: absolute;
  z-index: 1;
  top: 0px;
  right: 0px;
  background-color: #AE1E25;
  color: #ffffff;
  font-weight: bold;
  width: 40px;
  height: 40px;
  line-height: 1;
  font-size: 18px;
  cursor: pointer;
}

button#showDialog {
  background-color: transparent;
  border: none;
  cursor: pointer;
}

.PageFooter {
  background-color: #F6F6F2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 16px;
  width: 100%;
  padding: 24px 10px calc(40px + var(--float-h));
}
@media screen and (min-width: 769px) {
  .PageFooter {
    justify-content: space-between;
    padding: 24px 30px 40px;
  }
}

.PageHeader {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  position: fixed;
  z-index: 100;
  top: var(--admin-bar);
  left: 0px;
  width: 100%;
  height: var(--header-h);
  padding: 0px 16px;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  .PageHeader {
    padding: 0px 30px;
    gap: 30px;
  }
}

.PageHeader__menuToggle {
  position: relative;
  width: 24px;
  height: 12px;
  background-color: transparent;
  border: none;
  font-size: 0px;
}
.PageHeader__menuToggle::before, .PageHeader__menuToggle::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  position: absolute;
  left: 0px;
  background-color: #021B51;
}
.PageHeader__menuToggle::before {
  top: 0px;
}
.PageHeader__menuToggle::after {
  bottom: 0px;
}
@media screen and (min-width: 1130px) {
  .PageHeader__menuToggle {
    display: none;
  }
}

.PageHeader__nav {
  align-self: center;
  order: 2;
  font-size: 0px;
}
@media screen and (min-width: 1130px) {
  .PageHeader__nav {
    flex-grow: 1;
    order: 0;
  }
}

.PageHeader__menuBody {
  height: calc(100vh - var(--header-h));
  position: absolute;
  z-index: 10;
  top: 100%;
  right: 0px;
  transform: translateX(100%);
  transition: transform 0.3s;
  background-color: #ffffff;
  padding: 40px;
}
@media screen and (min-width: 1130px) {
  .PageHeader__menuBody {
    order: 0;
    position: static;
    padding: 0px;
    height: auto;
    transform: none;
    background-color: transparent;
  }
}
.PageHeader__menuBody.-active {
  transform: translateX(0px);
}
@media screen and (min-width: 1130px) {
  .PageHeader__menuBody.-active {
    transform: none;
  }
}

.PageHeader__menu {
  display: flex;
  list-style-type: none;
  flex-direction: column;
  gap: 28px;
  font-size: var(--14px);
  font-weight: 600;
}
@media screen and (min-width: 1130px) {
  .PageHeader__menu {
    flex-direction: row;
  }
}

.PageHeader__menuItem {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
@media screen and (min-width: 769px) {
  .PageHeader__menuItem:hover {
    opacity: 0.8;
  }
}
.PageHeader__menuItem::after {
  content: "";
  display: block;
  width: 14px;
  height: 9px;
  background-image: url(../images/icon_arrow_g.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.PageHeader__menuItem a {
  text-decoration: none;
}

.PageHeader__info {
  margin-left: auto;
}
@media screen and (min-width: 1130px) {
  .PageHeader__info {
    margin-left: 0px;
  }
}
.PageHeader__info > * + * {
  margin-top: 5px;
}

.PageHeader__infoText {
  color: #555555;
  font-size: var(--10px);
  line-height: 1.6;
}
@media screen and (min-width: 1130px) {
  .PageHeader__infoText {
    font-size: var(--11px);
  }
}

.PageHeader__menu + .PageHeader__info {
  margin-top: 40px;
}

.PageSection {
  --bg-color:#F6F6F2;
  background-color: var(--bg-color);
  padding: var(--spc15) 0px;
}
.PageSection > * + * {
  --mt:var(--spc10);
  margin-top: var(--mt);
}
.PageSection.-bgSecondary {
  --bg-color:#ffffff;
}
.PageSection.-hasHeadline {
  padding: 0px;
}

.PageSection__title {
  display: flex;
  flex-direction: column;
  text-align: center;
  font-size: var(--24px);
  font-weight: bold;
  color: var(--comn-black);
  line-height: 1.3;
}
@media screen and (min-width: 769px) {
  .PageSection__title {
    font-size: var(--40px);
  }
}
.PageSection__title::before {
  color: #AE1E25;
  content: attr(data-subtitle);
  font-size: var(--14px);
}
.PageSection__title + * {
  margin-top: var(--spc10);
}

.PageSection__subHeading {
  text-align: center;
  font-weight: bold;
  font-size: var(--fs-subheading);
  line-height: 1.6;
}
.PageSection__subHeading.-comment {
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.PageSection__subHeading.-comment::before {
  content: "＼";
}
.PageSection__subHeading.-comment::after {
  content: "／";
}

.PageSection__bgHeading {
  --mt:64px!important;
  color: #ffffff;
  font-size: var(--fs-heading);
  font-weight: bold;
  text-align: center;
  background-color: #1B5E7A;
  border-radius: 10px;
  padding: 0.2em;
}
@media screen and (min-width: 769px) {
  .PageSection__bgHeading {
    --mt:80px!important;
  }
}

.PageSection__headline {
  background-color: #F6F6F2;
  padding: 40px 30px;
}
@media screen and (min-width: 769px) {
  .PageSection__headline {
    padding: var(--spc10) 30px;
  }
}

.PageSection__body {
  --mt:0px;
  padding: var(--spc10) 0px var(--spc15);
}
.PageSection__body.-hasBottomImage {
  padding-bottom: 0px;
}

@media screen and (min-width: 769px) {
  .PageSection__lead {
    text-align: center;
  }
}
.PageSection__lead span {
  color: #1B5E7A;
  font-weight: bold;
}

.PageSection__notes {
  font-size: var(--14px);
}
.PageSection__notes.-center {
  text-align: center;
}

.PageSection__image {
  display: flex;
  justify-content: center;
  text-align: center;
}

.PhoneNumber {
  display: flex;
  gap: 4px;
  align-items: center;
  color: #021B51;
  font-size: var(--16px);
  font-weight: 600;
  line-height: 1;
}
@media screen and (min-width: 769px) {
  .PhoneNumber {
    gap: 10px;
    font-size: var(--fs-heading);
  }
}
.PhoneNumber a {
  text-decoration: none;
}
.PhoneNumber.-typeA {
  --type-color: #AE1E25;
  color: var(--type-color);
}
.PhoneNumber.-typeA .PhoneNumber__icon {
  background-color: var(--type-color);
}

.PhoneNumber__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  background-color: #1B5E7A;
  border-radius: 100px;
  flex-shrink: 0;
}
.PhoneNumber__icon img {
  max-width: 10px;
}
@media screen and (min-width: 1130px) {
  .PhoneNumber__icon img {
    max-width: none;
  }
}

.PointHeading {
  color: var(--primary);
  font-size: var(--24px);
  text-align: center;
  font-weight: bold;
}
@media screen and (min-width: 769px) {
  .PointHeading {
    font-size: var(--48px);
  }
}
.PointHeading span {
  background: linear-gradient(transparent 70%, #FFC916 70%);
}
.PointHeading span[data-num]::before {
  content: attr(data-num);
  display: inline;
  color: #1B5E7A;
  margin-right: 0.5em;
}

.ServiceFlow {
  display: flex;
  flex-direction: column;
  row-gap: 7px;
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 769px) {
  .ServiceFlow {
    display: grid;
    grid-template-columns: repeat(5, auto);
    grid-template-rows: 30px repeat(4, auto) 50px repeat(4, auto) 30px;
    -moz-column-gap: 7px;
         column-gap: 7px;
    row-gap: 0px;
  }
}
.ServiceFlow > * {
  grid-column: auto;
  grid-row: auto;
}
@media screen and (min-width: 769px) {
  .ServiceFlow > * {
    grid-column: var(--column);
    grid-row: var(--row);
  }
}

.ServiceFlow__box {
  position: relative;
  padding: 32px 16px 16px;
  background-color: #ffffff;
  border: #AE1E25 solid 4px;
  border-radius: 10px;
}
@media screen and (min-width: 769px) {
  .ServiceFlow__box {
    min-height: 200px;
    max-width: 260px;
  }
}
.ServiceFlow__box > * + * {
  margin-top: 10px;
}
.ServiceFlow__box::before, .ServiceFlow__box::after {
  position: absolute;
  content: attr(data-num);
  font-size: 34px;
  font-weight: bold;
  top: calc(0px - 1.1em);
  left: 15px;
}
.ServiceFlow__box::before {
  color: #fff;
  -webkit-text-stroke: 0.2em #fff;
  z-index: 0;
}
.ServiceFlow__box::after {
  color: #AE1E25;
  z-index: 1;
}
.ServiceFlow__box[data-num="1"] {
  --column: 1/2;
  --row: 2/6;
}
.ServiceFlow__box[data-num="2"] {
  --column: 3/4;
  --row: 1/5;
}
.ServiceFlow__box[data-num="3"] {
  --column: 5/6;
  --row: 2/6;
}
.ServiceFlow__box[data-num="4"] {
  --column: 5/6;
  --row: -2/-6;
}
.ServiceFlow__box[data-num="5"] {
  --column: 4/3;
  --row: -1/-5;
}
.ServiceFlow__box[data-num="6"] {
  --column: 2/1;
  --row: -2/-6;
}

.ServiceFlow__heading {
  color: #ffffff;
  font-weight: 500;
  text-align: center;
  border-radius: 4px;
  background-color: #AE1E25;
  font-size: var(--16px);
  padding: 0.1em 0.5em 0.2em;
}

.ServiceFlow__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  transform-origin: center;
  --angle: rotate(90deg);
}
@media screen and (min-width: 769px) {
  .ServiceFlow__arrow {
    --angle:none;
  }
}
.ServiceFlow__arrow img {
  width: 26px;
  height: 26px;
  transform: var(--angle);
}
.ServiceFlow__arrow.-arrow1 {
  --column: 2/3;
  --row: 1/6;
}
.ServiceFlow__arrow.-arrow2 {
  --column: 4/5;
  --row: 1/6;
}
.ServiceFlow__arrow.-arrow3 {
  --column: 5/6;
  --row: 6/7;
}
.ServiceFlow__arrow.-arrow4 {
  --column: 4/5;
  --row: -1/-6;
}
.ServiceFlow__arrow.-arrow5 {
  --column: 2/3;
  --row: -1/-6;
}
.ServiceFlow__arrow.-arrow6 {
  display: none;
  --column: 1/2;
  --row: -6/-7;
}
@media screen and (min-width: 769px) {
  .ServiceFlow__arrow.-arrow6 {
    display: flex;
  }
}
@media screen and (min-width: 769px) {
  .ServiceFlow__arrow.-angleB {
    --angle: rotate(90deg);
  }
}
@media screen and (min-width: 769px) {
  .ServiceFlow__arrow.-angleL {
    --angle: rotate(180deg);
  }
}
@media screen and (min-width: 769px) {
  .ServiceFlow__arrow.-angleT {
    --angle: rotate(-90deg);
  }
}

.ServiceFlow__desc {
  font-size: var(--13px);
  line-height: 1.6;
}

.ServiceFlow__figure {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  --column: 3/4;
  --row: -5/-8;
  margin-bottom: -7px;
}
@media screen and (min-width: 769px) {
  .ServiceFlow__figure {
    margin-bottom: 0px;
    margin-top: -20px;
  }
}
.ServiceFlow__figure img {
  width: auto;
  height: -moz-fit-content;
  height: fit-content;
  max-width: 181px;
}

.ServiceFlow__comment {
  display: block;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .ServiceFlow__comment {
    display: none;
  }
}

.Icon.-angleRespRtoB {
  transform: rotate(90deg);
}
@media screen and (min-width: 769px) {
  .Icon.-angleRespRtoB {
    transform: rotate(0deg);
  }
}/*# sourceMappingURL=lp2.css.map */