@charset "UTF-8";
/****************************************************************************************************************************/
/*
/*
/* = Reset Style
/*
/*
/****************************************************************************************************************************/
* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

html {
  height: 100%;
}

h1, h2, h3, h4, h5, h6, dt {
  padding: 0;
  margin: 0;
  font-weight: 500;
}

ul,
ol {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

strong {
  font-weight: normal;
}

em {
  font-style: normal;
}

/****************************************************************************************************************************/
/*
/*
/* = Parts Style
/*
/*
/****************************************************************************************************************************/
/*
/* = display
/*
/* ------------------------------------------------------------------------------------------------------------------------ */
.tb-only {
  display: none;
}
@media print, screen and (max-width: 1080px) and (min-width: 768px) {
  .tb-only {
    display: block;
  }
}

.gt-sp {
  display: block;
}
@media screen and (max-width: 767px) {
  .gt-sp {
    display: none;
  }
}

.lt-pcm {
  display: none;
}
@media print, screen and (max-width: 1366px) {
  .lt-pcm {
    display: block;
  }
}

.lt-tb {
  display: none;
}
@media print, screen and (max-width: 1080px) {
  .lt-tb {
    display: block;
  }
}

.lt-tbv {
  display: none;
}
@media print, screen and (max-width: 810px) {
  .lt-tbv {
    display: block;
  }
}

.lt-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .lt-sp {
    display: block;
  }
}

.lt-spv {
  display: none;
}
@media screen and (max-width: 540px) {
  .lt-spv {
    display: block;
  }
}

/*
/* = a
/*
/* ------------------------------------------------------------------------------------------------------------------------ */
a {
  display: inline-block;
  text-decoration: none;
  transition: 0.5s ease-in-out;
}
a:link {
  color: #0c202f;
}
a:active {
  color: #0c202f;
}
a:focus {
  color: #0c202f;
}
a:visited {
  color: #0c202f;
}
a:hover {
  color: #0c202f;
  transition: 0.5s ease-in-out;
}

@media print, screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

.mailaddress::after {
  content: "@gmail.com";
}

/*
/* = img
/*
/* ------------------------------------------------------------------------------------------------------------------------ */
img,
svg {
  display: inline-block;
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

/****************************************************************************************************************************/
/*
/*
/* = Site Style
/*
/*
/****************************************************************************************************************************/
/*
/* = Margin Padding
/*
/* ------------------------------------------------------------------------------------------------------------------------ */
/*
/* = txt
/*
/* ------------------------------------------------------------------------------------------------------------------------ */
.txt--center {
  text-align: center;
}
.txt--left {
  text-align: left;
}
.txt--right {
  text-align: right;
}
.txt--marker {
  display: inline;
  padding-left: 4px;
  padding-right: 4px;
  background: linear-gradient(transparent 50%, rgba(134, 187, 216, 0.4) 50%);
}
.txt--highlight {
  color: #E5005A;
}

/*
/* = ttl
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.ttl--h2 {
  margin-bottom: clamp(34px, 3.125vw, 40px);
  text-align: center;
}
.ttl--h2_en {
  display: block;
  font-size: clamp(14px, 1.25vw, 16px);
  line-height: 2;
  font-weight: 900;
  color: #E5005A;
}
.ttl--h2_jp {
  display: block;
  font-size: clamp(34px, 3.125vw, 40px);
  line-height: 2;
  font-weight: 900;
}
@media screen and (max-width: 540px) {
  .ttl--h2_jp {
    font-size: clamp(27.2px, 6.296vw, 34px);
    line-height: 1.6;
  }
}
.ttl--h3 {
  margin-bottom: clamp(27px, 2.5vw, 32px);
}
.ttl--h3_en {
  display: block;
  font-size: clamp(14px, 1.25vw, 16px);
  line-height: 2;
  font-weight: 900;
  color: #E5005A;
}
.ttl--h3_jp {
  display: block;
  font-size: clamp(27px, 2.5vw, 32px);
  line-height: 2;
  font-weight: 900;
}
@media screen and (max-width: 540px) {
  .ttl--h3_jp {
    font-size: clamp(21.6px, 5vw, 27px);
  }
}
.ttl--h4 {
  margin-bottom: clamp(20px, 1.875vw, 24px);
  font-size: clamp(20px, 1.875vw, 24px);
  line-height: 1.6;
  font-weight: 700;
}
@media screen and (max-width: 540px) {
  .ttl--h4 {
    font-size: clamp(16px, 3.704vw, 20px);
  }
}
.ttl--h5 {
  margin-bottom: clamp(17px, 1.563vw, 20px);
  font-size: clamp(17px, 1.563vw, 20px);
  line-height: 1.6;
  font-weight: 700;
}

/*
/* = ico
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.ico--contact::before {
  display: inline-block;
  content: "";
  width: 1em;
  aspect-ratio: 1/1;
  background-color: #0c202f;
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: auto 100%;
  mask-image: url(images/ico--contact.svg);
}

.ico--application::before {
  display: inline-block;
  content: "";
  width: 1em;
  aspect-ratio: 1/1;
  background-color: #0c202f;
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: auto 100%;
  mask-image: url(images/ico--application.svg);
}

/*
/* = btn
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.btn--contact, .btn--application {
  position: relative;
  display: inline-block;
  width: clamp(203px, 18.75vw, 240px);
  padding-left: clamp(47px, 4.375vw, 56px);
  padding-right: clamp(24px, 2.188vw, 28px);
  height: clamp(68px, 6.25vw, 80px);
  line-height: clamp(68px, 6.25vw, 80px);
  border-radius: clamp(34px, 3.125vw, 40px);
  border: 1px solid #33658a;
  box-shadow: 0 0 4px rgba(12, 32, 47, 0.2);
  text-align: center;
  font-weight: 600;
}
.btn--contact::before, .btn--application::before {
  position: absolute;
  left: clamp(14px, 1.25vw, 16px);
  top: 50%;
  transform: translateY(-50%);
  width: clamp(27px, 2.5vw, 32px);
  height: clamp(27px, 2.5vw, 32px);
  background-color: #ffffff;
}
.btn--contact {
  background-color: #ffffff;
  color: #33658a !important;
}
.btn--contact::before {
  background-color: #33658a;
}
.btn--application {
  background-color: #33658a;
  color: #ffffff !important;
}
.btn--application::before {
  background-color: #ffffff;
}

/*
/* = list
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.list--notes {
  font-size: 14px;
}
.list--notes li {
  text-indent: -1em;
  padding-left: 1em;
}

/*
/* = panel
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
/*
/* = Anime
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
/****************************************************************************************************************************/
/*
/*
/* = Layout Style
/*
/*
/****************************************************************************************************************************/
body {
  margin: 0;
  padding: 0;
  background-color: #f1fbfb;
  color: #0c202f;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: clamp(14px, 1.25vw, 16px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  font-display: swap;
}
@media screen and (max-width: 767px) {
  body {
    -webkit-text-size-adjust: 100%;
    font-size: 16px;
  }
}
@media screen and (max-width: 540px) {
  body {
    font-size: clamp(13px, 2.963vw, 16px);
  }
}
body.js--slidein {
  overflow: hidden;
}

.wrapper {
  padding-top: 140px;
}

/*
/*
/* = Header
/*
/*
/****************************************************************************************************************************/
.header {
  position: fixed;
  z-index: 4;
  top: 0;
  left: 0;
  width: 100%;
}
.header.js--fix {
  background-color: rgba(255, 255, 255, 0.8);
}
.header-inner {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  gap: 0 clamp(34px, 3.125vw, 40px);
  height: 76px;
  padding: 12px clamp(34px, 3.125vw, 40px);
}
@media print, screen and (max-width: 1080px) {
  .header-inner {
    padding-right: 80px;
  }
}
.header-sitename {
  width: clamp(128px, 11.797vw, 151px);
  aspect-ratio: 799/212;
}
.header-nav {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: clamp(34px, 3.125vw, 40px);
}
@media print, screen and (max-width: 1080px) {
  .header-nav {
    position: fixed;
    right: 0;
    top: 0;
    transform: translateX(100%);
    justify-content: flex-start;
    flex-direction: column;
    z-index: 9;
    width: 100%;
    max-width: 420px;
    height: 100%;
    padding: 100px 24px 24px 24px;
    background-color: #33658a;
    transition: all 0.3s;
  }
  .js--slidein .header-nav {
    transform: translateX(0);
  }
}
.header-nav--list {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0 clamp(20px, 1.875vw, 24px);
  font-weight: 600;
}
@media print, screen and (max-width: 1080px) {
  .header-nav--list {
    flex-direction: column;
    width: 100%;
    padding: 40px;
  }
  .header-nav--list li a {
    display: block;
    padding: 24px;
    text-align: right;
    color: #ffffff;
  }
}
.header-nav--btn {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0 clamp(7px, 0.625vw, 8px);
}
.header-nav--btn li a {
  height: clamp(47px, 4.375vw, 56px);
  line-height: clamp(47px, 4.375vw, 56px);
  border-radius: clamp(24px, 2.188vw, 28px);
}
@media print, screen and (max-width: 1080px) {
  .header-nav--btn {
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 40px;
    background-color: #ffffff;
  }
  .header-nav--btn li {
    width: 100%;
  }
  .header-nav--btn li + li {
    margin-top: 8px;
  }
  .header-nav--btn li a {
    width: 100%;
    height: 64px;
    line-height: 64px;
    border-radius: 32px;
  }
}
.header-btn {
  display: none;
}
@media print, screen and (max-width: 1080px) {
  .header-btn {
    position: fixed;
    right: 20px;
    top: 8px;
    z-index: 99;
    display: block;
    width: 40px;
    height: 60px;
  }
  .header-btn span,
  .header-btn span::before,
  .header-btn span::after {
    position: absolute;
    left: 0;
    display: block;
    content: "";
    width: 40px;
    height: 2px;
    background-color: #33658a;
    transition: 0.3s;
  }
  .header-btn span {
    top: 50%;
    transform: translateY(-50%);
  }
  .header-btn span::before {
    top: -10px;
  }
  .header-btn span::after {
    top: 10px;
  }
  .js--slidein .header-btn span {
    background-color: transparent;
  }
  .js--slidein .header-btn span::before {
    top: 50%;
    transform: rotate(45deg);
    background-color: #ffffff;
  }
  .js--slidein .header-btn span::after {
    top: 50%;
    transform: rotate(135deg);
    background-color: #ffffff;
  }
}

/*
/*
/* = Visual
/*
/*
/****************************************************************************************************************************/
.visual {
  position: relative;
  z-index: 3;
}
.visual-inner {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(34px, 3.125vw, 40px);
  padding-right: clamp(34px, 3.125vw, 40px);
}
@media screen and (max-width: 540px) {
  .visual-inner {
    padding-left: clamp(24px, 6.296vw, 34px);
    padding-right: clamp(24px, 6.296vw, 34px);
  }
}
@media print, screen and (max-width: 1080px) {
  .visual-inner {
    padding-bottom: 54px;
  }
}
.visual-col {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-start;
  gap: 0 clamp(54px, 5vw, 64px);
}
@media print, screen and (max-width: 1080px) {
  .visual-col {
    flex-direction: column;
    align-items: center;
  }
}
.visual-col--left {
  width: calc(100% - (clamp(405px, 37.5vw, 480px) + clamp(54px, 5vw, 64px)));
}
@media print, screen and (max-width: 1080px) {
  .visual-col--left {
    width: 100%;
    max-width: 553px;
  }
}
.visual-col--right {
  width: clamp(405px, 37.5vw, 480px);
}
@media print, screen and (max-width: 1080px) {
  .visual-col--right {
    width: 100%;
    max-width: 553px;
  }
}
.visual-catch {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: clamp(-74px, -6.875vw, -88px);
  gap: clamp(7px, 0.625vw, 8px) 0;
  font-size: clamp(27px, 2.5vw, 32px);
  line-height: 1.4;
  font-weight: 700;
  color: #ffffff;
  width: 100%;
  aspect-ratio: 1/0.77;
  background: 0 0/100% no-repeat url("images/visual-fig−3.png");
}
@media print, screen and (max-width: 1080px) {
  .visual-catch {
    margin-bottom: -14px;
  }
}
@media screen and (max-width: 540px) {
  .visual-catch {
    font-size: clamp(21.6px, 5vw, 27px);
  }
}
.visual-catch--item {
  padding: 0 clamp(7px, 0.625vw, 8px);
  background-color: #33658a;
  white-space: nowrap;
  display: none;
}
@media print, screen and (max-width: 1080px) {
  .visual-catch--item {
    /*display: contents;*/
    display: none;
  }
}
.visual-catch--item > span {
  display: contents;
}
@media print, screen and (max-width: 1080px) {
  .visual-catch--item > span {
    display: block;
    padding: 0 clamp(7px, 0.625vw, 8px);
    background-color: #33658a;
    white-space: nowrap;
  }
}
.visual-catch--item.fs {
  font-size: 20px;
}
.visual-lead {
  margin-bottom: clamp(20px, 1.875vw, 24px);
  font-size: clamp(20px, 1.875vw, 24px);
  line-height: 1.6;
  font-weight: 700;
  color: #33658a;
}
@media screen and (max-width: 540px) {
  .visual-lead {
    font-size: clamp(16px, 3.704vw, 20px);
  }
  .visual-lead br {
    display: none;
  }
}
.visual-ttl img {
  max-width: clamp(338px, 31.25vw, 400px);
}
@media screen and (max-width: 540px) {
  .visual-ttl img {
    max-width: clamp(235px, 62.593vw, 338px);
  }
}
.visual-fig {
  top: 70px;
  position: relative;
}
@media print, screen and (max-width: 1080px) {
  .visual-fig {
    top: 0px;
  }
}
.visual-form {
  background-color: #ffffff;
  border-radius: 16px;
  box-shadow: 0 0 4px rgba(12, 32, 47, 0.2);
}
.visual-form--ttl {
  margin-bottom: clamp(14px, 1.25vw, 16px);
  padding: clamp(20px, 1.875vw, 24px);
  background-color: #33658a;
  border-radius: 16px 16px 0 0;
  font-weight: 700;
  color: #ffffff;
}
.visual-form--cnt {
  padding: clamp(7px, 0.625vw, 8px) clamp(20px, 1.875vw, 24px) clamp(14px, 1.25vw, 16px) clamp(20px, 1.875vw, 24px);
}
.visual-form--cnt_tbl p {
  padding: clamp(7px, 0.625vw, 8px) 0;
}
.visual-form--cnt_tbl p label {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0 4px;
  margin-bottom: clamp(7px, 0.625vw, 8px);
  font-size: clamp(12px, 1.094vw, 14px);
}
.visual-form--cnt_tbl p label + br {
  display: none;
}
.visual-form--cnt_tbl p label::after {
  padding: 2px 4px;
  font-size: 10px;
  border-radius: 4px;
  color: #ffffff;
}
.visual-form--cnt_tbl p {
  /* 必須 */
}
.visual-form--cnt_tbl p:has(.wpcf7-validates-as-required) > label::after {
  content: "必須";
  background-color: #E5005A;
}
.visual-form--cnt_tbl p {
  /* 任意 */
}
.visual-form--cnt_tbl p:not(:has(.wpcf7-validates-as-required)) > label::after {
  content: "任意";
  background-color: #cccccc;
}
.visual-form--cnt_tbl p:last-of-type {
  margin-top: clamp(7px, 0.625vw, 8px);
  padding-top: clamp(14px, 1.25vw, 16px);
  padding-bottom: clamp(14px, 1.25vw, 16px);
  background-color: #f1fbfb;
  text-align: center;
  border-radius: 8px;
}
.visual-form--cnt_btn {
  margin-top: clamp(14px, 1.25vw, 16px);
  text-align: center;
}
.visual-form--cnt fieldset {
  margin: 0;
  padding: 0;
  border: none;
}
.visual-form--cnt input[type=text],
.visual-form--cnt input[type=services],
.visual-form--cnt input[type=tel],
.visual-form--cnt input[type=email],
.visual-form--cnt input[type=url],
.visual-form--cnt input[type=password],
.visual-form--cnt input[type=search],
.visual-form--cnt select,
.visual-form--cnt textarea {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  padding: 0.6em 0.8em;
  font-family: inherit;
  font-size: inherit;
  border: 1px solid #cccccc;
  border-radius: 8px;
}
.visual-form--cnt input[type=submit] {
  appearance: none;
  -webkit-appearance: none;
  width: clamp(203px, 18.75vw, 240px);
  height: clamp(47px, 4.375vw, 56px);
  background-color: #33658a;
  border: none;
  border-radius: clamp(24px, 2.188vw, 28px);
  box-shadow: 0 0 4px rgba(12, 32, 47, 0.4);
  color: #ffffff;
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
}
.visual-form--cnt .wpcf7-spinner {
  display: none !important;
}

/*
/* = main
/*
/****************************************************************************************************************************/
.main {
  position: relative;
  z-index: 2;
}
.main .section {
  padding-top: clamp(135px, 12.5vw, 160px);
  padding-bottom: clamp(135px, 12.5vw, 160px);
}
@media screen and (max-width: 540px) {
  .main .section {
    padding-top: clamp(94px, 25vw, 135px);
    padding-bottom: clamp(94px, 25vw, 135px);
  }
}
.main .section {
  padding-left: clamp(34px, 3.125vw, 40px);
  padding-right: clamp(34px, 3.125vw, 40px);
}
@media screen and (max-width: 540px) {
  .main .section {
    padding-left: clamp(24px, 6.296vw, 34px);
    padding-right: clamp(24px, 6.296vw, 34px);
  }
}
.main .section-inner {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.8;
}
.main .section-catch {
  margin-bottom: clamp(20px, 1.875vw, 24px);
  text-align: center;
  font-size: clamp(20px, 1.875vw, 24px);
}
.main .section-catch span {
  display: inline-block;
  padding-left: clamp(7px, 0.625vw, 8px);
  padding-right: clamp(7px, 0.625vw, 8px);
  background-color: #33658a;
  color: #ffffff;
  font-weight: 700;
}
.main .section-desc {
  margin-bottom: clamp(54px, 5vw, 64px);
}
.main .section-desc > p {
  font-size: clamp(15px, 1.406vw, 18px);
  line-height: clamp(30px, 2.813vw, 36px);
  text-align: center;
}
.main .about {
  position: relative;
}
.main .about::before {
  position: absolute;
  left: 50%;
  top: -1px;
  transform: translateX(-50%);
  display: block;
  content: "";
  width: 100%;
  height: clamp(68px, 6.25vw, 80px);
  background-color: #f1fbfb;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.main .about-cnt--point {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
  gap: clamp(34px, 3.125vw, 40px);
  counter-reset: about 0;
}
@media print, screen and (max-width: 1080px) {
  .main .about-cnt--point {
    flex-wrap: wrap;
    max-width: 664px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .main .about-cnt--point {
    flex-direction: column;
    align-items: center;
  }
}
.main .about-cnt--point_item {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  width: calc((100% - clamp(34px, 3.125vw, 40px) * 2) / 3);
  padding: clamp(105px, 9.688vw, 124px) clamp(34px, 3.125vw, 40px) clamp(34px, 3.125vw, 40px) clamp(34px, 3.125vw, 40px);
  background-color: #ffffff;
  border-radius: 16px;
  box-shadow: 0 0 4px rgba(12, 32, 47, 0.1);
}
@media print, screen and (max-width: 1080px) {
  .main .about-cnt--point_item {
    width: calc((100% - clamp(34px, 3.125vw, 40px) * 1) / 2);
  }
}
@media screen and (max-width: 767px) {
  .main .about-cnt--point_item {
    width: 100%;
    max-width: 315px;
  }
}
.main .about-cnt--point_item::before {
  position: absolute;
  left: 50%;
  top: clamp(20px, 1.875vw, 24px);
  transform: translateX(-50%);
  display: block;
  content: "Point";
  font-size: clamp(14px, 1.25vw, 16px);
  font-weight: 700;
  font-family: "Oswald", sans-serif;
  color: #E5005A;
}
.main .about-cnt--point_item::after {
  position: absolute;
  left: 50%;
  top: clamp(27px, 2.5vw, 32px);
  transform: translateX(-50%);
  display: block;
  counter-increment: about 1;
  content: counter(about, decimal-leading-zero) " ";
  font-size: clamp(34px, 3.125vw, 40px);
  font-weight: 700;
  font-family: "Oswald", sans-serif;
  color: #E5005A;
}
.main .about-cnt--point_item dt {
  flex: 1;
}
.main .recommend {
  position: relative;
  background-color: rgba(134, 187, 216, 0.2);
}
.main .recommend::before {
  position: absolute;
  left: 50%;
  top: -1px;
  transform: translateX(-50%);
  display: block;
  content: "";
  width: 100%;
  height: clamp(68px, 6.25vw, 80px);
  background-color: #f1fbfb;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.main .recommend-cnt--point {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
  gap: clamp(34px, 3.125vw, 40px);
  counter-reset: about 0;
}
@media print, screen and (max-width: 1080px) {
  .main .recommend-cnt--point {
    flex-wrap: wrap;
    max-width: 664px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .main .recommend-cnt--point {
    flex-direction: column;
    align-items: center;
  }
}
.main .recommend-cnt--point_icon {
  position: relative;
  width: 100%;
  height: 80px;
  font-size: 15px;
  padding: 50px 0 0 80px;
  background: url(images/man.png) 0/80px no-repeat;
  margin-bottom: 10px;
}
.main .recommend-cnt--point_icon span {
  color: rgb(249, 200, 30);
  font-size: 19px;
}
.main .recommend-cnt--point_item {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  width: calc((100% - clamp(34px, 3.125vw, 40px) * 2) / 3);
  padding: clamp(34px, 3.125vw, 40px) clamp(34px, 3.125vw, 40px) clamp(34px, 3.125vw, 40px) clamp(34px, 3.125vw, 40px);
  background-color: #ffffff;
  border-radius: 16px;
  box-shadow: 0 0 4px rgba(12, 32, 47, 0.1);
}
@media print, screen and (max-width: 1080px) {
  .main .recommend-cnt--point_item {
    width: calc((100% - clamp(34px, 3.125vw, 40px) * 1) / 2);
  }
}
@media screen and (max-width: 767px) {
  .main .recommend-cnt--point_item {
    width: 100%;
    max-width: 315px;
  }
}
.main .recommend-cnt--point_item {
  /*
  &::before{
  	position: absolute;
  	left: 50%;
  	top: m.auto_vw(24,pc);
  	transform: translateX(-50%);
  	display: block;
  	content: "Point"; 
  	font-size: m.auto_vw(16,pc);
  	font-weight: v.$font-weight--bold;
  	font-family: v.$font-family--num;
  	color: v.$subColor01;						
  }
  &::after{
  	position: absolute;
  	left: 50%;
  	top: m.auto_vw(32,pc);
  	transform: translateX(-50%);
  	display: block;
  	counter-increment: about 1;
  	content: counter(about,decimal-leading-zero) " "; 
  	font-size: m.auto_vw(40,pc);
  	font-weight: v.$font-weight--bold;
  	font-family: v.$font-family--num;
  	color: v.$subColor01;
  }
  */
}
.main .recommend-cnt--point_item dt {
  flex: 1;
}
.main .feedback {
  padding-bottom: 0;
  background-color: rgba(134, 187, 216, 0.2);
}
.main .feedback-cnt {
  position: relative;
}
.main .feedback-cnt--txt {
  max-width: clamp(541px, 50vw, 640px);
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (max-width: 1080px) {
  .main .feedback-cnt--txt {
    max-width: clamp(385px, 50.093vw, 541px);
  }
}
.main .feedback-cnt--txt_item {
  position: relative;
  padding: clamp(20px, 1.875vw, 24px) clamp(34px, 3.125vw, 40px);
  background-color: #ffffff;
  border-radius: 16px;
  filter: drop-shadow(0 0 4px rgba(12, 32, 47, 0.1));
  text-align: center;
  font-size: clamp(20px, 1.875vw, 24px);
  font-weight: 700;
}
@media screen and (max-width: 540px) {
  .main .feedback-cnt--txt_item {
    font-size: clamp(16px, 3.704vw, 20px);
    text-align: left;
  }
}
.main .feedback-cnt--txt_item + .feedback-cnt--txt_item {
  margin-top: clamp(14px, 1.25vw, 16px);
}
@media screen and (max-width: 540px) {
  .main .feedback-cnt--txt_item:nth-of-type(1) {
    margin-left: 110px;
  }
}
@media screen and (max-width: 540px) {
  .main .feedback-cnt--txt_item:nth-of-type(2) {
    margin-right: 110px;
  }
}
@media screen and (max-width: 540px) {
  .main .feedback-cnt--txt_item:nth-of-type(3) {
    margin-left: 110px;
  }
}
.main .feedback-cnt--txt_item::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: clamp(14px, 1.25vw, 16px);
  aspect-ratio: 16/24;
  background-color: #ffffff;
}
.main .feedback-cnt--txt_item:nth-of-type(1)::after {
  right: calc(100% - 1px);
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
.main .feedback-cnt--txt_item:nth-of-type(2)::after {
  left: calc(100% - 1px);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.main .feedback-cnt--txt_item:nth-of-type(3)::after {
  right: calc(100% - 1px);
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
@media screen and (max-width: 540px) {
  .main .feedback-cnt--txt_item p br {
    display: none;
  }
}
.main .feedback-cnt--txt_item p::before, .main .feedback-cnt--txt_item p::after {
  position: absolute;
  display: block;
  font-family: "Oswald", sans-serif;
  font-size: clamp(68px, 6.25vw, 80px);
  line-height: 1;
  color: #ffbd29;
}
.main .feedback-cnt--txt_item p::before {
  left: clamp(14px, 1.25vw, 16px);
  top: calc(clamp(14px, 1.25vw, 16px) * -1);
  content: "“";
}
.main .feedback-cnt--txt_item p::after {
  right: clamp(14px, 1.25vw, 16px);
  bottom: calc(clamp(47px, 4.375vw, 56px) * -1);
  content: "”";
}
.main .feedback-cnt--fig_item {
  position: absolute;
  width: clamp(236px, 21.875vw, 280px);
}
@media screen and (max-width: 767px) {
  .main .feedback-cnt--fig_item {
    width: 140px;
  }
}
@media screen and (max-width: 540px) {
  .main .feedback-cnt--fig_item {
    width: clamp(97px, 25.926vw, 140px);
  }
}
.main .feedback-cnt--fig_item:nth-of-type(1) {
  top: 0;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .main .feedback-cnt--fig_item:nth-of-type(1) {
    transform: translateY(0);
  }
}
.main .feedback-cnt--fig_item:nth-of-type(2) {
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.main .feedback-cnt--fig_item:nth-of-type(3) {
  bottom: 0;
  left: 0;
  transform: translateY(50%);
}
@media screen and (max-width: 767px) {
  .main .feedback-cnt--fig_item:nth-of-type(3) {
    transform: translateY(0);
  }
}
.main .feedback-last {
  position: relative;
  padding-top: clamp(155px, 14.375vw, 184px);
}
.main .feedback-last::before {
  position: absolute;
  top: clamp(68px, 6.25vw, 80px);
  left: 50%;
  transform: translateX(-50%);
  display: block;
  content: "";
  width: clamp(270px, 25vw, 320px);
  aspect-ratio: 320/80;
  background-color: #86bbd8;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
@media screen and (max-width: 540px) {
  .main .feedback-last::before {
    width: clamp(188px, 50vw, 270px);
  }
}
.main .feedback-last--txt {
  text-align: center;
  font-size: clamp(20px, 1.875vw, 24px);
  font-weight: 700;
}
@media screen and (max-width: 540px) {
  .main .feedback-last--txt {
    font-size: clamp(16px, 3.704vw, 20px);
  }
}
.main .feedback-last--txt img {
  display: inline-block;
  margin-top: clamp(14px, 1.25vw, 16px);
  margin-bottom: clamp(14px, 1.25vw, 16px);
  max-width: clamp(338px, 31.25vw, 400px);
}
@media screen and (max-width: 540px) {
  .main .feedback-last--txt img {
    max-width: clamp(235px, 62.593vw, 338px);
  }
}
.main .troubles {
  padding-bottom: 0;
  background-color: rgba(134, 187, 216, 0.2);
}
.main .troubles-cnt {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
  gap: clamp(34px, 3.125vw, 40px);
}
@media print, screen and (max-width: 1080px) {
  .main .troubles-cnt {
    flex-wrap: wrap;
    max-width: 664px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .main .troubles-cnt {
    flex-direction: column;
    align-items: center;
  }
}
.main .troubles-cnt--item {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  width: calc((100% - clamp(34px, 3.125vw, 40px) * 2) / 3);
}
@media print, screen and (max-width: 1080px) {
  .main .troubles-cnt--item {
    width: calc((100% - clamp(34px, 3.125vw, 40px) * 1) / 2);
  }
}
@media screen and (max-width: 767px) {
  .main .troubles-cnt--item {
    width: 100%;
    max-width: 315px;
  }
}
.main .troubles-cnt--item_txt {
  position: relative;
  padding: clamp(34px, 3.125vw, 40px);
  background-color: #ffffff;
  border-radius: 16px;
  filter: drop-shadow(0 0 4px rgba(12, 32, 47, 0.1));
  text-align: center;
  font-size: clamp(20px, 1.875vw, 24px);
  font-weight: 700;
}
@media screen and (max-width: 540px) {
  .main .troubles-cnt--item_txt {
    font-size: clamp(16px, 3.704vw, 20px);
  }
}
.main .troubles-cnt--item_txt::after {
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  display: block;
  content: "";
  width: clamp(20px, 1.875vw, 24px);
  aspect-ratio: 24/16;
  background-color: #ffffff;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.main .troubles-cnt--item_txt p::before, .main .troubles-cnt--item_txt p::after {
  position: absolute;
  display: block;
  font-family: "Oswald", sans-serif;
  font-size: clamp(68px, 6.25vw, 80px);
  line-height: 1;
  color: #ffbd29;
}
.main .troubles-cnt--item_txt p::before {
  left: clamp(14px, 1.25vw, 16px);
  top: calc(clamp(14px, 1.25vw, 16px) * -1);
  content: "“";
}
.main .troubles-cnt--item_txt p::after {
  right: clamp(14px, 1.25vw, 16px);
  bottom: calc(clamp(47px, 4.375vw, 56px) * -1);
  content: "”";
}
.main .troubles-cnt--item_fig {
  width: calc(100% - clamp(81px, 7.5vw, 96px));
  margin-top: clamp(41px, 3.75vw, 48px);
  margin-left: auto;
  margin-right: auto;
}
.main .troubles-last {
  position: relative;
  padding-top: clamp(78px, 7.187vw, 92px);
  padding-bottom: clamp(78px, 7.187vw, 92px);
}
.main .troubles-last--txt {
  text-align: center;
  font-size: clamp(20px, 1.875vw, 24px);
  font-weight: 700;
}
@media screen and (max-width: 540px) {
  .main .troubles-last--txt {
    font-size: clamp(16px, 3.704vw, 20px);
  }
}
.main .troubles-last--txt img {
  display: inline-block;
  margin-top: clamp(14px, 1.25vw, 16px);
  margin-bottom: clamp(14px, 1.25vw, 16px);
  max-width: clamp(338px, 31.25vw, 400px);
}
@media screen and (max-width: 540px) {
  .main .troubles-last--txt img {
    max-width: clamp(235px, 62.593vw, 338px);
  }
}
.main .services {
  position: relative;
  padding-bottom: clamp(68px, 6.25vw, 80px);
  background-color: rgba(134, 187, 216, 0.2);
}
.main .services::before {
  position: absolute;
  left: 50%;
  top: -1px;
  transform: translateX(-50%);
  display: block;
  content: "";
  width: 100%;
  height: clamp(68px, 6.25vw, 80px);
  background-color: #f1fbfb;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.main .services-desc {
  margin-bottom: clamp(68px, 6.25vw, 80px);
  text-align: center;
}
.main .services-cnt {
  max-width: clamp(845px, 78.125vw, 1000px);
  margin-left: auto;
  margin-right: auto;
  counter-reset: services 0;
}
.main .services-cnt--item {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
  gap: 0 clamp(34px, 3.125vw, 40px);
}
.main .services-cnt--item:nth-of-type(2n) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .main .services-cnt--item {
    flex-direction: column !important;
    width: 100%;
    max-width: 315px;
    margin-left: auto;
    margin-right: auto;
  }
}
.main .services-cnt--item + .services-cnt--item {
  margin-top: clamp(68px, 6.25vw, 80px);
}
.main .services-cnt--item_txt {
  position: relative;
  width: calc(100% - (clamp(392px, 36.25vw, 464px) - clamp(34px, 3.125vw, 40px)));
  padding-top: 104px;
}
@media screen and (max-width: 767px) {
  .main .services-cnt--item_txt {
    width: 100%;
    padding-top: 74px;
  }
}
.main .services-cnt--item_txt::before {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  counter-increment: services 1;
  content: counter(services, decimal-leading-zero) " ";
  font-size: clamp(54px, 5vw, 64px);
  font-weight: 700;
  font-family: "Oswald", sans-serif;
  color: #E5005A;
}
@media screen and (max-width: 540px) {
  .main .services-cnt--item_txt::before {
    font-size: clamp(43.2px, 10vw, 54px);
  }
}
.main .services-cnt--item_fig {
  width: clamp(392px, 36.25vw, 464px);
}
@media screen and (max-width: 767px) {
  .main .services-cnt--item_fig {
    width: 100%;
  }
}
.main .message {
  position: relative;
  padding-bottom: clamp(68px, 6.25vw, 80px);
}
.main .message-desc {
  margin-bottom: clamp(68px, 6.25vw, 80px);
  text-align: center;
}
.main .message-cnt {
  max-width: clamp(845px, 78.125vw, 1000px);
  margin-left: auto;
  margin-right: auto;
  counter-reset: services 0;
}
.main .message-cnt--item {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
  gap: 0 clamp(34px, 3.125vw, 40px);
}
.main .message-cnt--item:nth-of-type(2n) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .main .message-cnt--item {
    flex-direction: column !important;
    width: 100%;
    max-width: 315px;
    margin-left: auto;
    margin-right: auto;
  }
}
.main .message-cnt--item + .message-cnt--item {
  margin-top: clamp(68px, 6.25vw, 80px);
}
.main .message-cnt--item_txt {
  position: relative;
  width: calc(100% - (clamp(392px, 36.25vw, 464px) - clamp(34px, 3.125vw, 40px)));
  padding-top: 104px;
}
@media screen and (max-width: 767px) {
  .main .message-cnt--item_txt {
    width: 100%;
    padding-top: 74px;
  }
}
.main .message-cnt--item_txt::before {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  counter-increment: services 1;
  content: "▼ ▼";
  font-size: clamp(54px, 5vw, 64px);
  font-weight: 700;
  font-family: "Oswald", sans-serif;
  color: #E5005A;
}
@media screen and (max-width: 540px) {
  .main .message-cnt--item_txt::before {
    font-size: clamp(43.2px, 10vw, 54px);
  }
}
.main .message-cnt--item_txt.sub {
  padding-top: 0px;
}
.main .message-cnt--item_txt.sub::before {
  content: "";
}
.main .message-cnt--item_txt.sub.info {
  background-color: white;
  padding: 40px;
  border-radius: 20px;
}
.main .message-cnt--item_txt.sub .ttl--h3_jp {
  font-size: 20px;
}
.main .message-cnt--item_fig {
  width: clamp(392px, 36.25vw, 464px);
}
@media screen and (max-width: 767px) {
  .main .message-cnt--item_fig {
    width: 100%;
  }
}
.main .risks {
  padding-bottom: 0;
}
.main .risks-cnt {
  position: relative;
}
.main .risks-cnt--txt {
  position: relative;
  height: clamp(270px, 25vw, 320px);
}
@media print, screen and (max-width: 1080px) {
  .main .risks-cnt--txt {
    height: 400px;
  }
}
@media screen and (max-width: 540px) {
  .main .risks-cnt--txt {
    height: 360px;
  }
}
.main .risks-cnt--txt_item {
  position: absolute;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: clamp(236px, 21.875vw, 280px);
  aspect-ratio: 800/630;
  padding: clamp(20px, 1.875vw, 24px) clamp(34px, 3.125vw, 40px);
  filter: drop-shadow(0 0 4px rgba(12, 32, 47, 0.1));
  text-align: center;
  font-size: clamp(19px, 1.719vw, 22px);
  line-height: 1.6;
  font-weight: 700;
  mask-image: url(images/risks-cnt--txt_item.svg);
  mask-repeat: no-repeat;
  mask-size: 100% auto;
  mask-position: center center;
}
@media screen and (max-width: 767px) {
  .main .risks-cnt--txt_item {
    width: clamp(166px, 30.769vw, 236px);
    padding: clamp(14px, 2.608vw, 20px) clamp(24px, 4.433vw, 34px);
    font-size: clamp(15.2px, 2.477vw, 19px);
  }
}
.main .risks-cnt--txt_item:nth-of-type(1) {
  left: 0;
  top: clamp(68px, 6.25vw, 80px);
  background-color: #ffbd29;
  z-index: 1;
}
@media print, screen and (max-width: 810px) {
  .main .risks-cnt--txt_item:nth-of-type(1) {
    background-color: #fce3a4;
  }
}
@media screen and (max-width: 540px) {
  .main .risks-cnt--txt_item:nth-of-type(1) {
    top: 78px;
  }
}
.main .risks-cnt--txt_item:nth-of-type(2) {
  left: clamp(186px, 17.188vw, 220px);
  top: 0;
  background-color: #fce3a4;
  z-index: 3;
}
@media print, screen and (max-width: 1080px) {
  .main .risks-cnt--txt_item:nth-of-type(2) {
    left: clamp(132px, 17.222vw, 186px);
    top: 200px;
  }
}
@media print, screen and (max-width: 810px) {
  .main .risks-cnt--txt_item:nth-of-type(2) {
    background-color: #ffbd29;
  }
}
@media screen and (max-width: 767px) {
  .main .risks-cnt--txt_item:nth-of-type(2) {
    left: 50%;
  }
}
.main .risks-cnt--txt_item:nth-of-type(3) {
  left: 50%;
  top: clamp(17px, 1.563vw, 20px);
  transform: translateX(-50%);
  background-color: #ffbd29;
  z-index: 4;
}
@media screen and (max-width: 767px) {
  .main .risks-cnt--txt_item:nth-of-type(3) {
    top: clamp(12px, 2.216vw, 17px);
  }
}
@media screen and (max-width: 540px) {
  .main .risks-cnt--txt_item:nth-of-type(3) {
    top: -20px;
  }
}
.main .risks-cnt--txt_item:nth-of-type(4) {
  right: clamp(186px, 17.188vw, 220px);
  top: 0;
  background-color: #fce3a4;
  z-index: 5;
}
@media print, screen and (max-width: 1080px) {
  .main .risks-cnt--txt_item:nth-of-type(4) {
    right: clamp(132px, 17.222vw, 186px);
    top: 200px;
  }
}
@media print, screen and (max-width: 810px) {
  .main .risks-cnt--txt_item:nth-of-type(4) {
    background-color: #ffbd29;
  }
}
@media screen and (max-width: 767px) {
  .main .risks-cnt--txt_item:nth-of-type(4) {
    right: 50%;
  }
}
.main .risks-cnt--txt_item:nth-of-type(5) {
  right: 0;
  top: clamp(68px, 6.25vw, 80px);
  background-color: #ffbd29;
  z-index: 2;
}
@media print, screen and (max-width: 810px) {
  .main .risks-cnt--txt_item:nth-of-type(5) {
    background-color: #fce3a4;
  }
}
@media screen and (max-width: 540px) {
  .main .risks-cnt--txt_item:nth-of-type(5) {
    top: 78px;
  }
}
.main .risks-cnt--fig {
  max-width: clamp(676px, 62.5vw, 800px);
  margin-left: auto;
  margin-right: auto;
}
.main .risks-last {
  position: relative;
  padding-top: clamp(135px, 12.5vw, 160px);
}
.main .risks-last::before {
  position: absolute;
  top: clamp(68px, 6.25vw, 80px);
  left: 50%;
  transform: translateX(-50%);
  display: block;
  content: "";
  width: clamp(270px, 25vw, 320px);
  height: clamp(68px, 6.25vw, 80px);
  background-color: #86bbd8;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.main .risks-last--txt {
  text-align: center;
  font-size: clamp(34px, 3.125vw, 40px);
  font-weight: 900;
}
.main .plan {
  position: relative;
  padding-bottom: clamp(68px, 6.25vw, 80px);
  background-color: rgba(134, 187, 216, 0.2);
}
.main .plan::before {
  position: absolute;
  left: 50%;
  top: -1px;
  transform: translateX(-50%);
  display: block;
  content: "";
  width: 100%;
  height: clamp(68px, 6.25vw, 80px);
  background-color: #f1fbfb;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.main .plan-cnt {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: clamp(20px, 1.875vw, 24px);
}
@media print, screen and (max-width: 1080px) {
  .main .plan-cnt {
    flex-wrap: wrap;
    max-width: 664px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .main .plan-cnt {
    flex-direction: column;
    align-items: center;
  }
}
.main .plan-cnt--item {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  width: calc((100% - clamp(20px, 1.875vw, 24px) * 2) / 3);
  padding: clamp(34px, 3.125vw, 40px) clamp(27px, 2.5vw, 32px) clamp(20px, 1.875vw, 24px) clamp(27px, 2.5vw, 32px);
  background-color: #ffffff;
  border-radius: 16px;
  box-shadow: 0 0 4px rgba(12, 32, 47, 0.1);
  position: relative;
}
@media print, screen and (max-width: 1080px) {
  .main .plan-cnt--item {
    width: calc((100% - clamp(20px, 1.875vw, 24px) * 1) / 2);
  }
}
@media screen and (max-width: 767px) {
  .main .plan-cnt--item {
    width: 100%;
    max-width: 315px;
  }
}
.main .plan-cnt--item_ttl {
  text-align: center;
}
.main .plan-cnt--item_desc {
  margin-bottom: clamp(20px, 1.875vw, 24px);
  text-align: center;
  font-size: clamp(12px, 1.094vw, 14px);
}
.main .plan-cnt--item_desc span {
  display: block;
  font-size: clamp(15px, 1.406vw, 18px);
  font-weight: 700;
  white-space: nowrap;
}
.main .plan-cnt--item_price {
  margin-bottom: clamp(20px, 1.875vw, 24px);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  gap: clamp(3px, 0.313vw, 4px);
  font-weight: 700;
}
.main .plan-cnt--item_price.plan-cnt--item_monthly .price-label {
  padding: clamp(7px, 0.625vw, 8px);
  background-color: #33658a;
  border-radius: 4px;
  font-size: clamp(10px, 0.938vw, 12px);
  line-height: 1.2;
  color: #ffffff;
  font-weight: 500;
}
.main .plan-cnt--item_price.plan-cnt--item_monthly .price-unit {
  font-size: clamp(20px, 1.875vw, 24px);
  line-height: 1;
}
.main .plan-cnt--item_price.plan-cnt--item_monthly .price-value {
  font-size: clamp(41px, 3.75vw, 48px);
  font-family: "Oswald", sans-serif;
  line-height: 1;
}
.main .plan-cnt--item_price.plan-cnt--item_first .price-label {
  font-size: clamp(10px, 0.938vw, 12px);
  line-height: 1;
}
.main .plan-cnt--item_price.plan-cnt--item_first .price-unit {
  font-size: clamp(14px, 1.25vw, 16px);
  line-height: 1;
}
.main .plan-cnt--item_price.plan-cnt--item_first .price-value {
  font-size: clamp(17px, 1.563vw, 20px);
  font-family: "Oswald", sans-serif;
  line-height: 1;
}
.main .plan-cnt--item_dtl {
  flex: 1;
}
.main .plan-cnt--item_dtl:first-of-type {
  margin-top: clamp(20px, 1.875vw, 24px);
}
.main .plan-cnt--item_dtl + .plan-cnt--item_dtl {
  margin-top: clamp(10px, 0.938vw, 12px);
}
.main .plan-cnt--item_dtl .dtl-ttl {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0 clamp(3px, 0.313vw, 4px);
  margin-bottom: clamp(7px, 0.625vw, 8px);
  color: #33658a;
  font-weight: 700;
}
.main .plan-cnt--item_dtl .dtl-ttl::before {
  content: "";
  width: clamp(14px, 1.25vw, 16px);
  aspect-ratio: 1/1;
  background-color: #33658a;
  mask-image: url(images/ico--check.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 100% auto;
}
.main .plan-cnt--item_dtl .dtl-tbl {
  font-size: clamp(12px, 1.094vw, 14px);
}
.main .plan-cnt--item_dtl .dtl-tbl--row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  border-bottom: 1px solid #cccccc;
}
.main .plan-cnt--item_dtl .dtl-tbl--row_th {
  width: calc(100% - 9em);
  padding: 4px 0;
}
.main .plan-cnt--item_dtl .dtl-tbl--row_td {
  width: 9em;
  padding: 4px 0;
}
.main .plan-cnt--item_dtl .dtl-time {
  text-align: center;
  font-weight: 700;
}
.main .plan-cnt--item .full {
  width: 100%;
  height: 100%;
  background-color: rgb(55, 112, 158);
  margin: -38px -30px;
  position: absolute;
  border-radius: 16px;
  z-index: 1;
  color: white;
  text-align: center;
  padding-top: 451px;
  font-size: 30px;
  opacity: 75%;
}
.main .plan-cnt--option {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  width: calc((100% - clamp(34px, 3.125vw, 40px) * 1) / 2);
  padding: clamp(34px, 3.125vw, 40px);
  background-color: #f1fbfb;
  border-radius: 16px;
  box-shadow: 0 0 4px rgba(12, 32, 47, 0.1);
}
.main .plan-cnt--option_ttl {
  margin-bottom: clamp(10px, 0.938vw, 12px);
}
.main .plan-cnt--option_ttl .ttl--h3_en {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0 clamp(3px, 0.313vw, 4px);
}
.main .plan-cnt--option_ttl .ttl--h3_en::before {
  content: "";
  width: clamp(14px, 1.25vw, 16px);
  aspect-ratio: 1/1;
  background-color: #E5005A;
  mask-image: url(images/ico--plus.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 100% auto;
}
.main .plan-cnt--option_desc {
  margin-bottom: clamp(20px, 1.875vw, 24px);
  text-align: left !important;
}
.main .plan-cnt--option_price {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: flex-end;
  gap: clamp(3px, 0.313vw, 4px);
  font-weight: 700;
}
.main .plan-cnt--option_price .price-unit {
  font-size: clamp(20px, 1.875vw, 24px);
  line-height: 1;
}
.main .plan-cnt--option_price .price-value {
  font-size: clamp(27px, 2.5vw, 32px);
  font-family: "Oswald", sans-serif;
  line-height: 1;
}
.main .plan-cnt--wrap {
  display: contents;
}
@media print, screen and (max-width: 1080px) {
  .main .plan-cnt--wrap {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: clamp(20px, 1.875vw, 24px);
    width: calc((100% - clamp(20px, 1.875vw, 24px) * 1) / 2);
  }
}
@media screen and (max-width: 1080px) and (max-width: 767px) {
  .main .plan-cnt--wrap {
    width: 100%;
    max-width: 315px;
  }
}
@media print, screen and (max-width: 1080px) {
  .main .plan-cnt--wrap .plan-cnt--option {
    width: 100%;
  }
}
.main .plan-notes {
  margin-top: clamp(54px, 5vw, 64px);
}
.main .plan-btn {
  margin-top: clamp(54px, 5vw, 64px);
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  gap: 8px clamp(27px, 2.5vw, 32px);
}
@media screen and (max-width: 540px) {
  .main .plan-btn {
    flex-direction: column;
    align-items: center;
  }
}
.main .plan-btn--item {
  width: calc((100% - clamp(27px, 2.5vw, 32px)) / 2);
  max-width: clamp(270px, 25vw, 320px);
}
@media screen and (max-width: 540px) {
  .main .plan-btn--item {
    width: 100%;
  }
}
.main .plan-btn--item a {
  width: 100%;
}
.main .flow-cnt {
  counter-reset: flow 0;
}
.main .flow-cnt--step {
  position: relative;
  padding-left: clamp(95px, 8.75vw, 112px);
}
@media screen and (max-width: 540px) {
  .main .flow-cnt--step {
    padding-left: clamp(66px, 17.593vw, 95px);
  }
}
.main .flow-cnt--step + .flow-cnt--step {
  margin-top: clamp(14px, 1.25vw, 16px);
}
.main .flow-cnt--step::before {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  content: "1カ月間";
  width: clamp(68px, 6.25vw, 80px);
  height: calc(100% - clamp(34px, 3.125vw, 40px));
  background-color: rgba(134, 187, 216, 0.2);
  writing-mode: vertical-rl;
  text-orientation: upright;
  color: #33658a;
  font-weight: 700;
}
@media screen and (max-width: 540px) {
  .main .flow-cnt--step::before {
    width: clamp(47px, 12.593vw, 68px);
    height: calc(100% - clamp(24px, 6.296vw, 34px));
  }
}
.main .flow-cnt--step.m5::before {
  content: "5カ月間";
}
.main .flow-cnt--step::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: clamp(68px, 6.25vw, 80px);
  aspect-ratio: 80/40;
  background-color: rgba(134, 187, 216, 0.2);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
@media screen and (max-width: 540px) {
  .main .flow-cnt--step::after {
    width: clamp(47px, 12.593vw, 68px);
  }
}
.main .flow-cnt--step_item {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  padding: clamp(20px, 1.875vw, 24px) clamp(20px, 1.875vw, 24px) clamp(20px, 1.875vw, 24px) clamp(84px, 7.813vw, 100px);
  background-color: #ffffff;
  border-radius: 16px;
  box-shadow: 0 0 4px rgba(12, 32, 47, 0.1);
}
.main .flow-cnt--step_item + .flow-cnt--step_item {
  margin-top: clamp(14px, 1.25vw, 16px);
}
@media screen and (max-width: 540px) {
  .main .flow-cnt--step_item {
    padding: clamp(84px, 7.813vw, 100px) clamp(20px, 1.875vw, 24px) clamp(20px, 1.875vw, 24px) clamp(20px, 1.875vw, 24px);
  }
}
.main .flow-cnt--step_item::before {
  position: absolute;
  left: clamp(24px, 2.188vw, 28px);
  top: clamp(20px, 1.875vw, 24px);
  display: block;
  content: "科目";
  font-size: clamp(14px, 1.25vw, 16px);
  font-weight: 700;
  font-family: "Oswald", sans-serif;
  color: #E5005A;
}
.main .flow-cnt--step_item::after {
  position: absolute;
  left: clamp(20px, 1.875vw, 24px);
  top: clamp(27px, 2.5vw, 32px);
  display: block;
  counter-increment: flow 1;
  content: counter(flow, decimal-leading-zero) "";
  font-size: clamp(34px, 3.125vw, 40px);
  font-weight: 700;
  font-family: "Oswald", sans-serif;
  color: #E5005A;
}
.main .flow-cnt--step_item .item-ttl {
  margin-bottom: clamp(10px, 0.938vw, 12px);
}
.main .flow-cnt--step_no_item {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  padding: clamp(20px, 1.875vw, 24px) clamp(20px, 1.875vw, 24px) clamp(20px, 1.875vw, 24px) clamp(84px, 7.813vw, 100px);
  background-color: #ffffff;
  border-radius: 16px;
  box-shadow: 0 0 4px rgba(12, 32, 47, 0.1);
  margin-bottom: 15px;
}
.main .flow-cnt--step_no_item + .flow-cnt--step_item {
  margin-top: clamp(14px, 1.25vw, 16px);
}
@media screen and (max-width: 540px) {
  .main .flow-cnt--step_no_item {
    padding: clamp(84px, 7.813vw, 100px) clamp(20px, 1.875vw, 24px) clamp(20px, 1.875vw, 24px) clamp(20px, 1.875vw, 24px);
  }
}
.main .flow-cnt--step_no_item .item-ttl {
  margin-bottom: clamp(10px, 0.938vw, 12px);
}
.main .flow-notes {
  margin-top: clamp(68px, 6.25vw, 80px);
}
.main .faq {
  position: relative;
  padding-bottom: clamp(68px, 6.25vw, 80px);
}
.main .faq-cnt {
  max-width: clamp(845px, 78.125vw, 1000px);
  margin-left: auto;
  margin-right: auto;
}
.main .faq-cnt--item + .faq-cnt--item {
  margin-top: clamp(20px, 1.875vw, 24px);
}
.main .faq-cnt--item {
  background-color: #ffffff;
  border-radius: 16px;
  box-shadow: 0 0 4px rgba(12, 32, 47, 0.1);
}
.main .faq-cnt--item_q {
  position: relative;
  padding: clamp(34px, 3.125vw, 40px) clamp(68px, 6.25vw, 80px) clamp(34px, 3.125vw, 40px) clamp(68px, 6.25vw, 80px);
  cursor: pointer;
  font-size: clamp(15px, 1.406vw, 18px);
  font-weight: 700;
}
.main .faq-cnt--item_q span {
  position: absolute;
  left: clamp(14px, 1.25vw, 16px);
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: clamp(41px, 3.75vw, 48px);
  height: clamp(41px, 3.75vw, 48px);
  border-radius: 24px;
  background-color: #E5005A;
  color: #ffffff;
}
.main .faq-cnt--item_q::after {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  display: block;
  content: "";
  width: clamp(27px, 2.5vw, 32px);
  height: clamp(27px, 2.5vw, 32px);
  background-color: #33658a;
  mask-image: url(images/ico--close.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 100% auto;
  transition: transform 0.3s;
}
.main .faq-cnt--item.js--open .faq-cnt--item_q::after {
  transform: translateY(-50%) rotate(0);
}

.main .faq-cnt--item_a {
  height: 0;
  padding: 0 clamp(41px, 3.75vw, 48px);
  border-top: 1px dotted transparent;
  transition: all 0.3s;
  overflow: hidden;
}
.main .faq-cnt--item.js--open .faq-cnt--item_a {
  height: auto;
  padding: clamp(20px, 1.875vw, 24px) clamp(41px, 3.75vw, 48px);
  border-top: 1px dotted #cccccc;
}

.main .contact {
  background-color: #86bbd8;
}
.main .contact-col {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-end;
  gap: 0 clamp(34px, 3.125vw, 40px);
}
@media print, screen and (max-width: 1080px) {
  .main .contact-col {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }
}
.main .contact-col--left {
  width: calc(100% - (clamp(270px, 25vw, 320px) + clamp(34px, 3.125vw, 40px)));
}
@media print, screen and (max-width: 1080px) {
  .main .contact-col--left {
    display: contents;
  }
}
.main .contact-col--right {
  width: clamp(270px, 25vw, 320px);
}
@media print, screen and (max-width: 1080px) {
  .main .contact-col--right {
    display: contents;
  }
}
.main .contact-inner {
  max-width: clamp(845px, 78.125vw, 1000px);
  margin-left: auto;
  margin-right: auto;
  padding: clamp(54px, 5vw, 64px) clamp(34px, 3.125vw, 40px);
  background-color: #ffffff;
  border-radius: 16px;
  box-shadow: 0 0 4px rgba(12, 32, 47, 0.1);
}
.main .contact-ttl {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: clamp(3px, 0.313vw, 4px) 0;
}
@media print, screen and (max-width: 1080px) {
  .main .contact-ttl {
    order: 1;
  }
}
.main .contact-ttl span {
  padding: clamp(3px, 0.313vw, 4px) clamp(7px, 0.625vw, 8px);
  background-color: rgba(134, 187, 216, 0.2);
  color: #33658a;
  font-weight: 700;
}
.main .contact-btn {
  margin-top: clamp(54px, 5vw, 64px);
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  gap: 8px clamp(14px, 1.25vw, 16px);
}
@media print, screen and (max-width: 1080px) {
  .main .contact-btn {
    order: 3;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .main .contact-btn {
    flex-direction: column;
    align-items: center;
  }
}
.main .contact-btn--item {
  width: calc((100% - clamp(14px, 1.25vw, 16px)) / 2);
  min-width: 240px;
  max-width: 320px;
}
@media screen and (max-width: 767px) {
  .main .contact-btn--item {
    width: 100%;
  }
}
.main .contact-btn--item a {
  width: 100%;
}
@media print, screen and (max-width: 1080px) {
  .main .contact-fig {
    order: 2;
    max-width: 320px;
  }
}

/*
/*
/* = Footer
/*
/*	
/****************************************************************************************************************************/
.footer {
  background-color: #33658a;
  padding-top: clamp(68px, 6.25vw, 80px);
  padding-bottom: clamp(68px, 6.25vw, 80px);
  padding-left: clamp(34px, 3.125vw, 40px);
  padding-right: clamp(34px, 3.125vw, 40px);
}
@media screen and (max-width: 540px) {
  .footer {
    padding-left: clamp(24px, 6.296vw, 34px);
    padding-right: clamp(24px, 6.296vw, 34px);
  }
}
.footer {
  color: #ffffff;
}
.footer-col {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: clamp(54px, 5vw, 64px) clamp(54px, 5vw, 64px);
}
@media screen and (max-width: 767px) {
  .footer-col {
    flex-direction: column;
  }
}
.footer-col--left {
  width: calc((100% - clamp(54px, 5vw, 64px)) / 2);
}
@media screen and (max-width: 767px) {
  .footer-col--left {
    width: 100%;
  }
}
.footer-col--right {
  width: calc((100% - clamp(54px, 5vw, 64px)) / 2);
}
@media screen and (max-width: 767px) {
  .footer-col--right {
    width: 100%;
  }
}
.footer-col--bottom {
  width: 100%;
}
.footer-inner {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.8;
}
.footer-sitename {
  margin-bottom: clamp(20px, 1.875vw, 24px);
  font-size: clamp(20px, 1.875vw, 24px);
}
.footer-info--address {
  margin-bottom: clamp(20px, 1.875vw, 24px);
}
.footer-info--sns {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0 clamp(14px, 1.25vw, 16px);
}
.footer-info--sns li {
  width: clamp(34px, 3.125vw, 40px);
}
.footer-nav--list {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0 clamp(20px, 1.875vw, 24px);
  font-weight: 600;
}
.footer-nav--list a {
  color: #ffffff !important;
}
.footer-copy {
  text-align: right;
  font-size: clamp(12px, 1.094vw, 14px);
}

/*# sourceMappingURL=service.css.map */
