@charset "UTF-8";
*,
*::before,
*::after {
  margin: 0; /* マージンは0に */
  padding: 0; /* パディングも常に0に */
  box-sizing: border-box; /* もちろん、より直感的なbox-sizingに設定 */
  word-wrap: break-word;
  overflow-wrap: break-word;
}

:where(input, button, textarea, select) {
  font: inherit; /* フォーム コントロールは親フォントを継承 */
  color: inherit; /* カラーも継承 */
}

:where(textarea) {
  resize: vertical; /* テキストエリアの水平リサイズを無効に */
  resize: block;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer; /* インタラクティブなものにカーソルを合わせる */
}

:where(:disabled) {
  cursor: not-allowed; /* フォームコントロール無効時のカーソルを許可しない */
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed; /* ラベルにもカーソルを許可しない */
}

:where(button) {
  border-style: solid; /* ボタンのボーダーのスタイルを設定しやすくする */
}

:where(a) {
  text-underline-offset: 0.2ex; /* 下線の上にスペースを追加する */
}

:where(ul, ol) {
  list-style: none; /* ビュレットを削除、必要に応じて手動で追加する */
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block; /* 置換された要素をより予測可能にする */
}

:where(img, picture, svg) {
  max-inline-size: 100%; /* images should never overflow past the available space */
  block-size: auto; /* アスペクト比を保持 */
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word; /* 長い単語は改行 */
}

:where(hr) { /* より一貫性のある、スタイリッシュなhr */
  border: none;
  border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}

/* .hp_visuallyHiddenは後のカスケードレイヤーを上書きするために!importantを使用 */
:where(.hp_visuallyHidden:not(:focus, :active, :focus-within, .not-visually-hidden)) {
  clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.none {
  display: none !important;
  content-visibility: hidden !important;
}

@media screen and (min-width: 390px) {
  .none-sm {
    display: none !important;
    content-visibility: hidden !important;
  }
}
@media screen and (min-width: 768px) {
  .none-md {
    display: none !important;
    content-visibility: hidden !important;
  }
}
@media screen and (min-width: 960px) {
  .none-lg {
    display: none !important;
    content-visibility: hidden !important;
  }
}
@media screen and (min-width: 1080px) {
  .none-xl {
    display: none !important;
    content-visibility: hidden !important;
  }
}
@media screen and (min-width: 1280px) {
  .none-xxl {
    display: none !important;
    content-visibility: hidden !important;
  }
}
@media screen and (min-width: 1441px) {
  .none-wd {
    display: none !important;
    content-visibility: hidden !important;
  }
}
.none-d {
  display: none !important;
  content-visibility: hidden !important;
}

@media screen and (max-width: 389px) {
  .none-d-sm {
    display: none !important;
    content-visibility: hidden !important;
  }
}
@media screen and (max-width: 767px) {
  .none-d-md {
    display: none !important;
    content-visibility: hidden !important;
  }
}
@media screen and (max-width: 959px) {
  .none-d-lg {
    display: none !important;
    content-visibility: hidden !important;
  }
}
@media screen and (max-width: 1079px) {
  .none-d-xl {
    display: none !important;
    content-visibility: hidden !important;
  }
}
@media screen and (max-width: 1279px) {
  .none-d-xxl {
    display: none !important;
    content-visibility: hidden !important;
  }
}
@media screen and (max-width: 1440px) {
  .none-d-wd {
    display: none !important;
    content-visibility: hidden !important;
  }
}
.block {
  display: block !important;
  content-visibility: visible !important;
}

@media screen and (min-width: 390px) {
  .block-sm {
    display: block !important;
    content-visibility: visible !important;
  }
}
@media screen and (min-width: 768px) {
  .block-md {
    display: block !important;
    content-visibility: visible !important;
  }
}
@media screen and (min-width: 960px) {
  .block-lg {
    display: block !important;
    content-visibility: visible !important;
  }
}
@media screen and (min-width: 1080px) {
  .block-xl {
    display: block !important;
    content-visibility: visible !important;
  }
}
@media screen and (min-width: 1280px) {
  .block-xxl {
    display: block !important;
    content-visibility: visible !important;
  }
}
@media screen and (min-width: 1441px) {
  .block-wd {
    display: block !important;
    content-visibility: visible !important;
  }
}
.block-d {
  display: block !important;
  content-visibility: visible !important;
}

@media screen and (max-width: 389px) {
  .block-d-sm {
    display: block !important;
    content-visibility: visible !important;
  }
}
@media screen and (max-width: 767px) {
  .block-d-md {
    display: block !important;
    content-visibility: visible !important;
  }
}
@media screen and (max-width: 959px) {
  .block-d-lg {
    display: block !important;
    content-visibility: visible !important;
  }
}
@media screen and (max-width: 1079px) {
  .block-d-xl {
    display: block !important;
    content-visibility: visible !important;
  }
}
@media screen and (max-width: 1279px) {
  .block-d-xxl {
    display: block !important;
    content-visibility: visible !important;
  }
}
@media screen and (max-width: 1440px) {
  .block-d-wd {
    display: block !important;
    content-visibility: visible !important;
  }
}
/* ==================================
   base
================================== */
*,
*::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  height: 100%;
  -webkit-overflow-scrolling: touch;
}

:where(html) {
  -webkit-text-size-adjust: none; /* iOSのランドスケープでテキストが調整されないようにする */
}

body {
  font-family: "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: 0.875rem;
  width: 100%;
  min-height: 100%;
  background-color: #fff;
  color: #333;
  line-height: 1.7;
  word-wrap: break-word;
  overflow-wrap: break-word;
  position: relative;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 1rem;
  }
}

:where(body) {
  -webkit-font-smoothing: antialiased; /* テキストのレンダリングを改善 */
}

main {
  position: relative;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

ul, ol {
  list-style: none;
}

em,
address {
  font-style: normal;
}

button,
input[type=button],
input[type=submit],
input[type=text],
input[type=search],
input[type=email] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}

button,
input[type=button],
input[type=submit] {
  border: none;
}

select, textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

button, input, select, textarea {
  font-family: inherit;
  font-size: inherit;
}

/* ======================================
  ly_footer
====================================== */
.ly_footer {
  padding: 50px 20px;
  background: #f5f5f5;
}
@media screen and (min-width: 768px) {
  .ly_footer {
    padding: 60px 40px 32px;
  }
}

.ly_footer_inner {
  display: grid;
  gap: 20px 0;
}
@media screen and (min-width: 960px) {
  .ly_footer_inner {
    grid-template-columns: 400px auto;
    justify-content: center;
    gap: 0 30px;
    max-width: 1000px;
    margin: 0 auto;
  }
}

/* ======================================
  ly_header
====================================== */
.ly_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 64px;
  padding: 0 0 0 20px;
  background: #fff;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
}
@media screen and (min-width: 768px) and (max-width: 959px) {
  .ly_header {
    padding: 10px 0 10px 20px;
  }
}
@media screen and (min-width: 768px) {
  .ly_header {
    height: 90px;
    padding: 10px 20px;
  }
}
@media screen and (min-width: 960px) {
  .ly_header {
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.15);
  }
}
@media screen and (min-width: 1280px) {
  .ly_header {
    padding: 10px 80px;
  }
}

/* =====================================
  ly_main
===================================== */
.ly_main {
  padding-top: 64px;
}
@media screen and (min-width: 960px) {
  .ly_main {
    padding-top: 90px;
  }
}

/* =====================================
  back to the top
===================================== */
.bl_backToTop {
  position: fixed;
  right: 20px;
  bottom: 20px;
}
@media screen and (min-width: 768px) {
  .bl_backToTop {
    right: 30px;
    bottom: 30px;
  }
}
@media screen and (min-width: 768px) {
  .bl_backToTop a {
    transition: 0.2s;
  }
  .bl_backToTop a:hover {
    transition: 0.2s;
  }
}

/* ======================================
  cta
===================================== */
.bl_cta {
  padding: 20px 0;
  background-image: linear-gradient(139deg, rgb(255, 166, 27) 0%, rgb(255, 121, 35) 100%);
  text-align: center;
  position: relative;
}
@media screen and (min-width: 960px) {
  .bl_cta {
    background-image: linear-gradient(102deg, rgb(255, 121, 35) 0%, rgb(255, 215, 56) 100%);
  }
}

.bl_cta_inner {
  padding: 19px 0 10px;
  background-color: rgba(255, 251, 210, 0.1);
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.25);
}
@media screen and (min-width: 768px) {
  .bl_cta_inner {
    padding: 42px 20px 46px;
  }
}

.bl_cta_box {
  display: grid;
}
@media screen and (min-width: 768px) {
  .bl_cta_box {
    gap: 20px;
    justify-content: center;
    max-width: 1100px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 960px) {
  .bl_cta_box {
    grid-template-columns: auto 400px;
    gap: 0 20px;
  }
}
@media screen and (min-width: 1280px) {
  .bl_cta_box {
    grid-template-columns: auto 400px;
    justify-content: space-between;
    align-items: center;
    gap: 0 40px;
  }
}

.bl_cta_ttl {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.5rem;
  color: #fff;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .bl_cta_ttl {
    margin-bottom: 13px;
  }
}
@media screen and (min-width: 768px) {
  .bl_cta_ttl {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 960px) {
  .bl_cta_ttl {
    text-align: left;
  }
}
@media screen and (min-width: 1080px) {
  .bl_cta_ttl {
    font-size: 1.75rem;
    text-align: left;
  }
}

.bl_cta_dot {
  padding-bottom: 5px;
  background-image: radial-gradient(circle, #fff8a6 2px, transparent 2px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 10px 4px;
  color: #fff8a6;
}
@media screen and (min-width: 768px) {
  .bl_cta_dot {
    padding-bottom: 5px;
  }
}

.bl_cta_frame {
  background: #fef6ec;
  color: #5f4119;
}
@media screen and (max-width: 767px) {
  .bl_cta_frame {
    display: inline-block;
    padding: 10px;
    border-radius: 16px;
    text-align: center;
    line-height: 1.5;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .bl_cta_frame {
    display: inline-block;
    padding: 10px;
    border-radius: 16px;
    line-height: 1.5;
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .bl_cta_frame {
    padding: 10px 20px;
    border-radius: 10em;
  }
}
.bl_cta_frame:not(:last-child) {
  margin-right: 3px;
}
@media screen and (min-width: 768px) {
  .bl_cta_frame:not(:last-child) {
    margin-right: 2px;
  }
}

.bl_cta_line {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .bl_cta_line.__1, .bl_cta_line.__3 {
    margin-left: 18px;
  }
}
.bl_cta_line.__2 {
  margin: 20px 0 9px 10px;
}
@media screen and (min-width: 768px) {
  .bl_cta_line.__2 {
    margin: 18px 0 12px;
  }
}

@media screen and (min-width: 768px) {
  .bl_cta_list {
    margin-top: 3px;
  }
}

/* ======================================
  footer
===================================== */
@media screen and (max-width: 767px) {
  .bl_footerCorp {
    margin-bottom: 20px;
  }
}
.bl_footerCorp_header {
  margin-bottom: 16px;
  padding-bottom: 18px;
  border-bottom: solid 1px #d9d9d9;
}
@media screen and (min-width: 768px) {
  .bl_footerCorp_header {
    display: grid;
    margin-bottom: 16px;
    padding-bottom: 18px;
  }
}

.bl_footerCorp_ttl {
  font-family: "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: 0.75rem;
  display: block;
  margin-bottom: 5px;
  color: #54bb00;
}
@media screen and (min-width: 768px) {
  .bl_footerCorp_ttl {
    order: 2;
    margin-bottom: 6px;
  }
  .bl_footerCorp_ttl span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
}

@media screen and (max-width: 767px) {
  .bl_footerCorp_logo {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .bl_footerCorp_logo {
    order: 1;
    margin-bottom: 16px;
  }
}

.bl_footerCorp_name {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.125rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .bl_footerCorp_name {
    font-size: 1.25rem;
    order: 3;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .bl_footerCorp_link {
    text-align: center;
  }
}

/* contact
================================== */
.bl_footerContact {
  display: grid;
  gap: 10px 0;
  margin-bottom: 11px;
}
@media screen and (min-width: 768px) {
  .bl_footerContact {
    display: flex;
    gap: 0 20px;
    margin-bottom: 17px;
  }
}
.bl_footerContact dt {
  text-transform: uppercase;
  color: #54bb00;
}
.bl_footerContact dd a {
  color: #333;
  text-decoration: none;
}

.bl_footerCorp_address {
  font-family: "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .bl_footerCorp_address {
    margin-bottom: 18px;
  }
}

.bl_footerContact_item {
  display: flex;
  gap: 0 0.5em;
}

/* message
================================== */
.bl_footerMessage {
  flex-shrink: 1;
  padding: 30px 20px;
  background: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
}
@media screen and (min-width: 768px) {
  .bl_footerMessage {
    padding: 30px;
    border-radius: 8px;
  }
}

.bl_footerMessage_header {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1rem;
  margin-bottom: 20px;
  padding: 20px 20px;
  background-image: linear-gradient(to right, rgb(254, 246, 236) 50%, #fff);
  border-radius: 8px;
  color: #ff7923;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .bl_footerMessage_header {
    font-size: 1.125rem;
  }
}

.bl_footerMessage_body {
  font-weight: 500;
}
.bl_footerMessage_body p:not(:last-child) {
  margin-bottom: 1.6em;
}

/* ======================================
  header
===================================== */
.bl_headerLogo {
  width: 140px;
  position: relative;
  z-index: 1;
  pointer-events: auto;
}
@media screen and (min-width: 768px) {
  .bl_headerLogo {
    width: 225px;
  }
}

/* cta
================================== */
.bl_headerCta {
  font-family: "Zen Maru Gothic", sans-serif;
  display: flex;
  align-items: center;
  font-weight: bold;
}
@media screen and (min-width: 960px) {
  .bl_headerCta {
    gap: 0 24px;
  }
}

.bl_headerCta_link {
  font-size: 0.625rem;
  display: flex;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .bl_headerCta_link {
    flex-direction: column;
    align-items: center;
    width: 64px;
    height: 64px;
    padding-top: 15px;
  }
}
@media screen and (min-width: 768px) and (max-width: 959px) {
  .bl_headerCta_link {
    font-size: 0.75rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 90px;
    height: 90px;
    font-weight: bold;
  }
}
.bl_headerCta_link.__tel {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  display: flex;
  font-weight: bold;
  text-decoration: none;
  color: #5f4119;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .bl_headerCta_link.__tel {
    padding-top: 13px;
  }
  .bl_headerCta_link.__tel img {
    width: 24px;
  }
}
@media screen and (min-width: 768px) and (max-width: 959px) {
  .bl_headerCta_link.__tel img {
    width: 32px;
  }
}
@media screen and (min-width: 768px) {
  .bl_headerCta_link.__tel {
    font-size: 1.75rem;
    align-items: center;
    gap: 0 5px;
  }
}
@media screen and (min-width: 960px) {
  .bl_headerCta_link.__tel {
    font-weight: 500;
  }
}
.bl_headerCta_link.__request {
  color: #fff8a6;
}
@media screen and (max-width: 767px) {
  .bl_headerCta_link.__request {
    background: #54bb00;
  }
  .bl_headerCta_link.__request img {
    width: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 959px) {
  .bl_headerCta_link.__request {
    background: #54bb00;
    border-right: 1px solid #F3F8ED;
  }
  .bl_headerCta_link.__request img {
    width: 32px;
  }
}
@media screen and (min-width: 960px) {
  .bl_headerCta_link.__request {
    width: 184px;
    height: 64px;
    background: url(../img/common/btn_request.png) center top no-repeat;
    background-size: 184px 64px;
    filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.2));
    transition: 0.1s;
  }
  .bl_headerCta_link.__request:hover {
    background: url(../img/common/btn_request_on.png) center top no-repeat;
    background-size: 184px 64px;
    filter: none;
    transition: 0.1s;
  }
}
.bl_headerCta_link.__demo {
  color: #5f4119;
}
@media screen and (max-width: 767px) {
  .bl_headerCta_link.__demo {
    background: #ffd11b;
  }
  .bl_headerCta_link.__demo img {
    width: 35px;
  }
}
@media screen and (min-width: 768px) and (max-width: 959px) {
  .bl_headerCta_link.__demo {
    background: #ffd11b;
  }
  .bl_headerCta_link.__demo img {
    width: auto;
    height: 32px;
  }
}
@media screen and (min-width: 960px) {
  .bl_headerCta_link.__demo {
    width: 184px;
    height: 64px;
    background: url(../img/common/btn_demo.png) center top no-repeat;
    background-size: 184px 64px;
    filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.15));
    transition: 0.1s;
  }
  .bl_headerCta_link.__demo:hover {
    background: url(../img/common/btn_demo_on.png) center top no-repeat;
    background-size: 184px 64px;
    filter: none;
    transition: 0.1s;
  }
}

@media screen and (max-width: 959px) {
  .bl_headerCta_txt {
    margin-top: 7px;
  }
  .bl_headerCta_txt span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
}
@media screen and (min-width: 960px) {
  .bl_headerCta_txt {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 959px) {
  .bl_headerCta_txt {
    font-size: 0.75rem;
    font-weight: bold;
  }
}
@media screen and (max-width: 959px) {
  .bl_headerCta_txt.__tel {
    margin-top: 5px;
  }
}

@media screen and (max-width: 959px) {
  .bl_headerCta_num {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
}

/* ======================================
  button
===================================== */
.el_requestBtn {
  display: block;
  width: 298px;
  height: 82px;
  margin: 0 auto;
  background: url(../img/common/btn_request2_sp.png) center top no-repeat;
  background-size: 298px 82px;
}
@media screen and (min-width: 768px) {
  .el_requestBtn {
    width: 400px;
    height: 98px;
    background: url(../img/common/btn_request2.png) center top no-repeat;
    background-size: 400px 96px;
    filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.2));
    transition: 0.1s;
  }
  .el_requestBtn:hover {
    background: url(../img/common/btn_request2_on.png) center bottom no-repeat;
    background-size: 400px 96px;
    filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.2));
    transition: 0.1s;
  }
}

/* contact
================================== */
.el_contactBtn {
  display: block;
  width: 298px;
  height: 82px;
  margin: 0 auto;
  background: url(../img/common/btn_contact_sp.png) center top no-repeat;
  background-size: 298px 78px;
}
@media screen and (min-width: 768px) {
  .el_contactBtn {
    width: 400px;
    height: 84px;
    background: url(../img/common/btn_contact.png) center top no-repeat;
    background-size: 400px 84px;
    filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.2));
    transition: 0.1s;
  }
  .el_contactBtn:hover {
    background: url(../img/common/btn_contact_on.png) center bottom no-repeat;
    background-size: 400px 84px;
    filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0));
    transition: 0.1s;
  }
}

/* more
================================== */
.el_moreBtn {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.125rem;
  width: 100%;
  margin: 0 auto;
  padding: 11px 55px 10px;
  background: #f5f5f5 url(../img/common/ico_arrow_down.svg) center right 20px no-repeat;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .el_moreBtn {
    font-size: 1.25rem;
    width: 557px;
    padding: 11px 55px;
    transition: 0.1s;
  }
  .el_moreBtn:hover {
    background-color: #d9d9d9;
    transition: 0.1s;
  }
}
.el_moreBtn.is_open {
  background: #d9d9d9 url(../img/common/ico_arrow_up.svg) center right 20px no-repeat;
}
@media screen and (min-width: 768px) {
  .el_moreBtn.is_open:hover {
    background-color: #f5f5f5;
    transition: 0.1s;
  }
}

/* confirm
================================== */
.el_confirmBtn {
  display: block;
  width: 298px;
  height: 70px;
  margin: 0 auto;
  background: url(../img/common/btn_confirm_sp.png) center top no-repeat;
  background-size: 298px 70px;
}
@media screen and (min-width: 768px) {
  .el_confirmBtn {
    width: 408px;
    height: 90px;
    background: url(../img/common/btn_confirm.png) center top no-repeat;
    background-size: 409px 88px;
    filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.2));
    transition: 0.1s;
  }
  .el_confirmBtn:hover {
    background: url(../img/common/btn_confirm_on.png) center bottom no-repeat;
    background-size: 409px 90px;
    filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0));
    transition: 0.1s;
  }
}

/* submit
================================== */
.el_submitBtn {
  display: block;
  width: 298px;
  height: 70px;
  margin: 0 auto;
  background: url(../img/common/btn_submit_sp.png) center top no-repeat;
  background-size: 298px 70px;
}
@media screen and (min-width: 768px) {
  .el_submitBtn {
    width: 408px;
    height: 90px;
    background: url(../img/common/btn_submit.png) center top no-repeat;
    background-size: 409px 88px;
    filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.2));
    transition: 0.1s;
  }
  .el_submitBtn:hover {
    background: url(../img/common/btn_submit_on.png) center bottom no-repeat;
    background-size: 409px 90px;
    filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0));
    transition: 0.1s;
  }
}

/* back
================================== */
.el_backBtn {
  display: block;
  width: 298px;
  height: 70px;
  margin: 0 auto;
  background: url(../img/common/btn_backhome_sp.png) center top no-repeat;
  background-size: 298px 70px;
}
@media screen and (min-width: 768px) {
  .el_backBtn {
    width: 408px;
    height: 90px;
    background: url(../img/common/btn_backhome.png) center top no-repeat;
    background-size: 409px 88px;
    filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.2));
    transition: 0.1s;
  }
  .el_backBtn:hover {
    background: url(../img/common/btn_backhome_on.png) center bottom no-repeat;
    background-size: 409px 90px;
    filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0));
    transition: 0.1s;
  }
}

/* privacy
================================== */
.el_privacyBtn {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 0.875rem;
  display: inline-block;
  padding: 10px 40px 10px 10px;
  border: solid 1px #ffa61b;
  background: #fff url(../img/common/ico_arrow_r.svg) right 10px center no-repeat;
  border-radius: 4px;
  text-decoration: none;
  font-weight: bold;
  color: #333;
}
@media screen and (min-width: 768px) {
  .el_privacyBtn {
    font-size: 1rem;
    min-width: 210px;
    transition: 0.2s;
  }
  .el_privacyBtn:hover {
    background-color: #fff8a6;
    transition: 0.2s;
  }
}

/* ======================================
  form
===================================== */
.el_formLabel,
.el_formLegend {
  font-size: 0.875rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.8em;
  margin-bottom: 10px;
  font-weight: bold;
  color: #5f4119;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .el_formLabel,
  .el_formLegend {
    font-size: 1rem;
    margin-bottom: 10px;
  }
}
.el_formLabel.__narrow,
.el_formLegend.__narrow {
  gap: 0.3em;
}

.el_formField {
  font-size: 1rem;
  width: 100%;
  padding: 9px 15px;
  border: 1px solid #d9d9d9;
  border-radius: 5px;
}
@media screen and (min-width: 768px) {
  .el_formField {
    width: 300px;
  }
}
@media screen and (min-width: 768px) {
  .el_formField.__lg {
    width: 560px;
  }
}
.el_formField.__sm {
  width: 150px;
}
@media screen and (min-width: 768px) {
  .el_formField.__sm {
    width: 108px;
  }
}
@media screen and (max-width: 767px) {
  .el_formField.__tel {
    width: 180px;
  }
}
@media screen and (max-width: 767px) {
  .el_formField.__address {
    min-height: 68px;
  }
}
@media screen and (min-width: 768px) {
  .el_formField.__address {
    width: 560px;
  }
}
.el_formField::-moz-placeholder {
  font-weight: bold;
  color: #969696;
}
.el_formField::placeholder {
  font-weight: bold;
  color: #969696;
}

/* checkbox
================================== */
.el_formCheckbox {
  position: relative;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin: 0;
  border: 1px solid #d9d9d9;
  border-radius: 2px;
  background-color: #fff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}
.el_formCheckbox::after {
  content: "";
  width: 5px;
  height: 9px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  opacity: 0;
  transform: rotate(45deg);
  position: absolute;
  top: 2px;
  left: 5px;
}
.el_formCheckbox:checked {
  border-color: #ed4b00;
  background-color: #ed4b00;
}
.el_formCheckbox:checked::after {
  opacity: 1;
}
.el_formCheckbox:focus-visible {
  outline: 2px solid #333;
  outline-offset: 3px;
}
.el_formCheckbox:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

label {
  cursor: pointer;
}

/* fieldset
================================== */
.el_fromFieldset {
  border: none;
}

/* required
================================== */
.el_formRequired {
  font-size: 0.75rem;
  display: inline-block;
  padding: 2px 7px;
  border: 1px solid #e84709;
  border-radius: 4px;
  color: #e84709;
  font-weight: bold;
}

/* ======================================
  img
===================================== */
.el_fullImg {
  width: 100%;
  height: auto;
}

/* ======================================
  text
===================================== */
.el_txt {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .el_txt {
    font-size: 1rem;
  }
}

.el_smTxt {
  font-size: 0.625rem;
  font-weight: 500;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .el_smTxt {
    font-size: 0.75rem;
  }
}

/* 新しくウインドウを開く
================================== */
.el_txtWin {
  display: inline-flex;
  align-items: center;
  gap: 0 3px;
  margin-right: 0.3em;
}
.el_txtWin::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background: url(../img/common/ico_win.svg) center left no-repeat;
  background-size: cover;
}

/* =====================================
  faq
===================================== */
.faq {
  padding: 60px 20px 80px;
}
@media screen and (min-width: 768px) {
  .faq {
    padding: 60px 40px;
    background: url(../img/faq/qa_bg.png) left top repeat;
    background-size: 1440px auto;
  }
}

.faq_ttl {
  margin-bottom: 40px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .faq_ttl {
    margin-bottom: 50px;
  }
}
.faq_ttl img {
  display: inline-block;
}
.faq_ttl span {
  font-size: 1.125rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  color: #5f4119;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .faq_ttl span {
    font-size: 1.25rem;
  }
}
.faq_ttl span {
  display: block;
  margin-top: 10px;
}

.faq_list {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .faq_list {
    max-width: 1000px;
  }
}

.faq_item {
  border: 1px solid #d9d9d9;
  border-radius: 16px;
  overflow: hidden;
}
.faq_item:not(:last-child) {
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .faq_item:not(:last-child) {
    margin-bottom: 20px;
  }
}

.faq_q {
  background: #fff;
}

.faq_btn {
  font-size: 1.125rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  color: #5f4119;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .faq_btn {
    font-size: 1.25rem;
  }
}
.faq_btn {
  display: grid;
  grid-template-columns: 40px auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: 100%;
  padding: 20px;
  background: #fff;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .faq_btn {
    padding: 30px;
  }
}

.faq_a {
  display: grid;
  grid-template-rows: 0fr;
  margin-left: 0;
  background: #f3f8ed;
  visibility: hidden;
  opacity: 0;
  transition: grid-template-rows 0.35s ease, opacity 0.25s ease, visibility 0s 0.35s;
}

.faq_a_inner {
  min-height: 0;
}

.faq_a_cont {
  display: grid;
  grid-template-columns: 40px auto;
  gap: 10px;
  padding: 20px;
}
@media screen and (min-width: 768px) {
  .faq_a_cont {
    padding: 30px;
  }
}

.faq_a_txt:not(:last-child) {
  margin-bottom: 1em;
}

/* =====================================
  feature
===================================== */
.feature {
  padding: 40px 20px;
  background: url(../img/feature/feature_bg_sp.svg) -20px -95px no-repeat;
}
@media screen and (min-width: 768px) {
  .feature {
    padding: 80px 40px;
    background: url(../img/feature/feature_bg.svg) calc(50% - 144px) -96px no-repeat;
  }
}

.feature_ttl {
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .feature_ttl {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 0 34px;
    margin-bottom: 40px;
  }
}

.feature_logo {
  margin: 0 auto 20px;
}
@media screen and (max-width: 767px) {
  .feature_logo {
    width: 211px;
  }
}
@media screen and (min-width: 768px) {
  .feature_logo {
    margin: 10px 0 0;
  }
}

@media screen and (max-width: 767px) {
  .feature_ttl_img {
    width: 350px;
    margin: 0 auto;
  }
}

.feature_list {
  display: grid;
  gap: 20px 0;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .feature_list {
    gap: 30px 0;
    max-width: 1000px;
  }
}

.feature_media {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 960px) {
  .feature_media {
    flex-direction: row;
    gap: 0 16px;
  }
}
@media screen and (min-width: 960px) {
  .feature_media:nth-child(even) .feature_media_main {
    order: 2;
    background-image: linear-gradient(to right, #fff 0%, #fef6ec 50%);
    border-radius: 0 16px 16px 0;
  }
}
@media screen and (min-width: 960px) {
  .feature_media:nth-child(even) .feature_media_imgWrap {
    order: 1;
  }
}

.feature_media_main {
  padding: 20px 20px 30px;
  background-image: linear-gradient(to top, #fef6ec 50%, #fff);
  border-radius: 0 0 16px 16px;
}
@media screen and (max-width: 959px) {
  .feature_media_main {
    order: 2;
  }
}
@media screen and (min-width: 768px) and (max-width: 959px) {
  .feature_media_main {
    padding: 50px 30px 30px;
  }
}
@media screen and (min-width: 960px) {
  .feature_media_main {
    padding: 50px 30px;
    background-image: linear-gradient(to right, #fef6ec 50%, #fff);
    border-radius: 16px 0 0 16px;
  }
}

.feature_media_ttl {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.5rem;
  display: grid;
  grid-template-columns: 48px auto;
  gap: 0 10px;
  margin-bottom: 18px;
  color: #5f4119;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .feature_media_ttl {
    font-size: 1.75rem;
    grid-template-columns: 56px auto;
    margin-bottom: 27px;
  }
}
.feature_media_ttl b {
  color: #ff7923;
}

@media screen and (max-width: 767px) {
  .feature_media_num {
    width: 48px;
    height: 53px;
  }
}

.feature_media_imgWrap {
  flex-shrink: 0;
}
@media screen and (max-width: 959px) {
  .feature_media_imgWrap {
    order: 1;
    margin: 0 auto;
  }
}
@media screen and (min-width: 960px) and (max-width: 1079px) {
  .feature_media_imgWrap {
    width: 40%;
  }
  .feature_media_imgWrap img {
    width: 100%;
  }
}

/* =====================================
  flow
===================================== */
.flow {
  border-bottom: 1px solid #d9d9d9;
  background-image: linear-gradient(to bottom, #fff, rgb(237, 249, 224));
}
.flow_inner {
  padding: 40px 0 60px;
}
@media screen and (min-width: 768px) {
  .flow_inner {
    padding: 130px 40px 80px;
    background: url(../img/flow/flow_img01.png) calc(50% + 390px) top no-repeat;
    background-size: 734px auto;
  }
}

@media screen and (max-width: 767px) {
  .flow_header {
    padding: 0 20px 290px;
    background: url(../img/flow/flow_img01_sp.png) center bottom no-repeat;
    background-size: 439px auto;
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .flow_header {
    max-width: 1200px;
    margin: 0 auto 116px;
  }
}

.flow_ttl {
  width: 342px;
  margin: 0 auto 26px;
}
@media screen and (min-width: 768px) {
  .flow_ttl {
    width: 494px;
    margin: 0 0 35px;
  }
}

.flow_desc {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1rem;
  display: inline-block;
  font-weight: 500;
  color: #5f4119;
  text-align: left;
}
@media screen and (min-width: 768px) and (max-width: 1079px) {
  .flow_desc {
    max-width: 494px;
  }
}
@media screen and (min-width: 768px) {
  .flow_desc {
    font-size: 1.125rem;
    width: 640px;
  }
}

.flow_list {
  display: grid;
  gap: 10px 0;
  margin: 0 20px;
}
@media screen and (min-width: 768px) {
  .flow_list {
    gap: 10px 0;
    max-width: 1000px;
    margin: 0 auto;
  }
}

.flow_list_step {
  display: grid;
  grid-template-columns: 40px auto;
  gap: 0 20px;
}
@media screen and (min-width: 768px) {
  .flow_list_step {
    grid-template-columns: 80px auto;
    gap: 0 30px;
  }
}
.flow_list_step:last-child .flow_list_num::before {
  display: none;
}

.flow_list_main {
  padding: 30px 20px;
  border: 1px solid #d9d9d9;
  background: #fff;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .flow_list_main {
    padding: 30px;
  }
}

.flow_list_ttl {
  font-size: 1.25rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  color: #5f4119;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .flow_list_ttl {
    font-size: 1.5rem;
  }
}
.flow_list_ttl {
  margin-bottom: 19px;
}
@media screen and (min-width: 768px) {
  .flow_list_ttl {
    margin-bottom: 17px;
  }
}
.flow_list_ttl span {
  background: linear-gradient(transparent 65%, #fff8a6 65%, #fff8a6 94%, transparent 94%, transparent 100%);
}

.flow_list_num {
  position: relative;
}
@media screen and (max-width: 767px) {
  .flow_list_num {
    width: 40px;
  }
}
.flow_list_num::before {
  content: "";
  display: block;
  width: 2px;
  height: calc(100% + 10px);
  background: #5f4119;
  position: absolute;
  left: 19px;
}
@media screen and (min-width: 768px) {
  .flow_list_num::before {
    left: 39px;
  }
}
.flow_list_num img {
  position: relative;
}

/* =====================================
  top / .mv_
===================================== */
.mv {
  width: 100%;
  overflow: hidden;
}
@media screen and (min-width: 960px) {
  .mv {
    display: flex;
    justify-content: center;
    height: 580px;
    background: url(../img/mv/mv_bg.jpg) center bottom no-repeat;
    background-size: cover;
    overflow: hidden;
  }
}

.mv_inner {
  position: relative;
}
@media screen and (max-width: 959px) {
  .mv_inner {
    overflow: hidden;
  }
}
@media screen and (min-width: 960px) {
  .mv_inner {
    width: 1440px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 960px) and (max-width: 1079px) {
  .mv_inner {
    margin-left: 100px;
  }
}

@media screen and (max-width: 767px) {
  .mv_imgWrap {
    width: 100%;
    overflow: hidden;
  }
}

.mv_img {
  display: block;
}
@media screen and (max-width: 959px) {
  .mv_img {
    width: 100%;
    height: auto;
  }
}
@media screen and (min-width: 960px) {
  .mv_img {
    width: 1467px;
    max-width: 1467px;
    height: 580px;
    margin: 0 auto;
    position: relative;
    right: -45px;
  }
}

.mv_img2 {
  display: block;
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 960px) {
  .mv_img2 {
    width: 1467px;
    max-width: 1467px;
    height: 580px;
    position: relative;
    right: -45px;
  }
}

.mv_cta {
  text-align: center;
  position: relative;
}
@media screen and (max-width: 959px) {
  .mv_cta {
    padding: 8px 0 10px;
    background-image: linear-gradient(115deg, rgb(255, 166, 27) 0%, rgb(255, 121, 35) 100%);
  }
}
@media screen and (min-width: 960px) and (max-width: 1079px) {
  .mv_cta {
    left: 656px;
  }
}
@media screen and (min-width: 960px) {
  .mv_cta {
    width: 464px;
    min-height: 312px;
    padding: 20px 32px 0;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 16px;
    position: absolute;
    top: 228px;
    left: 756px;
  }
}

@media screen and (max-width: 959px) {
  .mv_cta_inner {
    padding: 5px 20px;
    background-color: rgba(255, 251, 210, 0.1);
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.15);
  }
}

@media screen and (max-width: 959px) {
  .mv_cta_box {
    margin: 0 auto;
    padding: 16px 14px 0;
    border-radius: 4px;
    background-image: linear-gradient(to bottom, rgb(255, 255, 255), rgba(255, 255, 255, 0.7));
  }
}

.mv_cta_ttl {
  width: 318px;
  margin: 0 auto 8px;
}
@media screen and (min-width: 768px) and (max-width: 959px) {
  .mv_cta_ttl img {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .mv_cta_ttl {
    margin-bottom: 15px;
    width: 400px;
  }
}

.mv_cta_btn {
  display: block;
  margin: 0 auto;
  background: url(../img/common/btn_request2_sp.png) center top no-repeat;
  background-size: 298px 82px;
}
@media screen and (max-width: 767px) {
  .mv_cta_btn {
    width: 100%;
    min-width: 298px;
    height: auto;
    min-height: 82px;
  }
}
@media screen and (min-width: 768px) {
  .mv_cta_btn {
    width: 400px;
    height: 98px;
    background: url(../img/common/btn_request2.png) center top no-repeat;
    background-size: 400px 96px;
    filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.2));
    transition: 0.1s;
  }
  .mv_cta_btn:hover {
    background: url(../img/common/btn_request2_on.png) center bottom no-repeat;
    background-size: 400px 96px;
    filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.2));
    transition: 0.1s;
  }
}

/* =====================================
  onsite
===================================== */
.onsite {
  padding: 28px 20px 60px;
  background: url(../img/onsite/onsite_bg_sp.svg) left bottom no-repeat;
  background-size: cover;
  border-bottom: 1px solid #d9d9d9;
}
@media screen and (min-width: 768px) {
  .onsite {
    padding: 40px 20px 40px 40px;
    background: url(../img/onsite/onsite_bg.svg) left bottom no-repeat;
    background-size: cover;
  }
}

.onsite_inner {
  display: grid;
  margin: 0 auto;
  max-width: 480px;
}
@media screen and (min-width: 768px) {
  .onsite_inner {
    grid-template-columns: auto 300px;
    justify-content: center;
    align-items: center;
    gap: 20px;
    max-width: 920px;
  }
}

@media screen and (max-width: 767px) {
  .onsite_main {
    order: 2;
  }
}
@media screen and (min-width: 768px) {
  .onsite_main {
    max-width: 600px;
  }
}
@media screen and (min-width: 1080px) {
  .onsite_main {
    width: 600px;
  }
}

.onsite_ttl {
  width: 340px;
  margin: -84px 0 18px;
}
@media screen and (min-width: 768px) {
  .onsite_ttl {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 11px;
    max-width: 590px;
    margin: 0 0 20px;
  }
}
@media screen and (min-width: 1080px) {
  .onsite_ttl {
    width: 590px;
  }
}

@media screen and (max-width: 767px) {
  .onsite_ttl1 {
    margin-bottom: 20px;
  }
}

.onsite_txt {
  margin-bottom: 20px;
}

.onsite_sect_ttl {
  font-size: 1rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  color: #5f4119;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .onsite_sect_ttl {
    font-size: 1.125rem;
  }
}
.onsite_sect_ttl {
  margin-bottom: 20px;
  padding: 0 0 0 6px;
  border-left: solid 4px rgb(182, 232, 138);
}
@media screen and (min-width: 768px) {
  .onsite_sect_ttl {
    margin-bottom: 16px;
  }
}

.onsite_sect_list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
  color: #5f4119;
}
@media screen and (min-width: 768px) {
  .onsite_sect_list {
    margin-bottom: 20px;
  }
}
.onsite_sect_list li {
  padding: 5px 10px;
  background: #fef6ec;
}

.onsite_sect_note {
  font-size: 0.625rem;
  font-weight: 500;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .onsite_sect_note {
    font-size: 0.75rem;
  }
}

@media screen and (max-width: 767px) {
  .onsite_fig {
    order: 1;
    width: 205px;
    margin: 0 13px 0 auto;
  }
}

/* =====================================
  price
===================================== */
.price {
  padding: 36px 15px 60px;
  background: #fef6ec;
}
@media screen and (min-width: 768px) {
  .price {
    padding: 60px 40px 80px;
    background: url(../img/price/price_bg.png);
    background-size: 1440px auto;
  }
}

.price_ttl {
  width: 281px;
  margin: 0 auto;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .price_ttl {
    width: 505px;
  }
}

.price_frame {
  margin: 0 auto;
  padding: 30px 14px 40px;
  background: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .price_frame {
    max-width: 1200px;
    padding: 60px 40px 80px;
  }
}
@media screen and (min-width: 1280px) {
  .price_frame {
    padding: 60px 98px 80px;
  }
}

@media screen and (min-width: 768px) {
  .price_frame_inner {
    max-width: 1000px;
    margin-inline: auto;
  }
}

.price_box {
  margin: 0 5px 30px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .price_box {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0 auto 50px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .price_box {
    flex-direction: column;
    align-items: center;
  }
}
.price_box img {
  display: inline-block;
}

.price_box_monthly {
  display: grid;
  padding: 30px 20px;
  border: 2px solid #ffd11b;
  border-radius: 16px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .price_box_monthly {
    grid-template-columns: auto 360px;
    gap: 0 16px;
    max-width: 656px;
  }
}

.price_box_initial {
  padding: 30px 20px;
  border: 2px solid #ffd11b;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .price_box_initial {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 280px;
  }
}

.price_box_ttl {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .price_box_ttl {
    margin-bottom: 23px;
  }
}
.price_box_ttl img {
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .price_box_ttl img {
    margin-bottom: 18px;
  }
}
.price_box_ttl span {
  font-size: 1.25rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  color: #5f4119;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .price_box_ttl span {
    font-size: 1.5rem;
  }
}
.price_box_ttl span {
  display: block;
  width: 240px;
  margin: 0 auto;
  padding: 10px;
  text-align: center;
  background-image: linear-gradient(12deg, #edf9e0 0%, #fff8a6 100%);
  border-radius: 10em;
}
@media screen and (min-width: 768px) {
  .price_box_ttl span {
    width: 100%;
  }
}

.price_box_cost span {
  display: block;
}
.price_box_cost.__initial {
  margin-top: 35px;
}
@media screen and (min-width: 768px) {
  .price_box_cost.__initial {
    margin-top: 12px;
  }
}

.price_box_note {
  font-size: 0.625rem;
  margin-top: 10px;
  font-weight: 500;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .price_box_note {
    font-size: 0.75rem;
    margin-top: 14px;
  }
}

.price_box_plus {
  display: grid;
  place-content: center;
}
@media screen and (max-width: 767px) {
  .price_box_plus {
    margin: 16px auto;
  }
}

/* list
================================== */
.price_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin: 0 auto 30px;
}
@media screen and (min-width: 768px) {
  .price_list {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin: 0 0 40px;
  }
}

/* note
================================== */
.price_note {
  margin-bottom: 40px;
  padding: 20px;
  background: #f3f8ed;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .price_note {
    margin-bottom: 80px;
    padding: 30px;
  }
}
.price_note li {
  display: flex;
  gap: 0 10px;
}
.price_note li::before {
  content: "";
  flex-shrink: 0;
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-top: 10px;
  background: #ffa61b;
}
@media screen and (min-width: 768px) {
  .price_note li::before {
    margin-top: 12px;
  }
}
.price_note li:not(:last-child) {
  margin-bottom: 16px;
}

/* sect
================================== */
.price_sect:not(:last-child) {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .price_sect {
    max-width: 1000px;
    margin-inline: auto;
  }
}

.price_sect_ttl {
  font-size: 1.5rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  color: #5f4119;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .price_sect_ttl {
    font-size: 1.75rem;
  }
}
.price_sect_ttl {
  width: 100%;
  margin-bottom: 30px;
  padding: 12px 20px 15px;
  text-align: center;
  background-color: #fff8a6;
  clip-path: polygon(0 0, 100% 0, calc(100% - 16px) 50%, 100% 100%, 0 100%, 16px 50%);
}
@media screen and (min-width: 768px) {
  .price_sect_ttl {
    margin-bottom: 50px;
    padding: 15px 60px;
    clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 50%, 100% 100%, 0 100%, 18px 50%);
  }
}
.price_sect_ttl b {
  color: #ff7923;
}
@media screen and (max-width: 767px) {
  .price_sect_ttl.__high {
    padding: 8px 20px 8px;
  }
}

/* tableOuter
================================== */
.price_tableOuter {
  position: relative;
}

/* hint
================================== */
.price_hint {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: 62px;
  height: 62px;
  background: url("../img/price/ico_scroll.svg") no-repeat center/contain;
  transform: translate(-50%, -50%);
  pointer-events: none;
  transition: opacity 0.3s, visibility 0.3s;
}
.price_hint.is_hidden {
  visibility: hidden;
  opacity: 0;
}
.price_hint[hidden] {
  display: none;
}

/* table
================================== */
.price_tableWrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.price_table {
  min-width: 1000px;
  border-right: 1px solid #d9d9d9;
  border-bottom: 1px solid #d9d9d9;
  border-spacing: 0;
}
.price_table th,
.price_table td {
  text-align: center;
}
.price_table th span,
.price_table td span {
  display: block;
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .price_table tbody .price_table_th {
    width: 120px;
  }
}
@media screen and (max-width: 767px) {
  .price_table {
    width: 100%;
    min-width: 880px;
    border-spacing: 0;
  }
}

.price_table_none {
  border: none;
}

.price_table_th {
  font-size: 1.25rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  color: #5f4119;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .price_table_th {
    font-size: 1.5rem;
  }
}
.price_table_th {
  width: 250px;
  height: 150px;
  background: #f5f5f5;
  border-top: 1px solid #d9d9d9;
  border-left: 1px solid #d9d9d9;
}

.price_table_td {
  font-size: 1.25rem;
  width: 250px;
  height: 150px;
  border-top: 1px solid #d9d9d9;
  border-left: 1px solid #d9d9d9;
  font-weight: 500;
}

.price_table_ours {
  border-right: 4px solid #ed4b00;
  border-left: 4px solid #ed4b00;
  position: relative;
}
.price_table_ours::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #d9d9d9;
  position: absolute;
  bottom: -1px;
}
.price_table_ours.__grad {
  background-image: linear-gradient(to right, #fef6ec 50%, #fff);
  border-top: 4px solid #ed4b00;
}
.price_table_ours.__last {
  border-bottom: 4px solid #ed4b00;
}
.price_table_ours.__last::after {
  display: none;
}
.price_table_ours strong {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-size: 2.5rem;
  font-weight: bold;
  color: #e84709;
  background: linear-gradient(transparent 65%, #fff8a6 65%, #fff8a6 94%, transparent 94%, transparent 100%);
}
.price_table_ours strong small {
  font-family: "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: 1.25rem;
  font-weight: 800;
  margin-left: 3px;
}

.price_table_logo {
  width: 210px;
  margin: 0 auto;
}

/* card
================================== */
.price_cards {
  display: grid;
  gap: 20px 0;
}
@media screen and (min-width: 768px) {
  .price_cards {
    grid-template-columns: 1fr 1fr;
    gap: 0 20px;
  }
}

.price_card {
  display: grid;
  gap: 14px 0;
  padding: 20px;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
}
@media screen and (min-width: 1080px) {
  .price_card {
    grid-template-columns: 110px auto;
    gap: 0 20px;
    padding: 40px 20px;
  }
}

.price_card_main {
  order: 2;
}
@media screen and (max-width: 767px) {
  .price_card_main {
    text-align: center;
  }
}

.price_card_ttl {
  font-size: 1.25rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  color: #5f4119;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .price_card_ttl {
    font-size: 1.5rem;
  }
}
.price_card_ttl {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 5px;
  margin-bottom: 19px;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .price_card_ttl {
    justify-content: center;
  }
}
@media screen and (min-width: 768px) {
  .price_card_ttl {
    gap: 0 10px;
    margin-bottom: 12px;
  }
}
.price_card_ttl span {
  font-size: 1rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  color: #5f4119;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .price_card_ttl span {
    font-size: 1.125rem;
  }
}
.price_card_ttl span {
  display: block;
  padding: 6px 5px;
  background: #ffa61b;
  border-radius: 4px;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .price_card_txt {
    font-size: 1rem;
    display: inline-block;
    width: auto;
    margin: 0 auto;
    text-align: left;
  }
}

.price_card_imgWrap {
  order: 1;
  text-align: center;
}
.price_card_imgWrap img {
  display: inline-block;
}

/* =====================================
  request
===================================== */
.request {
  padding: 40px 20px 70px;
  background-image: linear-gradient(39deg, #edf9e0 0%, #fff8a6 100%);
}
@media screen and (min-width: 768px) {
  .request {
    padding: 80px 40px;
    background-image: linear-gradient(39deg, #edf9e0 0%, #fff8a6 100%);
  }
}

.request_frame {
  border-bottom: 2px solid #ff7923;
  border-radius: 16px;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .request_frame {
    max-width: 1000px;
    margin: 0 auto;
  }
}

.request_header {
  padding: 9px 10px;
  background: #ff7923;
  border-radius: 16px 16px 0 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .request_header {
    padding: 5px 10px;
  }
}

.request_ttl {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.5rem;
  display: inline-block;
  width: 296px;
  text-align: center;
  color: #fff;
  position: relative;
}
@media screen and (min-width: 768px) {
  .request_ttl {
    font-size: 1.75rem;
    width: 432px;
  }
}
.request_ttl span {
  font-size: 2rem;
  color: #fff8a6;
}
@media screen and (min-width: 768px) {
  .request_ttl span {
    font-size: 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  .request_ttl::before {
    content: "";
    display: block;
    width: 89px;
    height: 96px;
    background: url(../img/request/request_doc.png);
    background-size: cover;
    position: absolute;
    bottom: -9px;
  }
}

.request_main {
  padding: 40px 0;
  border-right: 2px solid #ff7923;
  border-left: 2px solid #ff7923;
  border-radius: 0 0 16px 16px;
}
@media screen and (min-width: 768px) {
  .request_main {
    padding: 40px 30px 50px;
  }
}

.request_main_ttl {
  font-size: 1.5rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  color: #5f4119;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .request_main_ttl {
    font-size: 1.75rem;
  }
}
.request_main_ttl {
  margin: 0 20px 20px;
  padding: 10px 20px;
  text-align: center;
  background: #edf9e0;
  clip-path: polygon(0 0, 100% 0, calc(100% - 16px) 50%, 100% 100%, 0 100%, 16px 50%);
}
@media screen and (min-width: 768px) {
  .request_main_ttl {
    max-width: 920px;
    margin: 0 auto 30px;
    padding: 10px 60px;
    clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 50%, 100% 100%, 0 100%, 18px 50%);
  }
}

.request_main_lead {
  margin: 0 20px 20px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .request_main_lead {
    margin: 0 40px 30px;
  }
}

/* form
================================== */
.request_form {
  margin: 0 auto;
}

.request_item {
  max-width: 780px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .request_item {
    padding-right: 20px;
    padding-left: 20px;
  }
}
.request_item:not(:last-of-type) {
  margin-bottom: 30px;
}
.request_item.__wide {
  padding-right: 5px;
}

.request_address {
  display: grid;
  align-items: center;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .request_address {
    grid-template-columns: 4rem auto;
  }
}
.request_address:not(:last-child) {
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .request_address:not(:last-child) {
    margin-bottom: 10px;
  }
}

.request_multiple {
  font-size: 0.625rem;
  font-weight: 500;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .request_multiple {
    font-size: 0.75rem;
  }
}
.request_multiple {
  color: #333;
}

.request_checks {
  margin-top: 4px;
  margin-bottom: 20px;
}

.request_check {
  display: flex;
  align-items: center;
  gap: 10px;
}
.request_check:not(:last-child) {
  margin-bottom: 10px;
}

.request_notes {
  font-size: 0.625rem;
  font-weight: 500;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .request_notes {
    font-size: 0.75rem;
  }
}
.request_notes {
  display: grid;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .request_notes {
    gap: 10px;
  }
}
.request_notes li span {
  margin-right: 1em;
}

/* consent
================================== */
.request_consent {
  margin: 30px 20px 0;
  padding-top: 20px;
  border-top: 1px solid #54bb00;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .request_consent {
    margin: 40px 0 0;
    padding-top: 30px;
  }
}

.request_consent_txt {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .request_consent_txt {
    margin-bottom: 30px;
  }
}
.request_consent_txt a {
  color: #ff7923;
}
.request_consent_txt a:hover {
  text-decoration: none;
}

.request_consent_check {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.request_consent_label {
  display: flex;
  align-items: center;
  gap: 10px;
}
.request_consent_label .el_formRequired {
  padding-top: 0;
  padding-bottom: 1px;
}

.request_btn {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .request_btn {
    margin-top: 30px;
  }
}

/* thanks
================================== */
.request_thanks {
  text-align: center;
}

.request_thanks_intro {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.125rem;
  margin-bottom: 20px;
  font-weight: bold;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .request_thanks_intro {
    font-size: 1.25rem;
    margin-bottom: 30px;
  }
}
.request_thanks_intro span {
  font-size: 1.25rem;
  color: #54bb00;
}
@media screen and (min-width: 768px) {
  .request_thanks_intro span {
    font-size: 1.5rem;
  }
}

.request_thanks_txt {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .request_thanks_txt {
    margin-bottom: 30px;
  }
}

.request_thanks_img {
  width: 290px;
  margin: 0 auto 20px;
}
@media screen and (min-width: 768px) {
  .request_thanks_img {
    width: 319px;
    margin-bottom: 30px;
  }
}

/* =====================================
  support
===================================== */
.support {
  border-bottom: solid 1px rgb(217, 217, 217);
  background-image: linear-gradient(173deg, #edf9e0 0%, #fff8a6 100%);
}
@media screen and (min-width: 768px) {
  .support {
    background-image: linear-gradient(144deg, #edf9e0 0%, #fff8a6 100%);
  }
}

.support_inner {
  padding: 110px 20px 40px;
  background: url(../img/support/suport_header_bg_sp.png) center top no-repeat;
  background-size: 426px auto;
}
@media screen and (min-width: 768px) {
  .support_inner {
    padding: 60px 40px;
    background: url(../img/support/suport_header_bg.png) center top no-repeat;
    background-size: 1528px 432px;
  }
}

.support_ttl {
  width: 296px;
  margin: 0 auto 35px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .support_ttl {
    width: 432px;
    margin-bottom: 46px;
  }
}

.support_desc {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1rem;
  margin-bottom: 30px;
  color: #5f4119;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .support_desc {
    font-size: 1.125rem;
    margin-bottom: 50px;
  }
}

.support_sect {
  display: grid;
  gap: 40px 0;
  padding: 30px 20px;
  background: #fff;
  border: 2px solid #d9d9d9;
  border-radius: 15px;
}
@media screen and (min-width: 768px) {
  .support_sect {
    grid-template-columns: 360px auto;
    gap: 0 40px;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 50px 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 959px) {
  .support_sect {
    grid-template-columns: 0.8fr 1.2fr;
    align-items: flex-start;
    gap: 0 32px;
  }
}
.support_sect:not(:last-child) {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .support_sect:not(:last-child) {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 768px) {
  .support_sect.__lg {
    align-items: flex-start;
  }
}

.support_sect_main {
  order: 2;
}

.support_sect_ttl {
  font-size: 1.25rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  color: #5f4119;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .support_sect_ttl {
    font-size: 1.5rem;
  }
}
.support_sect_ttl {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .support_sect_ttl {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .support_sect_ttl {
    margin-bottom: 20px;
  }
}
.support_sect_ttl b {
  font-size: 1.5rem;
  color: #ff7923;
}
@media screen and (min-width: 768px) {
  .support_sect_ttl b {
    font-size: 1.75rem;
  }
}

.suport_sect_imgWrap {
  order: 1;
  display: grid;
  justify-content: center;
  gap: 20px 0;
}

.support_sect_img {
  border-radius: 12px;
}
@media screen and (min-width: 768px) {
  .support_sect_img {
    width: 100%;
  }
}

.support_box {
  margin-top: 20px;
}

.support_box_ttl {
  font-size: 1.125rem;
  display: inline-block;
  padding: 7px 10px;
  background: #54bb00;
  border-radius: 4px 4px 0 0;
  color: #fff;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .support_box_ttl {
    font-size: 1.25rem;
    padding: 5px 10px;
  }
}

.suport_dlist {
  padding: 20px;
  background: #f3f8ed;
}
@media screen and (min-width: 768px) {
  .suport_dlist {
    padding: 30px 20px;
  }
}
.suport_dlist dt {
  font-size: 1rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  color: #5f4119;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .suport_dlist dt {
    font-size: 1.125rem;
  }
}
.suport_dlist dt {
  margin-bottom: 16px;
  padding: 0 0 0 6px;
  border-left: 4px solid #b6e88a;
  line-height: 1.7;
}
.suport_dlist_item {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .suport_dlist_item {
    margin-bottom: 20px;
  }
}

.suport_list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 0;
}
@media screen and (min-width: 768px) {
  .suport_list {
    gap: 10px 0;
  }
}
.suport_list li {
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .suport_list li::after {
    content: "/";
    color: #d9d9d9;
    margin: 0 5px;
    font-weight: bold;
  }
  .suport_list li:last-child::after {
    display: none;
  }
}

/* =====================================
  update
===================================== */
.update {
  padding: 60px 0 80px;
  background: url(../img/update/update_bg_sp.svg) center -64px no-repeat;
  border-bottom: 1px solid #d9d9d9;
}
@media screen and (min-width: 768px) {
  .update {
    padding: 60px 40px;
    background: url(../img/update/update_bg.svg) center -195px no-repeat;
  }
}

.update_ttl {
  width: 340px;
  margin: 0 auto 40px;
}
@media screen and (min-width: 768px) {
  .update_ttl {
    width: 580px;
    margin-bottom: 50px;
  }
}

.update_cards {
  display: grid;
  gap: 20px;
  margin: 0 20px;
}
@media screen and (min-width: 768px) {
  .update_cards {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
    max-width: 1000px;
    margin: 0 auto;
  }
}

.update_card {
  padding: 30px 20px;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .update_card {
    padding: 30px;
  }
}

.update_card_ttl {
  font-size: 1.25rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  color: #5f4119;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .update_card_ttl {
    font-size: 1.5rem;
  }
}
.update_card_ttl {
  margin-bottom: 20px;
  text-align: center;
}

.update_card_fig {
  text-align: center;
  margin-bottom: 20px;
}
.update_card_fig img {
  display: inline-block;
}

.update_card_txt {
  color: #000;
}

/* =====================================
  voice
===================================== */
.voice {
  padding: 50px 0;
  background: #fff url(../img/voice/voice_bg_sp.svg) center -82px no-repeat;
}
@media screen and (min-width: 768px) {
  .voice {
    background: #fff url(../img/voice/voice_bg.svg) calc(50% - 56px) -130px no-repeat;
    padding: 55px 40px;
  }
}

.voice_ttl {
  width: 337px;
  margin: 0 auto 42px;
}
@media screen and (min-width: 768px) {
  .voice_ttl {
    width: 576px;
    margin-bottom: 47px;
  }
}

.voice_cards {
  display: grid;
  gap: 20px;
  margin: 0 20px 40px;
}
@media screen and (min-width: 768px) {
  .voice_cards {
    max-width: 1200px;
    margin: 0 auto 40px;
  }
}
@media screen and (min-width: 960px) {
  .voice_cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1280px) {
  .voice_cards {
    width: 1200px;
  }
}

.voice_card {
  display: flex;
  flex-direction: column;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .voice_card {
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  }
}
@media screen and (min-width: 768px) {
  .voice_card {
    border: 1px solid #d9d9d9;
  }
}

.voice_card_main {
  order: 2;
  padding: 20px 20px;
  background: #fff;
  border-radius: 0 0 4px 4px;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .voice_card_main {
    padding: 20px 30px;
  }
}

.voice_card_ttl {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.25rem;
  margin-bottom: 20px;
  color: #5f4119;
  font-weight: bold;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .voice_card_ttl {
    font-size: 1.5rem;
  }
}
.voice_card_ttl span {
  background: linear-gradient(transparent 65%, #fff8a6 65%, #fff8a6 94%, transparent 94%, transparent 100%);
}

.voice_card_txt strong {
  font-weight: bold;
  color: #ff7923;
}

.voice_card_prof {
  order: 1;
  display: grid;
  grid-template-columns: 110px auto;
  padding: 20px;
  gap: 0 20px;
  background: #fef6ec;
  border-radius: 4px 4px 0 0;
}

@media screen and (min-width: 768px) {
  .voice_card_info {
    margin-top: 10px;
  }
}

.voice_card_name {
  margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
  .voice_card_name {
    margin-bottom: 10px;
  }
}

.voice_card_company {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1rem;
  display: block;
  color: #5f4119;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .voice_card_company {
    margin-bottom: 4px;
  }
}
@media screen and (min-width: 768px) {
  .voice_card_company {
    font-size: 1.125rem;
  }
}

.voice_card_person {
  font-size: 0.875rem;
  display: block;
}
@media screen and (min-width: 768px) {
  .voice_card_person {
    font-size: 1rem;
  }
}

.voice_card_service {
  display: grid;
  border: 1px solid #d9d9d9;
}
@media screen and (min-width: 768px) {
  .voice_card_service {
    grid-template-columns: 76px auto;
  }
}
.voice_card_service dt {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 0.75rem;
  padding: 0 10px;
  background: #f5f5f5;
  font-weight: bold;
  color: #5f4119;
}
@media screen and (min-width: 768px) {
  .voice_card_service dt {
    font-size: 0.875rem;
    padding: 8px 10px;
  }
}
.voice_card_service dd {
  padding: 6px 10px;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .voice_card_service dd {
    padding: 3px 10px;
  }
}

.voice_more {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .voice_more {
    margin: 0 20px;
  }
}

/* =====================================
  worry
===================================== */
.worry {
  padding: 55px 20px 60px;
  border-top: 1px solid #d9d9d9;
  position: relative;
}
@media screen and (min-width: 768px) {
  .worry {
    padding: 50px 0 80px;
  }
}
.worry::before {
  content: "";
  display: block;
  width: 100%;
  height: 591px;
  background-image: linear-gradient(to bottom, #fff, rgb(237, 249, 224));
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (min-width: 768px) {
  .worry::before {
    height: 522px;
  }
}

.worry_ttl {
  width: 234px;
  margin: 0 auto 30px;
}
@media screen and (min-width: 768px) {
  .worry_ttl {
    width: 494px;
    margin-bottom: 47px;
  }
}

.worry_intro {
  position: relative;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .worry_intro {
    max-width: 1000px;
    margin: 0 auto 72px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1079px) {
  .worry_intro {
    margin-bottom: 32px;
  }
}
.worry_intro::after {
  content: "";
  display: block;
  width: 350px;
  height: 52px;
  margin: 30px auto 0;
  background: url(../img/worry/worry_arrow.svg) center top no-repeat;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .worry_intro::after {
    width: 431px;
    height: 64px;
    margin-top: 10px;
  }
}
@media screen and (min-width: 1080px) {
  .worry_intro::after {
    margin-top: 78px;
  }
}

.worry_list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .worry_list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

.worry_item {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1rem;
  display: grid;
  place-content: center;
  width: 69.2307692308vw;
  min-height: 80px;
  padding: 10px 0;
  background-image: linear-gradient(to left, #fff, rgb(223, 243, 244) 50%, #fff);
  font-weight: bold;
  color: #5f4119;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .worry_item {
    font-size: 1.125rem;
    width: 50%;
    min-height: 120px;
    padding: 10px;
  }
}
@media screen and (min-width: 1080px) {
  .worry_item {
    width: 360px;
  }
}
@media screen and (min-width: 768px) {
  .worry_item.__01 {
    order: 1;
  }
}
@media screen and (max-width: 767px) {
  .worry_item.__02 {
    margin-left: auto;
  }
}
@media screen and (min-width: 768px) {
  .worry_item.__02 {
    order: 3;
    margin-top: 16px;
  }
}
@media screen and (min-width: 1080px) {
  .worry_item.__02 {
    margin-top: 24px;
  }
}
@media screen and (min-width: 768px) {
  .worry_item.__03 {
    order: 2;
  }
}
@media screen and (max-width: 767px) {
  .worry_item.__04 {
    margin-left: auto;
  }
}
@media screen and (min-width: 768px) {
  .worry_item.__04 {
    order: 4;
    margin-top: 16px;
  }
}
@media screen and (min-width: 1080px) {
  .worry_item.__04 {
    margin-top: 16px;
  }
}

.worry_illust {
  width: 235px;
  margin: 20px auto 0;
}
@media screen and (min-width: 768px) {
  .worry_illust {
    width: 340px;
    height: 289px;
  }
}
@media screen and (min-width: 1080px) {
  .worry_illust {
    position: absolute;
    inset: 0;
    margin: 20px auto 0;
    z-index: 1;
  }
}

@media screen and (min-width: 768px) {
  .worry_soft {
    margin: 0 40px;
  }
}

.worry_soft_inner {
  display: flex;
  width: 100%;
  max-width: 480px;
  margin-inline: auto;
  padding: 26px 10px;
  border: 4px solid #54bb00;
  background: #fff;
  border-radius: 16px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .worry_soft_inner {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) and (max-width: 1079px) {
  .worry_soft_inner {
    justify-content: center;
    padding: 35px 20px 35px;
  }
}
@media screen and (min-width: 768px) {
  .worry_soft_inner {
    justify-content: space-between;
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    padding: 40px 40px 35px;
  }
}

@media screen and (max-width: 767px) {
  .worry_soft_logo {
    width: 211px;
    margin: 0 auto 20px;
  }
}
@media screen and (min-width: 768px) {
  .worry_soft_logo {
    margin-bottom: 20px;
  }
}

.worry_soft_txt {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.25rem;
  font-weight: bold;
  color: #5f4119;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .worry_soft_txt {
    order: 2;
    margin-left: 5px;
  }
}
@media screen and (min-width: 768px) {
  .worry_soft_txt {
    text-align: left;
  }
}
@media screen and (min-width: 960px) {
  .worry_soft_txt {
    font-size: 1.5rem;
  }
}
.worry_soft_txt span {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 2rem;
  display: inline-block;
  margin: 0 5px 10px 0;
  padding: 3px 8px 7px;
  background: #ff7923;
  border-radius: 4px;
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.15);
  font-weight: bold;
  color: #fff;
  line-height: 1;
}
@media screen and (min-width: 960px) {
  .worry_soft_txt span {
    font-size: 2.5rem;
    margin: 0 10px 10px 0;
    padding: 1px 10px 5px;
  }
}

.worry_soft_imgWrap {
  width: 290px;
  margin: 0 auto 20px;
}
@media screen and (max-width: 767px) {
  .worry_soft_imgWrap {
    order: 1;
  }
}
@media screen and (min-width: 768px) {
  .worry_soft_imgWrap {
    width: 500px;
    height: 305px;
    margin: -83px 0 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1079px) {
  .worry_soft_imgWrap {
    width: 50%;
    height: auto;
    margin-top: 0px;
  }
}

/* =====================================
  helper
==================================== */
/* invalid link
================================== */
.hp_invalidLink {
  pointer-events: none;
}

/* visually hidden
================================== */
.hp_visuallyHidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* =====================================
  is
===================================== */
/* invalid link
================================== */
.is_invalidLink {
  pointer-events: none;
}

/* body
================================== */
body.is_fixed {
  position: fixed;
}

/* =====================================
  js
===================================== */
/* more
================================== */
.js_voiceCard[hidden],
.js_voiceMore[hidden] {
  display: none;
}

/* accordion
================================== */
.js_faqItem.is_open .js_faqAnswer {
  grid-template-rows: 1fr;
  visibility: visible;
  opacity: 1;
  transition: grid-template-rows 0.35s ease, opacity 0.25s ease;
}
/* =====================================
  keyframes
===================================== */
/* fadeIn
================================== */
@keyframes fadeInAnim {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeOutAnim {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeUpAnim {
  0% {
    opacity: 0;
    transform: translate3d(0, 2em, 0);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
/* spin
================================== */
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
/* fluffy
================================== */
@media screen and (max-width: 767px) {
  @keyframes fluffyAnim {
    0%, 100% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-0.3em);
    }
  }
}
@media screen and (min-width: 768px) {
  @keyframes fluffyAnim {
    0%, 100% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-0.5em);
    }
  }
}
