@charset "UTF-8";
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@4.0.1/dist/css/yakuhanjp.css");

:root { 
  font-size: 16px;
  --font_family: YakuHanJP, "Noto Sans JP", sans-serif;
  --primary_green: hsl(180, 98%, 40%);
  --primary_orange: hsl(44, 96%, 53%);
  --primary_blue: hsl(204, 99%, 37%);
  --primary_pink: hsl(336, 98%, 74%);
  --primary_purple: hsl(275, 32%, 62%);
  --white: hsl(0, 0%, 100%);
  --text_color: hsl(44, 83%, 18%);
  --shadow_color: rgba(0, 0, 0, 0.10);
}
.fs_20{font-size: 20px;}
.fs_18{font-size: 18px;}
.fs_14{font-size: 14px;}
.fs_12{font-size: 12px;}
.fw_b{font-weight: bold;}

.mb_80{margin-bottom: 80px;}
.mb_60{margin-bottom: 60px;}
.mb_40{margin-bottom: 40px;}
.mb_30{margin-bottom: 30px;}
.mb_20{margin-bottom: 20px;}

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

/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
  scroll-behavior: smooth;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary { display: block;}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,canvas,progress,video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],template { display: none;}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent;
  text-decoration: none;
  transition: 0.3s;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] { border-bottom: 1px dotted;}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong { font-weight: bold;}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn { font-style: italic;}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
h2.section_ttl{
  display: inline-block;
  margin-bottom: 60px;
  border-bottom: 6px dotted var(--text_color);
  font-size: 40px;
  font-weight: bold;
  font-family: 'Zen Maru Gothic';
  line-height: 1.8;
  @media screen and (max-width: 768px){
    border-bottom: 4px dotted var(--text_color);
    font-size: 7.2vw;
  }
  & .h2_underline{
    display: inline-block;
    margin-right: -6px;
    border-bottom: 6px dotted var(--text_color);
    @media screen and (max-width: 768px){
      margin-right: 0;
      border-bottom: 4px dotted var(--text_color);
    }
  }
}
/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small { font-size: 12px;}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup { top: -0.5em;}
sub { bottom: -0.25em;}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img { border: 0;}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) { overflow: hidden;}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure { margin: 1em 40px;}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre { overflow: auto;}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button { overflow: visible;}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select { text-transform: none;}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input { line-height: normal;}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type=search] {
  -webkit-appearance: textfield; /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea { overflow: auto;}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {font-weight: bold;}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/*--------------------------------------------------------------------
//  基本設定
//------------------------------------------------------------------*/
body {
  margin: 0;
  background: #EAF7F7;
  text-rendering: optimizeLegibility;
  color: var(--text_color);
  font-size: 16px;
  font-family: YakuHanJP, "Zen Maru Gothic", sans-serif;
  line-height: 1.5;
  overflow-y: scroll;
  min-width: auto;
  min-height: 100%;
}

/* for IE6 */
* html body {
  font-family: YakuHanJP, "Zen Maru Gothic", sans-serif;
}

/*------------------------------------------------------------------
//  リセット
//----------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  margin: 0;
}
img {
  vertical-align: top;
  max-width: 100%;
}
p { margin: 0;}
ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
dl { margin: 0;}
dd { margin: 0;}
th {
  text-align: left;
  vertical-align: top;
}
label, select, option {
  cursor: pointer;
}

input[type=radio] {
  vertical-align: middle;
  margin-right: 0.3em;
}

/*------------------------------------------------------------------
//  リンク設定
//----------------------------------------------------------------*/
a { color: inherit;}

a:hover,
input[type=submit]:hover,
button:hover {
  opacity: 0.6;
}

button:active,
button:focus {
  outline: none;
}

.is-focus_link {
  position: relative;
  top: 1px;
}

/*--------------------------------------------------------------------
//  プレイスホルダー設定
//------------------------------------------------------------------*/
.is-placeholder { color: #AAA;}
::placeholder { color: #AAA;}

/*--------------------------------------------------------------------
//  btn
//------------------------------------------------------------------*/
.btn{
  & a{
    display: inline-block;
    padding: 20px 80px;
    font-size: 28px;
    text-decoration: none;
    color: var(--white);
    background-image: url(btn_bg_img.webp);
    background-size: cover;
    background-repeat: no-repeat; 
    border-radius: 100px;
    box-shadow: 0 4px 10px 0 var(--shadow_color);
    @media screen and (max-width: 768px){
      display: block;
      padding: 20px 0;
    }
  }
}
/*--------------------------------------------------------------------
//  l-wrapper
//------------------------------------------------------------------*/
.l-wrapper {
  position: relative;
  overflow: hidden;
  margin: 0 auto;
}

/*--------------------------------------------------------------------
//  ヘッダー
//------------------------------------------------------------------*/
.l-header {
  position: absolute;
  left: 0;
  right: 0;
  padding: 10px 0 0 0;
  max-width: 978px;
  margin: 0 auto;
  text-align: left;

  @media screen and (max-width: 768px){
    padding: 0;
  }

  & .logo-main {
    width: 300px;

    @media screen and (max-width: 768px){
      width: 225px;
    }
  }
}

/*--------------------------------------------------------------------
//  FV
//------------------------------------------------------------------*/
.fv{
  padding: 60px 0 160px;
  background-image: url(pc__fv_bg_img.png); 
  background-size: 100%;
  background-repeat: no-repeat;
  @media screen and (max-width: 768px){
    padding: 80px 16px 40vw;
    background-image: url(sp_fv_bg_img.png); 
    background-size: 100%;
    background-repeat: no-repeat;
  }
  & .fv_text{
    width: 34vw;
    padding-bottom: 30px;
    @media screen and (max-width: 768px){
      width: 90%;
      padding-top: 23vw;
    }
  }
}


/*--------------------------------------------------------------------
//  ぴったりの保育園が見つかる
//------------------------------------------------------------------*/
.worries{
  position: relative;
  padding: 30px 0 60px;
  background: var(--white);
  @media screen and (max-width: 768px){
    padding: 60px 16px 60px;
  }
  & .worries_wrapper{
    max-width: 1000px;
    margin: 0 auto;
    & .worries_sp_img{
      @media screen and (max-width: 768px){
        width: 86%;
        margin: 0 auto 20px;
      }
    }
    & .worries_list{
      display: flex;
      margin-bottom: 30px;
      justify-content: space-between;
      @media screen and (max-width: 768px){
        display: none;
      }
      & .worries_item{

      }
    }
    & h2.section_ttl{
      font-size: 36px;
      @media screen and (max-width: 768px){
        font-size: 8vw;
      }
      & .worries_h2_underline{
        @media screen and (max-width: 768px){
          display: inline-block;
          border-bottom: 4px dotted var(--text_color);
        }

      }
    }
  }
  & .worries_bg_top_asset {
    position: absolute;
    top: -6vw;
    left: 0;
  }
  & .worries_bg_bottom_asset {
    position: absolute;
    bottom: -6vw;
    left: 0;
  }
}


/*--------------------------------------------------------------------
//  高いマッチ率
//------------------------------------------------------------------*/
.matching{
  padding: 180px 0 80px;
  @media screen and (max-width: 768px){
    padding: 80px 16px;
  }
  & .section_ttl{
    @media screen and (max-width: 768px){
      font-size: 7vw;
    }
  }
  & .matching_h2_underline{
    @media screen and (max-width: 768px){
      display: inline-block;
      border-bottom: 4px dotted var(--text_color);
      }
  }
  & .matching_list{
    max-width: 850px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    @media screen and (max-width: 768px){
      display: block;
    }
    & .matching_item{
      width: 320px;
      @media screen and (max-width: 768px){
        width: 100%;
        &:nth-child(n+2){
          margin-top: 40px;
        }
      }
      & img{
        @media screen and (max-width: 768px){
          width: 80%;
        }
      }
    }
  }
}

/*--------------------------------------------------------------------
//  就業実績例
//------------------------------------------------------------------*/
.job_example{
  padding: 40px 0 80px;
  background: var(--white);
  @media screen and (max-width: 768px){
    padding: 60px 16px;
  }
  & .job_example_list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 850px;
    margin: 0 auto;
    & .job_example_item{
      width: 200px;
      box-shadow: 0 4px 10px 0 var(--shadow_color);
      border-radius: 20px;
      @media screen and (max-width: 768px){
        width: 48%;
        margin-bottom: 20px;
        border-radius: 30px;
      }
    }
  }
}

/*--------------------------------------------------------------------
//  働いている人の声
//------------------------------------------------------------------*/
.introduction{
  padding: 80px 0;
  @media screen and (max-width: 768px){
    padding: 60px 16px 80px;
  }
  & h2{
    & .intro_h2_sub{
      display: block;
      font-size: 26px;
      font-weight: 500;
      line-height: .8;
      @media screen and (max-width: 768px){
        font-size: 4vw;
      }
    }
  }
  & .introduction_list{
    max-width: 850px;
    margin: 0 auto;
    & .introduction_item{
      display: flex;
      align-items: center;
      @media screen and (max-width: 768px){
        display: block;
      }
      &:nth-child(n+2){
        margin-top: 40px;
      }
      & .introduction_img{
        width: 140px;
        margin-right: 40px;
        @media screen and (max-width: 768px){
          width: 160px;
          margin: 0 0 20px 0;
        }
      }
      & .introduction_txt_wrap{
        text-align: left;
        & .introduction_ttl{
          margin-bottom: 10px;
          font-size: 32px;
          @media screen and (max-width: 768px){
            text-align: center;
            font-size: 7.4vw;
          }
        }
        & .introduction_text{
          font-size: 18px;
          font-weight: 500;
        }
      }
      &:nth-child(1) .introduction_txt_wrap .introduction_ttl{
        color: var(--primary_green);
      }
      &:nth-child(2) .introduction_txt_wrap .introduction_ttl{
        color: var(--primary_orange);
      }
      &:nth-child(3) .introduction_txt_wrap .introduction_ttl{
        color: var(--primary_purple);
      }
    }
  }
}


/*--------------------------------------------------------------------
//  form
//------------------------------------------------------------------*/
.space-mt-10 { margin-top: 10px;}
.space-mt-20 { margin-top: 20px;}
.space-mt-30 { margin-top: 30px;}
.space-mt-40 { margin-top: 40px;}
.space-mt-50 { margin-top: 50px;}

.form{
  padding: 80px 0;
  background: #FAF4E1;
  @media screen and (max-width: 768px){
    padding: 80px 16px;
  }
}
.box-top-banner {
  text-align: center;
  margin-bottom: 20px;
}
.form-cat {
  position: absolute;
  top: 48%;
  right: 0;
  z-index: 100;
  pointer-events: none;
  animation: cat-motion 2.5s linear 0s infinite;
  height: 84px;
}
.box-top-catch { background-color: #1B94BE;}

.slide-area-wrapper {
  position: relative;
  max-width: 700px;
  margin: 0 auto;
  padding: 60px 30px;
  background: var(--white);
  border-radius: 20px;
  @media screen and (max-width: 768px){
    padding: 60px 20px;
  }
  & h2 .form_sub_ttl{
    display: block;
    margin-bottom: -10px;
    font-size: 24px;
    line-height: 1.4;
    @media screen and (max-width: 768px){
      font-size: 4vw;
    }
  } 
  & .slide-step-list {
    margin: 0 14px 20px;
    padding: 20px 0;
    display: flex;
    justify-content: space-between;
    position: relative;
    color: #9c9c9c;
    @media screen and (max-width: 768px){
      margin: 0 0 20px;
    }
    &::after {
      display: block;
      content: "";
      width: 92%;
      height: 4px;
      position: absolute;
      z-index: 0;
      bottom: 28px;
      left: 4%;
      background: #C9C9C9;
    }
    &.p25::after {
      background: linear-gradient(90deg, #EF4760 0%, #EF4760 25%, #C9C9C9 25%);
    }
    &.p50::after {
      background: linear-gradient(90deg, #EF4760 0%, #EF4760 50%, #C9C9C9 50%);
    }
    &.p75::after {
      background: linear-gradient(90deg, #EF4760 0%, #EF4760 75%, #C9C9C9 75%);
    }
    &.p100::after {
      background: #EF4760;
    }
    & .inner-list {
      position: relative;
      z-index: 1;
      &::before {
        content: "STEP";
        font-size: 14px;
        font-weight: bold;
      }
      &:first-of-type::after {
        display: none;
      }
      & span {
        position: relative;
        z-index: 1;
        font-weight: bold;
        font-size: 26px;
        margin-left: 4px;
        &::after {
          display: block;
          content: "";
          width: 22px;
          height: 22px;
          margin: 20px auto 0;
          border-radius: 50%;
          background-color: #C9C9C9;
        }
      }
      &.is-active {
        color: #EF4760;
        & span::after {
          background-color: #EF4760;
        }
      }
      &.is-active_icon {
        position: relative;
        z-index: 2;
        & span::before {
          content: "";
          display: block;
          width: 53px;
          height: 53px;
          position: absolute;
          bottom: -15px;
          left: -34px;
          background: url(t64_img_cat-icon.png) no-repeat center center;
          background-size: 100%;
        }
      }
    }
  }
  & .slide-form-wrapper {
    display: flex;
    & .slide-form {
      width: calc(100% - 40px);
      padding: 0 20px;
      @media screen and (max-width: 768px){
        padding: 0 10px;
      }
      & .form-check {
        display: none;
      }
      & .form-paragraph {
        font-weight: bold;
        font-size: 18px;
        text-align: left;
        margin: 20px 0 10px;
        & span {
          font-size: 12px;
        }
      }
      & .form-terms-paragraph {
        font-size: 16px;
        line-height: 1.5;
        color: #ff6d84;
        margin-top: 116px;
      }
      & .form-text, .form-email, .form-telephone{
        box-sizing: border-box;
        font-size: 20px;
        border-radius: 12px;
        border: solid 2px var(--primary_green);
        padding: 17px 16px;
        width: 100%;
        background-color: #fff6de;
      }
      & .select-wrapper {
        position: relative;
        &:after {
          content: "";
          transform: rotate(45deg);
          position: absolute;
          right: 20px;
          top: -4px;
          bottom: 0;
          border-radius: 2px;
          border: 3px solid #ff6d84;
          border-width: 0 3px 3px 0;
          margin: auto;
          width: 10px;
          height: 10px;
        }
        & .form-select {
          margin-top: 20px;
          appearance: none;
          box-sizing: border-box;
          font-size: 19px;
          background-color: var(--white);
          border-radius: 5px;
          border: solid 1px #cdcdcd;
          padding: 17px 16px;
          width: 100%;
        }
      }
      & .birth_wrapp {
        display: flex;
        justify-content: space-between;
        & select.form-select {
          width: 31.5%;
        }
      }
      & .zip_wrapp {
        position: relative;
        &::before {
          display: block;
          content: "〒";
          width: 1em;
          height: 1em;
          line-height: 1;
          font-size: 28px;
          color: #FFC3C3;
          position: absolute;
          inset: -6px 0 0 0;
          margin: auto 15px;
          z-index: 10;
          font-weight: bold;
        }
        & .form-text {
          padding-left: 2.3em;
        }
      }
      & .checkbox-list {
        display: flex;
        flex-wrap: wrap;
        & .inner-list {
          margin-right: 10px;
          margin-bottom: 10px;
          & .checkbox-input {
            vertical-align: -1px;
            margin-right: 3px;
          }
        }
      }
      & .form-radio {
        display: none;
      }
      & .button-list-two {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-bottom: -8px;
      }
      & .button-list-two > li {
        margin-bottom: 20px;
        width: calc(50% - 10px);
        & .check-label {
          box-sizing: border-box;
          display: flex;
          flex-direction: column;
          justify-content: space-around;
          box-sizing: border-box;
          text-align: center;
          font-weight: bold;
          font-size: 16px;
          border-radius: 10px;
          border: solid 2px #9a9a9a;
          background-color: var(--white);
          padding: 10px;
          height: 150px;
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
          & figure {
            margin: 0 auto;
            width: 70px;
            height: 100px;
            text-align: center;
            display: flex;
            align-items: center;
            & img {
              max-height: 100%;
            }
          }
          & em {
            font-size: 24px;
            font-style: normal;
          }
        }
      }
      & .button-list-two > li :checked + .check-label {
        color: var(--white);
        border: solid 2px var(--primary_green);
        background-color: var(--primary_green);
        &.modi-green {
          color: #94c859;
          & svg {
            fill: #94c859;
          }
        }
        &.modi-blue {
          color: #55b3cd;
          & svg {
            fill: #55b3cd;
          }
        }
      }
      & .button-list-three {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        & > li {
          width: 32%;
          & .check-label {
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            justify-content: space-around;
            align-items: center;
            box-sizing: border-box;
            text-align: center;
            font-weight: bold;
            font-size: 12px;
            color: #9c9c9c;
            border-radius: 10px;
            border: solid 1px #cdcdcd;
            background-color: #cdcdcd;
            padding: 10px 8px;
            height: 105px;
            & svg {
              fill: #9c9c9c;
            }
          }
          &:checked + .check-label {
            background-color: var(--white);
            &.modi-yellow {
              color: #ffd16e;
              & svg {
                fill: #ffd16e;
              }
            }
            &.modi-green {
              color: #94c859;
              & svg {
                fill: #94c859;
              }
            }
            &.modi-blue {
              color: #55b3cd;
              & svg {
                fill: #55b3cd;
              }
            }
            &.modi-pink {
              color: #ff86a8;
              & svg {
                fill: #ff86a8;
              }
            }
          }
        }
      }
    }
  }
  & .slide-next-button {
    display: block;
    box-sizing: border-box;
    position: relative;
    text-align: center;
    text-decoration: none;
    text-align: center;
    font-size: 24px;
    color: var(--white);
    border-radius: 10px;
    border: none;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    background: linear-gradient(0deg, #FE7CAF 0%, #FEB8D4 100%);
    padding: 20px;
    width: 100%;
    font-weight: bold;
    margin-bottom: 40px;
    &::after {
      content: "";
      transform: rotate(-45deg);
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto;
      margin-left: 10px;
      border-right: solid 3px var(--white);
      border-bottom: solid 3px var(--white);
      width: 10px;
      height: 10px;
      font-weight: bold;
    }
    &.modi-hide {
      display: none;
    }
    &.modi-disable {
      pointer-events: none;
      background: #cdcdcd;
    }
  }
  & .slide-prev-button {
    width: 5em;
    display: block;
    font-size: 18px;
    font-weight: bold;
    &.modi-hide {
      visibility: hidden;
    }
  }
  & button.js-form-submit {
    display: block;
    box-sizing: border-box;
    position: relative;
    text-align: center;
    text-decoration: none;
    text-align: center;
    font-size: 12px;
    color: var(--white);
    border-radius: 10px;
    border: none;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    padding: 20px;
    width: 100%;
    background: linear-gradient(0deg, #059E9D 0%, #02CBCA 100%);
    font-weight: bold;
    & em {
      font-style: normal;
      font-size: 24px;
    }
    &::after {
      content: "";
      transform: rotate(-45deg);
      position: absolute;
      right: 20px;
      top: 0;
      bottom: 0;
      margin: auto;
      border-right: solid 3px var(--white);
      border-bottom: solid 3px var(--white);
      width: 10px;
      height: 10px;
      font-weight: bold;
    }
    &.modi-disable {
      pointer-events: none;
      background: #cdcdcd;
    }
  }
}

.slide-area-wrapper .slide-step-list .is-active::after {
  display: block;
  content: "";
  width: 210px;
  height: 4px;
  position: absolute;
  bottom: 9px;
  right: 20px;
  background: #EF4760;
}

@media (max-width: 830px) {
  .slide-area-wrapper .slide-step-list .is-active::after {
    width: 27.5vw;
  }
}
@media (max-width: 650px) {
  .slide-area-wrapper .slide-step-list .is-active::after {
    width: 29vw;
  }
}
  @media (max-width: 640px) {
  .slide-area-wrapper .slide-step-list .is-active::after {
    width: 26vw;
  }
}
/*.slide-area-wrapper .slide-form-wrapper .slide-form .form-text,
.slide-area-wrapper .slide-form-wrapper .slide-form .form-email,
.slide-area-wrapper .slide-form-wrapper .slide-form .form-telephone {
  box-sizing: border-box;
  font-size: 20px;
  border-radius: 12px;
  border: solid 2px #EF4760;
  padding: 17px 16px;
  width: 100%;
  background-color: #FDFFE3;
}*/
/*.slide-area-wrapper .slide-form-wrapper .slide-form .button-list-three > li {
  width: 32%;
}*/
/*.slide-area-wrapper .slide-form-wrapper .slide-form .button-list-three > li :checked + .check-label {
  background-color: var(--white);
}
.slide-area-wrapper .slide-form-wrapper .slide-form .button-list-three > li :checked + .check-label.modi-yellow {
  color: #ffd16e;
}
.slide-area-wrapper .slide-form-wrapper .slide-form .button-list-three > li :checked + .check-label.modi-yellow svg {
  fill: #ffd16e;
}
.slide-area-wrapper .slide-form-wrapper .slide-form .button-list-three > li :checked + .check-label.modi-green {
  color: #94c859;
}
.slide-area-wrapper .slide-form-wrapper .slide-form .button-list-three > li :checked + .check-label.modi-green svg {
  fill: #94c859;
}
.slide-area-wrapper .slide-form-wrapper .slide-form .button-list-three > li :checked + .check-label.modi-blue {
  color: #55b3cd;
}
.slide-area-wrapper .slide-form-wrapper .slide-form .button-list-three > li :checked + .check-label.modi-blue svg {
  fill: #55b3cd;
}
.slide-area-wrapper .slide-form-wrapper .slide-form .button-list-three > li :checked + .check-label.modi-pink {
  color: #ff86a8;
}
.slide-area-wrapper .slide-form-wrapper .slide-form .button-list-three > li :checked + .check-label.modi-pink svg {
  fill: #ff86a8;
}*/

/* #region 姓・名 横並び */
.slide-area-wrapper .slide-form-wrapper .slide-form .your_name_wrapp {
  display: flex;
  justify-content: space-between;
}
.slide-area-wrapper .slide-form-wrapper .slide-form .your_name_sei_wrapp,
.slide-area-wrapper .slide-form-wrapper .slide-form .your_name_mei_wrapp {
  width: 48.5%;
}
.string_attention {
  display: block;
  padding: 2px 6px;
  font-size: 8px;
  text-align: center;
  border-radius: 100px;
  position: absolute;
  top: 11%;
  background-color: #FFD690;
}
.string_attention_first {
  left: 59%
}
.string_attention_second {
  left: 71%;
}
/* #endregion */

.heading-main {
  font-weight: bold;
  font-size: 22px;
  margin-bottom: 5px;
}
.main-text {
  font-size: 15px;
}
.button-consultation {
  display: block;
  position: relative;
  border-radius: 10px;
  color: var(--white);
  font-size: 13px;
  background: #4ECC7E;
  box-shadow: 3px 3px 0px 0px #42A769;
  margin: 20px auto 25px;
  text-align: center;
  text-decoration: none;
  padding: 15px 0 11px;
  max-width: 670px;
}
.button-consultation .fa-phone {
  display: inline-block;
  transform: rotate(90deg);
  vertical-align: middle;
  margin-right: 5px;
  width: 40px;
}
.button-consultation .area-text {
  display: inline-block;
  vertical-align: middle;
}
.button-consultation .area-text .label-text {
  font-weight: bold;
  font-size: 15px;
}
@keyframes cat-motion {
  0% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(-15px, 0);
  }
  75% {
    transform: translate(0, 0);
  }
}

/*--------------------------------------------------------------------
//  flow
//------------------------------------------------------------------*/
.flow{
  padding: 60px 0;
  @media screen and (max-width: 768px){
    padding: 60px 0 80px;
  }
  & .flow_img{
    max-width: 850px;
    margin: 0 auto;
    & img{
      @media screen and (max-width: 768px){
       width: 84%;
       margin: 0 auto;
      }
    }
  }
}

/*--------------------------------------------------------------------
//  よくある質問
//------------------------------------------------------------------*/
.qa{
  max-width: 850px;
  margin: 60px auto 240px;
  padding: 40px 40px 60px;
  background: var(--white);
  border-radius: 20px;
  @media screen and (max-width: 768px){
    margin: 60px 16px 140px;
    padding: 40px 20px 60px;
  }
  & .qa_wrapper{
    margin: 0 auto;
    & .accordion__list{
      padding: 0 60px;
      @media screen and (max-width: 768px){
        padding: 0;
      }
      & .accordion__item{
        text-align: left;
        box-shadow: 0 4px 10px 0 var(--shadow_color);
        border-radius: 0 0 10px 10px;
        &:nth-child(n+2){
          margin-top: 30px;
        }
        & .accordion__head{
          position: relative;
          /*--width: 100%;--*/
          padding: 10px 20px 10px 70px;
          color: var(--white);
          font-size: 20px;
          font-weight: bold;
          background: var(--primary_green);
          border-radius: 10px;
          cursor: pointer;
          @media screen and (max-width: 768px){
            padding: 10px 60px 10px 70px;
          }
          &::before{
            content: "";
            display: inline-block; 
            position: absolute;
            width: 30px;
            height: 30px;
            top: 10px;
            left: 20px;
            background-image: url(q_icon.png); 
            background-size: cover;
            background-repeat: no-repeat; 
          }
          &::after{
            content: "+";
            position: absolute;
            top: 46%;
            transform: translateY(-50%);
            right: 20px;
            font-size: 32px;
            font-weight: 400;
            transition: transform 0.3s ease;
            @media screen and (max-width: 768px){
              font-weight: 30px;
            }
          }
        }
        & .accordion__body {
          overflow: hidden;
          /*width: 100%;*/
          position: relative;
          height: 0;
          padding: 0 10px 0 70px;
          font-weight: 500;
          background: var(--white);
          transition: all .3s ease;
          &::before{
            content: "";
            display: inline-block; 
            position: absolute;
            width: 30px;
            height: 30px;
            top: 0;
            left: 20px;
            background-image: url(a_icon.png); 
            background-size: cover;
            background-repeat: no-repeat;
            transition: all .3s ease;
          }
        }
        &.active{
          & .accordion__head{
            border-radius: 10px 10px 0 0 ;
            &::after{
              content: "-";
              top: 64%;
              right: 20px;
              font-size: 50px;
              font-weight: 400;
              transform: translateY(-50%) rotate(180deg);
            }
          }
          & .accordion__body {
            height: auto;
            padding: 30px 20px 20px 70px;
            border-radius: 0 0 10px 10px;
            &::before{
              top: 30px;
              left: 20px;
            }
          }
        }
      }
    }
  }
}

/*--------------------------------------------------------------------
//  footer
//------------------------------------------------------------------*/
.l-footer {
  position: relative;
  background-color: var(--primary_green);
  text-align: center;
  color: var(--white);
  padding: 40px 0 20px;
  @media screen and (max-width: 768px){
    padding: 40px 36px 20px;
  }
  & .footer_bg_asset{
    position: absolute;
    top: -6vw;
    left: 0;
  }
  & .footer_wrapper{
    max-width: 700px;
    margin: 0 auto;
    & .footer_privacy{
      display: flex;
      margin: 0 auto 20px;
      justify-content: center;
      align-items: center;
      @media screen and (max-width: 768px){
        display: block;
      }
      & .privacy_txt_link{
        & p{
          margin-bottom: 8px;
        }
      }
      & p img{
      width: 65px;
      margin-right: 30px;
      @media screen and (max-width: 768px){
        width: 120px;
        margin: 0 0 20px;
      }
      }
      & ul{
        display: flex;
        justify-content: start;
		flex-wrap: wrap;
        @media screen and (max-width: 768px){
          justify-content: space-evenly;
        }
        & li{
          margin-right: 20px;
          & a{
            color: var(--white);
            &:hover{
              opacity: .6;
            }
          }
        }
      }
    }
    & div .footer_overview_link{
      font-size: 18px;
      text-decoration: none;
      color: var(--white);
    }
  }
  & .back-to-top {
    position: absolute;
    bottom: 100px;
    right: 80px;
    border-radius: 100px;
    box-shadow: 0 4px 10px 0 var(--shadow_color);
    transition: .3s;
    @media screen and (max-width: 768px){
      bottom: 30px;
      right: 20px;
    }
    &:hover {
      opacity: .7;
  }
  }
}

/*--------------------------------------------------------------------
//  サンクスページ
//------------------------------------------------------------------*/
.thanks-wrapper.l-wrapper{
  @media screen and (max-width: 768px){
    padding: 0 16px;
  }
  & .l-header.thanks-header{
    display: block;
    position: static;
    padding: 10px 16px;
    text-align: center;
  }
  & main{
    background: var(--white);
    margin: 20px auto 60px;
    max-width: 850px;
    padding: 60px 20px 80px;
    border-radius: 20px;
    & .box-thanks{
      & .thanks-heading{
        color: var(--primary_green);
        text-align: center;
        font-weight: bold;
        font-size: 40px;
      }
      & .thanks-cat-img{
        text-align: center;
        width: 160px;
        margin: 20px auto 10px;
      }
      & .thanks-main-text{
        margin-bottom: 10px;
        font-size: 20px;
      }
      & .thanks-sub-text {
        font-size: 14px;
        margin-bottom: 10px;
      }
    }
  }
  & footer.l-footer{
    padding: 20px 0;
  }
}

.tns-outer {
  padding: 0 !important;
}
.tns-outer [hidden] {
  display: none !important;
}

.tns-outer [aria-controls], .tns-outer [data-action] {
  cursor: pointer;
}
.tns-slider {
  -webkit-transition: all 0s;
  -moz-transition: all 0s;
  transition: all 0s;
}
.tns-slider > .tns-item {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.tns-horizontal.tns-subpixel {
  white-space: nowrap;
}
.tns-horizontal.tns-subpixel > .tns-item {
  display: inline-block;
  vertical-align: top;
  white-space: normal;
}
.tns-horizontal.tns-no-subpixel::after {
  content: "";
  display: table;
  clear: both;
}
.tns-horizontal.tns-no-subpixel > .tns-item {
  float: left;
}
.tns-horizontal.tns-carousel.tns-no-subpixel > .tns-item {
  margin-right: -100%;
}

.tns-no-calc {
  position: relative;
  left: 0;
}
.tns-gallery {
  position: relative;
  left: 0;
  min-height: 1px;
}
.tns-gallery > .tns-item {
  position: absolute;
  left: -100%;
  -webkit-transition: transform 0s, opacity 0s;
  -moz-transition: transform 0s, opacity 0s;
  transition: transform 0s, opacity 0s;
}
.tns-gallery > .tns-slide-active {
  position: relative;
  left: auto !important;
}
.tns-gallery > .tns-moving {
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.tns-autowidth {
  display: inline-block;
}

.tns-lazy-img {
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  transition: opacity 0.6s;
  opacity: 0.6;
}
.tns-lazy-img.tns-complete {
  opacity: 1;
}
.tns-ah {
  -webkit-transition: height 0s;
  -moz-transition: height 0s;
  transition: height 0s;
}
.tns-ovh {
  overflow: hidden;
}

.tns-visually-hidden {
  position: absolute;
  left: -10000em;
}
.tns-transparent {
  opacity: 0;
  visibility: hidden;
}
.tns-fadeIn {
  opacity: 1;
  filter: alpha(opacity=100);
  z-index: 0;
}
.tns-normal, .tns-fadeOut {
  opacity: 0;
  filter: alpha(opacity=0);
  z-index: -1;
}
.tns-vpfix {
  white-space: nowrap;
}
.tns-vpfix > div, .tns-vpfix > li {
  display: inline-block;
}
.tns-t-subp2 {
  margin: 0 auto;
  width: 310px;
  position: relative;
  height: 10px;
  overflow: hidden;
}
.tns-t-ct {
  width: 2333.3333333%;
  width: -webkit-calc(100% * 70 / 3);
  width: -moz-calc(100% * 70 / 3);
  width: 2333.3333333333%;
  position: absolute;
  right: 0;
}
.tns-t-ct::after {
  content: "";
  display: table;
  clear: both;
}
.tns-t-ct > div {
  width: 1.4285714%;
  width: -webkit-calc(100% / 70);
  width: -moz-calc(100% / 70);
  width: 1.4285714286%;
  height: 10px;
  float: left;
}

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