@charset "UTF-8";
@import url("../css/reset.css");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
/*-------------------------------------------/
    ページ共通要素
/-------------------------------------------*/
/* 表示切替 ----------------------------- */
@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
@media screen and (min-width: 1025px) {
  .pc_none {
    display: none !important;
  }
}
@media screen and (max-width: 1024px) {
  .pc_only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}
:root {
  --white: #ffffff;
  --black: #000000;
  --color01: #fff100;
  --color02: #f15a22;
  --color03: #172a88;
  --color04: #e62e8b;
  --color05: #009d95;
}

/*=====================================================

		メイン設定

======================================================*/
html {
  -webkit-overflow-scrolling: touch;
  font-size: clamp(7px, 0.5882352941vw, 10px);
}
@media screen and (max-width: 767px) {
  html {
    font-size: min(1.3333333333vw, 6px);
  }
}

body {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-optical-sizing: auto;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  font-size: 2rem;
  line-height: 1.5;
  max-width: 100%;
  height: 100%;
  color: var(--black);
  animation: fade 1s ease forwards;
}
@media screen and (max-width: 1023px) {
  body {
    font-size: min(3rem, 20px);
  }
}
@media screen and (max-width: 767px) {
  body {
    font-size: 3rem;
  }
}

.wrapper {
  overflow: clip;
}

.main-content {
  position: relative;
  z-index: 1;
}

/*=================================================

		共通設定

==================================================*/
img {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: auto;
}

img,
object,
embed {
  max-width: 100%;
  height: auto;
  *width: inherit;
  vertical-align: middle;
}

a {
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease;
  cursor: pointer;
}

a:hover {
  color: inherit;
}

a img {
  transition: all 0.3s ease;
  display: block;
}

.indent {
  text-indent: -1em;
  padding-left: 1em;
}

/*=================================================

		tel リンク

==================================================*/
@media screen and (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
.nolink,
.nolink a {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}

/*=================================================

		ヘッダー

==================================================*/
.page-header {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
}
.page-header .header-logo {
  width: 37rem;
}
.page-header .header-logo a {
  display: block;
}
.page-header .header-logo a img {
  width: 100%;
}

/*=================================================

		フッター

==================================================*/
.page-footer {
  padding-top: 10rem;
  padding-bottom: 15rem;
  padding-left: 5rem;
  padding-right: 3rem;
}
.page-footer .page-footer__inner {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.page-footer .page-footer__inner .logo_kct {
  width: 44.6rem;
}
.page-footer .page-footer__inner .copyright p {
  font-size: 1.7rem;
}
@media screen and (max-width: 767px) {
  .page-footer {
    padding-top: 5rem;
    padding-bottom: 20rem;
    padding-left: 4rem;
    padding-right: 4rem;
  }
  .page-footer .page-footer__inner {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 4rem;
  }
  .page-footer .page-footer__inner .logo_kct {
    width: 30rem;
  }
  .page-footer .page-footer__inner .copyright p {
    font-size: 2.2rem;
    text-align: center;
  }
}

/* ページトップへ */
#pagetop {
  display: none;
  position: fixed;
  z-index: 9998;
  top: auto;
  bottom: 4rem;
  right: 2rem;
}
#pagetop a {
  display: block;
  width: 6rem;
  height: 6rem;
  background: url("../img/pagetop.png") center center no-repeat;
  background-size: 100% 100%;
}
@media screen and (max-width: 767px) {
  #pagetop {
    bottom: 17rem;
    right: 1rem;
  }
}

/* 料金シミュレーション ボタン */
.fixed-btn-box-pc {
  display: none;
  position: fixed;
  z-index: 9999;
  bottom: 18rem;
  right: 4rem;
}
.fixed-btn-box-pc a {
  display: block;
  width: 27rem;
}
@media screen and (max-width: 1023px) {
  .fixed-btn-box-pc {
    right: 0;
  }
  .fixed-btn-box-pc a {
    width: 20rem;
  }
}
@media screen and (max-width: 767px) {
  .fixed-btn-box-pc {
    display: none;
  }
}

.fixed-btn-box-sp {
  display: none;
  position: fixed;
  z-index: 9999;
  bottom: 0;
  left: 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .fixed-btn-box-sp {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 0 0.5rem 0.8rem;
    background: #e70000;
  }
  .fixed-btn-box-sp a.btn-contact-tel {
    width: 36.8rem;
  }
  .fixed-btn-box-sp a.btn-simulation {
    width: 37.2rem;
  }
}

/*=================================================

		共通

==================================================*/
.btn {
  cursor: pointer;
}
.btn:hover {
  opacity: 0.8;
}

.btnAnime {
  transition: 0.3s all;
}
.btnAnime:hover {
  transform: translateY(2px);
}

.contentTitle {
  display: flex;
  justify-content: center;
}
.contentTitle span.imgTitle {
  position: relative;
  display: block;
  height: 15.2rem;
}
.contentTitle span.imgTitle img {
  width: auto;
  height: 100%;
}
.contentTitle span.imgTitle::before {
  content: "";
  position: absolute;
  top: -7rem;
  left: -7rem;
  height: 8.8rem;
  aspect-ratio: 131/88;
  background: url("../img/deco-ttl.png") no-repeat;
  background-size: 100% 100%;
}
@media screen and (max-width: 767px) {
  .contentTitle span.imgTitle {
    height: 9.4rem;
  }
  .contentTitle span.imgTitle::before {
    content: "";
    position: absolute;
    top: -4.5rem;
    left: -4.5rem;
    height: 5.5rem;
    aspect-ratio: 131/88;
    background: url("../img/deco-ttl.png") no-repeat;
    background-size: 100% 100%;
  }
}

/*=================================================

		LP メインコンテンツ

==================================================*/
#lp-mv {
  height: auto;
  background: orangered;
}
#lp-mv .mv-main {
  width: 100%;
}
#lp-mv .mv-main img {
  width: 100%;
}

.simulation-btnBlock {
  width: 100%;
  background: var(--color02);
  padding: 4rem 5rem;
}
.simulation-btnBlock .inner {
  width: min(100%, 120rem);
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2.5rem;
}
.simulation-btnBlock .inner .txtBox {
  padding: 0 2rem;
  flex-shrink: 0;
}
.simulation-btnBlock .inner .txtBox h2 {
  font-size: 3.6rem;
  line-height: 1.5555555556;
  font-weight: 700;
  color: var(--white);
}
.simulation-btnBlock .inner .txtBox h2 span {
  display: inline-block;
  font-size: 5.6rem;
  line-height: 1;
  color: #fff100;
}
.simulation-btnBlock .inner .btnBox {
  width: min(50% - 2.5rem, 57.2rem);
}
.simulation-btnBlock .inner .btnBox a {
  width: min(100%, 57.2rem);
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .simulation-btnBlock .inner .txtBox h2 {
    text-align: center;
  }
  .simulation-btnBlock .inner .btnBox {
    width: min(100%, 57.2rem);
  }
  .simulation-btnBlock .inner .btnBox a {
    width: min(100%, 57.2rem);
    display: inline-block;
  }
}

.simulation-btnBlock02 {
  width: 100%;
  background: var(--color02);
  padding: 4rem 5rem;
}
.simulation-btnBlock02 .inner {
  width: min(100%, 130rem);
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 4rem 1rem;
}
.simulation-btnBlock02 .inner .txtBox {
  flex-shrink: 0;
}
.simulation-btnBlock02 .inner .txtBox h2 {
  font-size: 5rem;
  line-height: 1.34;
  font-weight: 700;
  color: var(--white);
  text-align: center;
}
.simulation-btnBlock02 .inner .txtBox h2 span {
  display: inline-block;
  color: #fff100;
}
.simulation-btnBlock02 .inner .btnBox {
  width: min(50% - 1rem, 57.2rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.simulation-btnBlock02 .inner .btnBox p {
  font-size: 2.2rem;
  color: var(--white);
  text-align: center;
}
.simulation-btnBlock02 .inner .btnBox p span {
  display: flex;
  justify-content: center;
}
.simulation-btnBlock02 .inner .btnBox p span::before {
  content: "";
  width: 1em;
  aspect-ratio: 22/48;
  background: url("../img/deco_line.png") no-repeat;
  background-size: 100% 100%;
}
.simulation-btnBlock02 .inner .btnBox p span::after {
  content: "";
  width: 1em;
  aspect-ratio: 22/48;
  background: url("../img/deco_line.png") no-repeat;
  background-size: 100% 100%;
  transform: scaleX(-1);
}
.simulation-btnBlock02 .inner .btnBox a {
  width: min(100%, 57.2rem);
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .simulation-btnBlock02 {
    padding: 4rem 2rem;
  }
  .simulation-btnBlock02 .inner .txtBox h2 {
    text-align: center;
  }
  .simulation-btnBlock02 .inner .btnBox {
    width: 100%;
  }
  .simulation-btnBlock02 .inner .btnBox p {
    font-size: 3rem;
  }
  .simulation-btnBlock02 .inner .btnBox p span {
    gap: 2rem;
  }
  .simulation-btnBlock02 .inner .btnBox a {
    width: min(100%, 57.2rem);
    display: inline-block;
  }
}

.simulation-btnBlock03 {
  width: 100%;
}
.simulation-btnBlock03 .inner {
  width: min(100%, 130rem);
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 5rem 3rem;
}
.simulation-btnBlock03 .inner .contactBox {
  width: -moz-fit-content;
  width: fit-content;
  flex-shrink: 0;
  border: 0.3rem solid var(--white);
  border-radius: 2rem;
  padding: 2rem;
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 2rem;
}
.simulation-btnBlock03 .inner .contactBox .icon-box {
  width: 8.8rem;
}
.simulation-btnBlock03 .inner .contactBox .txtBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  color: var(--white);
}
.simulation-btnBlock03 .inner .contactBox .txtBox p {
  text-align: center;
}
.simulation-btnBlock03 .inner .contactBox .txtBox p.txt01 {
  font-size: 2.3rem;
  font-weight: 500;
}
.simulation-btnBlock03 .inner .contactBox .txtBox p.telNumber {
  font-size: 6rem;
  font-weight: 900;
  line-height: 1;
  color: var(--color01);
}
.simulation-btnBlock03 .inner .contactBox .txtBox p.txt02 {
  font-size: 1.9rem;
}
.simulation-btnBlock03 .inner .btnBox {
  width: min(50% - 1rem, 57.2rem);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.simulation-btnBlock03 .inner .btnBox p {
  font-size: 2.2rem;
  color: var(--white);
  text-align: center;
}
.simulation-btnBlock03 .inner .btnBox p span {
  display: flex;
  justify-content: center;
}
.simulation-btnBlock03 .inner .btnBox p span::before {
  content: "";
  width: 1em;
  aspect-ratio: 22/48;
  background: url("../img/deco_line.png") no-repeat;
  background-size: 100% 100%;
}
.simulation-btnBlock03 .inner .btnBox p span::after {
  content: "";
  width: 1em;
  aspect-ratio: 22/48;
  background: url("../img/deco_line.png") no-repeat;
  background-size: 100% 100%;
  transform: scaleX(-1);
}
.simulation-btnBlock03 .inner .btnBox a {
  width: min(100%, 57.2rem);
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .simulation-btnBlock03 .inner .contactBox {
    width: -moz-fit-content;
    width: fit-content;
    flex-shrink: 0;
    border: 0.3rem solid var(--white);
    border-radius: 2rem;
    padding: 2rem;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 3rem 2rem;
  }
  .simulation-btnBlock03 .inner .contactBox .icon-box {
    width: 7rem;
  }
  .simulation-btnBlock03 .inner .contactBox .txtBox {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    color: var(--white);
  }
  .simulation-btnBlock03 .inner .contactBox .txtBox p {
    text-align: left;
  }
  .simulation-btnBlock03 .inner .contactBox .txtBox p.txt01 {
    font-size: 3rem;
    font-weight: 500;
  }
  .simulation-btnBlock03 .inner .contactBox .txtBox p.telNumber {
    font-size: 6rem;
    font-weight: 900;
    line-height: 1;
    color: var(--color01);
  }
  .simulation-btnBlock03 .inner .contactBox .txtBox p.txt02 {
    font-size: 3rem;
  }
  .simulation-btnBlock03 .inner .btnBox {
    width: 100%;
    gap: 2rem;
  }
  .simulation-btnBlock03 .inner .btnBox p {
    font-size: 3rem;
  }
  .simulation-btnBlock03 .inner .btnBox p span {
    gap: 2rem;
  }
  .simulation-btnBlock03 .inner .btnBox a {
    width: min(100%, 57.2rem);
    display: inline-block;
  }
}

.layoutBox-wrap {
  width: min(100%, 120rem);
  margin: 0 auto;
}

#secContet01 {
  position: relative;
  z-index: 0;
  padding-top: 10rem;
  padding-bottom: 10rem;
  padding-left: 10rem;
  padding-right: 10rem;
  background: linear-gradient(135deg, rgba(255, 33, 177, 0.6) 5%, rgba(255, 124, 64, 0.6) 50%, rgba(247, 240, 17, 0.6));
}
@media screen and (min-width: 1024px) {
  #secContet01::before {
    content: "";
    width: 97.2395833333vw;
    height: 100%;
    position: absolute;
    z-index: -1;
    top: -10rem;
    left: 50%;
    transform: translateX(-50%);
    background: url("../img/bg_deco01.png") center top repeat-y;
    background-size: 186.7rem auto;
    pointer-events: none;
  }
}
@media screen and (max-width: 1023px) {
  #secContet01 {
    padding-bottom: 14.6484375vw;
  }
}
@media screen and (max-width: 767px) {
  #secContet01 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    padding-bottom: 41.3333333333vw;
  }
}
#secContet01 .layoutBox-wrap .layoutBox .contentTitle {
  position: relative;
  z-index: 1;
}
#secContet01 .layoutBox-wrap .layoutBox .contentBox {
  position: relative;
  z-index: 0;
  margin-top: -7rem;
  width: 100%;
  padding: 7.5rem 2rem;
  background: var(--white);
  border-radius: 5rem;
}
#secContet01 .layoutBox-wrap .layoutBox .bgBox01 {
  width: min(100%, 115rem);
  margin: 6rem auto 0;
  border-radius: 2.8rem;
  border: 0.4rem solid var(--color03);
  padding: 2rem;
  background: linear-gradient(180deg, rgba(247, 240, 17, 0.6), #fff 73%);
}
@media screen and (max-width: 1023px) {
  #secContet01 .layoutBox-wrap .layoutBox .contentBox {
    padding: 7.5rem 3rem;
  }
}
#secContet01 .layoutBox-wrap .layoutBox01 .layoutBox_inner {
  position: relative;
}
#secContet01 .layoutBox-wrap .layoutBox01 .layoutBox01_03 {
  margin-top: 10rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox01 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox01 .txt01 {
  font-size: 2.4rem;
  font-weight: 700;
  width: 9.2rem;
  height: 9.2rem;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #b5b5b6;
  border-radius: 50%;
  text-align: center;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox01 .txt01 span {
  display: inline-block;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox01 .txt02 p.fs31 {
  font-size: 3.1rem;
  font-weight: 700;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox01 .txt02 p.fs17 {
  font-size: 1.7rem;
  font-weight: 500;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox02 {
  position: relative;
  width: min(100%, 101.3rem);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox02 .deco01 {
  position: absolute;
  z-index: -1;
  top: -9rem;
  left: -9.8716683119%;
  width: min(118.3613030602%, 119.9rem);
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox02 .copyTitle {
  width: 100%;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox02 .subTxt img {
  width: 58.9rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox03 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox03 .txt-box {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 1rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox03 .txt-box p.ttl {
  font-size: 3.7rem;
  font-weight: 700;
  color: var(--white);
  background: var(--color02);
  padding: 0.5em 1.25em;
  border-radius: 4.5rem;
  flex-shrink: 0;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox03 .col3-box {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 2rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox03 .col3-box .inbox {
  width: calc((100% - 4rem) / 3);
  padding: 3.5rem 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--white);
  border: 0.3rem solid var(--color03);
  border-radius: 1rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox03 .col3-box .inbox img {
  width: min(100%, 31rem);
}
#secContet01 .layoutBox-wrap .layoutBox01 .icon-plus {
  position: absolute;
  left: calc(50% - 5rem);
  z-index: 1;
  width: 10rem;
  margin: -1.5rem auto;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox04 {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 1rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox04 .txt-box {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 54rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox04 .txt-box p.ttl {
  font-size: 3.7rem;
  font-weight: 700;
  color: var(--white);
  background: var(--color02);
  padding: 0.5em 1em;
  border-radius: 4.5rem;
  flex-shrink: 0;
  width: -moz-fit-content;
  width: fit-content;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox04 .price-box img {
  width: 55rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s {
  position: relative;
  width: calc(100% + 4rem);
  background: var(--color02);
  padding: 2.5rem 5rem 4.5rem;
  margin: 4rem -2rem -7.5rem;
  border-radius: 0 0 5rem 5rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s .inner {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2.5rem 2.5rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s .inner .txtBox {
  padding: 0 2rem;
  flex-shrink: 0;
}
#secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s .inner .txtBox h3 {
  font-size: 5.1rem;
  line-height: 1.5555555556;
  font-weight: 700;
  color: var(--white);
  text-align: center;
}
#secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s .inner .btnBox {
  width: min(50%, 57.2rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s .inner .btnBox p {
  font-size: 2.2rem;
  color: var(--white);
  text-align: center;
}
#secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s .inner .btnBox p span {
  display: flex;
  justify-content: center;
}
#secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s .inner .btnBox p span::before {
  content: "";
  width: 1em;
  aspect-ratio: 22/48;
  background: url("../img/deco_line.png") no-repeat;
  background-size: 100% 100%;
}
#secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s .inner .btnBox p span::after {
  content: "";
  width: 1em;
  aspect-ratio: 22/48;
  background: url("../img/deco_line.png") no-repeat;
  background-size: 100% 100%;
  transform: scaleX(-1);
}
#secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s .inner .btnBox a {
  width: min(100%, 57.2rem);
  display: inline-block;
}
#secContet01 .layoutBox-wrap .layoutBox01 .img04_box {
  position: relative;
  width: 100%;
  margin: 5rem auto 3rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .img04_box .imgTitle {
  width: 37.9rem;
  margin: 0 auto;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox05 {
  display: flex;
  flex-direction: column;
  align-items: center;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox05 .imgTxt03-box {
  width: min(100%, 100rem);
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox05 .col2-box {
  display: flex;
  justify-content: center;
  align-items: center;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox05 .col2-box .img-box {
  width: 26.7rem;
  flex-shrink: 0;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox05 .col2-box .txt-box {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox05 .col2-box .txt-box p.fs32 {
  font-size: 3.2rem;
  font-weight: 700;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox05 .col2-box .txt-box p.fs32 span {
  color: var(--color04);
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox05 .col2-box .txt-box p.fs22 {
  font-size: 2.2rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox06 {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox06.bgBox01 {
  margin-top: 2rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox06 h3 {
  font-size: 4.6rem;
  font-weight: 900;
  color: var(--color03);
  text-align: center;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox06 .col3-box {
  display: flex;
  justify-content: center;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox06 .col3-box .inbox {
  width: calc((100% - 10rem) / 3);
  background: var(--white);
  border: 0.3rem solid var(--color03);
  border-radius: 1rem;
  padding: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox06 .col3-box .inbox img {
  width: 29rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox06 .col3-box .iconBox {
  position: relative;
  width: min(7%, 7rem);
  margin: 0 -1rem;
  align-content: center;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox06 .col3-box .iconBox img {
  width: 100%;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox07 {
  margin-top: 5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox07 h3 {
  font-size: 4rem;
  font-weight: 900;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox07 h3 span {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox07 h3 span::before {
  content: "";
  position: relative;
  top: -0.5em;
  width: 0.825em;
  aspect-ratio: 33/32;
  background: url("../img/deco-ttl02.png") no-repeat;
  background-size: 100% 100%;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox07 h3 span::after {
  content: "";
  position: relative;
  top: -0.5em;
  width: 0.825em;
  aspect-ratio: 33/32;
  background: url("../img/deco-ttl02.png") no-repeat;
  background-size: 100% 100%;
  transform: scaleX(-1);
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox07 .col4-box {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox07 .col4-box .btn-item {
  width: min((100% - 6rem) / 4);
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox07 .bottom-txt-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
#secContet01 .layoutBox-wrap .layoutBox01 .inbox07 .bottom-txt-box p {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 2.2rem;
}
@media screen and (max-width: 1023px) {
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox02 .deco01 {
    position: absolute;
    z-index: -1;
    top: -9rem;
    left: -3rem;
    width: calc(100% + 6rem);
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox03 {
    padding: 3.5rem 4rem;
    gap: 4rem;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox03 .txt-box {
    flex-direction: column;
    align-items: center;
    padding: 0 2.5rem;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox04 {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4rem;
    padding: 3.5rem 4rem;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox04 .txt-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    width: 100%;
    padding: 0 2.5rem;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox04 .txt-box p.ttl {
    font-size: 3.7rem;
    font-weight: 700;
    color: var(--white);
    background: var(--color02);
    padding: 0.5em 1em;
    border-radius: 4.5rem;
    flex-shrink: 0;
    width: -moz-fit-content;
    width: fit-content;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox04 .price-box {
    text-align: center;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox04 .price-box img {
    width: min(100%, 59rem);
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s {
    width: calc(100% + 6rem);
    margin: 4rem -3rem -7.5rem;
    padding: 2.5rem 2rem 4.5rem;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s .inner {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 2.5rem 2.5rem;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s .inner .txtBox {
    padding: 0 2rem;
    flex-shrink: 0;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s .inner .txtBox h3 {
    font-size: 5.1rem;
    line-height: 1.5555555556;
    font-weight: 700;
    color: var(--white);
    text-align: center;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s .inner .btnBox {
    width: min(100%, 57.2rem);
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s .inner .btnBox p {
    font-size: 2.2rem;
    color: var(--white);
    text-align: center;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s .inner .btnBox p span {
    display: flex;
    justify-content: center;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s .inner .btnBox p span::before {
    content: "";
    width: 1em;
    aspect-ratio: 22/48;
    background: url("../img/deco_line.png") no-repeat;
    background-size: 100% 100%;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s .inner .btnBox p span::after {
    content: "";
    width: 1em;
    aspect-ratio: 22/48;
    background: url("../img/deco_line.png") no-repeat;
    background-size: 100% 100%;
    transform: scaleX(-1);
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s .inner .btnBox a {
    width: min(100%, 57.2rem);
    display: inline-block;
  }
}
@media screen and (max-width: 767px) {
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox03 .col3-box {
    width: min(100%, 59rem);
    flex-direction: column;
    gap: 2.5rem;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox03 .col3-box .inbox {
    width: 100%;
    padding: 2.5rem;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox03 .col3-box .inbox img {
    width: min(100%, 40rem);
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s .inner .btnBox {
    width: 100%;
    gap: 2rem;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s .inner .btnBox p {
    font-size: 3rem;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .simulation-btnBlock-s .inner .btnBox p span {
    gap: 2rem;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .img04_box {
    position: relative;
    width: 100%;
    margin: 5rem auto;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .img04_box .imgTitle {
    width: 28rem;
    margin: 0 auto;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox05 {
    gap: 4rem;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox05 .col2-box {
    align-items: flex-start;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox05 .col2-box .img-box {
    width: 15.6rem;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox05 .col2-box .txt-box p.fs22 {
    position: relative;
    margin-top: 2rem;
    margin-left: -14rem;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox06 {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox06.bgBox01 {
    margin-top: 2rem;
    padding-bottom: 5rem;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox06 .col3-box {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox06 .col3-box .inbox {
    width: min(100%, 59rem);
    background: var(--white);
    border: 0.3rem solid var(--color03);
    border-radius: 1rem;
    padding: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox06 .col3-box .inbox img {
    width: 38rem;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox06 .col3-box .iconBox {
    position: relative;
    width: min(7%, 7rem);
    margin: -1rem 0;
    align-content: center;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox06 .col3-box .iconBox img {
    width: 100%;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox06 .col3-box .iconBox img.icon_arrow {
    transform: rotate(90deg);
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox07 .col4-box {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 2.5rem;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox07 .col4-box .btn-item {
    width: 41rem;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox07 .bottom-txt-box {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0 7.5rem;
  }
  #secContet01 .layoutBox-wrap .layoutBox01 .inbox07 .bottom-txt-box p {
    width: auto;
    font-size: 2.6rem;
  }
}
#secContet01 .bgImg-bottom {
  position: absolute;
  z-index: -1;
  bottom: -1px;
  left: 0;
  width: 100%;
}
#secContet01 .bgImg-bottom img {
  width: 100%;
}
#secContet01 .illustBox01 {
  position: absolute;
  top: 40rem;
  left: -1rem;
  width: 52.4rem;
}
#secContet01 .illustBox02 {
  position: absolute;
  top: 50%;
  left: calc(100% + 5rem);
  width: 12.7rem;
}
#secContet01 .illustBox03 {
  position: absolute;
  right: 100%;
  bottom: 0;
  width: 21.6rem;
}
@media screen and (max-width: 767px) {
  #secContet01 .illustBox03 {
    right: auto;
    left: 0;
    bottom: auto;
    top: 3rem;
    width: 16rem;
  }
}
#secContet01 .illustBox04 {
  position: absolute;
  right: 7rem;
  bottom: calc(100% - 1rem);
  width: 33.7rem;
}
@media screen and (max-width: 767px) {
  #secContet01 .illustBox04 {
    right: 2rem;
    width: 27.5rem;
  }
}
#secContet01 .illustBox05 {
  position: absolute;
  left: calc(100% + 2rem);
  bottom: -7rem;
  width: 24.6rem;
}

#secContet02 {
  position: relative;
  z-index: 0;
  padding-top: 20rem;
  padding-bottom: 22rem;
  padding-left: 10rem;
  padding-right: 10rem;
  background: url("../img/bg_secContent02.jpg") center top no-repeat;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  #secContet02 {
    padding-top: 8.5rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    padding-bottom: 41.3333333333vw;
    background: url("../img/bg_illust_02_sp.png") center bottom no-repeat, #ffe57a;
    background-size: 100% auto, auto;
  }
}
#secContet02 .layoutBox-wrap {
  position: relative;
}
#secContet02 .layoutBox-wrap .layoutBox .contentTitle {
  position: relative;
  z-index: 1;
}
#secContet02 .layoutBox-wrap .layoutBox .contentBox {
  position: relative;
  z-index: 0;
  margin-top: -7rem;
  width: 100%;
  padding: 7.5rem 2rem;
  background: #fadce9;
  border: 0.5rem solid var(--color04);
  border-radius: 5rem;
}
@media screen and (max-width: 1023px) {
  #secContet02 .layoutBox-wrap .layoutBox .contentBox {
    padding: 7.5rem 3rem;
  }
}
#secContet02 .layoutBox-wrap .top-txt-box p {
  font-size: 4.3rem;
  font-weight: 900;
  text-align: center;
}
#secContet02 .layoutBox-wrap .flow-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  margin-top: 3rem;
}
#secContet02 .layoutBox-wrap .flow-wrap .flow-item {
  width: 100%;
}
#secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowNumber {
  width: 100%;
  font-size: 6.7rem;
  font-weight: 700;
  line-height: 1;
  color: var(--color04);
  display: flex;
  justify-content: center;
  align-items: center;
}
#secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowNumber::before, #secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowNumber::after {
  content: "";
  width: 1rem;
  height: 0.5rem;
  background: var(--color04);
  flex-grow: 1;
}
#secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowNumber span {
  position: relative;
  width: 18rem;
  height: 18rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
#secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowNumber span::before {
  position: absolute;
  z-index: -1;
  content: "";
  width: 13.5rem;
  height: 13.5rem;
  transform: rotate(45deg);
  background: var(--white);
  border: 0.5rem solid var(--color04);
}
#secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowContent {
  display: flex;
  justify-content: center;
  align-items: center;
}
#secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowContent .txt-box {
  width: 58.5rem;
  padding-left: 5rem;
  flex-shrink: 0;
}
#secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowContent .txt-box p.ttl {
  font-size: 3.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
#secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowContent .txt-box p.txt {
  font-size: 2.2rem;
  font-weight: 700;
}
#secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowContent .txt-box p.info {
  font-size: 1.8rem;
}
#secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowContent .icon-box {
  width: calc(100% - 58.5rem);
  padding: 1rem 5rem;
  text-align: center;
}
#secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowContent .icon-box img {
  width: min(100%, 24rem);
}
@media screen and (max-width: 767px) {
  #secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowNumber {
    width: 100%;
    font-size: 5rem;
    font-weight: 700;
    line-height: 1;
    color: var(--color04);
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowNumber::before, #secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowNumber::after {
    content: "";
    width: 1rem;
    height: 0.5rem;
    background: var(--color04);
    flex-grow: 1;
  }
  #secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowNumber span {
    position: relative;
    width: 12rem;
    height: 12rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowNumber span::before {
    position: absolute;
    z-index: -1;
    content: "";
    width: 9rem;
    height: 9rem;
    transform: rotate(45deg);
    background: var(--white);
    border: 0.5rem solid var(--color04);
  }
  #secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowContent {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowContent .txt-box {
    width: 44rem;
    padding-left: 3.5rem;
    flex-shrink: 0;
  }
  #secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowContent .txt-box p.ttl {
    font-size: 3.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
  }
  #secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowContent .txt-box p.txt {
    font-size: 3rem;
    font-weight: 700;
  }
  #secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowContent .txt-box p.info {
    font-size: 3rem;
  }
  #secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowContent .icon-box {
    width: calc(100% - 44rem);
    padding: 1rem 3rem;
    text-align: center;
  }
  #secContet02 .layoutBox-wrap .flow-wrap .flow-item .flowContent .icon-box img {
    width: min(100%, 15rem);
  }
  #secContet02 .layoutBox-wrap .flow-wrap .flow-item:nth-child(n+4) .flowContent {
    flex-direction: column;
  }
  #secContet02 .layoutBox-wrap .flow-wrap .flow-item:nth-child(n+4) .flowContent .txt-box {
    width: 100%;
    padding: 1rem 3.5rem;
  }
}
#secContet02 .illustBox06 {
  position: absolute;
  right: calc(100% + 8rem);
  top: 15rem;
  width: 22.9rem;
}
#secContet02 .illustBox07 {
  position: absolute;
  left: calc(100% + 13rem);
  top: 15rem;
  width: 11.4rem;
}
#secContet02 .illustBox08 {
  position: absolute;
  right: calc(100% + 12rem);
  top: calc(50% + 5rem);
  width: 9.4rem;
}
#secContet02 .illustBox09 {
  position: absolute;
  left: calc(100% + 7rem);
  top: calc(50% + 5rem);
  width: 20.5rem;
}
#secContet02 .illustBox10 {
  position: absolute;
  right: calc(100% + 4.5rem);
  bottom: 3rem;
  width: 19.2rem;
}
#secContet02 .illustBox11 {
  position: absolute;
  z-index: 1;
  left: calc(100% - 4rem);
  bottom: 5rem;
  width: 34.2rem;
}

#secContet03 {
  position: relative;
  z-index: 0;
  padding-bottom: 15rem;
  padding-left: 10rem;
  padding-right: 10rem;
  background: linear-gradient(90deg, #ffe51d, #ffe954);
}
#secContet03::before {
  content: "";
  width: 100.78125%;
  height: 100%;
  position: absolute;
  z-index: -1;
  top: 15rem;
  left: 50%;
  transform: translateX(-50%);
  background: url("../img/bg_deco02.png") center top repeat-y;
  background-size: 193.5rem auto;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  #secContet03 {
    padding-left: 4rem;
    padding-right: 4rem;
    padding-bottom: 33.3333333333vw;
  }
  #secContet03::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: url("../img/bg_deco02_sp.png") center top no-repeat;
    background-size: 100% auto;
    pointer-events: none;
  }
}
#secContet03 .layoutBox-wrap {
  position: relative;
  top: -5rem;
}
#secContet03 .layoutBox-wrap .layoutBox .contentTitle span::after {
  content: "";
  width: 24rem;
  aspect-ratio: 242/154;
  background-size: contain;
  position: absolute;
  bottom: calc(100% - 2rem);
  left: 7.5rem;
  background: url("../img/fukidashi_kct.svg") bottom center no-repeat;
  background-size: contain;
}
#secContet03 .layoutBox-wrap .layoutBox .contentBox {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5rem;
}
@media screen and (max-width: 767px) {
  #secContet03 .layoutBox-wrap {
    top: -3rem;
  }
  #secContet03 .layoutBox-wrap .layoutBox .contentTitle span::after {
    content: "";
    width: 15rem;
    aspect-ratio: 242/154;
    background-size: contain;
    position: absolute;
    bottom: calc(100% - 1rem);
    left: 5rem;
    background: url("../img/fukidashi_kct.svg") bottom center no-repeat;
    background-size: contain;
  }
}
#secContet03 .layoutBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
}
#secContet03 .layoutBox h3 {
  font-size: 4.3rem;
  font-weight: 900;
  text-align: center;
}
#secContet03 .layoutBox .col2-box {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 5rem;
}
#secContet03 .layoutBox .col2-box .inbox {
  width: min((100% - 5rem) / 2, 57rem);
  padding: 3rem 2rem;
  border-radius: 3rem;
  background: var(--white);
}
#secContet03 .layoutBox .col2-box .inbox p {
  text-align: center;
}
#secContet03 .layoutBox .col2-box .inbox p.txt {
  font-size: 2.7rem;
  font-weight: 500;
}
#secContet03 .layoutBox .col2-box .inbox p.ttl {
  font-size: 4.5rem;
  font-weight: 900;
  color: var(--color05);
  margin-bottom: 2rem;
}
#secContet03 .layoutBox .col2-box .inbox .img-box {
  width: min(100%, 53rem);
  aspect-ratio: 530/340;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1023px) {
  #secContet03 .layoutBox .col2-box {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5rem;
  }
  #secContet03 .layoutBox .col2-box .inbox {
    width: min(100%, 670px);
    padding: 4rem 3rem;
    border-radius: 5rem;
    background: var(--white);
  }
  #secContet03 .layoutBox .col2-box .inbox p {
    text-align: center;
  }
  #secContet03 .layoutBox .col2-box .inbox p.txt {
    font-size: 3rem;
    font-weight: 500;
  }
  #secContet03 .layoutBox .col2-box .inbox p.ttl {
    font-size: 4.5rem;
    font-weight: 900;
    color: var(--color05);
    margin-bottom: 2rem;
  }
  #secContet03 .layoutBox .col2-box .inbox .img-box {
    width: min(100%, 53rem);
    aspect-ratio: 530/340;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
#secContet03 .bgImg-bottom {
  position: absolute;
  z-index: -1;
  bottom: -1px;
  left: 0;
  width: 100%;
}
#secContet03 .bgImg-bottom img {
  width: 100%;
}

#secContact {
  position: relative;
  z-index: 0;
  background: var(--color02);
  padding-top: 7rem;
  padding-bottom: 10rem;
  padding-left: 4rem;
  padding-right: 4rem;
}
@media screen and (max-width: 767px) {
  #secContact {
    padding-bottom: 6rem;
  }
}
#secContact .layoutBox-wrap {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5rem;
}
#secContact .layoutBox {
  position: relative;
  width: min(100%, 120rem);
  background: var(--white);
  border-radius: 2.5rem;
  text-align: center;
  padding: 3rem 20rem;
}
#secContact .layoutBox p.txt01 {
  font-size: 2.7rem;
  font-weight: 700;
}
#secContact .layoutBox p.txt02 {
  font-size: 2.1rem;
  font-weight: 500;
}
#secContact .layoutBox .illustBox {
  position: absolute;
  top: -1.5rem;
  right: 6.5rem;
  width: 13.7rem;
}
@media screen and (max-width: 1023px) {
  #secContact .layoutBox {
    padding: 6rem 4rem;
  }
  #secContact .layoutBox .illustBox {
    position: absolute;
    top: -1.5rem;
    right: 3rem;
    width: 13.7rem;
  }
}
@media screen and (max-width: 767px) {
  #secContact .layoutBox {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
  #secContact .layoutBox p {
    width: -moz-fit-content;
    width: fit-content;
  }
  #secContact .layoutBox p.txt01 {
    font-size: 3.4rem;
    font-weight: 700;
  }
  #secContact .layoutBox p.txt02 {
    font-size: 3rem;
    font-weight: 500;
    text-align: left;
  }
  #secContact .layoutBox .illustBox {
    position: absolute;
    top: -6rem;
    right: 1.5rem;
    width: 12.7rem;
  }
}
#secContact .txt-box p {
  font-size: 3rem;
  font-weight: 700;
  color: var(--color01);
  text-align: center;
}

#secContent04 {
  position: relative;
  z-index: 0;
  padding-top: 15rem;
  padding-bottom: 23rem;
  padding-left: 10rem;
  padding-right: 10rem;
  background: linear-gradient(135deg, rgba(255, 33, 177, 0.23) 5%, rgba(255, 124, 64, 0.23) 50%, rgba(247, 240, 17, 0.23));
}
#secContent04::before {
  content: "";
  width: 185.9rem;
  height: 100%;
  position: absolute;
  z-index: -1;
  top: 3.5rem;
  left: 50%;
  transform: translateX(-50%);
  background: url("../img/bg_deco03.png") center top repeat-y;
  background-size: 100% auto;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  #secContent04 {
    padding-top: 8rem;
    padding-left: 4rem;
    padding-right: 4rem;
  }
  #secContent04::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: url("../img/bg_deco03_sp.png") center top repeat-y;
    background-size: 100% auto;
    pointer-events: none;
  }
}
#secContent04 .informationBox {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
}
#secContent04 .informationBox .accordionBox {
  width: 100%;
  background: var(--white);
  border-radius: 2.5rem;
  box-shadow: 4px 4px rgba(0, 0, 0, 0.5);
}
#secContent04 .informationBox .accordionBox .accordionTitle {
  padding: 4rem;
  font-size: 3rem;
  font-weight: 500;
}
#secContent04 .informationBox .accordionBox .accordionContent {
  display: none;
  padding: 2rem 4rem 4rem;
}
#secContent04 .informationBox .accordionBox .accordionContent p.fs18 {
  font-size: 0.9em;
}
#secContent04 .informationBox .accordionBox .accordionContent ul.dot-pink {
  padding-left: 1.5em;
}
#secContent04 .informationBox .accordionBox .accordionContent ul.dot-pink li {
  list-style: disc;
  line-height: 1.75;
}
#secContent04 .informationBox .accordionBox .accordionContent ul.dot-pink li::marker {
  color: var(--color04);
}
#secContent04 .informationBox .accordionBox .accordionContent ul.dot-pink li:not(:last-child) {
  margin-bottom: 2rem;
}
#secContent04 .informationBox .accordionBox .accordionContent ul.dot-orange {
  padding-left: 1em;
  margin: 1rem 0;
}
#secContent04 .informationBox .accordionBox .accordionContent ul.dot-orange li {
  position: relative;
  padding-left: 1.5em;
  line-height: 1.75;
}
#secContent04 .informationBox .accordionBox .accordionContent ul.dot-orange li::before {
  position: absolute;
  top: 0.375em;
  left: 0;
  content: "";
  background: var(--color02);
  width: 1em;
  height: 1em;
  border-radius: 50%;
}
#secContent04 .informationBox .accordionBox .accordionContent ul.dot-orange li span {
  color: var(--color02);
  font-weight: 500;
}
#secContent04 .informationBox .accordionBox .accordionContent .inbox:not(:last-child) {
  margin-bottom: 2rem;
}
#secContent04 .informationBox .accordionBox .btnTarget {
  position: relative;
  cursor: pointer;
  padding-right: 10rem;
}
#secContent04 .informationBox .accordionBox .btnTarget::after {
  content: "";
  width: 2.8rem;
  height: 2rem;
  background: url("../img/icon_accordionBtn.svg") no-repeat;
  background-size: 100% 100%;
  position: absolute;
  top: calc(50% - 1rem);
  right: 3rem;
  transition: 0.3s ease all;
}
#secContent04 .informationBox .accordionBox .btnTarget.open::after {
  transform: scaleY(-1);
}
#secContent04 .bgImg-bottom {
  position: absolute;
  z-index: -1;
  bottom: -1px;
  left: 0;
  width: 100%;
}
#secContent04 .bgImg-bottom img {
  width: 100%;
}

/*-------------------------------------------------
  アニメーション
-------------------------------------------------*/
@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeIn {
  opacity: 0;
  transform: translate(0, 20px);
  transition: 1s;
}

.fadeIn.is-show {
  transform: translate(0, 0);
  opacity: 1;
}/*# sourceMappingURL=style.css.map */