@charset "UTF-8";
/*
	Template: swell
	Theme Name: SWELL CHILD
	Theme URI: https://swell-theme.com/
	Description: SWELLの子テーマ
	Version: 1.0.0
	Author: LOOS WEB STUDIO
	Author URI: https://loos-web-studio.com/

	License: GNU General Public License
	License URI: http://www.gnu.org/licenses/gpl.html
*/
@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap";
:root {
  font-size: 18px;
  --scrollbar: 0px;
  --base-color: #353535;
  --white-color: #FFFFFF;
  --green1-color: #02977A;
  --green2-color: #6AB943;
  --green3-color: #97C738;
  --green4-color: #B2DF58;
  --green5-color: #ECF1D5;
  --green6-color: #A2D43E;
  --green7-color: #06C755;
  --green8-color: #50ab61;
  --orange1-color: #F2BB4E;
  --ff-base: "Zen Kaku Gothic New", sans-serif;
  --ff-barlow: "Barlow Condensed", sans-serif;
  --ff-noto: "Noto Sans", sans-serif;
  --ff-roboto: "Roboto", sans-serif;
  --swl-font_family: var(--ff-base)
}
body {
  font-weight: 500
}
a, a::after, a::before {
  transition: .3s !important
}
a:hover {
  text-decoration: none
}
img {
  -o-object-fit: cover;
  object-fit: cover
}
.wp-block-image img {
  width: 100%
}
.l-content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important
}
.swell-block-columns__inner, .swell-block-columns__inner {
  -moz-column-gap: var(--swl-clmn-mrgn--x);
  column-gap: var(--swl-clmn-mrgn--x);
  margin-left: 0
}
.swell-block-columns .swell-block-column, .swell-block-columns .swell-block-column {
  width: var(--clmn-w);
  margin-left: 0
}
.-sidebar-on #sidebar {
  width: 250px !important
}
.-sidebar-on .l-mainContent {
  --swl-sidebar_margin: 60px;
  width: calc(100% - 250px - var(--swl-sidebar_margin)) !important
}
@media only screen and (max-width: 959px) {
  :root {
    font-size: 14px
  }
  .-sidebar-on #sidebar {
    width: 100% !important
  }
  .-sidebar-on .l-mainContent {
    --swl-sidebar_margin: 60px;
    width: 100% !important
  }
}
.items-start .swell-block-columns__inner {
  align-items: flex-start
}
.items-center .swell-block-columns__inner {
  align-items: center
}
.items-end .swell-block-columns__inner {
  align-items: flex-end
}
.jc-start .swell-block-columns__inner {
  justify-content: flex-start
}
.jc-end .swell-block-columns__inner {
  justify-content: flex-end
}
.jc-center .swell-block-columns__inner {
  justify-content: center
}
.jc-between .swell-block-columns__inner {
  justify-content: space-between
}
.alignfull {
  left: calc(50% - 50vw + var(--swl-scrollbar_width, 0px)/2) !important;
  width: calc(100vw - var(--swl-scrollbar_width, 0px)) !important
}
.swell-block-fullWide .swell-block-fullWide__inner {
  box-sizing: content-box
}
.wp-block-group {
  max-width: var(--article_size)
}
.wp-block-tiptip-hyperlink-group-block, .wp-block-tiptip-hyperlink-group-block a p {
  text-decoration: none
}
.wp-block-tiptip-hyperlink-group-block:hover {
  opacity: .8
}
@media(min-width: 960px) {
  .swell-block-fullWide__inner.l-article {
    --swl-fw_inner_pad: calc(var(--swl-pad_post_content)) !important
  }
}
@media not all and (min-width: 960px) {
  .swell-block-fullWide__inner.l-article {
    --swl-fw_inner_pad: var(--swl-pad_container, 4vw) !important
  }
}
@media not all and (min-width: 960px) {
  .l-content {
    padding-left: var(--swl-pad_container, 0) !important;
    padding-right: var(--swl-pad_container, 0) !important
  }
}
.items-start {
  align-items: flex-start
}
.items-center {
  align-items: center
}
.items-end {
  align-items: flex-end
}
.jc-start {
  justify-content: flex-start
}
.jc-center {
  justify-content: center
}
.jc-between {
  justify-content: space-between
}
.u-pt-0 {
  padding-top: 0 !important
}
.u-pb-0 {
  padding-bottom: 0 !important
}
.u-pt-10 {
  padding-top: 1em !important
}
.u-pb-10 {
  padding-bottom: 1em !important
}
.u-pt-15 {
  padding-top: 1.5em !important
}
.u-pb-15 {
  padding-bottom: 1.5em !important
}
.u-pt-20 {
  padding-top: 2em !important
}
.u-pb-20 {
  padding-bottom: 2em !important
}
.u-pt-25 {
  padding-top: 2.5em !important
}
.u-pb-25 {
  padding-bottom: 2.5em !important
}
.u-pt-30 {
  padding-top: 3em !important
}
.u-pb-30 {
  padding-bottom: 3em !important
}
.u-pt-35 {
  padding-top: 3.5em !important
}
.u-pb-35 {
  padding-bottom: 3.5em !important
}
.u-pt-40 {
  padding-top: 4em !important
}
.u-pb-40 {
  padding-bottom: 4em !important
}
.u-pt-45 {
  padding-top: 4.5em !important
}
.u-pb-45 {
  padding-bottom: 4.5em !important
}
.u-pt-50 {
  padding-top: 5em !important
}
.u-pb-50 {
  padding-bottom: 5em !important
}
.u-pt-55 {
  padding-top: 5.5em !important
}
.u-pb-55 {
  padding-bottom: 5.5em !important
}
.u-pt-60 {
  padding-top: 6em !important
}
.u-pb-60 {
  padding-bottom: 6em !important
}
.u-pt-65 {
  padding-top: 6.5em !important
}
.u-pb-65 {
  padding-bottom: 6.5em !important
}
.u-pt-70 {
  padding-top: 7em !important
}
.u-pb-70 {
  padding-bottom: 7em !important
}
.u-pt-75 {
  padding-top: 7.5em !important
}
.u-pb-75 {
  padding-bottom: 7.5em !important
}
.u-pt-80 {
  padding-top: 8em !important
}
.u-pb-80 {
  padding-bottom: 8em !important
}
.u-pt-85 {
  padding-top: 8.5em !important
}
.u-pb-85 {
  padding-bottom: 8.5em !important
}
.u-pt-90 {
  padding-top: 9em !important
}
.u-pb-90 {
  padding-bottom: 9em !important
}
.u-pt-95 {
  padding-top: 9.5em !important
}
.u-pb-95 {
  padding-bottom: 9.5em !important
}
.u-pt-100 {
  padding-top: 10em !important
}
.u-pb-100 {
  padding-bottom: 10em !important
}
.u-pt-110 {
  padding-top: 11em !important
}
.u-pb-110 {
  padding-bottom: 11em !important
}
.u-pt-120 {
  padding-top: 12em !important
}
.u-pb-120 {
  padding-bottom: 12em !important
}
.u-mt-0 {
  margin-top: 0 !important
}
.u-mb-0 {
  margin-bottom: 0 !important
}
.u-mt-10 {
  margin-top: 1em !important
}
.u-mt-15 {
  margin-top: 1.5em !important
}
.u-mt-20 {
  margin-top: 2em !important
}
.u-mt-25 {
  margin-top: 2.5em !important
}
.u-mt-30 {
  margin-top: 3em !important
}
.u-mt-35 {
  margin-top: 3.5em !important
}
.u-mt-40 {
  margin-top: 4em !important
}
.u-mt-45 {
  margin-top: 4.5em !important
}
.u-mt-50 {
  margin-top: 5em !important
}
.u-mt-55 {
  margin-top: 5.5em !important
}
.u-mt-60 {
  margin-top: 6em !important
}
.u-mt-65 {
  margin-top: 6.5em !important
}
.u-mt-70 {
  margin-top: 7em !important
}
.u-mt-75 {
  margin-top: 7.5em !important
}
.u-mt-80 {
  margin-top: 8em !important
}
.u-mt-85 {
  margin-top: 8.5em !important
}
.u-mt-90 {
  margin-top: 9em !important
}
.u-mt-95 {
  margin-top: 9.5em !important
}
.u-mb-70 {
  margin-bottom: 7em !important
}
.u-mb-75 {
  margin-bottom: 7.5em !important
}
.u-mb-80 {
  margin-bottom: 8em !important
}
.u-mb-85 {
  margin-bottom: 8.5em !important
}
.u-mb-90 {
  margin-bottom: 9em !important
}
.u-mb-96 {
  margin-bottom: 9.5em !important
}
@media only screen and (max-width: 959px) {
  .u-pt-50 {
    padding-top: 3em !important
  }
  .u-pb-50 {
    padding-bottom: 3em !important
  }
  .u-pt-55 {
    padding-top: 3.5em !important
  }
  .u-pb-55 {
    padding-bottom: 3.5em !important
  }
  .u-pt-60 {
    padding-top: 3em !important
  }
  .u-pb-60 {
    padding-bottom: 3em !important
  }
  .u-pt-65 {
    padding-top: 3.5em !important
  }
  .u-pb-65 {
    padding-bottom: 3.5em !important
  }
  .u-pt-70 {
    padding-top: 4em !important
  }
  .u-pb-70 {
    padding-bottom: 4em !important
  }
  .u-pt-75 {
    padding-top: 4.5em !important
  }
  .u-pb-75 {
    padding-bottom: 4.5em !important
  }
  .u-pt-80 {
    padding-top: 4.6em !important
  }
  .u-pb-80 {
    padding-bottom: 4.6em !important
  }
  .u-pt-85 {
    padding-top: 5em !important
  }
  .u-pb-85 {
    padding-bottom: 5em !important
  }
  .u-pt-90 {
    padding-top: 5em !important
  }
  .u-pb-90 {
    padding-bottom: 5em !important
  }
  .u-pt-95 {
    padding-top: 5cm !important
  }
  .u-pb-95 {
    padding-bottom: 5em !important
  }
  .u-pt-100, .u-pt-110, .u-pt-120 {
    padding-top: 6em !important
  }
  .u-pb-100, .u-pb-110, .u-pb-120 {
    padding-bottom: 6em !important
  }
  .u-mt-40 {
    margin-top: 2em !important
  }
  .u-mt-45 {
    margin-top: 2.5em !important
  }
  .u-mt-50 {
    margin-top: 3em !important
  }
  .u-mt-55 {
    margin-top: 3.5em !important
  }
  .u-mt-60 {
    margin-top: 4em !important
  }
  .u-mt-65 {
    margin-top: 4.5em !important
  }
  .u-mt-70 {
    margin-top: 5em !important
  }
  .u-mt-75 {
    margin-top: 5.5em !important
  }
  .u-mt-80 {
    margin-top: 6em !important
  }
  .u-mt-85 {
    margin-top: 6.5em !important
  }
  .u-mt-90 {
    margin-top: 7em !important
  }
  .u-mt-95 {
    margin-top: 7.5em !important
  }
  .u-mb-70 {
    margin-bottom: 5em !important
  }
  .u-mb-75 {
    margin-bottom: 5.5em !important
  }
  .u-mb-80 {
    margin-bottom: 6em !important
  }
  .u-mb-85 {
    margin-bottom: 6.5em !important
  }
  .u-mb-90 {
    margin-bottom: 7em !important
  }
  .u-mb-96 {
    margin-bottom: 7.5em !important
  }
  .u-mb-50 {
    margin-bottom: 3em !important
  }
  .u-mb-60 {
    margin-bottom: 4em !important
  }
  .u-mb-70 {
    margin-bottom: 5em !important
  }
  .u-mb-80 {
    margin-bottom: 6em !important
  }
  .u-mb-90 {
    margin-bottom: 7em !important
  }
}
.m-auto {
  margin-left: auto !important;
  margin-right: auto !important
}
ol.list-reset, ul.list-reset {
  padding-left: 0;
  list-style: none
}
.cmn__lh--10 {
  line-height: 1 !important
}
.cmn__lh--11 {
  line-height: 1.1 !important
}
.cmn__lh--12 {
  line-height: 1.2 !important
}
.cmn__lh--13 {
  line-height: 1.3 !important
}
.cmn__lh--14 {
  line-height: 1.4 !important
}
.cmn__lh--15 {
  line-height: 1.5 !important
}
.cmn__lh--16 {
  line-height: 1.6 !important
}
.cmn__lh--17 {
  line-height: 1.7 !important
}
.cmn__lh--18 {
  line-height: 1.8 !important
}
.cmn__lh--19 {
  line-height: 1.9 !important
}
.cmn__lh--20 {
  line-height: 2 !important
}
.ff-base {
  font-family: var(--ff-base) !important
}
.ff-barlow {
  font-family: var(--ff-barlow) !important
}
.ff-noto {
  font-family: var(--ff-noto) !important
}
.ff-roboto {
  font-family: var(--ff-roboto) !important
}
.cmn__fw--normal {
  font-weight: normal !important
}
.cmn__fw--10 {
  font-weight: 100 !important
}
.cmn__fw--20 {
  font-weight: 200 !important
}
.cmn__fw--30 {
  font-weight: 300 !important
}
.cmn__fw--40 {
  font-weight: 400 !important
}
.cmn__fw--50 {
  font-weight: 500 !important
}
.cmn__fw--60 {
  font-weight: 600 !important
}
.cmn__fw--70 {
  font-weight: 700 !important
}
.cmn__ls--10 {
  letter-spacing: .1em
}
.cmn_1l-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}
.cmn_2l-ellipsis {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden
}
.cmn_3l-ellipsis {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden
}
.wpcf7-spinner {
  display: none
}
.wpcf7 .wpcf7-response-output {
  border: 2px solid #fac3c3 !important;
  background: #fff3f3;
  color: #dc3232;
  text-align: center
}
.l-header, .l-fixHeader {
  position: absolute;
  width: calc(100% - 4.44em);
  top: 1.72em;
  left: 50%;
  border-radius: 5px;
  box-shadow: unset !important;
  transform: translateX(-50%)
}
.l-fixHeader {
  transform: translateX(-50%) translateY(calc(var(--swl-fix_headerH, 100px) * -1))
}
.l-fixHeader:before {
  border-radius: 5px
}
[data-scrolled=true] .l-fixHeader[data-ready] {
  position: fixed;
  transform: translateX(-50%) translateY(0) !important
}
.l-header .l-header__inner, .l-fixHeader .l-fixHeader__inner {
  max-width: 100%;
  padding-right: 0;
  padding-left: 1.675em
}
.l-header .l-header__inner .l-header__logo, .l-fixHeader .l-fixHeader__inner .l-fixHeader__logo {
  padding: .75em 0
}
.l-fixHeader .c-headLogo {
  height: var(--logo_size_pc)
}
.c-gnav {
  gap: 1.67em
}
.c-gnav > .menu-item > a {
  padding: 0
}
.c-gnav > .menu-item > a:hover {
  color: var(--green1-color)
}
.c-gnav > .menu-item > a:after {
  display: none
}
.c-gnav > .menu-item > a .ttl {
  line-height: 1;
  font-weight: 500;
  font-size: 1.11rem
}
.c-gnav > .menu-item > .sub-menu {
  display: flex;
  flex-direction: column;
  width: auto;
  top: calc(100% + 1em);
  padding: 1.11em 1.56em;
  gap: .56em;
  border-radius: 5px;
  color: var(--base-color);
  background: rgba(2, 151, 122, .85);
  overflow: hidden
}
.c-gnav > .menu-item > .sub-menu a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5px 0
}
.c-gnav > .menu-item > .sub-menu a .ttl {
  font-size: 1rem;
  color: var(--white-color);
  white-space: nowrap
}
.c-gnav > .menu-item > .sub-menu a:hover {
  background-color: unset
}
.c-gnav > .menu-item > .sub-menu a:before {
  display: none
}
.c-gnav .nav-contact {
  margin-left: 1.11em;
  border-radius: 0 5px 5px 0;
  color: var(--white-color);
  background: var(--green1-color);
  transition: .3s
}
.c-gnav .nav-contact:hover {
  background: rgba(2, 151, 122, .85)
}
.c-gnav .nav-contact > a {
  padding: 0 1.625em
}
.c-gnav .nav-contact > a:hover {
  color: var(--white-color)
}
.c-gnav .nav-contact > a .ttl {
  display: flex;
  align-items: center;
  line-height: 1;
  font-weight: 700;
  gap: 5px
}
.c-gnav .nav-contact > a .ttl:before {
  display: block;
  width: .8em;
  aspect-ratio: 4/3;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-email.svg) no-repeat;
  background-size: contain
}
@media only screen and (max-width: 1539px) {
  .c-gnav > .menu-item > a .ttl {
    font-size: 1.2vw
  }
}
@media only screen and (max-width: 959px) {
  .l-header[data-spfix="1"] {
    position: fixed;
    width: calc(100% - var(--swl-pad_container, 4vw)*2);
    top: var(--swl-adminbarH, 1.5em)
  }
  .l-header .l-header__inner {
    padding: 0 1.375em 0 .75em
  }
  .l-header .l-header__logo {
    order: 1
  }
  .l-header .l-header__logo .c-headLogo__link {
    padding: 0
  }
  .l-header .l-header__customBtn {
    display: none
  }
  .l-header .l-header__menuBtn {
    order: 2;
    width: 1.715em;
    height: auto;
    line-height: 1;
    aspect-ratio: 6/5
  }
  .-menuBtn .c-iconBtn__icon {
    width: 100%;
    height: 2px;
    background-color: #333;
    display: grid;
    place-items: center;
    transition: transform .3s
  }
  .-menuBtn .c-iconBtn__icon:before, .-menuBtn .c-iconBtn__icon:after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background-color: #333;
    transition: transform .3s
  }
  .-menuBtn .c-iconBtn__icon:before {
    transform: translateY(-8px)
  }
  .-menuBtn .c-iconBtn__icon:after {
    transform: translateY(7px)
  }
  [data-spmenu=opened] .-menuBtn .c-iconBtn__icon {
    background-color: rgba(0, 0, 0, 0)
  }
  [data-spmenu=opened] .-menuBtn .c-iconBtn__icon:before {
    transform: rotate(45deg) translate(0, 1px)
  }
  [data-spmenu=opened] .-menuBtn .c-iconBtn__icon:after {
    transform: rotate(-45deg) translate(0, -1px)
  }
  .p-spMenu {
    z-index: 100
  }
  .p-spMenu .p-spMenu__inner {
    width: 100vw;
    height: 100%;
    top: 0;
    left: 0;
    padding-top: 8.5em;
    transform: translate(0, -100vh);
    transition: transform .25s
  }
  .p-spMenu .p-spMenu__inner:before {
    background: var(--green2-color)
  }
  [data-spmenu=opened] .p-spMenu__inner {
    transform: translate(0, 0)
  }
  .p-spMenu__overlay, .-left .p-spMenu__closeBtn, .p-spMenu .c-widget__title {
    display: none
  }
  .p-spMenu__nav {
    margin: 0;
    padding: 0
  }
  .c-spnav {
    display: flex;
    flex-direction: column;
    gap: 2.125em
  }
  .c-spnav a {
    border: none;
    padding: 0;
    color: var(--white-color)
  }
  .c-spnav a:hover {
    opacity: .8;
    background: none
  }
  .c-spnav > .menu-item > a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    line-height: 1;
    font-weight: 700;
    font-size: 1.5em
  }
  .c-spnav > .menu-item > a:before {
    display: block;
    position: static;
    width: 1rem;
    height: auto;
    aspect-ratio: 145/172;
    content: "";
    background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-headmark-white.svg) no-repeat;
    background-size: contain;
    transform: none
  }
  .c-spnav > .menu-item > .sub-menu {
    display: flex;
    flex-direction: column;
    gap: .75em;
    margin-top: 1em;
    padding-left: .75em
  }
  .c-spnav > .menu-item > .sub-menu a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    line-height: 1.6;
    padding: 0;
    font-weight: 500;
    font-size: 1.25rem
  }
  .c-spnav > .menu-item > .sub-menu a:before {
    display: block;
    position: static;
    width: .5rem;
    height: auto;
    aspect-ratio: 65/72;
    content: "";
    background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_tri_right_white.svg) no-repeat;
    background-size: contain;
    transform: none
  }
  .c-spnav .nav-contact {
    border-radius: 5px;
    color: var(--white-color);
    background: var(--green1-color);
    transition: .3s
  }
  .c-spnav .nav-contact:hover {
    background: rgba(2, 151, 122, .85)
  }
  .c-spnav .nav-contact > a {
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 34/7;
    line-height: 1;
    font-weight: 700;
    font-size: 1.25rem;
    gap: 8px;
    padding: 0 1.625em
  }
  .c-spnav .nav-contact > a:hover {
    color: var(--white-color)
  }
  .c-spnav .nav-contact > a:before {
    display: block;
    width: 1.13em;
    aspect-ratio: 4/3;
    content: "";
    background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-email.svg) no-repeat;
    background-size: contain
  }
  .c-spnav .nav-contact > a:after {
    display: block;
    position: absolute;
    top: 50%;
    right: 1.25em;
    width: .4em;
    aspect-ratio: 7/13;
    content: "";
    background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_arrow_right_white.svg) no-repeat;
    background-size: contain;
    transform: translateY(-50%)
  }
}
.l-footer__foot {
  display: none
}
.l-footer__widgetArea {
  padding: 0
}
.l-footer__widgetArea .w-footer {
  flex-direction: column
}
.l-footer__widgetArea .w-footer__box {
  padding: 2.25em 0;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto
}
.l-footer__widgetArea .w-footer__box .footer__info .info__logo {
  backface-visibility: hidden
}
.l-footer__widgetArea .w-footer__box .info__contact {
  padding: 1.5em 1.25em;
  border: 1px solid var(--green1-color);
  border-radius: 10px
}
.l-footer__widgetArea .w-footer__box .info__contact .contact__txt {
  margin-bottom: .625em
}
.l-footer__widgetArea .w-footer__box .info__contact .contact__txt .swl-inline-icon {
  margin: 0
}
.l-footer__widgetArea .w-footer__box .info__contact .contact__txt .swl-inline-icon:first-of-type {
  margin-right: .625em
}
.l-footer__widgetArea .w-footer__box .info__contact .contact__txt .swl-inline-icon:last-of-type {
  margin-left: .625em
}
.l-footer__widgetArea .w-footer__box .info__contact .contact__btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 366/70;
  line-height: 1;
  gap: 8px;
  padding: 0 1.625em;
  border-radius: 5px;
  font-weight: 700;
  color: var(--white-color);
  background: var(--green1-color);
  transition: .3s
}
.l-footer__widgetArea .w-footer__box .info__contact .contact__btn a:hover {
  background: rgba(2, 151, 122, .85)
}
.l-footer__widgetArea .w-footer__box .info__contact .contact__btn a:before {
  display: block;
  width: 1.05em;
  aspect-ratio: 4/3;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-email.svg) no-repeat;
  background-size: contain
}
.l-footer__widgetArea .w-footer__box .info__contact .contact__btn a:after {
  display: block;
  position: absolute;
  top: 50%;
  right: 1.25em;
  width: .4em;
  aspect-ratio: 7/13;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_arrow_right_white.svg) no-repeat;
  background-size: contain;
  transform: translateY(-50%)
}
.l-footer__widgetArea .w-footer__box:last-of-type {
  display: flex;
  align-items: flex-end;
  position: relative;
  padding: 2.75em 0
}
.l-footer__widgetArea .w-footer__box:last-of-type:before {
  position: absolute;
  top: 0;
  left: calc(50% - 50vw + var(--swl-scrollbar_width, 0px)/2) !important;
  width: calc(100vw - var(--swl-scrollbar_width, 0px)) !important;
  height: 100%;
  content: "";
  background: var(--green2-color)
}
.l-footer__widgetArea .w-footer__box:last-of-type .widget_nav_menu {
  width: 75%
}
.l-footer__widgetArea .w-footer__box:last-of-type .widget_nav_menu .menu {
  display: flex;
  gap: 3.875em
}
.l-footer__widgetArea .w-footer__box:last-of-type .widget_nav_menu .menu a {
  border: none;
  padding: 0;
  color: var(--white-color)
}
.l-footer__widgetArea .w-footer__box:last-of-type .widget_nav_menu .menu a:hover {
  opacity: .8;
  background: none
}
.l-footer__widgetArea .w-footer__box:last-of-type .widget_nav_menu .menu > .menu-item > a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  line-height: 1;
  font-weight: 500;
  font-size: 1.1em
}
.l-footer__widgetArea .w-footer__box:last-of-type .widget_nav_menu .menu > .menu-item > a:before {
  display: block;
  position: static;
  width: 1rem;
  height: auto;
  aspect-ratio: 145/172;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-headmark-white.svg) no-repeat;
  background-size: contain;
  transform: none
}
.l-footer__widgetArea .w-footer__box:last-of-type .widget_nav_menu .menu > .menu-item > .sub-menu {
  display: flex;
  flex-direction: column;
  gap: .275em;
  margin-top: .55em;
  padding-left: .75em
}
.l-footer__widgetArea .w-footer__box:last-of-type .widget_nav_menu .menu > .menu-item > .sub-menu a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  line-height: 1.6;
  padding: 0;
  font-weight: 500;
  font-size: 1rem
}
.l-footer__widgetArea .w-footer__box:last-of-type .widget_nav_menu .menu > .menu-item > .sub-menu a:before {
  display: block;
  position: static;
  width: .5rem;
  height: auto;
  aspect-ratio: 65/72;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_tri_right_white.svg) no-repeat;
  background-size: contain;
  transform: none
}
.l-footer__widgetArea .w-footer__box:last-of-type .widget_text {
  width: 25%;
  padding: .55em .1em .55em 0
}
.l-footer__widgetArea .w-footer__box:last-of-type .widget_text .footer__pp {
  margin-bottom: .625em
}
.l-footer__widgetArea .w-footer__box:last-of-type .widget_text .footer__pp a {
  color: var(--white-color)
}
.c-fixBtn {
  width: 46px;
  height: auto;
  aspect-ratio: 1/1;
  border: 1px solid var(--white-color);
  opacity: 1;
  transition: .3s
}
.c-fixBtn:hover {
  background-color: var(--white-color) !important;
  opacity: .8
}
.c-fixBtn__icon {
  margin-top: -4px;
  font-size: unset
}
.icon-chevron-small-up:before, .icon-chevron-up:before {
  display: block;
  width: 1.5em;
  height: auto;
  aspect-ratio: 15/27;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_pagetop.svg) no-repeat center center;
  background-size: contain
}
@media screen and (max-width: 1279px) {
  .l-footer__widgetArea .w-footer__box .footer__info .swell-block-columns__inner {
    -moz-column-gap: 3% !important;
    column-gap: 3% !important
  }
  .l-footer__widgetArea .w-footer__box .info__contact {
    width: 45% !important
  }
}
@media only screen and (max-width: 959px) {
  .l-footer__widgetArea .w-footer__box {
    padding: 2.85em 0
  }
  .l-footer__widgetArea .w-footer__box .footer__info .swell-block-columns__inner {
    gap: 2.125em
  }
  .l-footer__widgetArea .w-footer__box .footer__info .info__logo {
    width: 10em
  }
  .l-footer__widgetArea .w-footer__box .footer__info .info__company p {
    font-size: 1.25rem !important
  }
  .l-footer__widgetArea .w-footer__box .info__contact {
    width: 100% !important
  }
  .l-footer__widgetArea .w-footer__box .info__contact .contact__txt {
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.4 !important;
    margin: 0 auto .625em;
    font-size: 1.125rem !important
  }
  .l-footer__widgetArea .w-footer__box .info__contact .contact__txt .swl-inline-icon {
    display: block;
    height: 2.5em
  }
  .l-footer__widgetArea .w-footer__box .info__contact .contact__btn a {
    aspect-ratio: unset;
    padding: 1.3em 0;
    font-size: 1.4rem !important
  }
  .l-footer__widgetArea .w-footer__box:last-of-type {
    flex-direction: column;
    padding: 3.57em 0 5em;
    gap: 1.4em
  }
  .l-footer__widgetArea .w-footer__box:last-of-type .widget_nav_menu {
    width: 100%
  }
  .l-footer__widgetArea .w-footer__box:last-of-type .widget_nav_menu .menu {
    flex-direction: column;
    gap: 2.15em
  }
  .l-footer__widgetArea .w-footer__box:last-of-type .widget_nav_menu .menu > .menu-item > a {
    font-size: 1.4rem
  }
  .l-footer__widgetArea .w-footer__box:last-of-type .widget_nav_menu .menu > .menu-item > .sub-menu a {
    font-size: 1.15rem
  }
  .l-footer__widgetArea .w-footer__box:last-of-type .widget_text {
    width: 100%;
    margin-top: 0
  }
  .l-footer__widgetArea .w-footer__box:last-of-type .widget_text .footer__pp {
    font-size: 1.15rem !important
  }
  .l-footer__widgetArea .w-footer__box:last-of-type .widget_text .footer__copy {
    font-size: 1rem !important
  }
  .c-fixBtn {
    width: 36px
  }
  .c-fixBtn__icon {
    margin-top: -2px
  }
  .icon-chevron-small-up:before, .icon-chevron-up:before {
    width: 1em
  }
}
@media only screen and (max-width: 599px) {
  .l-footer__widgetArea .w-footer__box .info__contact .contact__btn a {
    aspect-ratio: 314/70;
    padding: 1.3em 14% 1.3em 9%;
    position: relative;
    width: 100%
  }
}
.p-breadcrumb {
  position: relative;
  width: 100%;
  padding: 0 !important;
  z-index: 10
}
.p-breadcrumb__list {
  max-width: 100%;
  padding: 1em 1.28em !important;
  font-size: 1rem
}
.p-breadcrumb__item:after {
  height: 1.36em;
  content: "/";
  clip-path: none;
  opacity: 1;
  background-color: unset
}
.p-breadcrumb__text {
  line-height: 1.25;
  font-weight: 400;
  font-size: .67rem !important;
  opacity: 1 !important
}
a.p-breadcrumb__text span {
  font-size: .67rem !important;
  color: var(--green1-color);
  text-decoration: none
}
.p-breadcrumb__text .__home:before {
  display: none
}
.p-breadcrumb__item:last-child {
  flex-shrink: 1;
  min-width: 0;
  overflow: hidden
}
.p-breadcrumb__item:last-child > span.p-breadcrumb__text {
  display: block !important;
  opacity: 1;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}
@media only screen and (max-width: 959px) {
  .p-breadcrumb__list {
    overflow-x: scroll
  }
  .p-breadcrumb__item:last-child {
    flex-shrink: 1;
    min-width: 0;
    overflow: visible
  }
  .p-breadcrumb__item:last-child > span.p-breadcrumb__text {
    display: block !important;
    opacity: 1;
    white-space: nowrap;
    overflow: visible;
    text-overflow: inherit
  }
  .p-breadcrumb__text, a.p-breadcrumb__text span {
    font-size: .86rem !important
  }
}
#cta {
  padding: 4.44em var(--swl-pad_container, 4vw) !important
}
.post__cta {
  padding: 4.45em 0;
  background: #f8f5e7
}
.cmn__cta {
  box-shadow: 0 0 30px 0 rgba(237, 235, 228, .9)
}
.cmn__cta a:hover {
  opacity: .8
}
.cmn__cta .cmn__cta-block {
  position: relative;
  padding: 1.75em 0 2.05em;
  border-radius: 10px;
  background-color: var(--green6-color);
  background-image: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cta_bg_pc.png), url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cta_img01.png);
  background-repeat: no-repeat, no-repeat;
  background-position: right, left bottom;
  background-size: 50%, 16.7%
}
.cmn__cta .cmn__cta-block .txt {
  padding-left: 7.89em
}
.cmn__cta .cmn__cta-block .txt .ff-barlow {
  position: absolute;
  top: -0.2em !important;
  left: 0;
  letter-spacing: .1em
}
.cmn__cta .cmn__cta-block .txt .heading-l {
  margin-bottom: .2em
}
.cmn__cta .cmn__cta-block .txt .heading-l em:first-of-type span {
  display: inline-block;
  margin-left: -0.5em;
  font-style: normal
}
.cmn__cta .cmn__cta-block .txt .heading-l em:last-of-type span {
  font-style: normal;
  letter-spacing: -0.5em
}
.cmn__cta .cmn__cta-block .txt .heading-l strong span {
  display: inline-block;
  position: relative;
  background-image: radial-gradient(circle at center, var(--white-color) 13%, transparent 13%);
  background-position: top right;
  background-repeat: repeat-x;
  background-size: 1em .13em
}
.cmn__cta .cmn__cta-block .btn-area {
  padding-right: 2.47em
}
.cmn__cta .cmn__cta-block .btn-area .wp-block-group {
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center;
  aspect-ratio: 4/1;
  line-height: 1;
  gap: 8px;
  padding: 0 1.625em;
  border-radius: 5px;
  font-weight: 700;
  color: var(--white-color);
  background: var(--green1-color);
  transition: .3s
}
.cmn__cta .cmn__cta-block .btn-area .wp-block-group:before {
  display: block;
  width: 1.5em;
  aspect-ratio: 4/3;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-email.svg) no-repeat;
  background-size: contain
}
.cmn__cta .cmn__cta-block .btn-area .wp-block-group:after {
  display: block;
  position: absolute;
  top: 50%;
  right: 1.375em;
  width: .42em;
  aspect-ratio: 7/13;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_arrow_right_white.svg) no-repeat;
  background-size: contain;
  transform: translateY(-50%)
}
@media only screen and (max-width: 1279px) {
  .cmn__cta .cmn__cta-block {
    padding: 3.5% 0;
    background-position: right, left bottom;
    background-size: 50% 100%, 16.7%
  }
  .cmn__cta .cmn__cta-block .txt {
    padding-left: 13.1%
  }
  .cmn__cta .cmn__cta-block .txt .ff-barlow {
    font-size: 3.15vw !important
  }
  .cmn__cta .cmn__cta-block .txt .heading-l {
    font-size: 2.4vw !important
  }
  .cmn__cta .cmn__cta-block .txt .heading-l span {
    font-size: 2.67vw !important
  }
  .cmn__cta .cmn__cta-block .txt .heading-l + p {
    font-size: 1.5vw !important
  }
  .cmn__cta .cmn__cta-block .btn-area {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-right: 4.1%
  }
  .cmn__cta .cmn__cta-block .btn-area > p {
    font-size: 2vw !important
  }
  .cmn__cta .cmn__cta-block .btn-area .wp-block-group {
    font-size: 2vw !important
  }
  .cmn__cta .cmn__cta-block .btn-area .is-row p {
    font-size: 1em !important
  }
}
@media only screen and (max-width: 599px) {
  .home__cta {
    margin-bottom: 4em
  }
  .post__cta {
    padding: 4.25em 0
  }
  .cmn__cta {
    margin-bottom: 2.33em
  }
  .cmn__cta .cmn__cta-block {
    position: relative;
    aspect-ratio: 340/366;
    padding: 1.2em 1.6em 1.43em;
    border-radius: 10px;
    background-color: var(--green6-color);
    background-image: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cta_bg_sp.png), url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cta_img01-sp.png);
    background-repeat: no-repeat, no-repeat;
    background-position: center bottom -1px, right 0 top .7em;
    background-size: 100%, 43%
  }
  .cmn__cta .cmn__cta-block .swell-block-columns__inner {
    justify-content: space-between;
    height: 100%
  }
  .cmn__cta .cmn__cta-block .txt {
    padding: 0
  }
  .cmn__cta .cmn__cta-block .txt .ff-barlow {
    top: -0.1em !important;
    left: auto;
    right: 0;
    font-size: 9.06vw !important
  }
  .cmn__cta .cmn__cta-block .txt .heading-l {
    font-size: 5.86vw !important
  }
  .cmn__cta .cmn__cta-block .txt .heading-l span {
    font-size: 6.93vw !important
  }
  .cmn__cta .cmn__cta-block .txt .heading-l + p {
    font-size: 4.26vw !important
  }
  .cmn__cta .cmn__cta-block .btn-area {
    padding: 0
  }
  .cmn__cta .cmn__cta-block .btn-area > p {
    font-size: 4.8vw !important
  }
  .cmn__cta .cmn__cta-block .btn-area .wp-block-group {
    justify-content: flex-start;
    padding: 0 14% 0 9%;
    font-size: 5.3vw !important
  }
  .cmn__cta .cmn__cta-block .btn-area .wp-block-group:before {
    width: 1em
  }
  .cmn__cta .cmn__cta-block .btn-area .wp-block-group:after {
    display: block;
    position: absolute;
    top: 50%;
    right: 5.88%;
    width: 2.48%;
    aspect-ratio: 7/13;
    content: "";
    background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_arrow_right_white.svg) no-repeat;
    background-size: contain;
    transform: translateY(-50%)
  }
}
.cmn__blog .head-block {
  width: 100%;
  gap: 8%
}
.cmn__blog .head-block .ff-barlow {
  margin-bottom: .2em !important;
  letter-spacing: .1em
}
.cmn__blog .head-block .heading-l {
  display: flex;
  align-items: center;
  margin: 0 0 .8em;
  gap: .33em
}
.cmn__blog .head-block .heading-l:before {
  display: block;
  position: static;
  content: "";
  width: .43em;
  height: auto;
  aspect-ratio: 209/248;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-headmark-green.svg) no-repeat center center;
  background-size: contain
}
.cmn__blog .head-block .heading-l em {
  display: inline-block;
  margin-right: .5em;
  border-bottom: 2px solid var(--green2-color);
  font-size: 1.1rem;
  font-style: normal
}
.cmn__blog .swell-block-button .swell-block-button__link {
  display: flex;
  justify-content: space-between;
  line-height: 1.3;
  padding: .92em 1.11em .92em 2.22em;
  box-shadow: unset
}
.cmn__blog .swell-block-button .swell-block-button__link:hover {
  opacity: .8
}
.cmn__blog .swell-block-button .swell-block-button__link:after {
  display: block;
  width: .41em;
  aspect-ratio: 738/1273;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_arrow_right_white.svg) no-repeat center center;
  background-size: contain
}
.cmn__blog .p-postListWrap {
  margin-bottom: 0
}
.cmn__blog .p-postList.-type-card {
  margin: 0;
  gap: 2.41%
}
.cmn__blog .p-postList.-type-card .p-postList__item {
  width: 23.19%;
  margin: 0;
  padding: 0
}
.cmn__blog .p-postList.-type-card .p-postList__item .c-postThumb__cat {
  line-height: 1.95;
  right: auto;
  left: 0;
  border-radius: 0 0 8px 0;
  font-size: .88rem;
  background: var(--orange1-color)
}
.cmn__blog .p-postList.-type-card .p-postList__item .c-postThumb__cat:before {
  display: none
}
.cmn__blog .p-postList.-type-card .p-postList__thumb {
  box-shadow: none
}
.cmn__blog .p-postList.-type-card .c-postThumb__figure {
  width: 100%;
  height: auto;
  aspect-ratio: 25/17;
  margin-bottom: 0
}
.cmn__blog .p-postList.-type-card .c-postThumb__figure img {
  -o-object-fit: cover;
  object-fit: cover
}
.cmn__blog .p-postList.-type-card .p-postList__body {
  display: flex;
  flex-direction: column
}
.cmn__blog .p-postList.-type-card .p-postList__body .p-postList__title {
  order: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  line-height: 1.6;
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--base-color)
}
.cmn__blog .p-postList.-type-card .p-postList__body .p-postList__meta {
  order: 1;
  line-height: 1;
  margin: 0;
  font-weight: 500;
  font-size: 1rem;
  color: var(--base-color)
}
.cmn__blog .p-postList.-type-card .p-postList__body .p-postList__meta .c-postTimes__posted:before {
  display: none
}
@media only screen and (max-width: 959px) {
  .cmn__blog .swell-block-fullWide {
    padding: 4em 0 !important
  }
  .cmn__blog .head-block .ff-barlow {
    margin-bottom: .3em !important;
    font-size: 3.14rem !important
  }
  .cmn__blog .head-block .heading-l {
    display: block;
    font-size: 2.14rem !important
  }
  .cmn__blog .head-block .heading-l:before {
    display: none
  }
  .cmn__blog .head-block .heading-l em {
    margin-bottom: .5em;
    padding-bottom: .35em;
    font-size: 1.43rem !important
  }
  .cmn__blog .head-block .heading-l span {
    display: flex;
    margin-top: .34em;
    gap: .33em
  }
  .cmn__blog .head-block .heading-l span:before {
    display: block;
    position: static;
    content: "";
    width: .8em;
    height: auto;
    aspect-ratio: 209/248;
    background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-headmark-green.svg) no-repeat center center;
    background-size: contain
  }
  .cmn__blog .p-postList.-type-card {
    margin: 0;
    gap: 2.86em
  }
  .cmn__blog .p-postList.-type-card .p-postList__item {
    width: 100%;
    margin: 0
  }
  .cmn__blog .p-postList.-type-card .p-postList__item .c-postThumb__cat {
    font-size: 1.14rem !important;
    transform: none
  }
  .cmn__blog .p-postList.-type-card .p-postList__body {
    padding-top: 1.43em;
    gap: .2em
  }
  .cmn__blog .p-postList.-type-card .p-postList__body .p-postList__meta {
    font-size: 1.14rem !important
  }
  .cmn__blog .p-postList.-type-card .p-postList__body .p-postList__title {
    font-size: 1.43rem !important
  }
  .cmn__blog .swell-block-button {
    margin-top: 2.875em
  }
  .cmn__blog .swell-block-button .swell-block-button__link {
    justify-content: center;
    position: relative;
    width: 100%;
    padding: .8em 0;
    font-size: 1.29rem !important
  }
  .cmn__blog .swell-block-button .swell-block-button__link:after {
    position: absolute;
    top: 50%;
    right: 1.38em;
    transform: translateY(-50%)
  }
}
.cmn__faq .head-block .ff-barlow {
  margin-bottom: .2em
}
.cmn__faq .head-block .heading-l {
  display: flex;
  align-items: center;
  margin: 0 0 .8em;
  gap: .33em
}
.cmn__faq .head-block .heading-l:before {
  display: block;
  position: static;
  content: "";
  width: .43em;
  height: auto;
  aspect-ratio: 209/248;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-headmark-green.svg) no-repeat center center;
  background-size: contain
}
.cmn__faq .swell-block-faq__item {
  padding: 1.67em;
  border: 0;
  border-radius: 15px;
  background: var(--white-color)
}
.cmn__faq .faq_q {
  position: relative;
  line-height: 1.2;
  padding: 0 1.5em 0 1.9em;
  border: none;
  line-height: 1.5;
  font-weight: 700;
  font-size: 1.11rem;
  cursor: pointer
}
.cmn__faq .faq_q:before {
  display: flex;
  justify-content: center;
  align-items: center;
  content: "Q";
  top: 0;
  left: 0;
  width: 1.5em;
  height: 1.5em;
  line-height: 1;
  border: none;
  border-radius: 5px;
  font-weight: 700;
  font-size: 1.11rem;
  color: var(--white-color);
  background: var(--green1-color)
}
.cmn__faq .faq_q:after {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  width: 1.5em;
  height: 1.5em;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/ico_plus.svg) no-repeat center center;
  background-size: .89rem
}
.cmn__faq .faq_a {
  max-height: 0;
  margin: 0;
  padding: 1.22em 0 0;
  border-top: dashed 1px var(--green1-color);
  visibility: hidden;
  opacity: 0;
  overflow: hidden;
  transition: max-height .25s cubic-bezier(0.77, 0, 0.18, 1), visibility .1s, opacity .1s, margin .25s, padding .25s
}
.cmn__faq .faq_a p {
  display: none
}
.editor-styles-wrapper .cmn__faq .faq_a {
  max-height: 100%;
  opacity: 1
}
.cmn__faq .faq_a:before {
  display: none
}
.cmn__faq .faq_q.active:after {
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/ico_minus.svg) no-repeat center center
}
.cmn__faq .faq_q.active + .faq_a {
  line-height: 1.75;
  font-weight: 400;
  font-size: 1rem;
  margin-top: 1em;
  visibility: visible;
  opacity: 1
}
.cmn__faq .faq_q.active + .faq_a p {
  display: block
}
.cmn__service {
  margin-top: -4.5em !important
}
.cmn__service .wp-block-group__inner-container > .head-block .wp-block-group__inner-container {
  width: 38.5%;
  margin: 0 auto 0 0;
  padding: 1.3em 2.5em 1.1em;
  border-radius: 0 20px 0 0;
  text-align: right;
  background: var(--green1-color)
}
.cmn__service .wp-block-group__inner-container > .head-block h2 {
  display: inline-flex;
  justify-content: right;
  align-items: center;
  gap: .25em
}
.cmn__service .wp-block-group__inner-container > .head-block h2:before {
  display: block;
  position: static;
  content: "";
  width: .61em;
  height: auto;
  aspect-ratio: 209/248;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-headmark-down.svg) no-repeat center center;
  background-size: contain
}
.cmn__service .cmn__service-block .swell-block-column.img > * {
  height: 100%
}
.cmn__service .cmn__service-block .swell-block-column.img img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
.cmn__service .cmn__service-block .swell-block-column.txt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: calc(50% + 540px - 42.5%);
  padding: 3.5rem 0 3em 3.5em
}
.cmn__service .cmn__service-block .swell-block-column.txt .head-block {
  position: relative;
  margin-bottom: 1.25em
}
.cmn__service .cmn__service-block .swell-block-column.txt .head-block .num-gr {
  position: absolute;
  width: 1.33em;
  height: auto;
  aspect-ratio: 48/66;
  top: 0;
  left: -3.5rem;
  padding-top: .1em;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-num.svg) no-repeat center center;
  background-size: contain
}
.cmn__service .cmn__service-block .swell-block-column.txt .head-block .heading-l {
  display: inline-block;
  padding: 0 .5em .1em 0;
  border-bottom: dotted 2px var(--white-color)
}
.cmn__service .cmn__service-block .swell-block-column.txt .heading-m {
  margin-bottom: .22em
}
.cmn__service .cmn__service-block .swell-block-column.txt .foryou-box {
  position: relative;
  padding: 3.11rem 1.33rem 1.33rem;
  border-radius: 15px
}
.cmn__service .cmn__service-block .swell-block-column.txt .foryou-box p {
  position: absolute;
  top: 0;
  left: 0;
  padding: .7em .75em;
  border-radius: 15px 0 15px 0;
  overflow: hidden
}
.cmn__service .cmn__service-block .swell-block-column.txt .foryou-box ul {
  display: flex;
  flex-direction: column;
  padding: 0;
  gap: .63em;
  list-style: none
}
.cmn__service .cmn__service-block .swell-block-column.txt .foryou-box ul li {
  position: relative;
  margin: 0;
  padding-left: 1.75em
}
.cmn__service .cmn__service-block .swell-block-column.txt .foryou-box ul li:before {
  display: block;
  position: absolute;
  width: 1.6em;
  height: 1.6em;
  top: 0;
  left: 0;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/ico_check_deepgreen.svg) no-repeat center center
}
.cmn__service .cmn__service-block .swell-block-column.txt .swell-block-button {
  margin: 0
}
.cmn__service .cmn__service-block .swell-block-column.txt .swell-block-button .swell-block-button__link {
  display: flex;
  justify-content: space-between;
  box-shadow: unset;
  line-height: 1.3;
  padding: .83em 1.05em .83em 2.17em;
  border: 2px solid var(--white-color);
  border-radius: 50px;
  font-weight: 700;
  font-size: 1rem;
  color: var(--white-color);
  background: rgba(0, 0, 0, 0)
}
.cmn__service .cmn__service-block .swell-block-column.txt .swell-block-button .swell-block-button__link:hover {
  color: var(--green1-color) !important;
  background: var(--white-color)
}
.cmn__service .cmn__service-block .swell-block-column.txt .swell-block-button .swell-block-button__link:after {
  display: block;
  width: .41em;
  aspect-ratio: 738/1273;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_arrow_right_white.svg) no-repeat center center;
  background-size: contain
}
.cmn__service .cmn__service-block .swell-block-column.txt .swell-block-button .swell-block-button__link:hover:after {
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_arrow_right_deepgreem.svg) no-repeat center center;
  background-size: contain
}
@media only screen and (max-width: 1279px) {
  .cmn__service .cmn__service-block .swell-block-column.txt {
    padding-right: var(--swl-pad_container, 4vw)
  }
}
@media only screen and (max-width: 959px) {
  .cmn__service .wp-block-group__inner-container > .head-block .wp-block-group__inner-container {
    width: 15.1em;
    padding: 1.5em 0 1.4em calc(var(--swl-pad_container, 4vw) + 1em);
    text-align: left
  }
  .cmn__service .wp-block-group__inner-container > .head-block h2 {
    justify-content: left
  }
  .cmn__service .wp-block-group__inner-container > .head-block h2:before {
    width: .8em
  }
  .cmn__service .cmn__service-block .swell-block-column.txt {
    max-width: 100%;
    padding: 3.5rem var(--swl-pad_container, 4vw) 5rem
  }
  .cmn__service .cmn__service-block .swell-block-column.txt .head-block .wp-block-group__inner-container {
    display: flex;
    align-items: center;
    gap: .8em;
    padding-bottom: .5em;
    border-bottom: dotted 2px var(--white-color)
  }
  .cmn__service .cmn__service-block .swell-block-column.txt .head-block .num-gr {
    position: static;
    padding-top: .12em;
    font-size: 2.67rem !important
  }
  .cmn__service .cmn__service-block .swell-block-column.txt .head-block .heading-l {
    display: block;
    border-bottom: none;
    font-size: 1.86rem !important
  }
  .cmn__service .cmn__service-block .swell-block-column.txt .heading-m {
    font-size: 1.57rem !important
  }
  .cmn__service .cmn__service-block .swell-block-column.txt p {
    margin-bottom: 1.57em;
    font-size: 1.14rem !important
  }
  .cmn__service .cmn__service-block .swell-block-column.txt .foryou-box {
    padding: 3.74em 1.6em 1.6em
  }
  .cmn__service .cmn__service-block .swell-block-column.txt .foryou-box ul li {
    padding-left: 2.1em
  }
  .cmn__service .cmn__service-block .swell-block-column.txt .foryou-box ul li:before {
    width: 1.9em;
    height: 1.9em
  }
  .cmn__service .cmn__service-block .swell-block-column.txt .swell-block-button .swell-block-button__link {
    justify-content: center;
    position: relative;
    width: 100%;
    padding: .8em 0;
    font-size: 1.29rem !important
  }
  .cmn__service .cmn__service-block .swell-block-column.txt .swell-block-button .swell-block-button__link:after {
    position: absolute;
    top: 50%;
    right: 1.38em;
    transform: translateY(-50%)
  }
}
.cmn__support {
  padding: 3.375em 0 8.33em;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/home_support_bg.png) no-repeat right bottom;
  background-size: 30%
}
.cmn__support .heading-l span:first-of-type {
  display: inline-block;
  margin-bottom: .375em
}
.cmn__support .heading-l strong {
  display: inline-block;
  position: relative;
  background-image: radial-gradient(circle at center, var(--green1-color) 13%, transparent 13%);
  background-position: top right;
  background-repeat: repeat-x;
  background-size: 1em .13em
}
@media only screen and (max-width: 959px) {
  .cmn__support {
    padding: 0 var(--swl-pad_container, 4vw) 10.75em;
    font-size: 1rem;
    background-size: 84%
  }
  .cmn__support .heading-l span:first-of-type {
    margin-bottom: .25em
  }
}
.cmn__program-block {
  position: relative;
  padding: 2.22em;
  border: solid 1px #fff1b0;
  background: #fcf9ea
}
.cmn__program-block .img .label {
  position: absolute;
  width: 5.56em;
  aspect-ratio: 100/82;
  margin: 0;
  padding-top: .83em;
  top: -0.83em;
  left: .83em;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/program-label.svg) no-repeat center center;
  background-size: contain
}
.cmn__program-block .img figure {
  margin-top: 0
}
.cmn__program-block .txt {
  display: flex;
  flex-direction: column;
  justify-content: center
}
.cmn__program-block .txt h3 {
  margin-bottom: .76em
}
.cmn__program-block .txt h3 strong {
  display: inline-block;
  padding-bottom: .4em;
  border-bottom: dotted 2px var(--green1-color)
}
.cmn__program-block .txt p + p {
  margin-top: .56em
}
.cmn__program-block .txt p a:after {
  display: inline-block;
  width: 1.11em;
  height: 1em;
  margin-left: .25em;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/ico_page_deepgreen.svg) no-repeat;
  background-size: contain
}
.cmn__program-block .txt .class-box {
  position: relative;
  margin-top: 2.11em;
  padding: 1.67em 1.11em
}
.cmn__program-block .txt .class-box .wp-block-group__inner-container > p {
  position: absolute;
  padding: .22em .625em;
  border-radius: 2px;
  top: -0.67em;
  left: 0
}
.cmn__program-block .txt .class-box .is-row p {
  margin: 0
}
.cmn__program-block .txt .class-box .is-row .has-background {
  padding: .22em .625em;
  border-radius: 2px;
  white-space: nowrap
}
.cmn__program-block .txt .class-box .is-row p a {
  text-decoration: none
}
.cmn__program-block .txt .class-box .is-row p a:hover {
  opacity: .8
}
.cmn__program-block .txt .class-box .is-row p a:after {
  display: inline-block;
  width: 1.11em;
  height: 1em;
  margin-left: .25em;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/ico_page_deepgreen.svg) no-repeat;
  background-size: contain
}
@media only screen and (max-width: 959px) {
  .cmn__program-block {
    padding: 1.5em
  }
  .cmn__program-block .txt .class-box .is-row {
    flex-direction: column;
    align-items: flex-start
  }
}
.cmn__line-block {
  width: 100%;
  max-width: 580px;
  margin: 0 auto;
  padding: 2.22em 4.375em;
  border: solid 1px var(--green7-color);
  border-radius: 10px
}
.cmn__line-block > .wp-block-group__inner-container > p {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: .6em;
  gap: .25em
}
.cmn__line-block .swell-block-button .swell-block-button__link {
  display: inline-flex;
  align-items: center;
  position: relative;
  box-shadow: unset;
  max-width: 100%;
  line-height: 1.6;
  padding: .6em 1.06em .6em 1.6em;
  border: none;
  border-radius: 50px;
  gap: .5em;
  font-weight: 700;
  color: var(--white-color);
  letter-spacing: -0.01em;
  background: var(--green7-color)
}
.cmn__line-block .swell-block-button .swell-block-button__link:before {
  display: block;
  width: 2em;
  height: auto;
  aspect-ratio: 358/341;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_line.svg) no-repeat center center;
  background-size: contain
}
.cmn__line-block .swell-block-button .swell-block-button__link:after {
  display: block;
  position: absolute;
  top: 50%;
  right: 1.375em;
  width: .46em;
  aspect-ratio: 7/13;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_arrow_right_white.svg) no-repeat;
  background-size: contain;
  transform: translateY(-50%)
}
.cmn__line-block .swell-block-button .swell-block-button__link:hover {
  opacity: .8
}
@media only screen and (max-width: 959px) {
  .cmn__line-block > .wp-block-group__inner-container > p .swl-inline-icon {
    height: 2em
  }
  .cmn__line-block .swell-block-button .swell-block-button__link {
    justify-content: center;
    padding: .6em 0
  }
  .cmn__line-block .swell-block-button .swell-block-button__link:after {
    display: block;
    position: absolute;
    top: 50%;
    right: 5.88%;
    width: 2.48%;
    aspect-ratio: 7/13;
    content: "";
    background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_arrow_right_white.svg) no-repeat;
    background-size: contain;
    transform: translateY(-50%)
  }
}
.cmn__gallery .head-block .ff-barlow {
  margin-bottom: .2em
}
.cmn__gallery .head-block .heading-l {
  display: flex;
  align-items: center;
  margin: 0 0 .8em;
  gap: .33em
}
.cmn__gallery .head-block .heading-l:before {
  display: block;
  position: static;
  content: "";
  width: .43em;
  height: auto;
  aspect-ratio: 209/248;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-headmark-white.svg) no-repeat center center;
  background-size: contain
}
.cmn__gallery .cmn__gallery-block {
  gap: 1.25%
}
.cmn__gallery .cmn__gallery-block figure {
  aspect-ratio: 319/222;
  overflow: hidden
}
.cmn__gallery .cmn__gallery-block figure img {
  -o-object-fit: cover;
  object-fit: cover
}
@media only screen and (max-width: 959px) {
  .cmn__gallery .cmn__gallery-block {
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 var(--swl-pad_container, 4vw);
    gap: .5em
  }
  .cmn__gallery .cmn__gallery-block figure {
    width: calc((100% - 1em)/3)
  }
}
.cmn__message .cmn__message-block {
  position: relative;
  padding: 2.22em 3.33em 3.33em;
  border-radius: 20px;
  box-shadow: 0 0 30px 0 rgba(215, 217, 203, .9)
}
.cmn__message .cmn__message-block .head-block {
  margin-bottom: 2.22em;
  padding-left: 2.66em
}
.cmn__message .cmn__message-block .head-block .num-gr {
  position: absolute;
  width: 1.13em;
  height: auto;
  aspect-ratio: 48/66;
  top: -0.83rem;
  left: 1.72rem;
  padding-top: .1em;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-num.svg) no-repeat center center;
  background-size: contain
}
.cmn__message .cmn__message-block .swell-block-columns .txt p {
  margin-bottom: .89em
}
.cmn__message .cmn__message-block .swell-block-column.img img {
  border-radius: 5px
}
@media only screen and (max-width: 959px) {
  .cmn__message {
    padding-top: 1.5em
  }
  .cmn__message .cmn__message-block {
    padding: 4em 1.5em 1.5em !important
  }
  .cmn__message .cmn__message-block .head-block {
    padding-left: 0
  }
  .cmn__message .cmn__message-block .head-block .num-gr {
    top: -1.5rem
  }
}
@media only screen and (max-width: 599px) {
  .cmn__message .cmn__message-block .head-block h2 {
    font-size: 5.4vw !important
  }
}
.cmn__flow-block .swell-block-column {
  position: relative;
  border-radius: 15px;
  background: var(--white-color)
}
.cmn__flow-block .swell-block-column:nth-of-type(n + 2):before {
  display: block;
  position: absolute;
  width: .41em;
  height: auto;
  aspect-ratio: 5/7;
  top: 50%;
  left: -5%;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_arrow_right_deepgreem.svg) no-repeat;
  background-size: contain;
  transform: translate(-50%, -50%)
}
.cmn__flow-block .swell-block-column figure {
  margin-bottom: 0
}
.cmn__flow-block .swell-block-column figure img {
  border-radius: 15px 15px 0 0
}
.cmn__flow-block .swell-block-column .wp-block-group__inner-container {
  padding: 1.11em
}
.cmn__flow-block .swell-block-column .wp-block-group__inner-container > p {
  display: flex;
  align-items: center;
  gap: .1em
}
.cmn__flow-block .swell-block-column .wp-block-group__inner-container dl {
  display: flex;
  flex-direction: column;
  gap: .67em
}
.cmn__flow-block .swell-block-column .wp-block-group__inner-container dt {
  padding-bottom: .44em;
  border-bottom: dotted 2px var(--green1-color);
  font-size: 1.33rem;
  color: var(--green1-color)
}
.cmn__flow-block .swell-block-column .wp-block-group__inner-container dd {
  margin: 0;
  padding: 0
}
@media only screen and (max-width: 959px) {
  .cmn__flow-block .swell-block-columns__inner {
    justify-content: center
  }
  .cmn__flow-block .swell-block-column:nth-of-type(n + 2):before {
    width: .82em;
    top: -3%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(90deg)
  }
}
.page.home .l-content {
  margin-top: 0 !important;
  margin-bottom: 0 !important
}
.p-mainVisual .p-mainVisual__textLayer {
  justify-content: flex-start;
  width: 71.5%;
  max-width: none;
  min-width: 1200px;
  height: auto;
  text-shadow: none !important;
  top: 23.94%
}
.p-mainVisual .heading-l {
  margin-left: .625rem
}
.p-mainVisual .heading-l em {
  display: inline-block;
  margin-bottom: .2em;
  font-style: normal
}
.p-mainVisual .heading-l strong {
  display: inline-block;
  position: relative;
  margin-left: -0.625rem;
  font-size: 4.3rem;
  letter-spacing: -0.08em;
  background-image: radial-gradient(circle at center, var(--white-color) 13%, transparent 13%);
  background-position: top right;
  background-repeat: repeat-x;
  background-size: .92em .13em
}
.p-mainVisual .heading-m {
  margin: 0 0 0 .5rem
}
.p-mainVisual .mv__text {
  margin: 0 0 0 .5rem
}
@media only screen and (max-width: 1539px) {
  .p-mainVisual .p-mainVisual__textLayer {
    width: 100%;
    max-width: calc(var(--container_size, 0px) + var(--swl-pad_container, 0px)*2);
    min-width: auto
  }
  .p-mainVisual .heading-l {
    font-size: 2.74vw !important
  }
  .p-mainVisual .heading-l strong {
    font-size: 4.58vw !important
  }
  .p-mainVisual .heading-m {
    font-size: 1.55vw !important
  }
  .p-mainVisual .mv__text {
    font-size: 1.07vw !important
  }
}
@media only screen and (max-width: 959px) {
  .p-mainVisual .p-mainVisual__textLayer {
    justify-content: flex-start;
    padding-top: 8em;
    height: 100%;
    top: 0
  }
  .p-mainVisual .heading-l {
    font-size: 5.87vw !important
  }
  .p-mainVisual .heading-l strong {
    margin-left: -0.4rem;
    font-size: 9.6vw !important
  }
  .p-mainVisual .heading-m {
    margin-left: 0;
    font-size: 4.27vw !important
  }
  .p-mainVisual .mv__text {
    margin-left: 0;
    font-size: 4vw !important
  }
}
.home__about-us .wp-block-group__inner-container {
  max-width: 1080px;
  margin-top: -1.75em
}
.home__about-us .home__about-block {
  position: relative;
  z-index: 1;
  padding: 1.75em 3.25em 2.375em;
  border-radius: 20px 20px 0 20px;
  box-shadow: 0 0 30px 0 rgba(237, 235, 228, .9)
}
.home__about-us .home__about-block .ff-barlow {
  margin-bottom: .375em
}
.home__about-us .home__about-block .heading-l {
  margin-top: .15em
}
.home__about-us .swell-block-button .swell-block-button__link {
  display: flex;
  justify-content: space-between;
  box-shadow: unset;
  line-height: 1.67;
  margin-left: auto;
  padding: .83em 1.1em .83em 2.22em;
  border-radius: 0 0 20px 20px;
  font-weight: 700;
  font-size: 1rem;
  background: var(--green1-color)
}
.home__about-us .swell-block-button .swell-block-button__link:hover {
  background: rgba(2, 151, 122, .85)
}
.home__about-us .swell-block-button .swell-block-button__link:after {
  display: block;
  width: .41em;
  aspect-ratio: 738/1273;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_arrow_right_white.svg) no-repeat center center;
  background-size: contain
}
.home__about-us .swell-block-button{
z-index:1;
}
@media only screen and (max-width: 959px) {
  .home__about-us {
    margin-bottom: 2.5em !important;
    padding: 0 var(--swl-pad_container, 4vw)
  }
  .home__about-us .wp-block-group__inner-container {
    max-width: 1080px;
    margin-top: -0.5em
  }
  .home__about-us .home__about-block {
    padding: 2.15em 2em
  }
  .home__about-us .home__about-block p {
    font-size: 1.14rem !important
  }
  .home__about-us .home__about-block .head-block .ff-barlow {
    font-size: 2.29rem !important
  }
  .home__about-us .home__about-block .head-block .heading-l {
    font-size: 2rem !important
  }
  .home__about-us .home__about-block .head-block .heading-m {
    font-size: 1.43rem !important
  }
  .home__about-us .swell-block-button .swell-block-button__link {
    width: 11.9em;
    padding: 1.06em 1em;
    gap: .5em;
    font-size: 1.14rem !important
  }
  .home__about-us .swell-block-button .swell-block-button__link svg {
    width: auto;
    height: 1rem
  }
}
.home__greeting {
  position: relative
}
.home__greeting .txt {
  width: 61%
}
.home__greeting .txt .head-block .ff-barlow {
  margin-bottom: .2em
}
.home__greeting .txt .head-block .heading-l {
  display: flex;
  align-items: center;
  margin: 0 0 .8em;
  gap: .33em
}
.home__greeting .txt .head-block .heading-l:before {
  display: block;
  position: static;
  content: "";
  width: .43em;
  height: auto;
  aspect-ratio: 209/248;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-headmark-green.svg) no-repeat center center;
  background-size: contain
}
.home__greeting .txt .head-block .heading-m {
  margin: 0 0 .8em
}
.home__greeting .txt .swell-block-button {
  margin: 2.25em 0 0 0
}
.home__greeting .txt .swell-block-button .swell-block-button__link {
  display: flex;
  justify-content: space-between;
  box-shadow: unset;
  line-height: 1.3;
  padding: .83em 1.1em .83em 2.22em;
  border: 2px solid var(--white-color);
  border-radius: 50px;
  gap: 1.25em;
  font-weight: 700;
  font-size: 1rem;
  color: var(--base-color);
  letter-spacing: -0.01em;
  background: var(--white-color)
}
.home__greeting .txt .swell-block-button .swell-block-button__link:hover {
  border: 2px solid var(--green1-color);
  color: var(--white-color);
  background: var(--green1-color)
}
.home__greeting .txt .swell-block-button .swell-block-button__link:after {
  display: block;
  width: .41em;
  aspect-ratio: 738/1273;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/ico_arrow_right_green.svg) no-repeat center center;
  background-size: contain
}
.home__greeting .txt .swell-block-button .swell-block-button__link:hover:after {
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_arrow_right_white.svg) no-repeat center center;
  background-size: contain
}
.home__greeting .img > .wp-block-group__inner-container {
  position: absolute;
  height: 100%;
  top: 0;
  right: 0;
  z-index: -1
}
.home__greeting .img figure {
  height: 100%;
  margin: 0
}
.home__greeting .img figure img {
  width: auto;
  height: 100%
}
.home__greeting .name-block {
  display: flex;
  flex-direction: column;
  position: absolute;
  width: 10.1em;
  right: 10%;
  bottom: 10%;
  padding: .83em 0;
  gap: .55em;
  transform: translateX(-100%);
  border-radius: 5px
}
.home__greeting .name-block .ja, .home__greeting .name-block .en {
  margin: 0;
  text-align: center
}
.home__greeting .name-block .en {
  letter-spacing: .2em
}
@media only screen and (max-width: 1539px) {
  .home__greeting .img > .wp-block-group__inner-container {
    right: -15%
  }
}
@media only screen and (max-width: 1279px) {
  .home__greeting {
    padding: 0 var(--swl-pad_container, 4vw)
  }
  .home__greeting .txt {
    width: 55%
  }
  .home__greeting .img > .wp-block-group__inner-container {
    right: -20%
  }
}
@media only screen and (max-width: 1023px) {
  .home__greeting .txt {
    width: 50%
  }
  .home__greeting .img > .wp-block-group__inner-container {
    right: -27%
  }
}
@media only screen and (max-width: 959px) {
  .home__greeting {
    padding: 3.5em var(--swl-pad_container, 4vw) 0 !important
  }
  .home__greeting .txt {
    width: 100%
  }
  .home__greeting .txt .head-block .ff-barlow {
    font-size: 3.14rem !important
  }
  .home__greeting .txt .head-block .heading-l {
    font-size: 2.14rem !important
  }
  .home__greeting .txt .head-block .heading-l:before {
    width: .8em
  }
  .home__greeting .txt .head-block .heading-m {
    font-size: 1.86rem !important
  }
  .home__greeting .txt .wp-block-group__inner-container > p {
    font-size: 1.14rem !important
  }
  .home__greeting .txt .swell-block-button .swell-block-button__link {
    justify-content: center;
    position: relative;
    width: 100%;
    padding: .8em 0;
    font-size: 1.29rem !important
  }
  .home__greeting .txt .swell-block-button .swell-block-button__link:after {
    position: absolute;
    top: 50%;
    right: 1.38em;
    transform: translateY(-50%)
  }
  .home__greeting .img figure img {
    width: 100%;
    height: auto
  }
  .home__greeting .img > .wp-block-group__inner-container {
    position: static;
    width: 100vw;
    margin: -5em calc(var(--swl-pad_container, 4vw)*-1) 0
  }
  .home__greeting .name-block {
    left: auto;
    right: calc(var(--swl-pad_container, 4vw) + 4%);
    bottom: 3.8%;
    padding: .75em 0;
    transform: none;
    z-index: 1
  }
  .home__greeting .name-block .ja {
    line-height: 1.4;
    font-size: 1.71rem !important
  }
  .home__greeting .name-block .en {
    line-height: 1.4
  }
}
.home__voice .head-block .ff-barlow {
  margin-bottom: .2em
}
.home__voice .head-block .heading-l {
  display: flex;
  align-items: center;
  margin: 0 0 .8em;
  gap: .33em
}
.home__voice .head-block .heading-l:before {
  display: block;
  position: static;
  content: "";
  width: .43em;
  height: auto;
  aspect-ratio: 209/248;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-headmark-white.svg) no-repeat center center;
  background-size: contain
}
.home__voice .cmn__voice-block .is-row figure {
  max-width: 3.875em
}
.home__voice .cmn__voice-block .swell-block-column {
  position: relative;
  padding: 1.675em 1.9em;
  border-radius: 5px;
  background: var(--white-color)
}
.home__voice .cmn__voice-block .swell-block-column > .is-row {
  gap: 1.11em
}
.home__voice .cmn__voice-block .swell-block-column .cmn__voice-label {
  position: absolute;
  width: 4.3em;
  height: auto;
  aspect-ratio: 78/100;
  top: -0.375em;
  right: 2.375em;
  padding-top: .75em;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/voice-label.svg) no-repeat;
  background-size: contain
}
.home__voice .cmn__voice-block .swell-block-column .cmn__voice-label div {
  display: flex;
  flex-direction: column;
  align-items: center
}
.home__voice .cmn__voice-block .swell-block-column .cmn__voice-label p {
  display: inline-block;
  margin-bottom: 0
}
.home__voice .cmn__voice-block .swell-block-column .cmn__voice-label p:first-of-type {
  border-bottom: 1px solid var(--white-color)
}
@media only screen and (max-width: 959px) {
  .home__voice .head-block .ff-barlow {
    font-size: 3.14rem !important
  }
  .home__voice .head-block .heading-l {
    font-size: 2.43rem !important
  }
  .home__voice .head-block .heading-l:before {
    width: .8em
  }
  .home__voice .swell-block-fullWide {
    padding: 3.5em 0 !important
  }
  .home__voice .cmn__voice-block .is-row {
    flex-direction: column;
    align-items: flex-start
  }
  .home__voice .cmn__voice-block .is-row > p {
    font-size: 1.71rem !important
  }
  .home__voice .cmn__voice-block .swell-block-column {
    padding: 2.14em 2.5em
  }
  .home__voice .cmn__voice-block .swell-block-column > p {
    font-size: 1.14rem !important
  }
  .home__voice .cmn__voice-block .swell-block-column .cmn__voice-label {
    width: 5.2em
  }
  .home__voice .cmn__voice-block .swell-block-column .cmn__voice-label p {
    font-size: 1.43rem !important
  }
}
.home__area {
  margin-bottom: 3.56em
}
.home__area .head-block .ff-barlow {
  margin-bottom: .2em
}
.home__area .head-block .heading-l {
  display: flex;
  align-items: center;
  margin: 0 0 .8em;
  gap: .33em
}
.home__area .head-block .heading-l:before {
  display: block;
  position: static;
  content: "";
  width: .43em;
  height: auto;
  aspect-ratio: 209/248;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-headmark-green.svg) no-repeat center center;
  background-size: contain
}
.home__area .img {
  position: relative;
  min-height: 23.42em
}
.home__area .img figure {
  position: absolute;
  width: 130%;
  height: auto;
  margin: 0;
  aspect-ratio: 610/434;
  top: -0.75em;
  left: -7.25em
}
.home__area .img figure img {
  -o-object-fit: contain;
  object-fit: contain
}
.home__area .txt {
  display: flex;
  flex-direction: column;
  justify-content: center
}
@media only screen and (max-width: 1279px) {
  .home__area {
    margin-bottom: 2.33em;
    padding: 3.5em var(--swl-pad_container, 4vw) 0 !important
  }
}
@media only screen and (max-width: 959px) {
  .home__area {
    margin-bottom: 2.33em;
    padding: 3.5em var(--swl-pad_container, 4vw) 0 !important
  }
  .home__area .img {
    width: 100%
  }
  .home__area .img .head-block .ff-barlow {
    font-size: 3.14rem !important
  }
  .home__area .img .head-block .heading-l {
    font-size: 2.14rem !important
  }
  .home__area .img .head-block .heading-l:before {
    width: .8em
  }
  .home__area .img figure {
    position: static;
    width: 105%;
    margin: -6em -2.5% 0
  }
  .home__area .txt {
    padding-bottom: 0 !important
  }
  .home__area .txt > h3 {
    font-size: 1.86rem !important
  }
  .home__area .txt > p {
    font-size: 1.14rem !important
  }
}
.page .l-content {
  margin: 1.61em auto 0 !important
}
.l-topTitleArea {
  display: flex;
  align-items: flex-start;
  margin: 0;
  padding: 0;
  min-height: 21.67em;
  overflow: hidden;
  position: relative;
  width: 100%
}
.l-topTitleArea__body {
  color: #fff;
  width: 100%;
  margin-top: 11.94em;
  text-shadow: none;
  z-index: 3
}
.c-pageTitle {
  line-height: 1;
  font-weight: 700;
  font-size: 2.56rem;
  color: var(--white-color);
  text-align: center
}
@media only screen and (max-width: 599px) {
  .l-topTitleArea {
    min-height: 15em;
    padding: 0
  }
  .l-topTitleArea__body {
    margin-top: 9em
  }
  .c-pageTitle {
    line-height: 1.2;
    font-size: 1.71rem
  }
}
#sidebar .c-widget + .c-widget {
  margin-top: 1.67em
}
#sidebar .c-widget__title.-side {
  display: flex;
  align-items: center;
  line-height: 1;
  margin-bottom: .89em;
  padding: .5em 0;
  border-bottom: dotted 2px var(--green1-color);
  gap: .5em;
  font-weight: 700;
  font-size: 1rem
}
#sidebar .c-widget__title.-side:before {
  display: block;
  position: static;
  width: .67em;
  height: .78em;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_headmark_deepgreen.svg) no-repeat center center;
  background-size: contain
}
#sidebar .c-widget__title.-side:after {
  display: none
}
@media only screen and (max-width: 959px) {
  #sidebar .c-widget__title.-side {
    font-size: 1.29rem
  }
}
.l-sidebar .widget_swell_prof_widget .p-profileBox {
  display: flex;
  flex-direction: column;
  padding: 1.33em 1em;
  border: none;
  border-radius: 15px;
  background: var(--green5-color)
}
.l-sidebar .widget_swell_prof_widget .p-profileBox .p-profileBox__icon {
  order: 1;
  margin: 0 0 .5em
}
.l-sidebar .widget_swell_prof_widget .p-profileBox .p-profileBox__icon .p-profileBox__iconImg {
  border: none
}
.l-sidebar .widget_swell_prof_widget .p-profileBox .p-profileBox__job {
  order: 2;
  line-height: 1;
  font-family: var(--ff-noto);
  font-weight: 700;
  font-size: .78rem;
  color: var(--green1-color);
  opacity: 1
}
.l-sidebar .widget_swell_prof_widget .p-profileBox .p-profileBox__name {
  order: 3;
  line-height: 1;
  margin-top: .5em;
  padding: 0;
  font-family: var(--ff-noto);
  font-weight: 600;
  font-size: 1rem !important;
  color: var(--base-color)
}
.l-sidebar .widget_swell_prof_widget .p-profileBox .p-profileBox__text {
  order: 4;
  line-height: 1.6;
  margin-top: 1em;
  padding: 0;
  font-weight: 400;
  font-size: .67rem !important
}
.l-sidebar .widget_swell_prof_widget .p-profileBox .p-profileBox__text br {
  line-height: .75
}
.l-sidebar .widget_swell_prof_widget .p-profileBox .c-iconList {
  order: 5;
  margin-top: .67em
}
.l-sidebar .widget_swell_prof_widget .p-profileBox .c-iconList {
  display: flex;
  gap: .89em
}
.l-sidebar .widget_swell_prof_widget .p-profileBox .c-iconList .c-iconList__item.-instagram {
  order: 1
}
.l-sidebar .widget_swell_prof_widget .p-profileBox .c-iconList .c-iconList__item.-facebook {
  order: 2
}
.l-sidebar .widget_swell_prof_widget .p-profileBox .c-iconList .icon-facebook:before {
  display: inline-block;
  width: 1.33em;
  height: 1.33em;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_facebook.svg) no-repeat center center;
  background-size: contain
}
.l-sidebar .widget_swell_prof_widget .p-profileBox .c-iconList .icon-instagram:before {
  display: inline-block;
  width: 1.33em;
  height: 1.33em;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_instagram.svg) no-repeat center center;
  background-size: contain
}
@media only screen and (max-width: 959px) {
  .l-sidebar .widget_swell_prof_widget .p-profileBox .p-profileBox__name {
    font-size: 1.43rem !important
  }
  .l-sidebar .widget_swell_prof_widget .p-profileBox .p-profileBox__job {
    font-size: 1.29rem !important
  }
  .l-sidebar .widget_swell_prof_widget .p-profileBox .p-profileBox__text {
    font-size: 1rem !important
  }
}
.l-sidebar .widget_search .c-searchForm__s {
  border: 1px solid var(--green1-color)
}
.l-sidebar .widget_search .u-bg-main {
  width: 50px;
  height: 40px;
  background-color: var(--green1-color) !important
}
.l-sidebar .widget_categories > ul > .cat-item > a {
  display: flex;
  align-items: center;
  line-height: 1.6;
  padding: 0;
  border-bottom: none;
  gap: .5em;
  font-weight: 400;
  font-size: .89rem
}
.l-sidebar .widget_categories > ul > .cat-item > a:before {
  display: block;
  position: static;
  width: .26em;
  height: auto;
  aspect-ratio: 417/667;
  content: "";
  opacity: 1;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_arrow_right_deepgreem.svg) no-repeat center center;
  background-size: contain;
  transform: none
}
@media only screen and (max-width: 959px) {
  .l-sidebar .widget_categories > ul > .cat-item > a {
    font-size: 1.14rem
  }
}
.l-sidebar .widget_tag_cloud .tag-cloud-link {
  line-height: 1;
  padding: .25em .5em;
  border-radius: 10px;
  font-weight: 500;
  font-size: .67rem !important;
  color: var(--green1-color) !important;
  background: var(--green5-color)
}
.l-sidebar .widget_tag_cloud .tag-cloud-link:before {
  display: inline;
  content: "#"
}
@media only screen and (max-width: 959px) {
  .l-sidebar .widget_tag_cloud .tag-cloud-link {
    font-size: .86rem !important
  }
}
.l-sidebar .p-postList .p-postList__item {
  gap: 4.8%
}
.l-sidebar .p-postList .p-postList__item .p-postList__thumb {
  width: 28.4%
}
.l-sidebar .p-postList .p-postList__item .p-postList__body {
  width: 63.6%
}
.l-sidebar .p-postList .p-postList__item .p-postList__body .p-postList__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  line-height: 1.2;
  font-weight: 700;
  font-size: .78rem !important
}
.l-sidebar .p-postList .p-postList__item .p-postList__body .p-postList__meta {
  flex-direction: column;
  align-items: flex-start;
  margin-top: .4em;
  gap: .4em
}
.l-sidebar .p-postList .p-postList__item .p-postList__body .p-postList__meta .p-postList__times {
  padding: 0
}
.l-sidebar .p-postList .p-postList__item .p-postList__body .p-postList__meta .p-postList__times .c-postTimes__posted {
  display: flex;
  align-items: center;
  gap: .25em;
  font-size: .9rem;
  opacity: 1
}
.l-sidebar .p-postList .p-postList__item .p-postList__body .p-postList__meta .p-postList__times .c-postTimes__posted:before {
  display: block;
  width: 1em;
  height: 1em;
  margin: 0;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_update_black.svg) no-repeat center center;
  background-size: contain
}
.l-sidebar .p-postList .p-postList__item .p-postList__body .p-postList__meta .p-postList__cat {
  opacity: 1;
  line-height: 1;
  padding: .4em .5em;
  font-family: var(--ff-noto);
  font-size: .5rem;
  color: var(--white-color);
  background: var(--orange1-color)
}
.l-sidebar .p-postList .p-postList__item .p-postList__body .p-postList__meta .p-postList__cat:before {
  display: none
}
@media only screen and (max-width: 959px) {
  .l-sidebar .p-postList .p-postList__item .p-postList__body .p-postList__title {
    font-size: 1.14rem !important
  }
  .l-sidebar .p-postList .p-postList__item .p-postList__body .p-postList__meta .p-postList__times .c-postTimes__posted {
    font-size: 1rem !important
  }
  .l-sidebar .p-postList .p-postList__item .p-postList__body .p-postList__meta .p-postList__cat {
    font-size: .71rem !important
  }
}
.blog, .archive, .search {
  background-color: var(--white-color)
}
.-sidebar-on .l-content {
  margin: 1.61em auto 9.39em !important
}
.c-pagination {
  margin: 3.75em 0 0;
  font-size: 1rem
}
.c-pagination [class*=page-numbers] {
  box-shadow: none;
  border: none;
  border-radius: 50%;
  font-family: var(--ff-barlow);
  font-weight: 500;
  font-size: .78rem;
  color: var(--white-color);
  background-color: #d5d5d5
}
.c-pagination [class*=page-numbers].current, .c-pagination [class*=page-numbers]:hover {
  background-color: var(--green1-color)
}
.blog .l-mainContent .c-pageTitle, .archive .l-mainContent .c-pageTitle, .search .l-mainContent .c-pageTitle {
  display: flex;
  align-items: center;
  float: none;
  margin-bottom: 0;
  padding: 0 0 .5em .1em;
  border-bottom: dotted 2px var(--green1-color);
  gap: .5em;
  font-size: 1.75rem;
  color: var(--base-color);
  text-align: left
}
.blog .l-mainContent .c-pageTitle:before, .archive .l-mainContent .c-pageTitle:before, .search .l-mainContent .c-pageTitle:before {
  display: block;
  position: static;
  width: .67em;
  height: .78em;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_headmark_deepgreen.svg) no-repeat center center;
  background-size: contain
}
.blog .l-mainContent .c-pageTitle .c-pageTitle__inner, .archive .l-mainContent .c-pageTitle .c-pageTitle__inner, .search .l-mainContent .c-pageTitle .c-pageTitle__inner {
  padding: 0;
  border: none
}
.blog .l-mainContent .c-pageTitle .c-pageTitle__inner .c-pageTitle__subTitle, .archive .l-mainContent .c-pageTitle .c-pageTitle__inner .c-pageTitle__subTitle, .search .l-mainContent .c-pageTitle .c-pageTitle__inner .c-pageTitle__subTitle {
  display: none
}
.blog .l-mainContent .c-pageTitle:after, .archive .l-mainContent .c-pageTitle:after, .search .l-mainContent .c-pageTitle:after {
  display: block;
  clear: both;
  content: ""
}
.blog .l-mainContent .p-postList .p-postList__item, .archive .l-mainContent .p-postList .p-postList__item, .search .l-mainContent .p-postList .p-postList__item {
  margin: 0
}
.blog .l-mainContent .p-postList .p-postList__item:nth-child(n+2), .archive .l-mainContent .p-postList .p-postList__item:nth-child(n+2), .search .l-mainContent .p-postList .p-postList__item:nth-child(n+2) {
  margin-top: 1.67em
}
.blog .l-mainContent .p-postList .p-postList__item a, .archive .l-mainContent .p-postList .p-postList__item a, .search .l-mainContent .p-postList .p-postList__item a {
  display: flex;
  gap: 3.9%
}
.blog .l-mainContent .p-postList .p-postList__item .p-postList__thumb, .archive .l-mainContent .p-postList .p-postList__item .p-postList__thumb, .search .l-mainContent .p-postList .p-postList__item .p-postList__thumb {
  width: 39.35%;
  height: auto;
  aspect-ratio: 303/187;
  box-shadow: none
}
.blog .l-mainContent .p-postList .p-postList__item .p-postList__thumb .c-postThumb__figure, .archive .l-mainContent .p-postList .p-postList__item .p-postList__thumb .c-postThumb__figure, .search .l-mainContent .p-postList .p-postList__item .p-postList__thumb .c-postThumb__figure {
  height: 100%
}
.blog .l-mainContent .p-postList .p-postList__item .p-postList__thumb:before, .archive .l-mainContent .p-postList .p-postList__item .p-postList__thumb:before, .search .l-mainContent .p-postList .p-postList__item .p-postList__thumb:before {
  display: none
}
.blog .l-mainContent .p-postList .p-postList__item .p-postList__thumb .c-postThumb__cat, .archive .l-mainContent .p-postList .p-postList__item .p-postList__thumb .c-postThumb__cat, .search .l-mainContent .p-postList .p-postList__item .p-postList__thumb .c-postThumb__cat {
  right: auto;
  left: 0;
  line-height: 1;
  padding: .5em 1em;
  font-weight: 500;
  font-size: .61rem;
  color: var(--white-color)
}
.blog .l-mainContent .p-postList .p-postList__item .p-postList__thumb .c-postThumb__cat:before, .archive .l-mainContent .p-postList .p-postList__item .p-postList__thumb .c-postThumb__cat:before, .search .l-mainContent .p-postList .p-postList__item .p-postList__thumb .c-postThumb__cat:before {
  display: none
}
.blog .l-mainContent .p-postList .p-postList__item .p-postList__body, .archive .l-mainContent .p-postList .p-postList__item .p-postList__body, .search .l-mainContent .p-postList .p-postList__item .p-postList__body {
  width: 56.75%;
  padding-top: 0
}
.blog .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__title, .archive .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__title, .search .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  line-height: 1.2;
  font-weight: 700;
  font-size: 1.11rem;
  color: var(--green1-color)
}
.blog .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__excerpt, .archive .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__excerpt, .search .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__excerpt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin: 1em 0;
  padding-top: 1em;
  border-top: dotted 2px var(--green1-color);
  font-weight: 400;
  font-size: .89rem;
  color: var(--base-color)
}
.blog .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__meta, .archive .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__meta, .search .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__meta {
  justify-content: flex-start;
  line-height: 1.25;
  margin-top: 1em;
  font-weight: 500;
  font-size: .67rem;
  color: var(--base-color)
}
.blog .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__meta .u-thin, .archive .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__meta .u-thin, .search .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__meta .u-thin {
  opacity: 1
}
.blog .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__meta .icon-posted:before, .archive .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__meta .icon-posted:before, .search .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__meta .icon-posted:before {
  display: none
}
@media only screen and (max-width: 959px) {
  .-sidebar-on .l-content {
    margin-top: 2.5em !important
  }
}
@media only screen and (max-width: 599px) {
  .blog .l-mainContent .p-postList .p-postList__item a, .archive .l-mainContent .p-postList .p-postList__item a, .search .l-mainContent .p-postList .p-postList__item a {
    flex-direction: column;
    gap: 1em
  }
  .blog .l-mainContent .p-postList .p-postList__item .p-postList__thumb, .archive .l-mainContent .p-postList .p-postList__item .p-postList__thumb, .search .l-mainContent .p-postList .p-postList__item .p-postList__thumb {
    width: 100%;
    box-shadow: none
  }
  .blog .l-mainContent .p-postList .p-postList__item .p-postList__body, .archive .l-mainContent .p-postList .p-postList__item .p-postList__body, .search .l-mainContent .p-postList .p-postList__item .p-postList__body {
    width: 100%;
    padding-top: 0
  }
  .blog .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__title, .archive .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__title, .search .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__title {
    font-size: 1.43rem
  }
  .blog .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__excerpt, .archive .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__excerpt, .search .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__excerpt {
    font-size: 1rem
  }
  .blog .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__meta, .archive .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__meta, .search .l-mainContent .p-postList .p-postList__item .p-postList__body .p-postList__meta {
    font-size: .86rem !important
  }
  .blog .l-mainContent .p-postList .p-postList__item .p-postList__thumb .c-postThumb__cat, .archive .l-mainContent .p-postList .p-postList__item .p-postList__thumb .c-postThumb__cat, .search .l-mainContent .p-postList .p-postList__item .p-postList__thumb .c-postThumb__cat {
    font-size: .86rem !important;
    transform: none
  }
}
.l-mainContent__inner > .post_content {
  margin: .89em auto 2.22em;
  padding: 0
}
.single {
  background-color: var(--white-color)
}
.single .c-postTitle__ttl {
  line-height: 1.2;
  margin-bottom: .57em;
  padding-bottom: .6em;
  border-bottom: dotted 2px var(--green1-color);
  font-weight: 700;
  font-size: 1.56rem;
  color: var(--green1-color)
}
.single .p-articleMetas {
  margin: 0;
  gap: .44em;
  font-size: 1rem
}
.single .p-articleMetas .c-categoryList {
  order: 1
}
.single .p-articleMetas .c-categoryList:before {
  display: none
}
.single .p-articleMetas .c-categoryList .c-categoryList__link {
  line-height: 1;
  padding: .5em 1.1em;
  font-weight: 500;
  font-size: .6rem;
  background: var(--orange1-color)
}
.single .p-articleMetas .c-postTimes {
  order: 2;
  font-size: .78rem;
  opacity: 1
}
.single .p-articleMetas .c-postTimes .c-postTimes__posted, .single .p-articleMetas .c-postTimes .c-postTimes__modified {
  display: flex;
  align-items: center;
  gap: .3em
}
.single .p-articleMetas .c-postTimes .c-postTimes__posted:before {
  display: block;
  width: 1em;
  height: 1em;
  margin: 0;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_posted_black.svg) no-repeat center center;
  background-size: contain
}
.single .p-articleMetas .c-postTimes .c-postTimes__modified:before {
  display: block;
  width: 1em;
  height: 1em;
  margin: 0;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_update_black.svg) no-repeat center center;
  background-size: contain
}
.single .p-articleMetas .c-tagList {
  order: 3
}
.single .p-articleMetas .c-tagList:before {
  display: none
}
.single .p-articleMetas .c-tagList .c-tagList__link {
  line-height: 1;
  padding: .25em .5em;
  border-radius: 10px;
  font-weight: 500;
  font-size: .67rem !important;
  color: var(--green1-color) !important;
  background: var(--green5-color)
}
.single .p-articleMetas .c-tagList .c-tagList__link:before {
  display: inline;
  content: "#"
}
.single .p-toc {
  width: 100% !important;
  margin: 1.78em 0 !important;
  padding: 1.78em;
  border: solid 1px var(--green1-color);
  border-radius: 15px !important
}
.single .p-toc .p-toc__ttl {
  width: 100%;
  line-height: 1.4;
  margin: 0 0 1.28em 0;
  padding: 0;
  font-weight: 500;
  font-size: 1.11rem;
  color: var(--green1-color);
  text-align: center;
  background: none
}
.single .p-toc .p-toc__ttl:before {
  display: none
}
.single .p-toc .p-toc__list {
  padding: 0
}
.single .p-toc .p-toc__list li {
  margin-left: 1em;
  font-size: .89rem
}
.single .p-toc .p-toc__list li:before {
  padding: 0;
  border: none;
  right: 100%;
  content: counter(toc) "."
}
.single .l-articleBottom {
  margin-bottom: 2.22em;
  padding-top: 1.78em;
  border-top: solid 1px var(--green2-color)
}
.single .l-articleBottom .p-pnLinks {
  margin: 0;
  gap: 16.9%
}
.single .l-articleBottom .p-pnLinks .p-pnLinks__item {
  width: 41.6%
}
.single .l-articleBottom .p-pnLinks .p-pnLinks__item .p-pnLinks__link {
  min-height: 4.61em;
  padding: 0 1em
}
.single .l-articleBottom .p-pnLinks .p-pnLinks__item.-prev .p-pnLinks__link, .single .l-articleBottom .p-pnLinks .p-pnLinks__item.-next .p-pnLinks__link {
  position: relative;
  border: none
}
.single .l-articleBottom .p-pnLinks .p-pnLinks__item.-prev .p-pnLinks__link {
  padding-left: 2.25em
}
.single .l-articleBottom .p-pnLinks .p-pnLinks__item.-prev .p-pnLinks__link:before {
  display: block;
  position: absolute;
  width: 1.25em;
  height: 100%;
  left: 0;
  content: "";
  border-radius: 3px 0 0 3px;
  background: var(--green1-color)
}
.single .l-articleBottom .p-pnLinks .p-pnLinks__item.-next .p-pnLinks__link {
  padding-right: 2.25em
}
.single .l-articleBottom .p-pnLinks .p-pnLinks__item.-next .p-pnLinks__link:before {
  display: block;
  position: absolute;
  width: 1.25em;
  height: 100%;
  right: 0;
  content: "";
  border-radius: 0 3px 3px 0;
  background: var(--green1-color)
}
.single .l-articleBottom .p-pnLinks .p-pnLinks__item .p-pnLinks__link:hover {
  box-shadow: none
}
.single .l-articleBottom .p-pnLinks .p-pnLinks__item .p-pnLinks__link .p-pnLinks__thumb {
  width: 27.2%;
  height: 100%
}
.single .l-articleBottom .p-pnLinks .p-pnLinks__item .p-pnLinks__link .p-pnLinks__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  line-height: 1;
  font-weight: 500;
  font-size: .78rem;
  color: var(--green1-color)
}
.single .l-articleBottom__section {
  margin-top: 2.22em
}
.single .l-articleBottom__section .l-articleBottom__title {
  line-height: 1.2;
  padding: 0 0 .5em 0;
  margin-bottom: 1em;
  border-bottom: solid 1px var(--green2-color);
  border-left: none;
  font-weight: 700;
  font-size: 1.33rem;
  color: var(--green1-color)
}
.single .l-articleBottom__section .p-relatedPosts .p-postList__item {
  width: 33.33%;
  margin: 0
}
.single .l-articleBottom__section .p-relatedPosts .p-postList__item .p-postList__thumb {
  margin-bottom: .89em;
  border-radius: 3px;
  box-shadow: none
}
.single .l-articleBottom__section .p-relatedPosts .p-postList__item .p-postList__body {
  display: flex;
  flex-direction: column;
  padding: 0
}
.single .l-articleBottom__section .p-relatedPosts .p-postList__item .p-postList__body .p-postList__meta {
  order: 1;
  margin-bottom: .35em
}
.single .l-articleBottom__section .p-relatedPosts .p-postList__item .p-postList__body .p-postList__meta .p-postList__times {
  opacity: 1;
  padding: 0
}
.single .l-articleBottom__section .p-relatedPosts .p-postList__item .p-postList__body .p-postList__meta .c-postTimes__posted {
  line-height: 1;
  font-weight: 400;
  font-size: .78rem
}
.single .l-articleBottom__section .p-relatedPosts .p-postList__item .p-postList__body .p-postList__meta .c-postTimes__posted:before {
  display: none
}
.single .l-articleBottom__section .p-relatedPosts .p-postList__item .p-postList__body .p-postList__title {
  order: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  line-height: 1.2;
  font-weight: bold;
  font-size: 1rem
}
@media only screen and (max-width: 959px) {
  .single .l-articleBottom .p-pnLinks.-thumb-on {
    display: flex;
    gap: 5%
  }
  .single .l-articleBottom__section .p-relatedPosts {
    gap: 1em
  }
  .single .l-articleBottom__section .p-relatedPosts .p-postList__item {
    width: 100%
  }
}
.post_content .is-style-section_ttl, .editor-styles-wrapper .is-style-section_ttl {
  display: block;
  min-height: auto;
  line-height: normal;
  margin: 1rem 0
}
.post_content figure, .editor-styles-wrapper figure:where(:not([class^=swell-block-]):not(.faq_q):not(.p-postList__title)) {
  margin: 1rem 0 1.78rem
}
.post_content h2, .editor-styles-wrapper h2:where(:not([class^=swell-block-]):not(.faq_q):not(.p-postList__title)) {
  line-height: 1.2;
  margin: 1.78rem 0 .89rem;
  padding: .386em .772em;
  border-radius: 5px;
  font-weight: 700;
  font-size: 1.44rem;
  color: var(--white-color);
  background: var(--green1-color)
}
.post_content h3, .editor-styles-wrapper h3:where(:not([class^=swell-block-]):not(.faq_q):not(.p-postList__title)) {
  line-height: 1.2;
  margin: 1.78rem 0 .89rem;
  padding: .42em .63em;
  border-radius: 5px;
  font-weight: 500;
  font-size: 1.33rem;
  color: var(--white-color);
  background: var(--green2-color)
}
.post_content h4, .editor-styles-wrapper h4:where(:not([class^=swell-block-]):not(.faq_q):not(.p-postList__title)) {
  line-height: 1.2;
  margin: 1.78rem 0 .67rem;
  padding-bottom: .5em;
  border-bottom: solid 2px var(--green1-color);
  font-weight: 700;
  font-size: 1.11rem;
  color: var(--green1-color)
}
.post_content h5, .editor-styles-wrapper h5:where(:not([class^=swell-block-]):not(.faq_q):not(.p-postList__title)) {
  line-height: 1.2;
  margin: 1.78rem 0 .67rem;
  padding-left: .56em;
  border-left: solid 5px var(--green1-color);
  font-weight: 700;
  font-size: 1rem;
  color: var(--green1-color)
}
.post_content p, .editor-styles-wrapper p, .post_content ul, .editor-styles-wrapper ul, .post_content ol, .editor-styles-wrapper ol, .post_content dl, .editor-styles-wrapper dl {
  line-height: 1.6;
  margin-bottom: 1em;
  font-weight: 400;
  font-size: 1rem
}
.error404 .l-content {
  margin: 5.675em auto !important
}
.error404 .wp-block-search__inside-wrapper input {
  padding: 5px 44px 5px 8px;
  border: 1px solid var(--green1-color);
  background: var(--white-color)
}
.error404 .wp-block-search__inside-wrapper button {
  margin-left: 0
}
.error404 .wp-block-search__inside-wrapper button {
  background-color: var(--green1-color) !important
}
.contact {
  background-color: var(--white-color)
}
.contact .l-content {
  margin-bottom: 0 !important
}
.contact__intro .head-block {
  margin-bottom: 1.33em
}
.contact__intro .head-block .ff-barlow {
  margin-bottom: .67em
}
.contact__intro p {
  margin-bottom: .67em
}
.contact__intro ul li {
  margin: 0
}
.contact__intro .swell-block-column {
  padding: 1.33em;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(138, 138, 138, .3)
}
.contact__intro .swell-block-column .swell-block-button .swell-block-button__link:hover {
  opacity: .8
}
.contact__intro .swell-block-column:first-of-type {
  border: solid 1px var(--green7-color)
}
.contact__intro .swell-block-column:first-of-type .ttl {
  padding-bottom: .5em;
  border-bottom: dotted 2px var(--green7-color)
}
.contact__intro .swell-block-column:first-of-type .swell-block-button .swell-block-button__link {
  display: inline-flex;
  align-items: center;
  position: relative;
  box-shadow: unset;
  max-width: 100%;
  line-height: 1.6;
  padding: .74em 1.06em .74em 2.73em;
  border: none;
  border-radius: 50px;
  gap: .5em;
  font-weight: 700;
  color: var(--white-color);
  letter-spacing: -0.01em;
  background: var(--green7-color)
}
.contact__intro .swell-block-column:first-of-type .swell-block-button .swell-block-button__link:before {
  display: block;
  width: 2em;
  height: auto;
  aspect-ratio: 358/341;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_line.svg) no-repeat center center;
  background-size: contain
}
.contact__intro .swell-block-column:first-of-type .swell-block-button .swell-block-button__link:after {
  display: block;
  position: absolute;
  top: 50%;
  right: 1.3em;
  width: .5em;
  aspect-ratio: 7/13;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_arrow_right_white.svg) no-repeat;
  background-size: contain;
  transform: translateY(-50%)
}
.contact__intro .swell-block-columns .swell-block-column:last-of-type {
  border: solid 1px var(--green1-color)
}
.contact__intro .swell-block-column:last-of-type .ttl {
  padding-bottom: .5em;
  border-bottom: dotted 2px var(--green1-color)
}
.contact__intro .swell-block-column:last-of-type .swell-block-button .swell-block-button__link {
  display: inline-flex;
  position: relative;
  box-shadow: unset;
  max-width: 100%;
  line-height: 1.6;
  padding: .96em 1.06em .96em 3.28em;
  border: none;
  border-radius: 5px;
  gap: .5em;
  font-weight: 700;
  color: var(--white-color);
  letter-spacing: -0.01em;
  background: var(--green1-color)
}
.contact__intro .swell-block-column:last-of-type .swell-block-button .swell-block-button__link:before {
  display: block;
  width: 1em;
  height: auto;
  aspect-ratio: 20/15;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-email.svg) no-repeat center center;
  background-size: contain
}
.contact__intro .swell-block-column:last-of-type .swell-block-button .swell-block-button__link:after {
  display: block;
  position: absolute;
  top: 50%;
  right: .75em;
  width: .37em;
  aspect-ratio: 7/13;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_arrow_right_white.svg) no-repeat;
  background-size: contain;
  transform: translateY(-50%) rotate(90deg)
}
.contact__mail-form .wp-block-group__inner-container > .head-block .wp-block-group__inner-container {
  width: 38.5%;
  margin: 0 auto 0 0;
  padding: 1.3em 2.5em 1.1em;
  border-radius: 0 20px 0 0;
  text-align: right;
  background: var(--green1-color)
}
.contact__mail-form .wp-block-group__inner-container > .head-block h2 {
  display: inline-flex;
  justify-content: right;
  align-items: center;
  gap: .25em
}
.contact__mail-form .wp-block-group__inner-container > .head-block h2:before {
  display: block;
  position: static;
  content: "";
  width: .61em;
  height: auto;
  aspect-ratio: 209/248;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-headmark-down.svg) no-repeat center center;
  background-size: contain
}
.contact__mail-form ul li {
  margin: 0
}
.contact__mail-form .swl-bg-color {
  display: inline-flex;
  justify-content: center;
  line-height: 1;
  margin: 0 .25em 0 0;
  padding: .2em .58em;
  border-radius: 2px
}
.contact__mail-form .swl-bg-color span {
  margin: 0;
  padding: 0;
  font-weight: 700;
  font-size: .67rem;
  letter-spacing: .05em
}
.contact__mail-form .wp-block-table {
  margin-bottom: 2.22em;
  border-radius: 15px
}
.contact__mail-form .wp-block-table tr + tr {
  border-top: solid 1px #ddd
}
.contact__mail-form .wp-block-table th {
  width: 29.1%;
  padding: 1.33em;
  color: var(--white-color);
  background: var(--green2-color);
  vertical-align: middle
}
.contact__mail-form .wp-block-table td {
  width: 70.9%;
  padding: 1.11em 1.33em;
  background: var(--white-color);
  vertical-align: middle
}
.contact__mail-form input, .contact__mail-form select, .contact__mail-form textarea {
  width: 22.22em;
  max-width: 100%;
  padding: .43em .5em;
  border: solid 1px #d2d5c1;
  border-radius: 5px;
  color: var(--base-color);
  background-color: var(--white-color)
}
.contact__mail-form textarea {
  width: 100%
}
.contact__mail-form .wp-block-table td p {
  line-height: 1.2;
  margin: .5em 0;
  font-weight: 500;
  font-size: .78rem
}
.contact__mail-form .wp-block-table td .wpcf7-radio {
  display: block
}
.contact__mail-form .wp-block-table td .wpcf7-radio .wpcf7-list-item {
  display: block;
  margin: 0
}
.contact__mail-form .wp-block-table td .wpcf7-radio .wpcf7-list-item + .wpcf7-list-item {
  margin-top: .5em
}
.contact__mail-form .wp-block-table td .wpcf7-radio .wpcf7-list-item span {
  line-height: 1;
  font-weight: 500;
  font-size: .89rem
}
.contact__mail-form .wp-block-table td .wpcf7-radio .wpcf7-list-item input[type=radio] {
  position: absolute;
  opacity: 0;
  width: 1em;
  height: 1em;
  margin: 0;
  cursor: pointer
}
.contact__mail-form .wp-block-table td .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label {
  display: flex;
  position: relative
}
.contact__mail-form .wp-block-table td .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-right: .5em;
  width: 1em;
  height: 1em;
  border: 1px solid #ccc;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0);
  box-sizing: border-box
}
.contact__mail-form .wp-block-table td .wpcf7-radio .wpcf7-list-item input[type=radio]:checked + .wpcf7-list-item-label:before {
  border-color: #ccc
}
.contact__mail-form .wp-block-table td .wpcf7-radio .wpcf7-list-item input[type=radio]:checked + .wpcf7-list-item-label:after {
  content: "";
  display: block;
  position: absolute;
  top: .2em;
  left: .2em;
  width: .6em;
  height: .6em;
  background-color: var(--base-color);
  border-radius: 50%
}
.contact__mail-form .wpcf7-acceptance .wpcf7-list-item {
  margin: 0
}
.contact__mail-form .wpcf7-acceptance .wpcf7-list-item input {
  width: 1em
}
.contact__mail-form .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label {
  line-height: 1;
  font-weight: 500;
  font-size: 1rem
}
.contact__mail-form .form__submit {
  position: relative;
  width: 18.22em;
  aspect-ratio: 328/80;
  margin: 1.67em auto 0;
  border-radius: 5px;
  background: var(--green1-color);
  transition: .25s
}
.contact__mail-form .form__submit:before {
  display: block;
  position: absolute;
  width: 1.11em;
  aspect-ratio: 4/3;
  top: 50%;
  left: 15.24%;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-email.svg) no-repeat center center;
  background-size: contain;
  transform: translateY(-50%)
}
.contact__mail-form .form__submit:hover {
  opacity: .8
}
.contact__mail-form .form__submit input {
  width: 100%;
  height: 100%;
  line-height: 1;
  padding-left: calc((15.24% + 1.11em)/2);
  font-weight: 700;
  font-size: 1.22rem;
  color: var(--white-color);
  background: rgba(0, 0, 0, 0)
}
.contact__mail-form .form__submit.disabled {
  background: #ccc
}
.contact__mail-form .form__submit.disabled:hover {
  opacity: 1
}
.contact__mail-form .wpcf7-not-valid {
  background: #fff3f3
}
.contact__mail-form .wpcf7-not-valid-tip {
  font-size: .89rem
}
@media only screen and (max-width: 959px) {
  .contact__mail-form .swl-bg-color span {
    font-size: .89rem
  }
  .contact__mail-form .wp-block-group__inner-container > .head-block .wp-block-group__inner-container {
    width: 15.1em;
    padding: 1.5em 0 1.4em calc(var(--swl-pad_container, 4vw) + 1em);
    text-align: left
  }
  .contact__mail-form .wp-block-group__inner-container > .head-block h2 {
    justify-content: left;
    font-size: 1.56rem !important
  }
  .contact__mail-form .wp-block-group__inner-container > .head-block h2:before {
    width: .8em
  }
  .contact__mail-form .wp-block-table th {
    width: 30%;
    padding: .75em;
    font-size: 1rem
  }
  .contact__mail-form .wp-block-table td {
    width: 70%;
    padding: .75em
  }
  .contact__mail-form input, .contact__mail-form select, .contact__mail-form textarea {
    font-size: 1rem
  }
}
.thanks {
  background: #fbf9f0
}
.thanks__message .has-background {
  padding: 2.78em 1.78em 3.89em;
  border-radius: 20px;
  box-shadow: 0 0 30px rgba(241, 241, 241, .9)
}
.thanks__message .head-block .ff-barlow {
  margin-bottom: .11em
}
.thanks__message .txt {
  width: 44.44em;
  max-width: 100%;
  margin: 0 auto 1.33em
}
.thanks__message .txt p {
  margin-bottom: .67em
}
.thanks__message .swell-block-button {
  margin-bottom: 1.78em
}
.thanks__message .swell-block-button .swell-block-button__link {
  display: inline-flex;
  position: relative;
  box-shadow: unset;
  max-width: 100%;
  line-height: 1.6;
  padding: 1.06em 0;
  border: none;
  border-radius: 50px;
  gap: .5em;
  font-weight: 700;
  font-size: 1rem;
  color: var(--white-color);
  letter-spacing: -0.01em;
  background: var(--green7-color)
}
.thanks__message .swell-block-button .swell-block-button__link:before {
  display: block;
  width: 2em;
  height: auto;
  aspect-ratio: 358/341;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_line.svg) no-repeat center center;
  background-size: contain
}
.thanks__message .thanks__message-link a {
  display: inline-flex;
  align-items: center;
  gap: .5em;
  text-decoration: none
}
.thanks__message .thanks__message-link a:before {
  display: block;
  width: .56em;
  height: auto;
  aspect-ratio: 10/18;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/ico_arrow_left_deepgreem.svg.svg) no-repeat center center;
  background-size: contain
}
@media only screen and (max-width: 959px) {
  .thanks__message {
    padding: 0 var(--swl-pad_container, 4vw) !important
  }
}
.page.privacy-policy .l-content {
  margin: 1.61em auto 4.44em !important
}
.company__intro {
  position: relative;
  padding: 0 var(--swl-pad_post_content) 10.2em;
  background-image: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cmn_separator_w.svg), url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cmn_intro_bg.svg), linear-gradient(to top, var(--white-color) 2.66em, transparent 2.66em);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center bottom 2.66em, right bottom 2.66em, center bottom;
  background-size: 100%, auto, auto
}
.company__intro:before {
  display: block;
  position: absolute;
  width: 100vw;
  height: calc(2.66em + 1px);
  bottom: 0;
  left: 0;
  content: "";
  background: var(--white-color)
}
.company__intro:after {
  display: block;
  position: absolute;
  width: 3.28em;
  height: auto;
  aspect-ratio: 59/77;
  bottom: 2.11em;
  left: 55.71%;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/company_intro_illust03.svg) no-repeat bottom;
  background-size: contain
}
.company__intro .head-block .heading-l {
  position: relative;
  line-height: 1.4 !important
}
.company__intro .head-block .heading-l:after {
  display: block;
  position: absolute;
  width: 28%;
  height: auto;
  aspect-ratio: 18/10;
  bottom: 0;
  right: 1.3em;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/company_intro_illust01.svg) no-repeat left bottom;
  background-size: contain
}
.company__intro .head-block .heading-l > span:first-of-type {
  position: relative;
  display: inline-block;
  line-height: 2.66;
  margin-bottom: .25em;
  padding-left: .53em;
  font-size: 1.44rem !important
}
.company__intro .head-block .heading-l > span:first-of-type:before {
  display: block;
  position: absolute;
  width: 4em;
  height: auto;
  aspect-ratio: 105/69;
  top: .25em;
  left: 0;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/company_intro_tit.svg) no-repeat left bottom;
  background-size: contain
}
.company__intro .head-block .heading-l > span:nth-of-type(2) {
  line-height: 1.16 !important;
  font-size: 3.11rem !important
}
.company__intro .company__intro-block .txt p {
  margin-bottom: .89em
}
.company__intro .company__intro-block .img .img02 {
  position: relative;
  text-align: right
}
.company__intro .company__intro-block .img .img02 img {
  width: 62%
}
.company__intro .company__intro-block .img .img02:before {
  display: block;
  position: absolute;
  width: 24.75%;
  height: auto;
  aspect-ratio: 99/163;
  bottom: 20.1%;
  left: 5%;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/company_intro_illust02.svg) no-repeat left;
  background-size: contain
}
@media screen and (max-width: 1279px) {
  .company__intro .head-block .heading-l:after {
    right: 0
  }
}
@media only screen and (max-width: 959px) {
  .company__intro {
    padding: 0 var(--swl-pad_container, 4vw) 6.5em;
    background-image: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cmn_separator_w.svg), url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cmn_intro_bg.svg), linear-gradient(to top, var(--white-color) 2.66em, transparent 2.66em);
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-position: center bottom 2.66em, right bottom 2.66em, center bottom;
    background-size: 100%, 70%, auto
  }
  .company__intro:after {
    width: 3em;
    bottom: 1em
  }
  .company__intro .head-block .heading-l:after {
    width: 3em;
    top: 1.5em;
    right: 0;
    bottom: auto
  }
}
.company__profile {
  margin: 0 !important
}
.company__profile .head-block .ff-barlow {
  margin-bottom: .2em
}
.company__profile .head-block .heading-l {
  display: flex;
  align-items: center;
  margin: 0 0 .8em;
  gap: .33em
}
.company__profile .head-block .heading-l:before {
  display: block;
  position: static;
  content: "";
  width: .43em;
  height: auto;
  aspect-ratio: 209/248;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-headmark-green.svg) no-repeat center center;
  background-size: contain
}
.company__profile .company__profile-block .txt .wp-block-list {
  display: flex;
  flex-direction: column;
  padding: 1.52em;
  border: solid 1px var(--green3-color);
  border-radius: 10px;
  gap: .63em;
  list-style: none
}
.company__profile .company__profile-block .txt .wp-block-list li {
  display: flex;
  align-items: center;
  gap: .5em
}
.company__profile .company__profile-block .txt .wp-block-list li:before {
  display: block;
  width: .38em;
  height: .38em;
  border-radius: 50%;
  content: "";
  background: var(--green1-color)
}
.company__profile .company__profile-block .txt p {
  margin-bottom: .67em
}
.company__profile .company__profile-block .img .wp-block-group {
  position: relative
}
.company__profile .company__profile-block .img .wp-block-group figure {
  width: 92%
}
.company__profile .company__profile-block .img .wp-block-group figure img {
  border-radius: 15px
}
.company__profile .company__profile-block .img .wp-block-group .name-block {
  display: flex;
  flex-direction: column;
  position: absolute;
  width: 10.1em;
  right: 0;
  bottom: -1.67em;
  padding: .83em 0;
  gap: .55em;
  border-radius: 5px
}
.company__profile .company__profile-block .img .wp-block-group .name-block .ja, .company__profile .company__profile-block .img .wp-block-group .name-block .en {
  margin: 0;
  text-align: center
}
.company__profile .company__profile-block .img .wp-block-group .name-block .en {
  letter-spacing: .2em
}
@media only screen and (max-width: 959px) {
  .company__profile {
    margin: 0 !important
  }
  .company__profile .company__profile-block .img .wp-block-group figure {
    width: 96%
  }
}
.company__history {
  padding: 2.22em 4.11em !important;
  border-radius: 15px
}
.company__history .ff-barlow {
  margin-left: .2em
}
.company__history .company__history-block > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: max-content;
  -moz-column-gap: 0;
  column-gap: 0;
  position: relative;
  max-width: 100%
}
.company__history .company__history-block > .wp-block-group__inner-container:before {
  display: block;
  position: absolute;
  top: .89em;
  left: calc(50% - 1px);
  width: 2px;
  height: calc(100% - .89em);
  content: "";
  background: #ddd
}
.company__history .company__history-block .company__history-box {
  position: relative;
  margin: 0 0 .6em
}
.company__history .company__history-block .company__history-box.left-column {
  grid-column: 1/2;
  padding-right: 2.5em
}
.company__history .company__history-block .company__history-box.right-column {
  grid-column: 2/3;
  padding-left: 2.5em
}
.company__history .company__history-block .company__history-box:nth-of-type(2) {
  margin-top: 3.22em
}
.company__history .company__history-block .company__history-box:nth-of-type(3) {
  margin-top: -3.22em
}
.company__history .company__history-block .company__history-box:nth-of-type(5) {
  margin-top: -10.11em
}
.company__history .company__history-block .company__history-box:before {
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
  top: .89em;
  content: "";
  background: #ddd
}
.company__history .company__history-block .company__history-box.left-column:before {
  left: 0
}
.company__history .company__history-block .company__history-box.right-column:before {
  right: 0
}
.company__history .company__history-block .company__history-box:after {
  display: block;
  position: absolute;
  width: .44em;
  height: .44em;
  top: calc(.67em + .5px);
  border-radius: 100%;
  content: "";
  background: var(--green1-color);
  z-index: 1
}
.company__history .company__history-block .company__history-box.left-column:after {
  right: -0.22em
}
.company__history .company__history-block .company__history-box.right-column:after {
  left: -0.22em
}
.company__history .company__history-block .company__history-box .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
  padding: 1.11em;
  border-radius: 5px;
  gap: .5em;
  background: var(--white-color);
  z-index: 1
}
.company__history .company__history-block .company__history-box .wp-block-group__inner-container .year {
  margin-bottom: 0;
  padding-bottom: .44em;
  border-bottom: dotted 2px var(--green1-color)
}
@media only screen and (max-width: 959px) {
  .company__history {
    padding: 1em !important
  }
  .company__history .company__history-block > .wp-block-group__inner-container {
    grid-template-columns: 1fr
  }
  .company__history .company__history-block > .wp-block-group__inner-container:before {
    left: 0
  }
  .company__history .company__history-block .company__history-box.left-column, .company__history .company__history-block .company__history-box.right-column {
    grid-column: 1;
    padding-left: 2.5em;
    padding-right: 0
  }
  .company__history .company__history-block .company__history-box:nth-of-type(2), .company__history .company__history-block .company__history-box:nth-of-type(3), .company__history .company__history-block .company__history-box:nth-of-type(5) {
    margin-top: 0
  }
  .company__history .company__history-block .company__history-box.left-column:before, .company__history .company__history-block .company__history-box.right-column:before {
    left: 0
  }
  .company__history .company__history-block .company__history-box.left-column:after, .company__history .company__history-block .company__history-box.right-column:after {
    left: calc(-0.22em + 1px)
  }
}
.company__outline {
  background: var(--white-color)
}
.company__outline .wp-block-group__inner-container > .head-block .wp-block-group__inner-container {
  width: 38.5%;
  margin: 0 auto 0 0;
  padding: 1.3em 2.5em 1.1em;
  border-radius: 0 20px 0 0;
  text-align: right;
  background: var(--green1-color)
}
.company__outline .wp-block-group__inner-container > .head-block h2 {
  display: inline-flex;
  justify-content: right;
  align-items: center;
  gap: .25em
}
.company__outline .wp-block-group__inner-container > .head-block h2:before {
  display: block;
  position: static;
  content: "";
  width: .61em;
  height: auto;
  aspect-ratio: 209/248;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-headmark-down.svg) no-repeat center center;
  background-size: contain
}
.company__outline .wp-block-table {
  margin-bottom: 2.22em;
  border-radius: 15px
}
.company__outline .wp-block-table tr + tr {
  border-top: solid 1px #ddd
}
.company__outline .wp-block-table th {
  width: 29.1%;
  padding: .89em 1.33em;
  color: var(--white-color);
  background: var(--green2-color);
  vertical-align: middle
}
.company__outline .wp-block-table td {
  width: 70.9%;
  padding: 1.11em 1.33em;
  background: var(--white-color);
  vertical-align: middle
}
@media only screen and (max-width: 959px) {
  .company__outline .wp-block-group__inner-container > .head-block .wp-block-group__inner-container {
    width: 15.1em;
    padding: 1.5em 0 1.4em calc(var(--swl-pad_container, 4vw) + 1em);
    text-align: left
  }
  .company__outline .wp-block-group__inner-container > .head-block h2 {
    justify-content: left
  }
  .company__outline .wp-block-group__inner-container > .head-block h2:before {
    width: .8em
  }
  .company__outline .wp-block-table th, .company__outline .wp-block-table td {
    padding: .75em
  }
}
.company__coop .head-block .ff-barlow {
  margin-bottom: .2em
}
.company__coop .head-block .heading-l {
  display: flex;
  align-items: center;
  margin: 0 0 .8em;
  gap: .33em
}
.company__coop .head-block .heading-l:before {
  display: block;
  position: static;
  content: "";
  width: .43em;
  height: auto;
  aspect-ratio: 209/248;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-headmark-green.svg) no-repeat center center;
  background-size: contain
}
.company__faq {
  padding: 4.44em 0;
  background: #fbf9f0
}
@media only screen and (max-width: 959px) {
  .company__faq {
    padding: 4.44em var(--swl-pad_container, 4vw) 3em
  }
}
.service__intro {
  position: relative;
  padding: 0 var(--swl-pad_post_content) 10.2em;
  background-image: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cmn_separator_y.svg), url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cmn_intro_bg.svg), linear-gradient(to top, #FBF9F0 2.66em, transparent 2.66em);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center bottom 2.66em, right bottom 2.66em, center bottom;
  background-size: 100%, auto, auto
}
.service__intro:before {
  display: block;
  position: absolute;
  width: 100vw;
  height: calc(2.66em + 1px);
  bottom: 0;
  left: 0;
  content: "";
  background: #fbf9f0
}
.service__intro:after {
  display: block;
  position: absolute;
  width: 3.15em;
  height: auto;
  aspect-ratio: 57/79;
  bottom: 8.56em;
  left: 50.77%;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/service_intro_illust03.svg) no-repeat bottom;
  background-size: contain
}
.service__intro .head-block .heading-l {
  position: relative;
  line-height: 1.4
}
.service__intro .head-block .heading-l:after {
  display: block;
  position: absolute;
  width: 18.9%;
  height: auto;
  aspect-ratio: 122/100;
  bottom: 0;
  right: 3.58em;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/service_intro_illust01.svg) no-repeat left bottom;
  background-size: contain
}
.service__intro .head-block .heading-l > span:first-of-type {
  position: relative;
  display: inline-block;
  line-height: 2.66;
  margin-bottom: .25em;
  padding-left: .53em;
  font-size: 1.44rem !important
}
.service__intro .head-block .heading-l > span:first-of-type:before {
  display: block;
  position: absolute;
  width: 7.14em;
  height: auto;
  aspect-ratio: 185/69;
  top: .25em;
  left: 0;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/service_intro_tit.svg) no-repeat left bottom;
  background-size: contain
}
.service__intro .head-block .heading-l > span:nth-of-type(2) {
  font-size: 1.4em !important
}
.service__intro .service__intro-block .txt p {
  margin-bottom: .89em
}
.service__intro .service__intro-block .img .img02 {
  position: relative;
  text-align: right
}
.service__intro .service__intro-block .img .img02 img {
  width: 62%
}
.service__intro .service__intro-block .img .img02:before {
  display: block;
  position: absolute;
  width: 18.2%;
  height: auto;
  aspect-ratio: 73/103;
  top: 0;
  left: 5%;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/service_intro_illust02.svg) no-repeat left;
  background-size: contain
}
@media screen and (max-width: 1279px) {
  .service__intro .head-block .heading-l:after {
    right: 0
  }
}
@media only screen and (max-width: 959px) {
  .service__intro {
    padding: 0 var(--swl-pad_container, 4vw) 6.5em;
    background-image: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cmn_separator_y.svg), url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cmn_intro_bg.svg), linear-gradient(to top, #FBF9F0 2.66em, transparent 2.66em);
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-position: center bottom 2.66em, right bottom 2.66em, center bottom;
    background-size: 100%, 70%, auto
  }
  .service__intro:after {
    width: 3em;
    bottom: 1em
  }
  .service__intro .head-block .heading-l:after {
    top: auto;
    right: 0;
    bottom: 0
  }
  .service__intro .service__intro-block .txt p:nth-of-type(4) {
    font-size: 1.25em !important
  }
  .service__intro .service__intro-block .img .img02:before {
    top: 30%;
    left: 5%
  }
}
.service__support.cmn__support {
  margin: 0 !important;
  padding-top: 0 !important
}
@media only screen and (max-width: 959px) {
  .service__support.cmn__support {
    margin: 0 !important
  }
}
.service__bnr .swell-block-fullWide__inner.l-article {
  padding: 0 var(--swl-pad_container, 4vw)
}
.service__bnr .wp-block-tiptip-hyperlink-group-block {
  position: relative;
  border-radius: 10px;
  background: var(--white-color);
  overflow: hidden;
  box-shadow: 0 0 10px rgba(215, 217, 203, .9)
}
.service__bnr .wp-block-tiptip-hyperlink-group-block * {
  position: relative;
  z-index: 1
}
.service__bnr .wp-block-tiptip-hyperlink-group-block .wp-block-group .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  padding: 1.94em 52% 1.94em 2.39em;
  gap: .44em
}
.service__bnr .wp-block-tiptip-hyperlink-group-block .wp-block-group p {
  margin: 0
}
.service__bnr .wp-block-tiptip-hyperlink-group-block .wp-block-group p:nth-of-type(2) {
  display: flex;
  align-items: center;
  gap: 1rem
}
.service__bnr .wp-block-tiptip-hyperlink-group-block .wp-block-group p:nth-of-type(2):after {
  display: block;
  width: .4em;
  height: auto;
  aspect-ratio: 768/1303;
  margin-top: .1em;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_arrow_right_deepgreem.svg) no-repeat center center;
  background-size: contain
}
.service__bnr .wp-block-tiptip-hyperlink-group-block figure {
  position: absolute;
  width: auto;
  aspect-ratio: 528/300;
  height: 100%;
  top: 0;
  right: 0;
  margin: 0
}
.service__bnr .wp-block-tiptip-hyperlink-group-block figure img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
@media screen and (max-width: 1279px) {
  .service__bnr .wp-block-tiptip-hyperlink-group-block .wp-block-group p:nth-of-type(1) {
    font-size: 1.3vw !important
  }
  .service__bnr .wp-block-tiptip-hyperlink-group-block .wp-block-group p:nth-of-type(2) {
    font-size: 2.1vw !important
  }
}
@media only screen and (max-width: 959px) {
  .service__bnr .wp-block-tiptip-hyperlink-group-block .wp-block-group .wp-block-group__inner-container {
    padding: 1.25em 45% 1.25em 1.5em
  }
  .service__bnr .wp-block-tiptip-hyperlink-group-block .wp-block-group p:nth-of-type(1) {
    font-size: .86rem !important
  }
  .service__bnr .wp-block-tiptip-hyperlink-group-block .wp-block-group p:nth-of-type(2) {
    font-size: 1.43rem !important
  }
}
.kids-money__intro {
  position: relative;
  padding: 0 var(--swl-pad_post_content) 10.2em;
  background-image: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cmn_separator_g.svg), url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cmn_intro_bg.svg), linear-gradient(to top, #83BF4A 2.66em, transparent 2.66em);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center bottom 2.66em, right bottom 2.66em, center bottom;
  background-size: 100%, auto, auto
}
.kids-money__intro:before {
  display: block;
  position: absolute;
  width: 100vw;
  height: calc(2.66em + 1px);
  bottom: 0;
  left: 0;
  content: "";
  background: #83bf4a
}
.kids-money__intro:after {
  display: block;
  position: absolute;
  width: 4.56em;
  height: auto;
  aspect-ratio: 82/116;
  bottom: 2.16em;
  left: 53.04%;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/kids-money_intro_illust03.svg) no-repeat bottom;
  background-size: contain
}
.kids-money__intro .head-block .heading-l {
  position: relative;
  line-height: 1.4
}
.kids-money__intro .head-block .heading-l:after {
  display: block;
  position: absolute;
  width: 14.4%;
  height: auto;
  aspect-ratio: 84/186;
  bottom: 0;
  right: .58em;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/kids-money_intro_illust01.svg) no-repeat left bottom;
  background-size: contain
}
.kids-money__intro .head-block .heading-l > span:first-of-type {
  position: relative;
  display: inline-block;
  line-height: 2.66;
  margin-bottom: .25em;
  padding-left: .53em;
  font-size: 1.44rem !important
}
.kids-money__intro .head-block .heading-l > span:first-of-type:before {
  display: block;
  position: absolute;
  width: 5.75em;
  height: auto;
  aspect-ratio: 149/69;
  top: .25em;
  left: 0;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/kids-money_intro_tit.svg) no-repeat left bottom;
  background-size: contain
}
.kids-money__intro .head-block .heading-l span strong {
  display: inline-block;
  position: relative;
  margin-left: -0.08em;
  letter-spacing: -0.08em;
  background-image: radial-gradient(circle at center, var(--green2-color) 13%, transparent 13%);
  background-position: top right;
  background-repeat: repeat-x;
  background-size: .92em .13em
}
.kids-money__intro .kids-money__intro-block .txt p {
  margin-bottom: .89em
}
.kids-money__intro .kids-money__intro-block .img .img01 {
  position: relative;
  margin-bottom: 3.78em;
  text-align: left
}
.kids-money__intro .kids-money__intro-block .img .img01 img {
  width: 91%
}
.kids-money__intro .kids-money__intro-block .img .img02 {
  position: relative;
  text-align: right
}
.kids-money__intro .kids-money__intro-block .img .img02 img {
  width: 56.3%
}
.kids-money__intro .kids-money__intro-block .img .img02:before {
  display: block;
  position: absolute;
  width: 12.5%;
  height: auto;
  aspect-ratio: 55/71;
  top: 1em;
  left: 15.91%;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/kids-money_intro_illust02.svg) no-repeat left;
  background-size: contain
}
@media screen and (max-width: 1279px) {
  .kids-money__intro .head-block .heading-l:after {
    width: 10%;
    right: 0
  }
  .kids-money__intro .head-block .heading-l span strong {
    font-size: .89em
  }
}
@media only screen and (max-width: 959px) {
  .kids-money__intro {
    padding: 0 var(--swl-pad_container, 4vw) 8.5em;
    background-image: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cmn_separator_g.svg), url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cmn_intro_bg.svg), linear-gradient(to top, #83BF4A 2.66em, transparent 2.66em);
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-position: center bottom 2.66em, right bottom 2.66em, center bottom;
    background-size: 100%, 70%, auto
  }
  .kids-money__intro:after {
    width: 3em;
    bottom: 1em
  }
  .kids-money__intro .head-block .heading-l:after {
    width: 2em;
    top: auto;
    right: 0;
    bottom: 0
  }
  .kids-money__intro .head-block .heading-l span strong {
    font-size: 1em
  }
  .kids-money__intro .kids-money__intro-block .img .img01 {
    margin-bottom: 1em
  }
  .kids-money__intro .kids-money__intro-block .img .img02:before {
    top: 30%;
    left: 5%
  }
}
.kids-money__topics {
  margin: 0 !important
}
.kids-money__topics .head-block {
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  margin-bottom: 3.89em
}
.kids-money__topics .head-block .heading-l {
  position: relative;
  line-height: 2;
  margin-bottom: 0;
  padding-bottom: .5em;
  padding-left: .61em
}
.kids-money__topics .head-block .heading-l:before {
  display: block;
  position: absolute;
  width: 7.25em;
  height: auto;
  aspect-ratio: 261/81;
  top: .25em;
  left: 0;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/service_summary_tit.svg) no-repeat left bottom;
  background-size: contain
}
.kids-money__topics .kids-money__topics-block .swell-block-column {
  display: flex;
  flex-direction: column;
  position: relative;
  border-radius: 10px;
  background: var(--green2-color);
  box-shadow: 0 0 40px #3b9d33
}
.kids-money__topics .kids-money__topics-block .swell-block-column .head-block {
  margin-bottom: .82em;
  padding: 2.11em 2.78em 0
}
.kids-money__topics .kids-money__topics-block .swell-block-column .head-block .num-gr {
  position: absolute;
  width: 1.53em;
  height: auto;
  aspect-ratio: 55/75;
  top: -0.85em;
  left: -0.19em;
  padding-top: .2em;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-num.svg) no-repeat center center;
  background-size: contain
}
.kids-money__topics .kids-money__topics-block .swell-block-column .head-block h3 {
  padding-bottom: .71em;
  border-bottom: dotted 2px var(--white-color)
}
.kids-money__topics .kids-money__topics-block .swell-block-column > p {
  margin-bottom: 1.82em;
  padding: 0 2.78em
}
.kids-money__topics .kids-money__topics-block .swell-block-column > figure {
  margin: auto 0 0
}
.kids-money__topics .kids-money__topics-block .swell-block-column > figure img {
  border-radius: 0 0 5px 5px
}
@media only screen and (max-width: 959px) {
  .kids-money__topics {
    margin: 0 !important
  }
  .kids-money__topics .head-block {
    flex-direction: column;
    align-items: flex-start
  }
}
.kids-money__merit {
  position: relative;
  padding: 10.33em 0 14.39em;
  background-image: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cmn_separator_w.svg);
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100%
}
.kids-money__merit:before {
  display: block;
  position: absolute;
  width: 1050px;
  aspect-ratio: 105/82;
  top: 0;
  left: 50%;
  content: "";
  background-image: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/kids-money_merit_illust01.svg), url(https://www.miraisouzo.com/wp-content/uploads/2025/11/kids-money_merit_bg.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: center bottom 16.2%, center top;
  background-size: 17.62%, 100%;
  transform: translateX(-50%);
  z-index: -1
}
.kids-money__merit:after {
  display: block;
  position: absolute;
  width: 100%;
  max-width: 1240px;
  height: 100%;
  top: 0;
  left: 50%;
  content: "";
  background-image: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/kids-money_merit_img01.png), url(https://www.miraisouzo.com/wp-content/uploads/2025/11/kids-money_merit_img02.png), url(https://www.miraisouzo.com/wp-content/uploads/2025/11/kids-money_merit_img03.png);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: left top 55%, right 8% top 15%, right 17% top 63%;
  background-size: 23.29%, 17.34%, 11.61%;
  transform: translateX(-50%);
  z-index: 0
}
.kids-money__merit > .wp-block-group__inner-container {
  position: relative;
  width: 100%;
  max-width: 28.61em;
  margin-top: 0;
  z-index: 1
}
.kids-money__merit > .wp-block-group__inner-container:after {
  display: block;
  position: absolute;
  width: 10.26em;
  aspect-ratio: 185/94;
  left: 50%;
  bottom: -2.89em;
  content: "";
  background-size: contain;
  transform: translate(-50%, 100%)
}
.kids-money__merit .head-block h2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .4em
}
.kids-money__merit .head-block h2:after {
  display: block;
  width: .68em;
  aspect-ratio: 22/27;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico_headmark_deepgreen.svg) no-repeat center center;
  background-size: contain;
  transform: rotate(90deg)
}
.kids-money__merit ul {
  display: flex;
  flex-direction: column;
  margin-bottom: 1.55em !important;
  padding: 0;
  gap: .72em;
  list-style: none
}
.kids-money__merit ul li {
  position: relative;
  margin: 0;
  padding-left: 1.41em
}
.kids-money__merit ul li:before {
  display: block;
  position: absolute;
  width: 1.05em;
  height: 1.2em;
  top: 0;
  left: 0;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/ico_check_square_deepgreen.svg) no-repeat center center;
  background-size: contain
}
@media only screen and (max-width: 959px) {
  .kids-money__merit {
    padding: 21.14% 0 30.83%;
    aspect-ratio: 105/82;
    overflow: hidden
  }
  .kids-money__merit:before {
    max-width: 100%;
    top: 0
  }
  .kids-money__merit:after {
    background-position: left top 80%, right 5% top 10%, right 5% top 75%;
    background-size: 23.29%, 17.34%, 11.61%
  }
  .kids-money__merit > .wp-block-group__inner-container {
    max-width: 52%;
    margin-top: 0;
    padding: 0
  }
  .kids-money__merit .head-block {
    margin-bottom: 1em
  }
  .kids-money__merit .head-block h2 {
    font-size: 2.6vw !important
  }
  .kids-money__merit ul {
    margin-bottom: 1em !important;
    gap: .5em;
    font-size: 2.2vw !important
  }
  .kids-money__merit p {
    font-size: 1.8vw !important
  }
}
@media only screen and (max-width: 599px) {
  .kids-money__merit {
    padding: 27% 0 30%;
    aspect-ratio: 1/1;
    overflow: hidden
  }
  .kids-money__merit:before {
    width: 140%;
    max-width: unset;
    top: 0
  }
  .kids-money__merit:after {
    background-position: left top 88%, right 5% top 10%, right 5% top 75%
  }
  .kids-money__merit > .wp-block-group__inner-container {
    max-width: 75%
  }
  .kids-money__merit .head-block h2 {
    font-size: 4.2vw !important
  }
  .kids-money__merit ul {
    font-size: 3.2vw !important
  }
  .kids-money__merit p {
    font-size: 2.8vw !important
  }
}
.kids-money__program {
  position: relative;
  margin-top: 0
}
.kids-money__program:before {
  display: block;
  position: absolute;
  width: 100vw;
  height: 1px;
  top: -1px;
  left: 0;
  content: "";
  background: var(--white-color)
}
.kids-money__program .head-block .ff-barlow {
  margin-bottom: .2em
}
.kids-money__program .head-block .heading-l {
  display: flex;
  align-items: center;
  margin: 0 0 .8em;
  gap: .33em
}
.kids-money__program .head-block .heading-l:before {
  display: block;
  position: static;
  content: "";
  width: .43em;
  height: auto;
  aspect-ratio: 209/248;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-headmark-green.svg) no-repeat center center;
  background-size: contain
}
@media only screen and (max-width: 959px) {
  .kids-money__program {
    margin-top: 0
  }
}
.senior-money {
  background: var(--green5-color)
}
.senior-money__intro {
  position: relative;
  padding: 4.44em var(--swl-pad_post_content) 11.89em;
  background-color: #fbf9f0;
  background-image: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cmn_separator_g.svg), url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cmn_intro_bg.svg), linear-gradient(to top, #83BF4A 2.66em, transparent 2.66em);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center bottom 2.66em, right bottom 2.66em, center bottom;
  background-size: 100%, auto, auto
}
.senior-money__intro:before {
  display: block;
  position: absolute;
  width: 100vw;
  height: calc(2.66em + 1px);
  bottom: 0;
  left: 0;
  content: "";
  background: #83bf4a
}
.senior-money__intro .head-block .heading-l {
  position: relative;
  line-height: 1.4
}
.senior-money__intro .head-block .heading-l:after {
  display: block;
  position: absolute;
  width: 21.7%;
  height: auto;
  aspect-ratio: 140/100;
  bottom: 0;
  right: 4.26em;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/senior-money_intro_illust01.svg) no-repeat left bottom;
  background-size: contain
}
.senior-money__intro .head-block .heading-l > span:first-of-type {
  position: relative;
  display: inline-block;
  line-height: 2.66;
  margin-bottom: .25em;
  padding-left: .53em;
  font-size: 1.44rem !important
}
.senior-money__intro .head-block .heading-l > span:first-of-type:before {
  display: block;
  position: absolute;
  width: 7.69em;
  height: auto;
  aspect-ratio: 199/69;
  top: .25em;
  left: 0;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/senior-money_intro_tit.svg) no-repeat left bottom;
  background-size: contain
}
.senior-money__intro .senior-money__intro-block .txt p {
  margin-bottom: .89em
}
.senior-money__intro .senior-money__intro-block .img .img01 {
  position: relative;
  text-align: left
}
.senior-money__intro .senior-money__intro-block .img .img01 img {
  width: 100%;
  border-radius: 5px
}
@media screen and (max-width: 1279px) {
  .senior-money__intro .head-block .heading-l:after {
    right: 0
  }
}
@media only screen and (max-width: 959px) {
  .senior-money__intro {
    padding: 4.5em var(--swl-pad_container, 4vw) 8.5em;
    background-image: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cmn_separator_g.svg), url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cmn_intro_bg.svg), linear-gradient(to top, #FBF9F0 2.66em, transparent 2.66em);
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-position: center bottom 2.66em, right bottom 2.66em, center bottom;
    background-size: 100%, 70%, auto
  }
  .senior-money__intro:after {
    width: 3em;
    bottom: 1em
  }
  .senior-money__intro .head-block .heading-l:after {
    width: 24%;
    top: auto;
    right: 0;
    bottom: 0
  }
  .senior-money__intro .senior-money__intro-block .img .img01 {
    margin-bottom: 1em
  }
}
.senior-money__trouble {
  margin-top: 0
}
.senior-money__trouble .swell-block-fullWide {
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/cmn_shape_separator_deepgreen.svg) no-repeat center bottom;
  background-size: 100%
}
.senior-money__trouble .swell-block-fullWide:before {
  display: block;
  position: absolute;
  width: 100vw;
  height: 1px;
  bottom: 0;
  left: 0;
  content: "";
  background: var(--green1-color)
}
.senior-money__trouble .head-block {
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  margin-bottom: 3.89em
}
.senior-money__trouble .head-block .heading-l {
  position: relative;
  line-height: 2 !important;
  margin-bottom: 0;
  padding-bottom: .5em;
  padding-left: .61em
}
.senior-money__trouble .head-block .heading-l:before {
  display: block;
  position: absolute;
  width: 7.25em;
  height: auto;
  aspect-ratio: 261/81;
  top: .25em;
  left: 0;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/service_summary_tit.svg) no-repeat left bottom;
  background-size: contain
}
.senior-money__trouble .swell-block-columns {
  margin-bottom: 1.33em
}
.senior-money__trouble .swell-block-column {
  position: relative;
  padding: 1.33em .89em;
  border-radius: 15px;
  background: var(--white-color);
  box-shadow: 0 0 40px 0 #3b9d33
}
.senior-money__trouble .swell-block-column .num-gr {
  position: absolute;
  width: 1.53em;
  height: auto;
  aspect-ratio: 55/75;
  top: -0.85em;
  left: -0.19em;
  padding-top: .2em;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-num.svg) no-repeat center center;
  background-size: contain
}
.senior-money__trouble .swell-block-column figure {
  width: 8.33em;
  margin: 0 auto 1.33em
}
.senior-money__trouble .swell-block-column h3 {
  margin-bottom: .4em
}
@media only screen and (max-width: 959px) {
  .senior-money__trouble {
    margin: 0 !important
  }
  .senior-money__trouble .head-block {
    flex-direction: column;
    align-items: flex-start
  }
  .senior-money__trouble .head-block .heading-l {
    line-height: 1.4 !important;
    padding-bottom: 1em
  }
  .senior-money__trouble .head-block .heading-l:before {
    top: auto;
    bottom: 0
  }
  .senior-money__trouble .swell-block-columns {
    --swl-clmn-mrgn--y: 2.5em
  }
  .senior-money__trouble .swell-block-column .num-gr {
    left: .2em
  }
  .senior-money__trouble .l-article p:nth-of-type(3), .senior-money__trouble .l-article p:nth-of-type(4) {
    font-size: 1.25rem !important
  }
}
.senior-money__merit {
  position: relative;
  margin-bottom: 0;
  padding: 2.22em 0 6.66em;
  background-image: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cmn_separator_w.svg);
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100%
}
.senior-money__merit:before {
  display: block;
  position: absolute;
  width: 100vw;
  height: 1px;
  bottom: 0;
  left: 0;
  content: "";
  background: var(--white-color)
}
.senior-money__merit .head-block h2 span.swl-fz {
  display: inline-block;
  margin-bottom: .33em;
  font-size: .6em !important
}
.senior-money__merit .head-block h2 span.swl-bg-color {
  display: inline-block;
  line-height: 1.2 !important;
  margin-right: .2em;
  padding: .1em .3em;
  border-radius: 5px
}
.senior-money__merit .senior-money__merit-block {
  margin-top: 2.22em
}
.senior-money__merit .senior-money__merit-block .swell-block-column {
  padding-top: 1.33em;
  border-radius: 10px;
  background: var(--white-color);
  overflow: hidden
}
.senior-money__merit .senior-money__merit-block .swell-block-column .head-block {
  margin-bottom: .67em;
  padding: 0 1.33em
}
.senior-money__merit .senior-money__merit-block .swell-block-column .head-block .wp-block-group__inner-container {
  display: flex;
  align-items: flex-end;
  gap: .67em
}
.senior-money__merit .senior-money__merit-block {
  margin-bottom: 2.22em
}
.senior-money__merit .senior-money__merit-block .swell-block-column .head-block .num-or {
  width: 1.33em;
  height: auto;
  aspect-ratio: 48/66;
  padding-top: .1em;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/ico-num-or.svg) no-repeat center center;
  background-size: contain
}
.senior-money__merit .senior-money__merit-block .swell-block-column .head-block h2 {
  display: table;
  padding-bottom: .65em;
  border-bottom: dotted 2px var(--orange1-color)
}
.senior-money__merit .senior-money__merit-block .swell-block-column > p {
  margin-bottom: .89em;
  padding: 0 1.33em
}
@media only screen and (max-width: 959px) {
  .senior-money__merit {
    padding: 2.22em 0 6.5em
  }
  .senior-money__merit .swell-block-fullWide__inner > .head-block h2 {
    font-size: 2rem !important
  }
  .senior-money__merit .swell-block-fullWide__inner > .head-block h2 span.swl-fz {
    font-size: .75em !important
  }
  .senior-money__merit .senior-money__merit-block .swell-block-column .head-block .wp-block-group__inner-container {
    align-items: center
  }
  .senior-money__merit .senior-money__merit-block .swell-block-column .head-block h2 {
    width: calc(100% - 2em)
  }
  .senior-money__merit .senior-money__merit-block + p {
    font-size: 1.5rem !important
  }
}
@media only screen and (max-width: 599px) {
  .senior-money__merit .senior-money__merit-block + p {
    font-size: 4.5vw !important
  }
}
.senior-money__program {
  margin-top: 0
}
.senior-money__program .head-block {
  margin-bottom: 2.22em !important
}
.senior-money__program .head-block .ff-barlow {
  margin-bottom: .2em
}
.senior-money__program .head-block .heading-l {
  display: flex;
  align-items: center;
  margin: 0 0 .8em;
  gap: .33em
}
.senior-money__program .head-block .heading-l:before {
  display: block;
  position: static;
  content: "";
  width: .43em;
  height: auto;
  aspect-ratio: 209/248;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-headmark-green.svg) no-repeat center center;
  background-size: contain
}
@media only screen and (max-width: 959px) {
  .senior-money__program {
    margin-top: -1px
  }
}
.senior-money__faq {
  padding: 4.44em 0;
  background: #fbf9f0
}
@media only screen and (max-width: 959px) {
  .senior-money__faq {
    padding: 4.44em var(--swl-pad_container, 4vw) 3em
  }
}
.insurance-support {
  background: var(--green5-color)
}
.insurance__service {
  position: relative;
  padding: 4.44em var(--swl-pad_post_content) 11.11em;
  background-color: #83bf4a;
  background-image: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/cmn_separator_g.svg), linear-gradient(to top, #83BF4A 2.66em, transparent 2.66em);
  background-repeat: no-repeat, no-repeat;
  background-position: center bottom 2.66em, center bottom;
  background-size: 100%, auto
}
.insurance__service:before {
  display: block;
  position: absolute;
  width: 100vw;
  height: calc(2.66em + 1px);
  bottom: 0;
  left: 0;
  content: "";
  background: #83bf4a
}
.insurance__service .head-block {
  margin-bottom: 4.44em
}
.insurance__service .head-block .ff-barlow {
  margin-bottom: .2em
}
.insurance__service .head-block .heading-l {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 .8em;
  gap: .33em
}
.insurance__service .head-block .heading-l:before {
  display: block;
  position: static;
  content: "";
  width: .43em;
  min-width: .43em;
  height: auto;
  aspect-ratio: 209/248;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-headmark-green.svg) no-repeat center center;
  background-size: contain
}
.insurance__service .swell-block-column {
  position: relative;
  padding: 2.22em;
  border: solid 2px var(--green1-color);
  border-radius: 20px;
  background: var(--white-color)
}
.insurance__service .swell-block-column p.ff-noto {
  display: inline-flex;
  position: absolute;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 50%;
  padding: .5em 1.33em;
  border-radius: 20px;
  transform: translate(-50%, -50%);
  white-space: nowrap
}
.insurance__service .swell-block-column:nth-of-type(1) p.ff-noto:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-width: .31rem;
  border-style: solid;
  border-color: var(--green3-color) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
  transform: translate(-50%, 100%)
}
.insurance__service .swell-block-column:nth-of-type(2) p.ff-noto:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-width: .31rem;
  border-style: solid;
  border-color: var(--green8-color) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
  transform: translate(-50%, 100%)
}
.insurance__service .swell-block-column figure {
  max-width: 6.66em;
  margin: 0 auto .67em
}
.insurance__service .swell-block-column h3.ff-noto {
  margin-bottom: .86em
}
.insurance__service .swell-block-column ul {
  display: flex;
  flex-direction: column;
  margin-top: 1.58em;
  padding: 0;
  gap: .56em;
  list-style: none
}
.insurance__service .swell-block-column ul li {
  position: relative;
  margin: 0;
  padding-left: 1.56em
}
.insurance__service .swell-block-column ul li:before {
  display: block;
  position: absolute;
  width: 1.6em;
  height: 1.6em;
  top: 0;
  left: 0;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/ico_check_deepgreen.svg) no-repeat center center
}
@media only screen and (max-width: 959px) {
  .insurance__service {
    position: relative;
    padding: 4.44em var(--swl-pad_container, 4vw) 11.11em
  }
  .insurance__service .head-block {
    margin-bottom: 2.5em !important
  }
  .insurance__service .head-block .heading-l {
    align-items: flex-start
  }
  .insurance__service .head-block .heading-l:before {
    margin-top: .25em
  }
}
.insurance__support {
  margin-top: 0
}
.insurance__support .head-block {
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  margin-bottom: 3.89em
}
.insurance__support .head-block .heading-l {
  position: relative;
  line-height: 2;
  margin-bottom: 0;
  padding-bottom: .5em;
  padding-left: .61em
}
.insurance__support .head-block .heading-l:before {
  display: block;
  position: absolute;
  width: 7.25em;
  height: auto;
  aspect-ratio: 261/81;
  top: .25em;
  left: 0;
  content: "";
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/11/service_summary_tit.svg) no-repeat left bottom;
  background-size: contain
}
.insurance__support .swell-block-column.img img {
  border-radius: 5px
}
@media only screen and (max-width: 959px) {
  .insurance__support {
    margin: -1px 0 0 !important
  }
  .insurance__support .head-block {
    flex-direction: column;
    align-items: flex-start
  }
}
.insurance__flow .head-block .ff-barlow {
  margin-bottom: .2em
}
.insurance__flow .head-block .heading-l {
  display: flex;
  align-items: center;
  margin: 0 0 .8em;
  gap: .33em
}
.insurance__flow .head-block .heading-l:before {
  display: block;
  position: static;
  content: "";
  width: .43em;
  height: auto;
  aspect-ratio: 209/248;
  background: url(https://www.miraisouzo.com/wp-content/uploads/2025/10/ico-headmark-green.svg) no-repeat center center;
  background-size: contain
}
.insurance__flow .cmn__flow-block .swell-block-column .wp-block-group__inner-container dt {
  font-size: 1.11rem
}
.insurance__faq {
  padding: 4.44em 0;
  background: #fbf9f0
}
@media only screen and (max-width: 959px) {
  .insurance__faq {
    padding: 4.44em var(--swl-pad_container, 4vw) 3em
  }
}
.grecaptcha-badge{
z-index:1;
bottom:110px !important;

}
@media only screen and (max-width: 959px) {
.grecaptcha-badge{
bottom:60px !important;
transform:scale(0.8);
}
}