/*
----------------------------------------

common

----------------------------------------
*/
.ttl-01::before {
  bottom: -27px !important;
}
.ttl-01.ttl-01-withbg::before {
  content: '';
  width: 2px;
  height: var(--wp--preset--spacing--50);
  background: #fff !important;
  position: absolute;
  left: 50%;
  bottom: -27px;
}
.has-bebas-neue-font-family {
  font-family: "din-condensed", sans-serif !important;
  letter-spacing: -0.01em;
}
/*
----------------------------------------

FV

----------------------------------------
*/
.FV_wrapper span.wp-block-cover__background.has-background-dim {
  background-color: #000 !important;
}
.FV_ttl h1.main {
  margin-top: 50px !important;
  font-family: "din-condensed", sans-serif !important;
  letter-spacing: -0.01em;
}
.FV_ttl p.en {
  margin-top: var(--wp--preset--spacing--50) !important;
}
.FV_ttl p.jp {
  font-weight: 600;
}
.FV_wrapper, .FV_wrapper .wp-block-cover.alignfull.is-light {
  height: 96vh;
  position: relative;
}
.FV_wrapper {
  margin-top: -140px !important;
}
.header .logo img {
  width: 100% !important;
}
.scroll {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translate(-50%, -50%);
}
/*
----------------------------------------

ヘッダー

----------------------------------------
*/
header {
  background: transparent !important;
}
header .wp-block-site-logo {
  width: 261px !important;
  height: 62.1px !important;
}
header .tel-link {
  color: #fff !important;
}
.is-style-tel-icon::before {
  content: '' !important;
  position: absolute;
  top: -6px;
  left: -1px;
  width: 30px;
  height: 30px;
  background-image: url(../../../../uploads/2025/04/tel.png) !important;
  background-size: contain;
  background-repeat: no-repeat;
  line-height: 1;
  z-index: 1;
}
header p.is-style-tel-icon {
  margin-left: 32px;
}
.is-style-mail-btn .wp-element-button::before {
  display: none !important;
}
header a.wp-block-button__link {
  background: linear-gradient(45deg, #0172bb, #2092dc);
  border: transparent;
  border-radius: 100px;
  color: #fff !important;
  font-family: var(--wp--preset--font-family--noto-sans-jp) !important;
  font-weight: 500;
  width: 260px;
  height: 64px;
  font-size: var(--wp--preset--font-size--18-px) !important;
}
.header.header-01 {
  padding-right: var(--wp--preset--spacing--40) !important;
  padding-left: var(--wp--preset--spacing--40) !important;
}
header .btn-set {
  margin-top: var(--wp--preset--spacing--30) !important;
  padding-top: 0 !important;
}
.header .logo {
  margin-top: var(--wp--preset--spacing--30) !important;
  padding-top: 0 !important;
}
.scroll figure {
  margin: 0 auto !important;
  width: 23px;
  margin-top: 10px !important;
}
.toggle-btn {
  background: var(--wp--preset--color--blue) !important;
}
.toggle-btn::before, .toggle-btn p::before, .toggle-btn p::after {
  background: #fff !important;
  filter: inherit !important;
}
.header.toggle-nav .g-nav {
  width: 400px !important;
  background: var(--wp--preset--color--blue) !important;
}
header .white.wp-block-site-logo {
  height: 51.75px !important;
  width: 217.5px !important;
}
.header.toggle-nav .g-nav.wp-block-site-logo {
  height: 51.75px !important;
  width: 217.5px !important;
}
.header.toggle-nav .g-nav .wp-block-site-logo a {
    height: 54px !important;
    width: 188px !important;
}
header .wp-block-site-logo img {
  width: 100% !important;
}
.header.toggle-nav .g-nav .wp-block-template-part {
  border-top: 1px solid rgba(255, 255, 255, 0.3) !important;
}
.nav-open .header.toggle-nav .g-nav .btn-set {
  display: block !important;
}
.header.toggle-nav .g-nav .btn-set .link-to-cover-and-group-blocks:has(.tel-link) {
  border: transparent !important;
}
.nav-open .header.toggle-nav .g-nav p.is-style-tel-icon {
  margin-left: 20px;
  font-size: var(--wp--preset--font-size--32-px) !important;
}
.nav-open .header.toggle-nav .g-nav .is-style-tel-icon::before {
  top: -2px;
  left: 35px;
}
.nav-open .header.toggle-nav .g-nav p.has-text-align-center.has-14-px-font-size {
  margin-top: 4px;
}
.nav-open .header.toggle-nav .g-nav .btn-set .is-style-mail-btn .wp-block-button__link {
  width: 260px !important;
  height: 64px !important;
  margin: 0 auto !important;
  border: transparent !important;
  background: var(--wp--preset--color--darkblue) !important;
  color: #fff !important;
  margin-top: var(--wp--preset--spacing--30) !important;
}
.header.toggle-nav .g-nav .wp-block-template-part .btn-set {
  margin-top: 0 !important;
}
.header.toggle-nav .sp-logo {
  min-height: 84px !important;
}
.toggle-btn {
  width: 84px !important;
  height: 84px !important;
}
.header.toggle-nav .g-nav .btn-set .link-to-cover-and-group-blocks:has(.tel-link) {
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--20) var(--wp--preset--spacing--20) !important;
}
header .tel-link code {
  font-family: var(--wp--preset--font-family--roboto);
}
@media screen and (min-width: 751px) {
  .toggle-btn:hover::before, .toggle-btn:hover p::before, .toggle-btn:hover p::after {
    right: 24px !important;
    left: 24px !important;
  }
  .header.toggle-nav .g-nav .btn-set .is-style-mail-btn .wp-block-button__link:hover {
    background: #fff !important;
    border: var(--wp--preset--color--darkblue) 2px solid !important;
    color: var(--wp--preset--color--darkblue) !important;
  }
}
/* 上部固定・初期スタイル */
/*header.wp-block-template-part {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
  background-color: transparent;
}
*/
/* スクロール後に追加されるクラス */
/*header.wp-block-template-part.scrolled {
  background-color: #fff !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 750px) {
  .toggle-btn::before, .toggle-btn p::before, .toggle-btn p::after {
    background: #fff !important;
    filter: inherit !important;
  }
}*/
/*
----------------------------------------

worry

----------------------------------------
*/
.worry_wrapper {
  position: relative;
}
.worry_wrapper::before {
  position: absolute;
  content: "";
  width: 85%;
  height: 94%;
  top: 14%;
  left: 0;
  background: #F4F4F4;
  z-index: -1 !important;
}
.worry_wrapper .wp-block-column.txt {
  padding-left: calc((100vw - 1100px) / 2);
}
.worry_wrapper .worry_list p {
  position: relative;
  margin-left: 40px !important;
  margin-top: 7px;
}
.worry_wrapper .worry_list p::before {
  content: '' !important;
  position: absolute;
  top: 50%;
  left: -40px;
  width: 28px;
  transform: translate(0px, -50%);
  height: 28px;
  background-image: url(../../../../uploads/2025/04/check-dark-blue.png);
  background-size: contain;
  background-repeat: no-repeat;
  line-height: 1;
}
.worry_wrapper p.worry_sub {
  margin-top: var(--wp--preset--spacing--30) !important;
}
.worry_wrapper p.worry_sub code {
  color: var(--wp--preset--color--darkblue) !important;
  font-weight: 500;
  font-family: var(--wp--preset--font-family--noto-sans-jp) !important;
}
.worry_wrapper p.worry_main {
  margin: 0 !important;
  font-family: "din-condensed", sans-serif !important;
  letter-spacing: -0.01em;
}
.worry_list {
  padding: var(--wp--preset--spacing--50) !important;
}
.worry_wrapper .worry_list p:first-child {
  margin-top: 0 !important;
}
.worry_wrapper p.worry_sub {
  position: relative;
  display: inline-block;
}
.worry_wrapper p.worry_sub::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 100%;
  height: 1.5px;
  background-color: var(--wp--preset--color--darkblue);
}
.worry_wrapper .img-txt {
  margin-top: 100px !important;
}
/*
----------------------------------------

service

----------------------------------------
*/
.ttl-01::before {
  height: 60px !important;
  background: var(--wp--preset--color--blue) !important;
}
.service_wrapper .ttl-01::before {
  top: -90px;
}
.service_wrapper .ttl-02 h3 {
  margin-bottom: -6px !important;
}
.service_wrapper .ttl-02::before {
  width: 100%;
  height: 1.5px;
  background: var(--wp--preset--color--gray);
}
.service_wrapper .service_list p {
  position: relative;
  margin-left: 40px !important;
  margin-top: 7px !important;
}
.service_wrapper .service_list p::before {
  content: '' !important;
  position: absolute;
  top: 50%;
  left: -40px;
  width: 28px;
  transform: translate(0px, -50%);
  height: 28px;
  background-image: url(../../../../uploads/2025/04/check-blue.png);
  background-size: contain;
  background-repeat: no-repeat;
  line-height: 1;
}
.service_wrapper .img-txt .txt {
  padding: 0 var(--wp--preset--spacing--70);
}
.service_wrapper .img-txt.img-txt-2 {
  margin-top: 0 !important;
}
.service_wrapper .img-txt-1 .txt {
  margin-top: -30px;
}
.service_wrapper {
  margin-top: 200px;
}
.service_wrapper div#cont-01 {
  padding-bottom: 0 !important;
}
.service_wrapper .img-txt.img-txt-1 {
  margin-top: 70px !important;
}
/*
----------------------------------------

case

----------------------------------------
*/
.youtube_bg {
  background: linear-gradient(45deg, #0050AB, #43A4E0);
  padding-top: var(--wp--preset--spacing--70);
  padding-bottom: 100px !important;
  margin-top: 0;
}
.case_wrapper {
  margin-top: 140px !important;
}
.case_wrapper .ttl-01 {
  margin-top: 0 !important;
}
.case_wrapper .ttl-01::before {
  bottom: -30px !important;
}
.case_wrapper .ttl-01::after {
  height: 30px !important;
  background: #fff;
  content: '';
  width: 2px;
  position: absolute;
  bottom: -30px;
  left: calc(50% - 1px);
  z-index: 2;
}
.case_wrapper p.youtube_ttl {
  margin-top: 0;
  padding-top: var(--wp--preset--spacing--20);
  padding-bottom: var(--wp--preset--spacing--20);
}
/*
----------------------------------------

reason

----------------------------------------
*/
.reason_wrapper {
  background-image: url(../../../../uploads/2025/07/reason_background.png);
  background-size: cover;
  padding-bottom: var(--wp--preset--spacing--80) !important;
}
.reason_wrapper .ttl-01 {
  margin-top: 0 !important;
}
.reason_wrapper {
  padding-top: var(--wp--preset--spacing--80);
  margin-top: 0 !important;
}
.reason_column {
  background: #fff;
}
.reason_column.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
  flex-basis: inherit;
  flex-grow: inherit;
}
.reason_column {
  gap: 0;
}
.reason_column_txt {
  padding: 50px 40px;
}
.reason_column_photo {
  width: 38%;
  position: relative;
}
.reason_column_photo::before {
  content: '' !important;
  position: absolute;
  top: 0;
  left: 0;
  width: 72px;
  height: 72px;
  background-image: url(../../../../uploads/2025/04/square_01.png);
  background-size: contain;
  background-repeat: no-repeat;
  line-height: 1;
  z-index: 1;
}
.reason_column:nth-of-type(3) .reason_column_photo::before {
  background-image: url(../../../../uploads/2025/04/square_02.png);
}
.reason_column:nth-of-type(4) .reason_column_photo::before {
  background-image: url(../../../../uploads/2025/04/square_03.png);
}
.reason_column_txt {
  width: 62%;
}
.reason_column_photo figure {
  position: relative;
  overflow: hidden;
  height: 100% !important;
}
.reason_column_photo figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.reason_column_txt h4 {
  font-weight: 500 !important;
  position: relative;
  border-bottom: 1px solid var(--wp--preset--color--gray);
  line-height: 1.5 !important;
  padding-bottom: 10px !important;
}
.reason_column_txt h4::before {
  content: '';
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100px;
  height: 1.5px;
  background-color: var(--wp--preset--color--blue);
}
.reason_column_txt p {
  margin-top: var(--wp--preset--spacing--30) !important;
}
.reason_column {
  margin-top: 50px !important;
}
.plan_wrapper .price code {
  font-size: 32px;
  text-align: center;
  line-height: 2 !important;
  vertical-align: middle;
  font-family: inherit;
  padding: 0;
  margin: 0;
  background: none;
  border: none;
}
.plan_wrapper h6 {
  margin-top: -2px !important;
  font-weight: 500;
  position: relative;
}
.plan_wrapper h6::before {
  content: '';
  width: 100%;
  height: 1px;
  background: #fff !important;
  position: absolute;
  bottom: -16px;
  left: 0;
}
.price_area {
  padding-left: 20px;
  padding-right: 20px;
}
.price_area p.price {
  margin-top: 30px;
}
.explain_area p {
  position: relative;
  margin-left: 40px !important;
  margin-top: 10px;
}
.explain_area p::before {
  content: '' !important;
  position: absolute;
  top: 50%;
  left: -40px;
  width: 28px;
  transform: translate(0px, -50%);
  height: 28px;
  background-image: url(../../../../uploads/2025/04/check-light-blue.png);
  background-size: contain;
  background-repeat: no-repeat;
  line-height: 1;
}
.price_column {
  background: #ECF6FC;
}
.explain_area {
  padding: var(--wp--preset--spacing--50) !important;
  margin-top: 0;
}
.price_column:nth-of-type(2) .explain_area p::before {
  background-image: url(../../../../uploads/2025/04/check-blue.png);
}
.price_column:nth-of-type(3) .explain_area p::before {
  background-image: url(../../../../uploads/2025/04/check-dark-blue.png);
}
.price_column:nth-of-type(2) {
  background: #E6F2FA;
}
.price_column:nth-of-type(3) {
  background: #E5EDF7;
}
.price_columns {
  margin-top: var(--wp--preset--spacing--60) !important;
  gap: var(--wp--preset--spacing--40) !important;
}
.plan_wrapper {
  margin-bottom: var(--wp--preset--spacing--80) !important;
}
.plan_wrapper #cont-01 {
  margin-top: var(--wp--preset--spacing--80) !important;
}
.price_area h4 code {
  display: none;
}
/*
----------------------------------------

flow

----------------------------------------
*/
.flow_wrapper {
  background-image: url(../../../../uploads/2025/07/flow_background.png);
  background-size: cover;
  padding-bottom: var(--wp--preset--spacing--80) !important;
  padding-top: var(--wp--preset--spacing--80) !important;
}
.flow_wrapper .ttl-01 {
  margin-top: 0 !important;
}
.step-arrow {
  position: relative;
}
.step-column .step-num-label {
  position: absolute;
}
.step-column .step-num-label {
  width: inherit !important;
  height: inherit !important;
  bottom: -10px !important;
  top: inherit;
  margin-top: 0;
  gap: 0;
  left: 50%;
  transform: translate(-50%, 0);
  background: linear-gradient(to right, #0172BB, #2092DC);
  padding: 11px 24px 9px;
  border-radius: 2px;
  letter-spacing: 0.01em !important;
}
.step-column .wp-block-column + .wp-block-column .step-arrow::before {
  color: #fff !important;
}
.step-column .icon.transparent {
  opacity: 0;
}
.step-column .wp-block-column + .wp-block-column .step-arrow.noarrow::before {
  display: none;
}
.step-column {
  margin-top: var(--wp--preset--spacing--60) !important;
}
.step-column.step-column2 {
  margin-top: var(--wp--preset--spacing--50) !important;
}
/*
----------------------------------------

faq

----------------------------------------
*/
.yoast-faq {
  margin-top: 67px;
}
.schema-faq-section .schema-faq-question::before {
  font-size: var(--wp--preset--font-size--36-px) !important;
  font-family: var(--wp--preset--font-family--bebas-neue) !important;
  color: var(--wp--preset--color--blue) !important;
  width: 32px !important;
  left: var(--wp--preset--spacing--40) !important;
}
.schema-faq-section .schema-faq-answer {
  margin: var(--wp--preset--spacing--50) !important;
  border: transparent !important;
  background: #fff !important;
  margin-bottom: var(--wp--preset--spacing--30) !important;
  margin-top: var(--wp--preset--spacing--30) !important;
  font-family: var(--wp--preset--font-family--noto-sans-jp) !important;
}
.schema-faq-section {
  background: #E6F2FA !important;
  padding-bottom: var(--wp--preset--spacing--30) !important;
  padding-top: var(--wp--preset--spacing--30) !important;
}
.schema-faq-section .schema-faq-question {
  padding: 10px 0 10px 70px !important;
}
.schema-faq.is-style-toggle-btn .schema-faq-question {
  font-weight: 500 !important;
  font-size: var(--wp--preset--font-size--20-px) !important;
  font-family: var(--wp--preset--font-family--noto-sans-jp) !important;
}
.schema-faq-section .schema-faq-answer strong {
  font-size: var(--wp--preset--font-size--18-px) !important;
  font-weight: 500 !important;
  color: var(--wp--preset--color--blue) !important;
  font-family: var(--wp--preset--font-family--noto-sans-jp) !important;
}
.schema-faq.is-style-toggle-btn .schema-faq-question::after {
  font-size: var(--wp--preset--font-size--24-px) !important;
  line-height: 1 !important;
  color: #fff !important;
  background-color: var(--wp--preset--color--blue) !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
  top: 50% !important;
  right: var(--wp--preset--spacing--40) !important;
  transform: translateY(-50%) !important;
}
.faq_wrapper .ttl-01 {
  margin-top: 0 !important;
}
.faq_wrapper {
  margin-top: var(--wp--preset--spacing--80) !important;
}
/*
----------------------------------------

contact

----------------------------------------
*/
.contact_wrapper .ttl-01 {
  margin-top: 140px !important;
}
.contact_bg {
  background: linear-gradient(45deg, #0050AB, #43A4E0);
  padding-top: var(--wp--preset--spacing--70);
  padding-bottom: var(--wp--preset--spacing--70);
  margin-top: 0;
}
.contact_wrapper .ttl-01::after {
  height: 30px !important;
  background: #fff;
  content: '';
  width: 2px;
  position: absolute;
  bottom: -30px;
  left: calc(50% - 1px);
  z-index: 2;
}
.contact_wrapper .attention {
  background: #F3F9FD;
  padding: var(--wp--preset--spacing--30) !important;
  max-width: 740px;
  margin-top: var(--wp--preset--spacing--50) !important;
}
div#efo-form {
  margin-top: 0em;
}
.contact_bg_inner {
  margin-top: 0 !important;
  padding-top: var(--wp--preset--spacing--70) !important;
}
span.smf-item__label__text {
  font-weight: 500;
  font-family: var(--wp--preset--font-family--noto-sans-jp) !important;
  font-size: var(--wp--preset--font-size--18-px) !important;
}
.step p.jp.has-noto-sans-jp-font-family {
  font-size: var(--wp--preset--font-size--18-px) !important;
}
span.smf-checkbox-control__label {
  font-family: var(--wp--preset--font-family--noto-sans-jp) !important;
}
/*
----------------------------------------

hover アクション

----------------------------------------
*/
@media (min-width: 751px) {
  .is-style-mail-btn .wp-element-button, .is-style-tel-btn .wp-element-button, #efo-form.efo-form input[type=submit]:not(.disabled), #efo-form.efo-form button[type=submit]:not(.disabled) {
    transition: all 0.3s ease !important;
  }
  .is-style-mail-btn .wp-element-button:hover, .is-style-tel-btn .wp-element-button:hover {
    background: #fff !important;
    color: var(--wp--preset--color--blue) !important;
    border: 1px solid var(--wp--preset--color--blue) !important;
  }
  #efo-form.efo-form input[type=submit]:not(.disabled):hover, #efo-form.efo-form button[type=submit]:not(.disabled):hover {
    transform: scale(1) !important;
    box-shadow: none !important;
    background: #fff !important;
    color: var(--wp--preset--color--blue) !important;
    border: 1px solid var(--wp--preset--color--blue) !important;
  }
}
/*
----------------------------------------

form.cssのコピペ

----------------------------------------
*/
/* input
---------------------------------------- */
.editor-styles-wrapper input[type=checkbox], .editor-styles-wrapper input[type=radio] {
  margin-top: 0 !important;
}
.efo-form input[type=text], .efo-form input[type=email], .efo-form input[type=tel], .efo-form input[type=url], .efo-form input[type=number], .efo-form input[type=search], .efo-form input[type=password], .efo-form input[type=date] {
  display: block;
  width: 100%;
  font-size: 16px;
  line-height: 1.5;
  padding: var(--wp--preset--spacing--30) !important;
  border-radius: 0 !important;
  border: solid 1px var(--wp--preset--color--gray) !important;
}
.efo-form input[name=date], .efo-form input[name=zip], .efo-form input[name=calendar] {
  width: inherit;
}
/* select
---------------------------------------- */
.efo-form select {
  font-size: var(--wp--preset--font-size--16-px);
  line-height: 1.5;
  padding: var(--wp--preset--spacing--30);
  padding-right: 3em;
  border-radius: 0;
  border: solid 1px var(--wp--preset--color--gray);
  position: relative;
}
.efo-form div:has(> select) {
  position: relative;
}
.efo-form div:has(> select)::after {
  font-family: 'Material Symbols Outlined';
  content: '\e5cf';
  display: block;
  text-align: center;
  line-height: 20px;
  color: var(--wp--preset--color--primary);
  position: absolute;
  right: 15px;
  top: calc(50% - 10px);
  transition: all .2s;
}
/* datepicker
---------------------------------------- */
.efo-form .datepicker {
  font-size: var(--wp--preset--font-size--16-px);
  line-height: 1.5;
  padding: var(--wp--preset--spacing--30);
  padding-right: 3em;
  border-radius: 0;
  border: solid 1px var(--wp--preset--color--gray);
  position: relative;
}
.efo-form div:has(> .datepicker) {
  display: inline-block;
  position: relative;
}
.efo-form div:has(> .datepicker)::after {
  font-family: 'Material Symbols Outlined';
  content: '\e935';
  display: block;
  text-align: center;
  line-height: 20px;
  color: var(--wp--preset--color--primary);
  position: absolute;
  right: 15px;
  top: calc(50% - 10px);
  transition: all .2s;
}
/* radio / checkbox
---------------------------------------- */
.efo-form input[type=radio], .efo-form input[type=checkbox] {
  position: absolute !important;
  left: -10rem;
  pointer-events: none;
}
.efo-form label:has(input[type=radio]), .efo-form label:has(input[type=checkbox]) {
  display: inline-block;
  font-size: var(--wp--preset--font-size--16-px);
  line-height: 1.5;
  padding: 0 1em 0 2em;
  margin: var(--wp--preset--spacing--30) 0;
  position: relative;
  overflow: hidden;
}
.efo-form label:has(input[type=radio])::before, .efo-form label:has(input[type=checkbox])::before {
  content: '';
  width: 20px;
  height: 20px;
  border: solid 2px var(--wp--preset--color--gray);
  background: var(--wp--preset--color--base);
  position: absolute;
  top: calc(50% - 10px);
  left: 0;
}
.efo-form label:has(input[type=radio])::before {
  border-radius: 50%;
}
.efo-form label:has(input[type=checkbox])::before {
  border-radius: 4px;
}
.efo-form label:has(input[type=radio])::after {
  content: '';
  width: 10px;
  height: 10px;
  background: var(--wp--preset--color--primary);
  border-radius: 50%;
  position: absolute;
  top: calc(50% - 5px);
  left: 5px;
  opacity: 0;
  visibility: hidden;
  transition: all .2s;
}
.efo-form label:has(input[type=radio]:checked)::after {
  opacity: 1;
  visibility: visible;
}
.efo-form label:has(input[type=checkbox])::after {
  content: '';
  width: 8px;
  height: 16px;
  border-right: solid 3px var(--wp--preset--color--primary);
  border-bottom: solid 3px var(--wp--preset--color--primary);
  transform: rotate(45deg);
  position: absolute;
  top: calc(50% - 12px);
  left: 8px;
  opacity: 0;
  visibility: hidden;
  transition: all .2s;
}
/* textarea
---------------------------------------- */
.efo-form textarea {
  display: block;
  width: 100%;
  font-size: var(--wp--preset--font-size--16-px);
  padding: var(--wp--preset--spacing--30);
  border-radius: 0;
  border: solid 1px var(--wp--preset--color--gray);
}
.efo-form label:has(input[type=checkbox]:checked)::after {
  opacity: 1;
  visibility: visible;
}
/* submit
---------------------------------------- */
.efo-form input[type=submit], .efo-form button[type=submit] {
  font-size: var(--wp--preset--font-size--20-px);
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--base);
  padding: 15px 50px;
  display: inline-block;
  min-width: 240px;
  text-align: center;
  line-height: 1.5;
  border: none;
  border-radius: 30px;
  position: relative;
  transition: all .4s;
}
.efo-form input[type=submit]::after, .efo-form button[type=submit]::after {
  font-family: 'Material Symbols Outlined';
  content: '\e5cc';
  line-height: 20px;
  position: absolute;
  top: calc(50% - 10px);
  right: 10px;
  transition: all .4s;
}
.efo-form .smf-button-control {
  display: inline-block;
  cursor: pointer;
}
.efo-form input[type=submit].disabled, .efo-form button[type=submit].disabled {
  background: var(--wp--preset--color--dark-gray);
  pointer-events: none;
}
.efo-form input[type=submit].disabled::after, .efo-form button[type=submit].disabled::after {
  display: none;
}
.ui-widget-header {
  background: var(--wp--preset--color--light-gray);
  color: var(--wp--preset--color--contrast);
  font-weight: normal;
}
.ui-widget-header .ui-icon {
  background: none;
  text-indent: 0;
  color: transparent;
}
@media (min-width: 751px) {
  .efo-form input[type=submit]:not(.disabled):hover, .efo-form button[type=submit]:not(.disabled):hover {
    transform: scale(1.05);
    box-shadow: 0 4px 10px rgba(0, 0, 0, .2);
  }
  .efo-form input[type=submit]:not(.disabled):hover::after, .efo-form button[type=submit]:not(.disabled):hover::after {
    right: 6px;
  }
}
/*
----------------------------------------

date-picker

----------------------------------------
*/
.ui-widget.ui-widget-content {
  border-color: var(--wp--preset--color--gray);
  border-radius: 0;
}
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {
  background: transparent !important;
  border: none !important;
  top: 0 !important;
  transition: all .2s;
}
.ui-datepicker .ui-datepicker-prev span::before, .ui-datepicker .ui-datepicker-next span::before {
  font-family: 'Material Symbols Outlined';
  color: var(--wp--preset--color--primary);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition: all .2s;
}
.ui-datepicker .ui-datepicker-prev span::before {
  content: '\e5cb';
}
.ui-datepicker .ui-datepicker-next span::before {
  content: '\e5cc';
}
.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr {
  border-radius: 0;
}
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active {
  border-color: var(--wp--preset--color--gray);
  background: var(--wp--preset--color--light-gray);
  color: var(--wp--preset--color--contrast);
}
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover {
  border-color: var(--wp--preset--color--primary);
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--base);
}
@media (min-width: 751px) {
  .ui-datepicker .ui-datepicker-prev:hover {
    left: 0 !important;
  }
  .ui-datepicker .ui-datepicker-next:hover {
    right: 0 !important;
  }
}
/*
----------------------------------------

efo-form

----------------------------------------
*/
.form-step {
  margin-bottom: var(--wp--preset--spacing--30);
}
.form-step .step {
  position: relative;
}
/* form-step-01
---------------------------------------- */
.form-step-01 .step {
  flex: 1;
}
.form-step-01 .step + .step::before {
  font-family: 'Material Symbols Outlined';
  content: '\e5cc';
  line-height: 20px;
  position: absolute;
  top: calc(50% - 10px);
  left: calc(var(--wp--preset--spacing--50) / 2 * -1 - 8px);
  transition: all .2s;
}
.form-step-01 .step:first-child {
  background: var(--wp--preset--color--primary);
}
.form-step-01 .step:first-child * {
  color: var(--wp--preset--color--base);
}
form[data-screen=confirm] .form-step-01 .step:first-child {
  background: transparent;
}
form[data-screen=confirm] .form-step-01 .step:first-child * {
  color: var(--wp--preset--color--primary);
}
form[data-screen=confirm] .form-step-01 .step:nth-child(2) {
  background: var(--wp--preset--color--primary);
}
form[data-screen=confirm] .form-step-01 .step:nth-child(2) * {
  color: var(--wp--preset--color--base);
}
form[data-screen=confirm] .smf-item::after {
  display: none;
}
/* form-step-02
---------------------------------------- */
.form-step-02 {
  width: 800px;
  max-width: 100%;
  margin-right: auto;
  margin-bottom: var(--wp--preset--spacing--30);
  margin-left: auto;
  position: relative;
}
.form-step-02::before {
  content: '';
  position: absolute;
  top: 15px;
  right: 30px;
  left: 30px;
  border-bottom: dotted 2px var(--wp--preset--color--gray);
}
.form-step-02 .step {
  padding-top: 40px;
  line-height: 1.5;
}
.form-step-02 .step:first-child {
  border-color: var(--wp--preset--color--primary);
}
.form-step-02 .step::before {
  content: '';
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: solid 8px var(--wp--preset--color--gray);
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: calc(50% - 16px);
  background: var(--wp--preset--color--base);
}
.form-step-02 .step:first-child::before {
  border-color: var(--wp--preset--color--primary);
}
.form-step-02 .step:first-child::before {
  border-color: var(--wp--preset--color--primary);
}
form[data-screen=confirm] .form-step-02 .step:first-child::before {
  border-color: var(--wp--preset--color--gray);
}
form[data-screen=confirm] .form-step-02 .step:nth-child(2)::before {
  border-color: var(--wp--preset--color--primary);
}
/* remaining
---------------------------------------- */
.editor-styles-wrapper .remaining {
  position: relative !important;
  right: 0 !important;
  bottom: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 1 !important;
}
.wp-block-group:has(> .remaining) {
  position: fixed;
  right: 20px;
  bottom: 40px;
  display: inline-block;
  background: var(--wp--preset--color--base);
  border: solid 1px var(--wp--preset--color--primary);
  text-align: center;
  margin: 0 !important;
  opacity: 0;
  visibility: hidden;
  z-index: -1;
  transition: all .2s;
}
.wp-block-group:has(> .remaining.active) {
  opacity: 1;
  visibility: visible;
  z-index: 999;
}
.remaining .read {
  padding: 15px 20px;
  line-height: 1.8;
}
.remaining .num {
  width: 100%;
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--base);
  padding: 5px 20px;
}
/* err
---------------------------------------- */
.err {
  font-size: var(--wp--preset--font-size--14-px);
  color: var(--wp--preset--color--primary);
  margin-top: 5px;
}
/*
----------------------------------------

snow-monkey-forms

----------------------------------------
*/
.smf-form .smf-item .smf-file-control {
  justify-content: flex-start;
}
.smf-form .smf-item .smf-file-control__clear {
  color: var(--wp--preset--color--primary);
  text-decoration: none;
  border-bottom: solid 1px transparent;
  line-height: 1.5;
  transition: all .2s;
}
.p-country-name {
  display: none;
}
.smf-error-messages {
  font-size: var(--wp--preset--font-size--14-px);
  color: var(--wp--preset--color--primary);
}
.smf-item__controls:has(input[type=radio]) .smf-error-messages, .smf-item__controls:has(input[type=checkbox]) .smf-error-messages {
  margin-top: -10px;
}
.smf-select-control__toggle {
  display: none !important;
}
.smf-form .smf-item .smf-file-control {
  padding: var(--wp--preset--spacing--20) 0;
}
.smf-form .smf-item .smf-file-control > label > .smf-file-control__label {
  background: var(--wp--preset--color--light-gray);
  border: solid 1px var(--wp--preset--color--gray);
  border-radius: 25px;
  line-height: 1.5;
  padding: var(--wp--preset--spacing--20) 20px;
  transition: all .2s;
}
.smf-item {
  display: flex;
  align-items: flex-start;
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50) var(--wp--preset--spacing--30) 0;
  position: relative;
}
.smf-item::after {
  font-family: 'Material Symbols Outlined';
  content: '\e876';
  font-size: var(--wp--preset--font-size--24-px);
  color: var(--wp--preset--color--primary);
  line-height: 20px;
  position: absolute;
  top: calc(var(--wp--preset--spacing--30) + var(--wp--preset--spacing--30));
  right: 0;
  opacity: 0;
  visibility: hidden;
  z-index: -1;
  transition: all .2x;
}
.smf-item.ok::after {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}
.smf-item.agree {
  padding: var(--wp--preset--spacing--20) 0 var(--wp--preset--spacing--30);
}
.smf-item.agree::after {
  display: none;
}
.smf-item__col--label {
  width: 16em;
  font-size: var(--wp--preset--font-size--16-px);
  line-height: 1.5;
  padding: var(--wp--preset--spacing--30) 0;
  padding-right: 5em;
  position: relative;
}
.smf-item.req-label .smf-item__col--label::after, .smf-item:has(.req) .smf-item__col--label::after {
  content: '必須';
  display: inline-block;
  font-size: var(--wp--preset--font-size--14-px);
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--base);
  padding: .2em .8em;
  position: absolute;
  top: 50%;
  right: var(--wp--preset--spacing--30);
  transform: translateY(-50%);
}
.smf-item__col--label + .smf-item__col--controls {
  width: calc(100% - 16em);
}
.smf-radio-buttons-control__control, .smf-checkboxes-control__control {
  line-height: .5;
}
.smf-placeholder + .smf-placeholder {
  margin-top: var(--wp--preset--spacing--30);
}
form.snow-monkey-form:not([data-screen=confirm]) .agree {
  justify-content: center;
  align-items: center;
}
form.snow-monkey-form:not([data-screen=confirm]) .agree .smf-item__col--label {
  display: none;
}
form.snow-monkey-form:not([data-screen=confirm]) .agree .smf-item__col--controls {
  width: auto;
  padding-right: 0;
  padding-left: 4.5em;
  position: relative;
}
form.snow-monkey-form:not([data-screen=confirm]) .agree .smf-item__col--controls::before {
  content: '必須';
  display: inline-block;
  font-size: var(--wp--preset--font-size--14-px);
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--base);
  padding: .2em .8em;
  position: absolute;
  top: 1.1em;
  left: 0;
}
form.snow-monkey-form:not([data-screen=confirm]) .agree .smf-item__col--controls a {
  display: inline-block;
  border-bottom: solid 1px var(--wp--preset--color--primary);
}
.privacy-policy p, .privacy-policy ul {
  margin-block-start: 1em;
}
.smf-action {
  text-align: center;
}
/* confirm
---------------------------------------- */
body:has(form.snow-monkey-form[data-screen=confirm]) .remaining {
  display: none !important;
}
form.snow-monkey-form[data-screen=confirm] .privacy-policy {
  display: none;
  order: 1;
}
form.snow-monkey-form[data-screen=confirm] .smf-item__col--label {
  padding: 0 var(--wp--preset--spacing--50);
}
form.snow-monkey-form[data-screen=confirm] .smf-item__col--controls {
  font-size: var(--wp--preset--font-size--16-px);
  line-height: 1.5;
  padding: 0;
}
form.snow-monkey-form[data-screen=confirm] .smf-item:nth-child(even) {
  background: var(--wp--preset--color--light-gray);
}
form.snow-monkey-form[data-screen=confirm] .smf-item.agree {
  background: transparent;
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50) var(--wp--preset--spacing--30) 0;
  background: var(--wp--preset--color--light-gray);
}
form.snow-monkey-form[data-screen=confirm] .smf-item.req-label .smf-item__col--label::after, form.snow-monkey-form[data-screen=confirm] .smf-item:has(.req) .smf-item__col--label::after {
  display: none;
}
form.snow-monkey-form[data-screen=confirm] div[data-name=address-01], form.snow-monkey-form[data-screen=confirm] div[data-name=address-02], form.snow-monkey-form[data-screen=confirm] div[data-name=address-03] {
  display: inline-block;
  margin: 0;
}
form.snow-monkey-form[data-screen=confirm] .date-flex {
  gap: var(--wp--preset--spacing--20);
}
form.snow-monkey-form[data-screen=confirm] .date-flex > .wp-block-group {
  gap: 0;
}
form.snow-monkey-form[data-screen=confirm] .smf-action {
  margin: var(--wp--preset--spacing--50) 0 var(--wp--preset--spacing--40);
  display: flex;
  flex-direction: column-reverse;
  gap: var(--wp--preset--spacing--20);
}
form.snow-monkey-form[data-screen=confirm] .smf-action .smf-button-control + .smf-button-control {
  margin: 0;
}
.efo-form form.snow-monkey-form[data-screen=confirm] button[data-action=back] {
  font-size: var(--wp--preset--font-size--16-px);
  background: transparent;
  color: var(--wp--preset--color--contrast);
  padding: 10px 20px;
  min-width: initial;
  text-align: center;
  line-height: 1.5;
  border-bottom: solid 2px var(--wp--preset--color--contrast);
  border-radius: 0;
  transform: none !important;
  box-shadow: none !important;
}
.efo-form form.snow-monkey-form[data-screen=confirm] button[data-action=back]::after {
  display: none;
}
/*
----------------------------------------

1000

----------------------------------------
*/
@media screen and (max-width: 1000px) {
  .smf-item__col--label {
    width: 14em;
  }
  .smf-item__col--label + .smf-item__col--controls {
    width: calc(100% - 14em);
  }
}
/*
----------------------------------------

750

----------------------------------------
*/
@media (max-width: 750px) {
  body:has(form) #sp-fix {
    display: none !important;
  }
  body:has(form) .copyright {
    padding-bottom: var(--wp--preset--spacing--20) !important;
  }
  .smf-select-control {
    width: 100%;
  }
  .wp-block-group:has(> .remaining) {
    right: 0;
    bottom: 0;
    left: 0;
  }
  .remaining .read {
    display: none;
  }
  .remaining .num {
    justify-content: center;
  }
  .efo-form select {
    width: 100%;
    padding-right: 2em;
  }
  .efo-form div:has(> select)::after {
    right: 10px;
  }
  .efo-form div:has(> input[type=date]), .efo-form div:has(> .datepicker) {
    display: block;
  }
  .efo-form input[type=date], .efo-form .datepicker {
    width: 100%;
  }
  .smf-item {
    flex-direction: column;
    padding: 5px 0;
  }
  .smf-item::after {
    font-size: var(--wp--preset--font-size--40-px);
    line-height: 30px;
    top: calc(var(--wp--preset--spacing--20) + 5px);
  }
  .smf-item__col--label {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: var(--wp--preset--spacing--20) 30px var(--wp--preset--spacing--20) 0;
  }
  .smf-item__col--label + .smf-item__col--controls {
    width: 100%;
  }
  .smf-item__label {
    display: inline-block;
    line-height: 30px;
  }
  .smf-item.req-label .smf-item__col--label::after, .smf-item:has(.req) .smf-item__col--label::after {
    position: relative;
    top: 0;
    right: auto;
    transform: none;
  }
  .annotation {
    flex-direction: column;
    gap: var(--wp--preset--spacing--30) !important;
  }
  .annotation .ttl {
    width: 100%;
  }
  #efo-form {
    padding: var(--wp--preset--spacing--30) !important;
  }
  .form-step {
    gap: var(--wp--preset--spacing--40) !important;
  }
  .form-step .step {
    flex-direction: column;
    gap: 0;
    line-height: 1.5;
  }
  .form-step .step .en {
    font-weight: bold;
    font-size: var(--wp--preset--font-size--14-px);
  }
  .form-step-01 .step + .step::before {
    left: calc(var(--wp--preset--spacing--40) / 2 * -1 - 8px);
  }
  form.snow-monkey-form:not([data-screen=confirm]) .agree .smf-item__col--controls {
    padding: var(--wp--preset--spacing--50) 0 0;
  }
  form.snow-monkey-form:not([data-screen=confirm]) .agree .smf-item__col--controls::before {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  form.snow-monkey-form:not([data-screen=confirm]) .agree label {
    padding-right: 0 !important;
  }
  .privacy-policy {
    max-height: 20rem;
    padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30) !important;
    font-size: var(--wp--preset--font-size--14-px);
  }
  .smf-action {
    margin: 0 0 var(--wp--preset--spacing--40);
  }
  form.snow-monkey-form[data-screen=confirm] .smf-item {
    background: transparent !important;
    padding: 0 0 10px;
  }
  form.snow-monkey-form[data-screen=confirm] .smf-item__col--label {
    padding: 5px var(--wp--preset--spacing--40);
    background: var(--wp--preset--color--light-gray);
  }
  form.snow-monkey-form[data-screen=confirm] .smf-item__col--controls {
    padding: 10px var(--wp--preset--spacing--40);
  }
  .efo-form input[name=date], .efo-form input[name=zip], .efo-form input[name=calendar] {
    width: 100%;
  }
  .form-step.form-step-02 .step.is-vertical {
    width: 90px !important;
  }
  .form-step-02::before {
    right: 36px;
  }
}
/*
----------------------------------------

hover

----------------------------------------
*/
@media screen and (min-width: 780px) {
  .smf-form .smf-item .smf-file-control__clear:hover {
    border-color: var(--wp--preset--color--primary);
  }
  .smf-form .smf-item .smf-file-control > label:hover > .smf-file-control__label {
    background: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--base);
  }
  .efo-form form.snow-monkey-form[data-screen=confirm] button[data-action=back]:hover {
    background: var(--wp--preset--color--light-gray);
  }
}
/*
----------------------------------------

問い合わせのcss上書き

----------------------------------------
*/
.form-step-02 .step::before {
  width: 28px !important;
  height: 28px !important;
  border: solid 6px var(--wp--preset--color--gray);
  background: #fff !important;
}
.form-step-02::before {
  top: 13px !important;
}
.form-step-02 .step:first-child::before {
  border-color: var(--wp--preset--color--blue);
}
.form-step-confirm.form-step-02 .step:first-child::before {
  border-color: var(--wp--preset--color--gray);
}
.form-step-confirm.form-step-02 .step:nth-child(2)::before {
  border-color: var(--wp--preset--color--blue) !important;
}
.form-step-02::before {
  left: 50px;
}
span.smf-item__label__text {
  font-weight: 600;
}
.smf-item.req-label .smf-item__col--label::after, .smf-item:has(.req) .smf-item__col--label::after {
  background: var(--wp--preset--color--darkblue);
  color: #fff;
  border-radius: 2px;
}
.smf-form .smf-select-control__control {
  height: 66px !important;
  padding: .75rem 4rem .75rem 1rem;
}
.efo-form div:has(> select)::after {
  font-size: 20px !important;
  line-height: 19px;
  right: 12px;
}
form.snow-monkey-form:not([data-screen=confirm]) .agree .smf-item__col--controls::before {
  background: var(--wp--preset--color--darkblue);
  color: #fff;
  border-radius: 2px;
  top: 1.3em;
  line-height: 1.6;
}
.form-step-02 .step .en {
  color: #999;
}
.form-step-02 .step:first-child .en {
  color: var(--wp--preset--color--blue);
}
.form-step-confirm.form-step-02 .step:first-child .en {
  color: #999 !important;
}
.form-step-confirm.form-step-02 .step:nth-child(2) .en {
  color: var(--wp--preset--color--blue) !important;
}
#efo-form button.smf-button-control__control {
  background: linear-gradient(45deg, #0172bb, #2092dc) !important;
  border: transparent;
  border-radius: 100px;
  color: #fff !important;
  font-family: var(--wp--preset--font-family--noto-sans-jp) !important;
  font-weight: 500;
  width: 260px;
  height: 64px;
  font-size: var(--wp--preset--font-size--18-px) !important;
}
.efo-form input[type=submit]::after, .efo-form button[type=submit]::after {
  display: none;
}
.efo-form label:has(input[type=checkbox])::after {
  border-right: solid 3px var(--wp--preset--color--darkblue);
  border-bottom: solid 3px var(--wp--preset--color--darkblue);
}
.smf-error-messages {
  color: var(--wp--preset--color--darkblue);
}
#efo-form button.smf-button-control__control[data-action="back"] {
  background: #999 !important;
}
/*
----------------------------------------

フッター

----------------------------------------
*/
footer .btn-set {
  display: none;
}
footer .bottom-nav {
  display: none;
}
footer.wp-block-template-part {
  background: #000;
  margin-top: 0;
  padding-top: var(--wp--preset--spacing--60);
  padding-bottom: var(--wp--preset--spacing--60);
}
div#page-top {
  display: none;
}
footer .logo {
  margin: 0 auto;
  width: 290px !important;
  height: 69px !important;
  padding-right: 5px;
}
footer .logo img {
  width: 100% !important;
}
p.copyright {
  margin-top: 10px;
  font-size: 10px !important;
  letter-spacing: 0.1em;
}
footer a.custom-logo-link {
  width: 100% !important;
}
/*
----------------------------------------

レスポンシブ調整

----------------------------------------
*/
@media (min-width: 751px) and (max-width: 1620px) {
  .worry_wrapper::before {
    top: 11%;
  }
}
@media (min-width: 751px) and (max-width: 1500px) {
  .worry_wrapper::before {
    top: 9%;
    height: 100%;
  }
}
@media (min-width: 751px) and (max-width: 1440px) {
  .worry_wrapper::before {
    top: 8%;
  }
}
@media (min-width: 751px) and (max-width: 1500px) {
  .service_wrapper .service_list {
    margin-top: 1.4em !important;
  }
}
@media (min-width: 751px) and (max-width: 1450px) {
  .service_wrapper .ttl-02 {
    display: flex !important;
  }
  .service_wrapper .ttl-02 h3 {
    margin-right: 24px !important;
    white-space: nowrap;
  }
  .service_wrapper .ttl-02 p.is-style-en {
    margin: 0 !important;
    margin-top: 15px !important;
    margin-bottom: 15px !important;
    white-space: nowrap;
  }
}
@media (min-width: 751px) and (max-width: 1300px) {
  .service_wrapper .img-txt .txt {
    padding: 0 var(--wp--preset--spacing--50);
  }
  body .explain_area {
    padding: var(--wp--preset--spacing--40) !important;
  }
  .price_column .price_area {
    padding: 1em 2em !important;
  }
  .price_area h4 {
    line-height: 1.2 !important;
  }
  .plan_wrapper h6::before {
    bottom: -12px;
  }
  .price_area p.price {
    margin-top: 20px;
  }
  .step-column .step-num-label {
    white-space: nowrap;
  }
}
@media (min-width: 751px) and (max-width: 1200px) {
  .worry_wrapper .wp-block-column.txt {
    padding-left: var(--wp--style--root--padding-left);
  }
  .header-01:not(.toggle-nav) .is-style-mail-btn a {
    width: 260px !important;
    height: 64px !important;
    padding: inherit !important;
    overflow: hidden !important;
    text-indent: inherit !important;
    position: relative !important;
  }
  .header-01 .is-style-mail-btn {
    line-height: inherit !important;
  }
}
@media (min-width: 751px) and (max-width: 1100px) {
  .worry_wrapper .worry_list {
    padding: var(--wp--preset--spacing--40) !important;
  }
  .worry_wrapper .worry_list p {
    line-height: 1.5 !important;
    margin-top: 12px !important;
  }
  .worry_wrapper::before {
    height: 102%;
  }
}
@media (min-width: 751px) and (max-width: 1000px) {
  .service_wrapper .img-txt.img-txt-2 {
    margin-top: var(--wp--preset--spacing--50) !important;
  }
  .worry_wrapper .wp-block-column.txt {
    padding-left: var(--wp--preset--spacing--40) !important;
  }
  .service_wrapper .img-txt .txt {
    padding: 0 var(--wp--preset--spacing--40);
  }
  body .youtube_bg {
    padding-left: var(--wp--preset--spacing--40) !important;
    padding-right: var(--wp--preset--spacing--40) !important;
    padding-bottom: var(--wp--preset--spacing--70) !important;
  }
  body .reason_wrapper {
    padding-left: var(--wp--preset--spacing--40) !important;
    padding-right: var(--wp--preset--spacing--40) !important;
  }
  .reason_column_txt {
    padding: var(--wp--preset--spacing--40) !important;
  }
  .reason_column_txt p {
    margin-top: 15px !important;
  }
  body .plan_wrapper {
    padding-left: var(--wp--preset--spacing--40) !important;
    padding-right: var(--wp--preset--spacing--40) !important;
  }
  .explain_area p {
    margin-top: 7px;
  }
  body .flow_wrapper {
    padding-left: var(--wp--preset--spacing--40) !important;
    padding-right: var(--wp--preset--spacing--40) !important;
  }
  body .faq_wrapper {
    padding-left: var(--wp--preset--spacing--40) !important;
    padding-right: var(--wp--preset--spacing--40) !important;
  }
  .contact_bg .contact_bg_inner {
    margin-left: var(--wp--preset--spacing--40) !important;
    margin-right: var(--wp--preset--spacing--40) !important;
    padding-left: var(--wp--preset--spacing--40) !important;
    padding-right: var(--wp--preset--spacing--40) !important;
  }
  .smf-item__col--label {
    width: 16em !important;
  }
}
@media (min-width: 751px) and (max-width: 950px) {
  body .explain_area {
    padding: var(--wp--preset--spacing--30) !important;
  }
  .service_wrapper .service_list p::before {
    width: 26px !important;
    height: 26px !important;
  }
  .explain_area p::before {
    left: -36px;
    width: 26px;
    height: 26px;
  }
  .explain_area p {
    margin-left: 36px !important;
  }
}
@media (min-width: 751px) and (max-width: 900px) {
  .worry_wrapper .img-txt .img {
    flex-basis: 41% !important;
    margin-top: -50px;
  }
  .service_wrapper .img-txt .img {
    flex-basis: 41% !important;
  }
  .price_columns {
    gap: var(--wp--preset--spacing--30) !important;
  }
  .schema-faq-section .schema-faq-question {
    padding: 10px 80px 10px 70px !important;
  }
  .schema-faq-section .schema-faq-question::before {
    font-size: var(--wp--preset--font-size--48-px) !important;
  }
  .reason_column_photo::before {
    width: 64px !important;
    height: 64px !important;
  }
  .worry_wrapper p.worry_sub {
    line-height: 1.6 !important;
  }
  .service_wrapper .img-txt-1 .txt {
    margin-top: 0 !important;
  }
  .service_wrapper .img-txt.img-txt-2 {
    margin-top: var(--wp--preset--spacing--60) !important;
  }
}
@media (min-width: 751px) and (max-width: 781px) {
  .worry_wrapper .img-txt .img {
    flex-basis: 0% !important;
  }
  .worry_wrapper p.worry_sub::after {
    bottom: -12px;
  }
  .worry_wrapper::before {
    top: 4%;
    height: 106%;
  }
  .service_wrapper .img-txt .img {
    flex-basis: 0% !important;
  }
  .service_wrapper .ttl-02 {
    display: block !important;
  }
  .service_wrapper .alignfull.are-vertically-aligned-center.img-txt {
    display: flex;
    align-items: flex-start !important;
  }
  .service_wrapper .wp-block-column.is-vertically-aligned-center.txt {
    align-self: inherit;
  }
  .service_wrapper .img-txt-1 .txt {
    margin-top: 0 !important;
  }
  .service_wrapper .img-txt-1 figure.wp-block-image.size-large {
    margin-top: -80px;
  }
  .service_wrapper .img-txt-2 figure.wp-block-image.size-large {
    margin-top: -120px;
  }
  .service_wrapper .img-txt.img-txt-2 {
    margin-top: var(--wp--preset--spacing--70) !important;
  }
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column.reason_column_photo {
    flex-basis: inherit !important;
  }
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column.reason_column_txt {
    flex-basis: inherit !important;
  }
  .explain_area p {
    line-height: 1.6;
  }
}
footer .copyright {
  margin-top: 10px !important;
}
footer.wp-block-template-part {
    margin-top: -1.8em;
}
/*
----------------------------------------

スマホ

----------------------------------------
*/
@media (max-width: 1000px) {
  .has-global-padding > .alignfull {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .has-global-padding {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}
@media screen and (max-width: 750px) {
  header .wp-block-site-logo {
    width: 187.92px !important;
    height: 44.712px !important;
  }
  .header.toggle-nav .g-nav .wp-block-site-logo a {
    width: 208.8px !important;
    height: 49.68px !important;
  }
  header .white.wp-block-site-logo {
    width: 208.8px !important;
    height: 49.68px !important;
  }
  .ttl-01::before {
    bottom: -19px !important;
  }
  .FV_wrapper, .FV_wrapper .wp-block-cover.alignfull.is-light {
    height: 97vh;
  }
  .FV_ttl p.jp {
    line-height: 1.5 !important;
  }
  .FV_ttl p.en {
    line-height: 1.5 !important;
  }
  .FV_ttl h1.main {
    margin-top: var(--wp--preset--spacing--40) !important;
  }
  .FV_ttl p.en {
    margin-top: var(--wp--preset--spacing--40) !important;
  }
  .scroll {
    bottom: 0px;
  }
  .FV_wrapper .wp-block-cover__inner-container {
    position: absolute;
    top: 52%;
    transform: translate(0px, -50%);
  }
  .worry_wrapper {
    padding-right: var(--wp--preset--spacing--30) !important;
    padding-left: var(--wp--preset--spacing--30) !important;
  }
  .worry_wrapper .wp-block-column.txt {
    padding: 0 !important;
  }
  .worry_wrapper .worry_list p {
    font-size: var(--wp--preset--font-size--16-px) !important;
  }
  p.worry_main {
    text-align: center;
    position: relative
  }
  .worry_wrapper p.worry_sub {
    line-height: 1.5 !important;
    text-align: center;
    display: block;
    font-weight: 500;
  }
  .worry_wrapper p.worry_main::after {
    content: "";
    position: absolute;
    left: 50%;
    top: -50px;
    height: 40px;
    width: 2px;
    background-color: var(--wp--preset--color--darkblue);
  }
  .worry_wrapper p.worry_sub::after {
    display: none;
  }
  .worry_wrapper .worry_list p::before {
    left: -28px;
    width: 22px;
    height: 22px;
  }
  .worry_wrapper .worry_list p {
    margin-top: 0.8em !important;
  }
  .worry_wrapper::before {
    width: 100%;
    height: 98%;
    top: 60px;
  }
  .worry_wrapper .img-txt {
    margin-top: 60px !important;
  }
  .worry_list {
    margin-top: var(--wp--preset--spacing--40) !important;
  }
  .worry_wrapper .worry_list {
    padding-right: var(--wp--preset--spacing--30) !important;
    padding-left: var(--wp--preset--spacing--30) !important;
  }
  .ttl-01::before {
    height: 40px !important;
  }
  .service_wrapper .ttl-01::before {
    top: -60px;
  }
  .service_wrapper {
    margin-top: 157px;
    padding-right: var(--wp--preset--spacing--30) !important;
    padding-left: var(--wp--preset--spacing--30) !important;
  }
  .service_wrapper .img-txt .txt {
    padding: 0 !important;
  }
  .service_wrapper .img-txt-1 .txt {
    margin-top: 0px;
  }
  .service_wrapper .ttl-02 p.is-style-en {
    margin-top: var(--wp--preset--spacing--20) !important;
    margin-bottom: var(--wp--preset--spacing--20) !important;
  }
  .worry_wrapper .worry_list p {
    margin-left: 30px !important;
    line-height: 1.5 !important;
  }
  .service_wrapper .service_list p::before {
    width: 22px;
    height: 22px;
    left: -30px !important;
  }
  .service_list p {
    font-size: var(--wp--preset--font-size--16-px) !important;
    margin-top: 0.8em !important;
    line-height: 1.5 !important;
  }
  .service_list {
    margin-top: var(--wp--preset--spacing--40) !important;
  }
  .service_wrapper .service_list p {
    margin-left: 30px !important;
  }
  .service_wrapper .img-txt.img-txt-2 {
    margin-top: var(--wp--preset--spacing--80) !important;
  }
  .service_wrapper .img-txt.img-txt-1 {
    margin-top: 40px !important;
  }
  .case_wrapper .ttl-01::before {
    bottom: -20px !important;
  }
  .case_wrapper .ttl-01::after {
    height: 20px !important;
    bottom: -20px;
  }
  .case_wrapper {
    margin-top: 80px !important;
  }
  .youtube_bg {
    padding-right: var(--wp--preset--spacing--30) !important;
    padding-left: var(--wp--preset--spacing--30) !important;
    padding-top: 50px;
    padding-bottom: 60px !important;
  }
  .reason_wrapper {
    padding-right: var(--wp--preset--spacing--30) !important;
    padding-left: var(--wp--preset--spacing--30) !important;
    padding-bottom: 60px !important;
  }
  .reason_column_photo::before {
    width: 54px;
    height: 54px;
  }
  .reason_column_txt {
    padding: var(--wp--preset--spacing--30) !important;
    padding-top: var(--wp--preset--spacing--50) !important;
    padding-bottom: var(--wp--preset--spacing--50) !important;
  }
  .reason_column_txt h4 {
    font-size: var(--wp--preset--font-size--24-px) !important;
  }
  .reason_column {
    margin-top: 1.8em !important;
  }
  .reason_column_txt p {
    margin-top: var(--wp--preset--spacing--30) !important;
    font-size: var(--wp--preset--font-size--16-px) !important;
    line-height: 1.75;
  }
  .plan_wrapper #cont-01 {
    margin-top: 60px !important;
  }
  .plan_wrapper {
    padding-right: var(--wp--preset--spacing--30) !important;
    padding-left: var(--wp--preset--spacing--30) !important;
  }
  .price_area h4 {
    font-size: var(--wp--preset--font-size--54-px) !important;
    position: relative;
  }
  .price_area {
    padding-right: var(--wp--preset--spacing--30) !important;
    padding-left: var(--wp--preset--spacing--30) !important;
    padding-top: var(--wp--preset--spacing--30) !important;
    padding-bottom: var(--wp--preset--spacing--30) !important;
  }
  .plan_wrapper h6::before {
    display: none;
  }
  .price_area p.price {
    margin-top: 10px;
  }
  .price_area .sp_flex {
    display: flex;
  }
  .plan_wrapper h6 {
    margin-top: 0px !important;
  }
  .price_area h4 code {
    display: inline-block !important;
    font-size: var(--wp--preset--font-size--20-px) !important;
    margin-left: 14px;
    font-weight: 500;
  }
  .price_area h6 {
    display: none;
  }
  .price_area p.price {
    position: relative;
  }
  .price_area p.price::before {
    content: '';
    width: 100%;
    height: 1px;
    background: #fff !important;
    position: absolute;
    top: -9px;
    left: 0;
  }
  .explain_area p::before {
    left: -30px;
    width: 22px;
    height: 22px;
  }
  .explain_area p {
    margin-left: 30px !important;
    margin-top: 7px;
    font-size: var(--wp--preset--font-size--15-px) !important;
  }
  .price_column .explain_area {
    padding: var(--wp--preset--spacing--30) !important;
    padding-top: var(--wp--preset--spacing--40) !important;
    padding-bottom: var(--wp--preset--spacing--40) !important;
  }
  .price_columns {
    gap: 1.8em !important;
  }
  .price_columns {
    margin-top: 2.8em !important;
  }
  .plan_wrapper {
    padding-bottom: 60px !important;
    margin-bottom: 0 !important;
  }
  .flow_wrapper {
    margin-top: 0 !important;
  }
  .step-column .step-num-label {
    bottom: -10px !important;
    margin-top: 0;
    background: linear-gradient(to right, #0172BB, #2092DC);
    padding: 9px 10px 7px;
    border-radius: 2px;
    width: 56% !important;
    white-space: nowrap;
  }
  .flow_wrapper {
    padding-right: var(--wp--preset--spacing--30) !important;
    padding-left: var(--wp--preset--spacing--30) !important;
    padding-top: 50px !important;
  }
  .flow_wrapper .step-column .wp-block-column.icon .txt {
    width: calc(100% - 130px) !important;
    margin-left: 20px !important;
  }
  .step-column .wp-block-column.icon .step-arrow {
    width: 130px !important;
  }
  .step-column .txt p {
    font-size: var(--wp--preset--font-size--15-px) !important;
  }
  .step-column .wp-block-column + .wp-block-column .step-arrow::before {
    top: -44px !important;
  }
  .step-column .icon.transparent {
    display: none !important;
  }
  .step-column .wp-block-column + .wp-block-column .step-arrow.noarrow::before {
    display: block;
  }
  .step-column.step-column2 {
    margin-top: 1.4em !important;
  }
  .step-column {
    margin-top: var(--wp--preset--spacing--80) !important;
  }
  .flow_wrapper {
    padding-bottom: 70px !important;
  }
  .faq_wrapper {
    margin-top: 50px !important;
    padding-right: var(--wp--preset--spacing--30) !important;
    padding-left: var(--wp--preset--spacing--30) !important;
  }
  .schema-faq-section .schema-faq-answer {
    margin: var(--wp--preset--spacing--30) !important;
  }
  .schema-faq-section .schema-faq-question::before {
    font-size: var(--wp--preset--font-size--64-px) !important;
  }
  .schema-faq-section .schema-faq-question {
    padding-right: 70px !important;
    padding-left: 60px !important;
    padding-top: var(--wp--preset--spacing--30) !important;
    padding-bottom: var(--wp--preset--spacing--30) !important;
  }
  .schema-faq-section .schema-faq-question::before {
    left: 16px !important;
  }
  .schema-faq.is-style-toggle-btn .schema-faq-question {
    font-size: var(--wp--preset--font-size--16-px) !important;
    line-height: 1.7 !important;
  }
  .schema-faq-section .schema-faq-answer strong {
    font-size: var(--wp--preset--font-size--16-px) !important;
    line-height: 1.7 !important;
  }
  .schema-faq-section .schema-faq-answer {
    padding: var(--wp--preset--spacing--30) !important;
    padding-top: var(--wp--preset--spacing--40) !important;
    padding-bottom: var(--wp--preset--spacing--40) !important;
  }
  p.schema-faq-answer {
    line-height: 1.7 !important;
    font-size: var(--wp--preset--font-size--15-px) !important;
  }
  .schema-faq.is-style-toggle-btn .schema-faq-question::after {
    font-size: var(--wp--preset--font-size--32-px) !important;
    width: 36px !important;
    height: 36px !important;
  }
  .yoast-faq {
    margin-top: 2.8em !important;
  }
  .contact_bg {
    padding-left: var(--wp--preset--spacing--30) !important;
    padding-right: var(--wp--preset--spacing--30) !important;
    padding-top: 50px;
    padding-bottom: 60px !important;
  }
  .contact_wrapper .ttl-01 {
    margin-top: 80px !important;
  }
  .form-step-02 .step::before {
    width: 24px !important;
    height: 24px !important;
    border: solid 4px var(--wp--preset--color--gray);
  }
  .form-step-02::before {
    top: 11px !important;
  }
  .form-step .step p.jp {
    line-height: 1.4;
    margin-top: 5px;
  }
  .form-step-02 .step .en {
    font-size: var(--wp--preset--font-size--24-px) !important;
  }
  .contact_wrapper .attention {
    font-size: var(--wp--preset--font-size--15-px) !important;
  }
  #efo-form {
    padding: 0 !important;
    margin-top: var(--wp--preset--spacing--40) !important;
  }
  #efo-form button.smf-button-control__control {
    height: 54px !important;
    font-size: var(--wp--preset--font-size--17-px) !important;
  }
  .contact_wrapper .bg-block {
    padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40) var(--wp--preset--spacing--30) !important;
  }
  .agree .smf-item__controls {
    margin-top: 10px;
  }
  footer .aligncenter.wp-block-site-logo {
    width: 209.7px !important;
    height: 49.68px !important;
    margin-left: 60px !important;
  }
  footer .copyright {
    margin-top: 0px !important;
  }
  footer .custom-logo-link img {
    width: 100% !important;
  }
  footer > .wp-block-group.footer-01 {
    padding: 0 !important;
  }
  footer .nav-wrap {
    gap: 0 !important;
  }
  footer .sp-logo {
    margin-bottom: 0 !important;
  }
  footer .footer-01 .alignfull.wp-block-template-part {
    margin-top: 0 !important;
  }
  form.snow-monkey-form[data-screen=confirm] .smf-item__col--label {
    padding: 5px 0 !important;
  }
  form.snow-monkey-form[data-screen=confirm] .smf-item__col--controls {
    padding: 8px 0;
  }
  .toggle-btn {
    width: 64px !important;
    height: 64px !important;
  }
  .nav-open .header.toggle-nav .g-nav p.is-style-tel-icon {
    margin-left: 20px;
    font-size: var(--wp--preset--font-size--48-px) !important;
  }
  .nav-open .header.toggle-nav .g-nav .is-style-tel-icon::before {
    width: 26px;
    height: 26px;
  }
  .nav-open .header.toggle-nav .g-nav .is-style-tel-icon::before {
    top: -2px;
    left: 46px;
  }
  .header .btn-set .tel-link .link-btn, .header .btn-set .is-style-mail-btn .wp-element-button {
    min-height: 54px !important;
  }
  .nav-open .header.toggle-nav .g-nav .btn-set .is-style-mail-btn .wp-block-button__link {
    height: 54px !important;
    font-size: var(--wp--preset--font-size--17-px) !important;
  }
  .header.toggle-nav .sp-logo {
    min-height: 74px !important;
  }
  .step p.jp.has-noto-sans-jp-font-family {
    font-size: var(--wp--preset--font-size--16-px) !important;
  }
  span.smf-item__label__text {
    font-size: var(--wp--preset--font-size--16-px) !important;
  }
}
/*
----------------------------------------

thanks

----------------------------------------
*/
.page-child .wp-block-cover.alignfull.page-header {
  margin-top: -140px !important;
  min-height: 440px !important;
}
.page-child .page-header .page-ttl {
  font-size: var(--wp--preset--font-size--72-px) !important;
  color: #fff !important;
  font-family: "din-condensed", sans-serif !important;
  line-height: 1.2 !important;
}
.page-child h1 {
  color: #fff !important;
}
.page-child .wp-block-cover__inner-container {
  margin-top: 60px !important;
}
.page-child p.thanks_txt {
  margin-top: 3.6em !important;
}
.page-child .entry-content {
  margin-top: 0 !important;
  padding-bottom: var(--wp--preset--spacing--70);
}
.yoast-breadcrumbs {
  display: none;
}
.page-child .ttl-01 {
  margin-top: var(--wp--preset--spacing--40) !important;
}
.tel-btn {
  border: transparent;
  padding: 0 !important;
}
.is-style-tel-icon.blue::before {
  background-image: url(../../../../uploads/2025/05/phone_blue.png) !important;
}
p.is-style-tel-icon.blue {
  margin-left: 40px !important;
  font-size: 32px !important;
}
.is-style-tel-icon.blue::before {
  width: 34px;
  height: 34px;
}
.thanks_tel code {
  font-family: var(--wp--preset--font-family--roboto);
}
.normal_button a.wp-block-button__link.wp-element-button {
  border: transparent;
  border-radius: 100px;
  width: 260px;
  height: 64px;
  white-space: nowrap;
}
.normal_button .wp-block-button.is-style-arrow-left .wp-block-button__link::after {
  display: none;
}
@media (min-width: 751px) {
  .wp-block-button.is-style-arrow-left .wp-block-button__link:hover {
    background: #fff !important;
    border: 2px solid var(--wp--preset--color--blue);
    color: var(--wp--preset--color--blue) !important;
  }
}
@media screen and (max-width: 750px) {
  .page-child .wp-block-cover.alignfull.page-header {
    margin-top: -100px !important;
    min-height: 300px !important;
  }
  .page-child .entry-content {
    padding-left: var(--wp--preset--spacing--30) !important;
    padding-right: var(--wp--preset--spacing--30) !important;
  }
  .page-child .entry-content {
    padding-bottom: var(--wp--preset--spacing--80);
  }
}
.wp-element-button, .wp-block-button__link {
  transition: all .05s !important;
}
/*
----------------------------------------

フローティングバナー

----------------------------------------
*/
@media (min-width: 751px) {
  .banner {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  .banner.is-visible {
    opacity: 1;
    visibility: visible;
  }
}
@media screen and (max-width: 750px) {
  figure.banner_pc {
    display: none;
  }
  .banner_sp {
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  .banner_sp.is-visible {
    opacity: 1;
    visibility: visible;
  }
}

/*
----------------------------------------

thanksページのMV

----------------------------------------
*/
.page-child .page-header {
  background-image: url(../../../../uploads/2025/07/MV_BG_2.png) !important;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}

.page-child .page-header img.wp-block-cover__image-background {
  display: none !important; 
}
/*
----------------------------------------

tel非表示

----------------------------------------
*/

.tel-link {
    display: none !important;
}
.thanks_tel {
    display: none !important;
}