/* -------------------------------------------------------------------------- */
/* SP */
/* -------------------------------------------------------------------------- */
:root {
  --clr-main: #001837;
  --clr-sub: #224676;
  --clr-txt: #333333;
  --clr-white: #ffffff;
  --clr-black: #000000;
  --clr-red: #cf1111;
  --clr-border: #bdbdbd;

  --light: 300;
  --regular: 400;
  --medium: 500;
  --semibold: 600;
  --bold: 700;
  --black: 900;

  --sp-05: calc((4 / 390) * 100vw);
  --sp-1: calc((8 / 390) * 100vw);
  --sp-2: calc((16 / 390) * 100vw);
  --sp-3: calc((24 / 390) * 100vw);
  --sp-4: calc((32 / 390) * 100vw);
  --sp-5: calc((40 / 390) * 100vw);
  --sp-6: calc((48 / 390) * 100vw);
  --sp-8: calc((60 / 390) * 100vw);
  --sp-10: calc((80 / 390) * 100vw);

  --h1-fz: calc((74 / 390) * 100vw);
  --h2-fz: calc((32 / 390) * 100vw);
  --h3-fz: calc((26 / 390) * 100vw);
  --h4-fz: calc((24 / 390) * 100vw);
  --h5-fz: calc((20 / 390) * 100vw);
  --h6-fz: calc((18 / 390) * 100vw);
  --base-fz: calc((16 / 390) * 100vw);
  --small-fz: calc((14 / 390) * 100vw);
  --tiny-fz: calc((12 / 390) * 100vw);
  --large-fz: calc((18 / 390) * 100vw);
}

/* -------------------------------------------------------------------------- */
#main_col {
  width: 100%;
}

#content_area {
  /* width: 960px; */
  width: min(100%, 961px);
  padding: 0;
}

html,
body {
  scroll-behavior: smooth;
  scroll-padding-top: 50px;
}

/* -------------------------------------------------------------------------- */
body:has(dialog[open]) {
  overflow: hidden;
}

.sx-cnt_wrap {
  width: min(100%, 961px);
  margin-inline: auto;
  font-size: var(--base-fz);
  font-weight: var(--regular);
  background-color: var(--clr-white);
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
}

.sx-cnt_wrap *,
.sx-cnt_wrap::before,
.sx-cnt_wrap::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

.sx-cnt_wrap p,
.sx-cnt_wrap table,
.sx-cnt_wrap blockquote,
.sx-cnt_wrap address,
.sx-cnt_wrap pre,
.sx-cnt_wrap iframe,
.sx-cnt_wrap form,
.sx-cnt_wrap figure,
.sx-cnt_wrap dl {
  margin: 0;
}

.sx-cnt_wrap h1,
.sx-cnt_wrap h2,
.sx-cnt_wrap h3,
.sx-cnt_wrap h4,
.sx-cnt_wrap h5,
.sx-cnt_wrap h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

.sx-cnt_wrap em {
  font-style: normal;
}

.sx-cnt_wrap ul,
.sx-cnt_wrap ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sx-cnt_wrap img {
  max-width: 100%;
  width: attr(width px);
  height: auto;
  display: block;
}

.sx-cnt_wrap a {
  text-decoration: none;
}

/* --------------------------------- Common --------------------------------- */
[class*="__wrapper-m"] {
  width: min(100%, 890px);
  margin-inline: auto;
}

.cmn-py {
  padding-block: var(--sp-5);
}

.sp-px {
  padding-inline: var(--sp-2);
}

.cmn-hl {
  background: linear-gradient(to bottom,
      transparent 40%,
      #ffe861 40%,
      #ffe861 80%,
      transparent 80%);
}

.sp {
  display: block;
}

.pc {
  display: none !important;
}

/* -------------------------------------------------------------------------- */
.cmn-cta {
  width: min(100%, 585px);
}

.cmn-cta .cmn-cta__title,
.cmn-cta .cmn-cta__box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: row nowrap;
}

.cmn-cta .cmn-cta__title {
  gap: var(--sp-2);
  width: calc((318 / 390) * 100vw);
  height: calc((36 / 390) * 100vw);
  margin: 0 auto var(--sp-1);

  /* &::before,
    &::after {
      content: "";
      position: relative;
      display: block;
      flex-grow: 1;
      height: 2px;
      background-color: var(--clr-white);
    } */
}

.cmn-cta .cmn-cta__box {
  gap: var(--sp-2);
  flex-flow: column nowrap;
}

.cmn-cta .cmn-cta__link {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--sp-1);
  border-radius: calc((30 / 390) * 100vw);
  transition: all 0.1s;
}

.cmn-cta .cmn-cta__link p,
.cmn-cta .cmn-cta__link span {
  font-weight: var(--bold);
  color: var(--clr-white);
  letter-spacing: 0.05em;
}

.cmn-cta .cmn-cta__link span {
  padding-left: calc((35 / 390) * 100vw);
  position: relative;
}

.cmn-cta .cmn-cta__link span::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  margin-block: auto;
  background: no-repeat center / contain;
}

.cmn-cta .cmn-cta__link:hover {
  filter: none;
  transform: translateY(4px);
}

.cmn-cta .cmn-cta__link--tel {
  /* width: min(100%, 370px); */
  height: calc((57 / 390) * 100vw);
  background: linear-gradient(to bottom, #d25e6c, #a7343e);
  flex-flow: column nowrap;
  /* filter: drop-shadow(0px 4px 0px #6f2627); */
  box-shadow: 0px 4px 0px #6f2627;
}

.cmn-cta .cmn-cta__link--tel p {
  font-size: calc((10 / 390) * 100vw);
  font-weight: var(--regular);
  margin-inline: 23% auto;
  line-height: 1;
}

.cmn-cta .cmn-cta__link--tel span {
  font-size: calc((30 / 390) * 100vw);
  line-height: 1;
}

.cmn-cta .cmn-cta__link--tel span::before {
  inset: 0 auto 0 0;
  margin-block: auto calc((2 / 390) * 100vw);
  width: calc((30 / 390) * 100vw);
  height: calc((19 / 390) * 100vw);
  background-image: url("/raid/maker/assets/images/cmn-cta_deco1.webp");
}

.cmn-cta .cmn-cta__link--mail {
  /* width: min(100%, 205px); */
  /* height: calc((47 / 390) * 100vw); */
  height: calc((57 / 390) * 100vw);
  background: linear-gradient(to bottom, #467dbd, #1d5697);
  /* filter: drop-shadow(0px 4px 0px #2e4560); */
  box-shadow: 0px 4px 0px #2e4560;
}

.cmn-cta .cmn-cta__link--mail span {
  font-size: calc((20 / 390) * 100vw);
  font-weight: var(--regular);
}

.cmn-cta .cmn-cta__link--mail span::before {
  width: calc((23 / 390) * 100vw);
  height: calc((18 / 390) * 100vw);
  background-image: url("/raid/maker/assets/images/cmn-cta_deco2.webp");
}

.cmn-cta .cmn-cta__link--mail span em {
  font-weight: var(--bold);
}

.cmn-cta--des2 {
  width: min(100%, 630px);
  margin-inline: auto;
  border-radius: var(--sp-1);
  background-color: #fff5bf;
  padding: var(--sp-1) var(--sp-1) var(--sp-2);
}

.cmn-cta--des2 .cmn-cta__link span {
  padding-left: var(--sp-4);
}

.cmn-cta--des2 .cmn-cta__link--tel p {
  font-weight: var(--regular);
}

.cmn-cta--des2 .cmn-cta__link--tel span {
  font-size: calc((33 / 390) * 100vw);
  padding-left: calc((35 / 390) * 100vw);
}

.cmn-cta--des2 {
  /* .cmn-cta__title {
    margin-bottom: var(--sp-1);

    &::before,
    &::after {
      background-color: var(--clr-black);
    }
  } */
}

/* --------------------------------- Sec-CTA -------------------------------- */
.sec-cta {
  margin-bottom: var(--sp-3);
  margin-top: -20px;
}

.sec-cta--nomb {
  margin-bottom: 0;
}

.sec-cta .sec-cta__img {
  transform: translateY(20px);
}

.sec-cta .sec-cta__wrapper {
  padding: var(--sp-5) var(--sp-2);
}

.sec-cta .sec-cta__box {
  background-color: var(--clr-white);
  padding: var(--sp-2) var(--sp-1) var(--sp-1) var(--sp-1);
  border-radius: var(--sp-1);
}

.sec-cta .sec-cta__header {
  margin-bottom: var(--sp-2);
}

.sec-cta .sec-cta__header h3,
.sec-cta .sec-cta__header p {
  color: var(--clr-white);
  text-align: center;
}

.sec-cta .sec-cta__header h3 {
  font-size: 34px;
  font-weight: var(--bold);
  letter-spacing: 0.06em;
  line-height: 2;
}

.sec-cta .sec-cta__header h3 em {
  font-size: 52px;
  letter-spacing: 0.01em;
}

.sec-cta .sec-cta__header p {
  font-size: var(--large-fz);
  font-weight: var(--medium);
  letter-spacing: 0.12em;
  line-height: 1.6;
}

.sec-cta .sec-cta__header img {
  margin-inline: auto;
}

.sec-cta .sec-cta__header1 img {
  width: calc((293 / 390) * 100vw);
  height: calc((120 / 390) * 100vw);
}

.sec-cta .sec-cta__header2 img {
  width: calc((278 / 390) * 100vw);
  height: calc((109 / 390) * 100vw);
}

.sec-cta .sec-cta__header3 img {
  width: calc((293 / 390) * 100vw);
  height: calc((120 / 390) * 100vw);
}

.sec-cta .sec-cta__note {
  font-size: 10px;
  font-weight: var(--regular);
  color: var(--clr-white);
  display: none;
}

.sec-cta .cmn-cta {
  margin-bottom: var(--sp-1);
}


.sec-cta__box--bg2 {
  background: no-repeat center / cover url("/raid/maker/assets/images/sp/sec-cta_bg1.webp");
}


/* ---------------------------------- sec00 --------------------------------- */
.sec00 {
  padding: var(--sp-5) var(--sp-2);
  background: no-repeat center top / cover url("/raid/maker/assets/images/sp/sec00_bg.webp");
  margin-top: var(--sp-3);
  margin-bottom: var(--sp-5);
}


.sec00 .sec00__header {
  margin-bottom: 0;
}

/* ---------------------------------- Sec01 --------------------------------- */
.sec01,
.sec02 {
  background-color: #f6f6f6;
  padding-block: 0;
}

.sec01 {
  margin-bottom: var(--sp-5);
}

.sec01 .sec01__header,
.sec02 .sec02__header {
  margin-bottom: 0;
}

.sec01 .sec01__header img,
.sec02 .sec02__header img {
  width: 100%;
  height: auto;
}

.sec01 .sec01__wrapper-l,
.sec02 .sec02__wrapper-l {
  padding-block: var(--sp-2) var(--sp-5);
}

.sec01 .sec01__textbox1,
.sec02 .sec02__textbox1 {
  margin-bottom: var(--sp-2);
}

.sec01 .sec01__textbox1 p,
.sec02 .sec02__textbox1 p {
  font-size: var(--h6-fz);
  font-weight: var(--bold);
  letter-spacing: 0.06em;
  line-height: 1.5;
  text-align: center;
}

.sec01 .sec01__textbox1 p:not(:last-child),
.sec02 .sec02__textbox1 p:not(:last-child) {
  margin-bottom: var(--sp-2);
}

.sec01 .sec01__list,
.sec02 .sec02__list {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-flow: row wrap;
  gap: var(--sp-2);
  margin-bottom: 0;
}

.sec01 .sec01__item,
.sec02 .sec02__item {
  width: calc((100% - var(--sp-2)) / 2);
  display: flex;
}

.sec01 .sec01__item a,
.sec02 .sec02__item a {
  display: block;
  width: 100%;
}

.sec01 .sec01__item img,
.sec02 .sec02__item img {
  width: 100%;
  height: auto;
}