@charset "UTF-8";

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
sub,
sup,
var,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    /*font-weight: normal;*/
    vertical-align: baseline;
    background: transparent;
    word-break: break-all;
}

table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
    margin: 0;
    outline: 0;
    font-size: 100%;
    font-weight: normal;
    vertical-align: top;
    /*background:transparent;*/
    word-break: break-all;
    border-spacing: 0;
}

body {
    line-height: 1.3;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

:focus {
    outline: 0;
}

ins {
    text-decoration: none;
}

del {
    text-decoration: line-through;
}

.ez-toc-container-direction {
    display: none;
}

:root {
    --main-color: #009b70;
    --sub-color: #0c333f;
    --accent-color: #fe8606;
    --light-color: #f2faf4;
    --hover-color: #f2f4f5;
    --header-height: 0px;
    /* JSでheaderの実寸を設定 */
    scroll-padding-top: var(--header-height);

}

html {
    font-size: 62.5%;
    /* 600px以下は style_sp.css が担当 */
    scroll-behavior: smooth;
    overflow-x: hidden;
    /* Safari: vw連動のfont-sizeをリサイズ時も再計算させる */
    -webkit-marquee-increment: 0vw;
}

/* 601px〜1099px: 1rem=10px@1300px に比例（calcなしのvwで確実に縮める） */
@media (min-width: 601px) {
    html {
        font-size: 0.769vw;
        /* 100vw * 10 / 1300 */
    }
}

/* 1300px以上: 10px固定 */
@media (min-width: 1300px) {
    html {
        font-size: 10px;
    }
}

body {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.8rem;
    color: #333;
    font-weight: 500;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: 0.05em;
    overflow-x: hidden;
    /* Safari: ルートfont-sizeのvw再計算を促す */
    min-height: 0vw;
}

/*------------------------------------------------------------------------------------
	　共通クラス
------------------------------------------------------------------------------------*/
#tinymce p,
.sub-page p {
    line-height: 2;
    margin: 3% 0;
    font-size: 1.8rem;
}

.pc {
    display: block;
}

.sp {
    display: none;
}

.new-line-pc {
    display: block;
}

a {
    color: var(--sub-color);
    cursor: pointer;
}

a:hover {
    text-decoration: none;
}

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

@media (hover: hover) {
    .hv:hover {
        opacity: 0.7;
        cursor: pointer;
    }
}

.hv {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.btn a {
    border-radius: 10em;
    text-decoration: none;
    color: #fff;
    border: 1px solid;
    background: var(--main-color);
    font-weight: 500;
    font-size: 1.8rem;
    display: grid;
    place-content: center;
    width: 37.1rem;
    height: 6.8rem;
    text-align: center;
    position: relative;
    box-sizing: border-box;
    margin: 0 auto;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.btn a:after {
    content: '\f105';
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 0.75em;
    display: block;
    position: absolute;
    top: 50%;
    right: 2.5rem;
    transform: translateY(-50%);
}

@media (hover: hover) {
    .btn a:hover {
        color: var(--main-color);
        background: #fff;
    }
}

.wrap {
    width: min(1300px, 95%);
    margin: 0 auto;
    position: relative;
}

.new-line-pc {
    display: block;
}

.center {
    text-align: center;
}

.tel-num {
    display: flex;
    align-items: center;
    font-weight: 700;
    font-family: "Montserrat", sans-serif;
}

/*------------------------------------------------------------------------------------
	　見出し
------------------------------------------------------------------------------------*/
h1 {
    background: var(--main-color);
    color: #fff;
    font-size: 2.4rem;
    display: inline-block;
    border-radius: 1rem;
    padding: 0.4% 1.9% 0.6%;
}

h2.default {
    font-size: 4rem;
    text-align: center;
    font-weight: 700;
    position: relative;
    color: var(--sub-color);
}

h2.default:after {
    content: '';
    display: block;
    margin: 2.2rem auto 0;
    width: 8rem;
    height: 0.5rem;
    background: var(--main-color);
    border-radius: 0.25rem;
}

h3.default {
    font-size: 3.4rem;
    font-weight: 700;
    color: var(--sub-color);
    text-align: center;
}

h3 .default__inner {
    display: inline-block;
    position: relative;
    padding: 0 8.5rem;
}

h3 .default__inner:before {
    content: '';
    display: block;
    background: var(--main-color);
    width: 6rem;
    height: 0.2rem;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

h3 .default__inner:after {
    content: '';
    display: block;
    background: var(--main-color);
    width: 6rem;
    height: 0.2rem;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

/* .copyright */
.copyright {
    padding: 4.1rem 0;
    background: var(--main-color);
    text-align: center;
    font-size: 1.4rem;
    font-weight: 500;
    color: #fff;
}

/* #back-to-top */
#back-to-top {
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    padding: 2rem 0 0 0;
    position: fixed;
    bottom: 12rem;
    right: 5rem;
    width: 9rem;
    height: 9rem;
    font-family: "Noto Sans JP", sans-serif;
    background-color: var(--sub-color);
    color: #fff;
    border: none;
    border-radius: 1rem;
    font-size: 1.2rem;
    line-height: 1.2;
    font-weight: 500;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
    z-index: 9999;
}

#back-to-top:after {
    content: '\f106';
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 4.2rem;
    display: block;
}

#back-to-top.is-show {
    opacity: 1;
    visibility: visible;
}

/* .contact-banner */

.contact-banner__box {
    background: radial-gradient(circle at center, #0a5452 0%, #0b2f3a 100%);
    border-radius: 2rem;
    padding: 3rem 0 5.7rem;
}

.contact-banner__title {
    text-align: center;
    color: #fff;
    font-weight: 700;
    font-size: 3.2rem;
}

.contact-banner__title-02 {
    text-align: center;
    color: #fff;
    font-size: 3.4rem;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0 0.8% 0;
    gap: 1.1%;
}

.contact-banner__title-02-icon {
    width: 3.4rem;
    height: 3.4rem;
}

.contact-banner__title-02-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.contact-banner__text {
    text-align: center;
    color: #fff;
    font-size: 2.4rem;
    font-weight: bold;
}

.contact-banner__inner {
    width: 100%;
    display: flex;
    align-items: center;
    padding: 2rem 0 0 0;
    box-sizing: border-box;
    justify-content: center;
    gap: 5%;
}

.contact-banner__btn {
    border-radius: 1rem;
    overflow: hidden;
    width: 39.7%;
    aspect-ratio: 520 / 110;
    border: solid 0.2rem #fff;
}

.contact-banner__btn:nth-child(1) {
    background: var(--accent-color);
}

.contact-banner__btn:nth-child(2) {
    background: #009b70;
}

.contact-banner__btn a {
    height: 100%;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5%;
    text-decoration: none;
}

.contact-banner__btn-icon {
    display: block;
    width: 5.8rem;
    height: 5.8rem;
}

.contact-banner__btn-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.contact-banner__btn-title {
    display: block;
    font-size: 2.8rem;
    font-weight: 700;
    padding: 0 0 0.5rem 0;
}

.contact-banner__btn-text {
    display: block;
    font-size: 2rem;
    font-weight: 500;
}

.mv+.contact-banner {
    margin: -4rem 0 0 0;
}

/* .mv */
.mv {
    position: relative;
    background-image: url(/wp-content/uploads/2026/10/mv__bg.jpg);
    background-position: center;
    background-size: cover;
    width: 100%;
    margin: 0 auto;
}

.mv__inner {
    padding: 0 5rem;
}

.mv__site {
    display: flex;
    align-items: center;
    gap: 2%;
    padding: 3rem 0 6.5rem;
}

.mv__site-logo {
    width: 7.8rem;
}

.mv__site-title {
    font-size: 3.6rem;
    font-weight: bold;
}

.mv__title {
    font-size: 5.4rem;
    font-weight: bold;
    line-height: 1.18;
    position: relative;
    z-index: 2;
    color: var(--sub-color);
    padding: 0.5rem 0 3rem 0;
}

.mv__title>span {
    font-size: 7.2rem;
}

.mv__title strong {
    font-size: 7.4rem;
    color: var(--main-color);
}

.mv__title strong span {
    font-family: 'Roboto', 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 9.4rem;
}

.mv__forte-list {
    display: flex;
    gap: 1.3%;
    position: relative;
    z-index: 2;
}

.mv__forte-item {
    width: 16.6%;
    aspect-ratio: 1 / 1;
    box-sizing: border-box;
    border-radius: 1rem;
    box-shadow: 0px 0px 1rem 0px rgba(0, 0, 0, 0.1);
    border-radius: 1rem;
    border: solid 0.3rem #eeeeee;
    background: #fff;
    position: relative;
}

.mv__forte-item-title {
    font-size: 2.6rem;
    font-weight: bold;
    text-align: center;
    color: var(--sub-color);
}

.mv__forte-item-title-area {
    font-size: 3.6rem;
}

.mv__forte-item-image {
    width: 5.8rem;
    height: 5.8rem;
    margin: 2rem auto 0.5rem;
}

.mv__forte-item-title-num {
    font-weight: 700;
    font-size: 2.4rem;
    text-align: center;
    line-height: 1.1;
}

.mv__forte-item-title-num strong {
    font-family: 'Roboto', 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 5.6rem;
}

.mv__note {
    font-size: 2rem;
    padding: 2rem 0 8rem;
}

.mv__image-container {
    width: 67.5%;
    position: absolute;
    right: -27%;
    top: 3%;
}

.mv__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.mv__image-name {
    font-size: 2rem;
    position: absolute;
    top: 52%;
    background: #058262e6;
    left: 39%;
    width: 20.5%;
    aspect-ratio: 1 / 1;
    border-radius: 10rem;
    color: #fff;
    text-align: center;
    display: grid;
    place-content: center;
    box-sizing: border-box;
    padding: 0 0 2% 0;
}

.mv__image-name strong {
    font-size: 2.4rem;
    font-weight: 500;
    position: relative;
}

.mv__image-name strong:after {
    content: '';
    display: block;
    background: #fff;
    width: 12rem;
    height: 1px;
    margin: 1rem auto 0.8rem;
}

/* .worries */
.worries {
    padding: 7rem 0 1.5rem;
    position: relative;
}

.worries:after {
    content: '';
    display: block;
    background: #fff;
    width: 100%;
    height: 12rem;
    left: 0;
    bottom: 0;
    transform: translateY(100%);
    position: absolute;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    z-index: 2;
}

.worries__title {
    font-size: 4.2rem;
    color: var(--sub-color);
    padding: 0 5rem;
}

.worries__title strong {
    font-size: 5.8rem;
}

.worries__list {
    box-sizing: border-box;
    width: 67%;
    margin: 2rem 0 3rem 4%;
}

.worries__item {
    display: flex;
    gap: 1%;
    padding: 1.65% 0;
}

.worries__item:not(:last-child) {
    border-bottom: solid 1px var(--main-color);
}

.worries__item-icon {
    width: 2.4rem;
    height: 2.4rem;
    margin: 1% 0 0 0;
}

.worries__item-title {
    flex: 1;
    font-size: 2.4rem;
    line-height: 1.5;
    font-weight: bold;
}

.worries__message {
    margin: 0 5rem;
    border-radius: 1rem;
    border: solid 0.3rem var(--accent-color);
    display: flex;
    align-items: center;
    position: relative;
    padding: 2.1% 0 2.1% 3.5%;
    gap: 2%;
}

.worries__message-image {
    position: absolute;
    top: -0.3rem;
    right: 1%;
    transform: translateY(-100%);
    width: 21%;
}

.worries__message-icon {
    width: 8.7rem;
}

.worries__message-text {
    font-size: 2.6rem;
    font-weight: bold;
    white-space: pre;
}

.worries__message-text strong {
    color: #fe6906;
    display: block;
    font-size: 5rem;
}

/* 	.merit */
.merit {
    position: relative;
    background-image: url(/wp-content/uploads/2026/10/merit__bg.jpg);
    background-position: center;
    background-size: cover;
    padding: 20rem 0 14rem;
}

.merit__title {
    margin: 0 5rem;
    text-align: center;
    font-weight: bold;
    background: var(--main-color);
    color: #fff;
    font-size: 3rem;
    border-radius: 1rem;
    padding: 1.1% 0;
}

.merit__title strong {
    font-size: 4rem;
}

.merit__image {
    width: 23.5%;
    position: absolute;
    z-index: 2;
    top: 21%;
    left: -17%;
}

@media screen and (min-width: 600px) and (max-width: 1600px) {
    .merit__image {
        width: 13%;
        top: 29%;
        left: -6.5%;
    }
}

.merit__solve-list {
    padding: 4.5rem 5rem 13.8rem 5rem;
    display: flex;
    justify-content: space-between;
}

.merit__solve-item {
    width: 23.3%;
}

.merit__solve-item-icon {
    width: 10.9rem;
    margin: 0 auto;
}

.merit__solve-item-title {
    text-align: center;
    font-weight: bold;
    font-size: 2.6rem;
    line-height: 1.38;
    height: 8rem;
    display: grid;
    place-content: center;
    position: relative;
    margin: 0 0 20% 0;
}

.merit__solve-item-title:after {
    content: '\f107';
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 4rem;
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -60%;
}

.merit__solve-item-text {
    text-align: center;
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 1.5;
    border-radius: 1rem;
    border: solid 0.3rem var(--main-color);
    background: #fff;
    aspect-ratio: 280 / 200;
    display: grid;
    place-content: center;
}

.merit__list {
    display: flex;
    box-shadow: 0px 0px 1rem 0px rgba(0, 0, 0, 0.1);
    border-radius: 1rem;
    border: solid 0.3rem #eeeeee;
    background: #fff;
    margin: 6rem 0 11rem 0;
    padding: 2% 0;
}

.merit__item {
    flex: 1;
    position: relative;
}

.merit__item:not(:last-child):after {
    content: '';
    display: block;
    background: var(--main-color);
    width: 0.2rem;
    height: 18rem;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.merit__item-icon {
    width: 13.4rem;
    margin: 0 auto;
}

.merit__item-title {
    color: var(--sub-color);
    text-align: center;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.375;
}

.merit__item-text {
    font-weight: 500;
    color: #333;
    text-align: left;
    font-size: 1.8rem;
    line-height: 1.3;
    padding: 4% 15% 0;
}

/* .benefit */
.benefit {
    padding: 13rem 0 10.4rem;
}

.benefit__title {
    text-align: center;
    font-size: 4rem;
    color: var(--sub-color);
    position: relative;
}

.benefit__title:before {
    content: '';
    display: block;
    background: var(--sub-color);
    width: 30.7%;
    height: 0.3rem;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.benefit__title:after {
    content: '';
    display: block;
    background: var(--sub-color);
    width: 30.7%;
    height: 0.3rem;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.benefit__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4rem 0 7.5rem;
}

.benefit__message {
    border-radius: 1rem;
    border: solid 0.3rem var(--main-color);
    background: var(--light-color);
    position: relative;
    padding: 3.5% 2.5%;
    box-sizing: border-box;
}

.benefit__message:before {
    content: '';
    display: block;
    background: var(--main-color);
    width: 3.9rem;
    height: 4.5rem;
    right: 0;
    top: 50%;
    transform: translateX(100%) translateY(-50%);
    position: absolute;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    z-index: 2;
}

.benefit__message:after {
    content: '';
    display: block;
    background: var(--light-color);
    width: 3.5rem;
    height: 4rem;
    right: 0.1rem;
    top: 50%;
    transform: translateX(100%) translateY(-50%);
    position: absolute;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    z-index: 2;
}

.benefit__message-inner {
    font-weight: bold;
    font-size: 2.8rem;
    line-height: 1.5;
}

.benefit__message-inner strong {
    color: var(--main-color);
    display: block;
    line-height: 1;
    padding: 0 0 5% 0;
}

.benefit__message-num {
    font-size: 5.6rem;
}

.benefit__table-container {
    width: 57.3%;
}

.benefit__table {
    border-radius: 1rem;
    overflow: hidden;
    border: 0.2rem solid #eeeeee;
}

.benefit__table table {
    width: 100%;
}

.benefit__table thead th {
    background: var(--sub-color);
    color: #fff;
    font-size: 2.2rem;
    font-weight: bold;
    width: 50%;
    padding: 2% 0;
}

.benefit__table thead th:nth-child(1) {
    border-right: 0.2rem solid #eeeeee;
}

.benefit__table tbody th {
    color: var(--sub-color);
    font-size: 2.4rem;
    font-weight: bold;
    border-bottom: 1px solid #eeeeee;
    padding: 1%;
    vertical-align: middle;
    border-right: 0.2rem solid #eeeeee;
}

.benefit__table tbody th .small {
    font-size: 2rem;
}

.benefit__table tbody td {
    text-align: center;
    font-size: 2rem;
    border-bottom: 1px solid #eeeeee;
    padding: 1%;
    color: var(--sub-color);
}

.benefit__table tbody td strong {
    font-size: 3.4rem;
}

.benefit__table tbody tr:last-child th,
.benefit__table tbody tr:last-child td {
    border-bottom: none;
}

.benefit__table-note {
    text-align: right;
    padding: 0.8rem 0 0 0;
}

/* .good-news */
.good-news {
    background: var(--light-color);
    padding: 10rem 0 13rem;
}

.good-news__title {
    background: var(--main-color);
    text-align: center;
    color: #fff;
    width: 66.2%;
    margin: 0 auto;
    padding: 0 0 0.5% 0;
    font-size: 5.2rem;
    border-radius: 1rem;
}

.good-news__title strong {
    font-size: 6.6rem;
}

.good-news__text {
    text-align: center;
    font-size: 3.8rem;
    font-weight: bold;
    padding: 1.5rem 0 0;
}

.good-news__text strong {
    color: var(--main-color);
}

.good-news__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: end;
    gap: 1.5rem 1%;
    padding: 4rem 0 10rem;
}

.good-news__item {
    width: 29.3%;
    aspect-ratio: 380 / 140;
    box-sizing: border-box;
    border-radius: 1rem;
    box-shadow: 0px 0px 0.4rem 0px rgba(0, 0, 0, 0.1);
    border-radius: 1rem;
    border: solid 0.2rem #eeeeee;
    background: #fff;
    position: relative;
    display: grid;
    place-content: center;
}

.good-news__item-title {
    font-size: 2.2rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
}

.good-news__image {
    position: absolute;
    bottom: 0;
    width: 18.8%;
    left: -5%;
}

/* .flow */
.flow {
    padding: 8rem 0 10.5rem;
}

.flow__list {
    display: flex;
    justify-content: space-between;
    padding: 9rem 0 0 0;
}

.flow__item {
    width: 18.5%;
    aspect-ratio: 1 / 1;
    box-sizing: border-box;
    border-radius: 1rem;
    border: solid 0.3rem var(--main-color);
    position: relative;
}

.flow__item:not(:last-child):after {
    content: '\f105';
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 2.5rem;
    display: block;
    color: var(--sub-color);
    position: absolute;
    top: 50%;
    right: -2.3rem;
    transform: translateY(-50%);
}

.flow__item-num {
    background: var(--sub-color);
    color: #fff;
    font-family: 'Roboto', 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 2.8rem;
    border-radius: 10rem;
    display: grid;
    place-content: center;
    width: 6rem;
    height: 6rem;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.flow__item-image {
    width: 7.9rem;
    height: 7.9rem;
    margin: 6rem auto 2rem;
}

.flow__item-title {
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
}

/* .fee */
.fee {
    background: var(--light-color);
    padding: 12rem 0 6rem;
}

.fee__list {
    display: flex;
    gap: 2.4%;
    padding: 5.5rem 5rem 3rem 5rem;
}

.fee__item {
    width: 23.1%;
    aspect-ratio: 1 / 1;
    box-sizing: border-box;
    border-radius: 1rem;
    border: solid 0.3rem var(--accent-color);
    background: #fff;
    position: relative;
}

.fee__item-title {
    font-size: 3rem;
    font-weight: bold;
    text-align: center;
    color: var(--sub-color);
}

.fee__item-image {
    width: 8.1rem;
    height: 8.1rem;
    margin: 11% auto 3%;
}

.fee__item-num {
    color: var(--accent-color);
    font-weight: 700;
    font-size: 4rem;
    text-align: center;
    line-height: 1;
}

.fee__item-num strong {
    font-family: 'Roboto', 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 10rem;
}

.fee__text {
    font-size: 2rem;
    line-height: 1.5;
    padding: 0 5rem 5rem 5rem;
}

.fee__text p:not(:last-child) {
    padding: 0 0 1rem 0;
}

.fee__image {
    width: 44.5%;
    position: absolute;
    right: -13%;
    top: 34%;
}

.fee__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* 	.faq */
.faq {
    padding: 11rem 0 8rem;
}

.faq__list {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    padding: 7rem 5rem 11rem;
}

.faq__item {
    box-shadow: 0px 0px 1rem 0px rgba(0, 0, 0, 0.1);
    border-radius: 1rem;
    padding: 1.5% 2.5%;
    border: solid 0.3rem #eeeeee;
    cursor: pointer;
}

.faq__item-title-container {
    display: flex;
    gap: 1.7%;
    position: relative;
    align-items: center;
}

.faq__item-title-container:after {
    content: '\f107';
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 2.5rem;
    display: block;
    color: var(--main-color);
    position: absolute;
    top: 50%;
    right: 0%;
    transform: translateY(-50%);
}

.faq__item.is-open .faq__item-title-container:after {
    content: '\f106';
}

.faq__item-title-catch {
    display: grid;
    place-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 10rem;
    background: var(--main-color);
    color: #fff;
    font-family: 'Roboto', 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 2.2rem;
}

.faq__item-title {
    flex: 1;
    font-size: 2.4rem;
    font-weight: 700;
}

.faq__item-text-container {
    display: none;
    gap: 1.7%;
    padding: 2% 0 0 0;
}

.faq__item.is-open .faq__item-text-container {
    display: flex;
}

.faq__item-text-catch {
    display: grid;
    place-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 10rem;
    background: var(--sub-color);
    color: #fff;
    font-family: 'Roboto', 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 2.2rem;
}

.faq__item-text {
    flex: 1;
    font-size: 2.2rem;
    line-height: 1.5;
    padding: 0 8% 0 0;
}

/* .chart */
.chart {
    position: relative;
    background-image: url(/wp-content/uploads/2026/10/chart__bg.jpg);
    background-position: bottom;
    background-size: cover;
    padding: 6rem 0 9.5rem;
}

.chart__box {
    margin: 0 5rem 3.5rem 5rem;
    box-shadow: 0px 0px 1rem 0px rgba(0, 0, 0, 0.1);
    border-radius: 1rem;
    padding: 2.5% 0 3%;
    border: solid 0.3rem #eeeeee;
    background: #fff;
}

.chart__box-title {
    text-align: center;
    color: var(--sub-color);
    font-size: 2.8rem;
    font-weight: bold;
}

.chart__box-source {
    text-align: center;
    color: var(--sub-color);
    font-size: 1.6rem;
    font-weight: bold;
    padding: 1rem 0 3.5rem;
}

.chart__box-image {
    padding: 0 11%;
}

.chart__message {
    box-sizing: border-box;
    border-radius: 1rem;
    border: solid 0.3rem var(--main-color);
    background: #fff;
    position: relative;
    margin: 8rem 0 8rem;
}

.chart__message-text {
    font-size: 2.6rem;
    line-height: 1.8;
    font-weight: bold;
    padding: 3% 4.5%;
    position: relative;
    z-index: 2;
}

.chart__message-text strong {
    color: var(--main-color);
    display: block;
}

.chart__message-text-large {
    font-size: 5rem;
    display: block;
    line-height: 1.4;
}

.chart__message-image {
    position: absolute;
    right: 1.5%;
    top: 6%;
    width: 18.4%;
}

/* .about */
.about {
    padding: 11rem 0 16rem;
    background-image: url(/wp-content/uploads/2026/10/about__bg.jpg);
    background-position: bottom;
    background-size: cover;
    border-top: 1rem solid var(--main-color);
}

.about__box {
    background: #fff;
    border-radius: 1rem;
    padding: 5rem;
}

.about__lawyer {
    margin: 6rem 0 5rem 0;
}

.about__office {
    margin: 0 0 5rem 0;
}

.about__lawyer-name-container {
    width: 100%;
    padding: 0 0 2.5% 0;
}

.about__lawyer-office {
    font-size: 2.2rem;
    font-weight: bold;
    color: var(--sub-color);
}

.about__lawyer-name {
    font-size: 3.4rem;
    font-weight: bold;
    color: var(--sub-color);
    border-bottom: solid 0.2rem;
    padding: 0.4% 0 1.6% 0.3%;
}

.about__lawyer-name-affiliation {
    font-size: 2.2rem;
    font-weight: bold;
    color: var(--main-color);
    margin: 0 0 0 1%;
}

.about__lawyer-inner {
    display: flex;
    justify-content: space-between;
    position: relative;
    flex-wrap: wrap;
    padding: 4rem 0 0 0;
    gap: 5%;
}

.about__lawyer-text {
    font-size: 2rem;
    line-height: 2;
    flex: 1;
}

.about__lawyer-image {
    width: 24.2%;
    aspect-ratio: 1 / 1;
}

.about__lawyer-image img {
    border-radius: 1rem;
}

.about__table {
    border-radius: 1rem;
    overflow: hidden;
    margin: 4rem 0 0 0;
    border: 0.2rem solid #eeeeee;
}

.about__table table {
    width: 100%;
}

.about__table table,
.about__table td,
.about__table th {
    border-collapse: collapse;
}

.about__table th {
    padding: 1.3%;
    background: var(--main-color);
    color: #fff;
    font-weight: 700;
    vertical-align: middle;
    font-size: 2rem;
    width: 27.5%;
    border-bottom: 0.2rem solid #eeeeee;
    border-right: 0.2rem solid #eeeeee;
}

.about__table td {
    padding: 1.3% 3.5%;
    background: #fff;
    font-size: 2rem;
    vertical-align: middle;
    width: 72.5%;
    border-bottom: 0.2rem solid #eeeeee;
}

.about__table tr:last-child th,
.about__table tr:last-child td {
    border-bottom: none;
}

.about__map {
    aspect-ratio: 1200 / 450;
    width: 100%;
}

.about__site-list {
    display: flex;
    justify-content: center;
    padding: 3rem 0 2.5rem;
    gap: 5%;
}

.about__site-item {
    width: 22.8%;
}

.about__site-item a {
    display: block;
    width: 100%;
    height: 100%;
    color: var(--main-color);
    text-underline-offset: 0.8rem;
}

.about__site-item-image {
    display: block;
}

.about__site-item-image img {
    display: block;
    width: 100%;
    height: 100%;
}

.about__site-item-title {
    display: block;
    text-align: center;
    padding: 1rem 0 0 0;
    font-size: 2rem;
    font-weight: 700;
}

.about__review-title-image {
    width: 11.8rem;
    display: inline-block;
}

.about__review-title-image img {
    height: 100%;
    width: 100%;
    object-fit: contain;
}

.about__review h3 {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 4rem 0;
}

.about__review h3 .default__inner {
    display: inline-flex;
    gap: 1rem;
}

/* .contact-form */
.contact-form {
    padding: 11.5rem 0 13rem;
}

.contact-form__box {
    padding: 5.5rem 5rem 0;
}

.contact-form__item {
    margin: 0 0 3% 0;
}

.contact-form__item-label {
    display: flex;
    align-items: center;
    font-size: 2.2rem;
    font-weight: bold;
    gap: 2%;
    padding: 0 0 1.5% 0;
}

.contact-form__item-required {
    color: var(--accent-color);
    font-size: 1.6rem;
    border: solid 0.2rem;
    padding: 0.2% 1.5%;
    box-sizing: border-box;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
    width: 100%;
    height: 7rem;
    box-sizing: border-box;
    padding: 1rem;
    font-size: 1.8rem;
    border: solid 0.3rem #eeeeee;
    border-radius: 1rem;
}

textarea {
    height: 25rem;
}

.contact-form__btn {
    margin: 4% 0 0 0;
}

.contact-form__btn input {
    background: var(--sub-color);
    color: #fff;
    border: none;
    font-size: 2.4rem;
    font-weight: bold;
    margin: 0 auto;
    display: block;
    border-radius: 1rem;
    width: 26%;
    padding: 1.8% 0;
    cursor: pointer;
}

@media screen and (max-width: 600px) {
    .wrap {
        width: 89.3%;
    }

    .new-line-pc {
        display: inline;
    }

    .new-line-sp {
        display: block;
    }

    h1 {
        font-size: 3.5vw;
        border-radius: 1vw;
        padding: 1vw 0 1vw;
        display: block;
        text-align: center;
    }

    h2.default {
        font-size: 5.2vw;
    }

    h2.default:after {
        margin: 3vw auto 0;
        width: 11vw;
        height: 0.7vw;
    }

    h3.default {
        font-size: 4.7vw;
    }

    h3 .default__inner {
        display: inline-block;
        position: relative;
        padding: 0 12vw;
    }

    h3 .default__inner:before,
    h3 .default__inner:after {
        width: 8vw;
        height: 0.3vw;
    }

    /* 	.copyright */
    .copyright {
        padding: 5vw 0;
        font-size: 2vw;
    }

    /* #back-to-top */
    #back-to-top {
        padding: 3vw 0 0 0;
        bottom: 16vw;
        right: 5vw;
        width: 12vw;
        height: 12vw;
        border-radius: 1.5vw;
        font-size: 1.5vw;
        line-height: 1.2;
    }

    #back-to-top:after {
        font-size: 5vw;
    }

    /* 	.contact-banner */
    .contact-banner__title {
        text-align: center;
        color: #fff;
        font-weight: 700;
        font-size: 4.6vw;
    }

    .contact-banner__title-02 {
        font-size: 4.8vw;
        padding: 0 0 0.8% 0;
        gap: 2vw;
    }

    .contact-banner__title-02-icon {
        width: 5vw;
        height: 5vw;
    }

    .contact-banner__text {
        font-size: 3.2vw;
        padding: 0 6vw;
        line-height: 1.5;
    }

    .contact-banner__box {
        border-radius: 3vw;
        padding: 4vw 0 6vw;
    }

    .contact-banner__inner {
        padding: 3.5vw 0 0 0;
        gap: 5%;
        flex-direction: column;
        gap: 2.5vw;
    }

    .contact-banner__btn {
        border-radius: 1.5vw;
        width: 76%;
        border-width: 0.3vw;
    }

    .contact-banner__btn-icon {
        width: 8vw;
        height: 8vw;
    }

    .contact-banner__btn-title {
        font-size: 4.2vw;
        padding: 0 0 0.3vw 0;
    }

    .contact-banner__btn-text {
        font-size: 3vw;
    }

    .mv+.contact-banner {
        margin: -76vw 0 0 0;
    }

    /* 	.mv */
    .mv {
        background-image: url(/wp-content/uploads/2026/09/mv__bg_sp.jpg);
        padding: 0 0 65vw 0;
    }

    .mv__inner {
        padding: 0;
    }

    .mv__site {
        gap: 3%;
        padding: 4vw 0 9vw;

    }

    .mv__site-logo {
        width: 11vw;
    }

    .mv__site-title {
        font-size: 5vw;
    }

    .mv__title {
        font-size: 6vw;
        padding: 0 0 47vw 0;
        text-align: center;
    }

    .mv__title strong {
        font-size: 8vw;
    }

    .mv__title strong span {
        font-size: 11vw;
    }

    .mv__title>span {
        font-size: 8vw;
    }

    .mv__forte-list {
        gap: 2.5vw 6%;
        flex-wrap: wrap;
        width: 58%;
        margin: 0 0 0 auto;
    }

    .mv__forte-item {
        width: 47%;
        box-shadow: 0px 0px 0.5vw 0px rgba(0, 0, 0, 0.1);
        border-radius: 1.5vw;
        border-width: 0.3vw;
    }

    .mv__forte-item-image {
        width: 7vw;
        height: 7vw;
        margin: 2vw auto 1vw;
    }

    .mv__forte-item-title {
        font-size: 3.8vw;
    }

    .mv__forte-item-title-num {
        font-size: 3.3vw;
    }

    .mv__forte-item-title-num strong {
        font-size: 7.5vw;
    }

    .mv__forte-item-title-area {
        font-size: 4.8vw;
    }

    .mv__note {
        font-size: 2.55vw;
        padding: 2vw 0 16vw;

    }

    .mv__image-container {
        width: 105%;
        right: 8%;
        top: 37%;
        clip-path: polygon(0 0, 100% 0, 100% 85%, 0 85%);
    }

    .mv__image-name {
        font-size: 2.8vw;
        top: 13%;
        left: 63%;
        width: 27%;
        padding: 0 0 3% 0;
    }

    .mv__image-name strong {
        font-size: 3.6vw;
    }

    .mv__image-name strong:after {
        width: 15vw;
        margin: 1vw auto 1vw;
    }

    /* 	.worries */
    .worries {
        padding: 27vw 0 5vw;
    }

    .worries:after {
        height: 7vw;
    }

    .worries__title strong {
        font-size: 8.1vw;
    }

    .worries__title {
        padding: 0;
        font-size: 6vw;
    }

    .worries__list {
        padding: 0;
        width: 100%;
        margin: 3vw 0 45vw 0;
    }

    .worries__item {
        gap: 1.8%;
    }

    .worries__item-title {
        font-size: 3.6vw;
        line-height: 1.43;
    }

    .worries__item-icon {
        width: 3vw;
        height: 3vw;
        margin: 1.5% 0 0 0;
    }

    .worries__message {
        margin: 0;
        border-radius: 1.5vw;
        border-width: 0.4vw;
        flex-direction: column;
        padding: 4% 9% 6%;
    }

    .worries__message-image {
        top: -0.4vw;
        right: inherit;
        left: 50%;
        transform: translateX(-50%) translateY(-100%);
        width: 32%;
    }

    .worries__message-icon {
        width: 11vw;
    }

    .worries__message-text {
        font-size: 4vw;
        margin: 3vw 0 0 0;
        line-height: 1.5;
        white-space: inherit;
    }

    .worries__message-text strong {
        font-size: 7vw;
        margin: 2vw 0 0 0;
        line-height: 1.43;
    }

    /* 	.merit */
    .merit {
        padding: 16vw 0 11vw;
    }

    .merit__title {
        margin: 0 0 0 auto;
        font-size: 4vw;
        border-radius: 1.5vw;
        padding: 3vw;
        width: 82%;
        text-align: right;
        box-sizing: border-box;
    }

    .merit__title strong {
        font-size: 6vw;
    }

    .merit__image {
        width: 31.5%;
        top: 3vw;
        left: 0;
    }

    .merit__solve-list {
        padding: 12vw 0 18vw;
        justify-content: center;
        gap: 5vw 5%;
        flex-wrap: wrap;
    }

    .merit__solve-item {
        width: 43%;
    }

    .merit__solve-item-icon {
        width: 14vw;
    }

    .merit__solve-item-title {
        font-size: 3.7vw;
        height: 11vw;
    }

    .merit__solve-item-title:after {
        font-size: 5vw;
    }

    .merit__solve-item-text {
        font-size: 3.4vw;
        line-height: 1.38;
        border-radius: 1.5vw;
        border-width: 0.4vw;
    }

    .merit__list {
        border-radius: 1.5vw;
        border-width: 0.4vw;
        margin: 9vw 0 11vw 0;
        padding: 2% 0;
        flex-wrap: wrap;
        justify-content: center;
        gap: 3vw 3%;
        box-shadow: none;
        border-radius: 0;
        border: none;
        background: none;
    }

    .merit__item {
        flex: inherit;
        width: 44%;
        aspect-ratio: 300 / 270;
        box-shadow: 0px 0px 1vw 0px rgba(0, 0, 0, 0.1);
        border-radius: 1.5vw;
        border: solid 0.3vw #eeeeee;
        background: #fff;
        padding: 3vw 0 0 0;
        box-sizing: border-box;
    }

    .merit__item:nth-child(4) {
        padding: 0;
    }

    .merit__item:last-child {
        aspect-ratio: 300 / 290;
        padding: 0;
    }

    .merit__item:not(:last-child):after {
        content: none;
    }

    .merit__item-icon {
        width: 17vw;
    }

    .merit__item:nth-child(4) .merit__item-icon {
        margin-top: -3vw;
    }

    .merit__item-title {
        font-size: 3.8vw;
        line-height: 1.32;
    }

    .merit__item:last-child .merit__item-title {
        margin-top: -2vw;
    }

    .merit__item-text {
        font-size: 2.2vw;
        padding: 4% 9% 0;
    }

    /* 	.benefit */
    .benefit {
        padding: 13vw 0 13vw;
    }

    .benefit__title {
        font-size: 5.2vw;
    }

    .benefit__title:before,
    .benefit__title:after {
        width: 17%;
        height: 0.3vw;
    }

    .benefit__inner {
        gap: 8vw;
        padding: 8vw 0 11vw;
        flex-direction: column;
        align-items: center;
    }

    .benefit__message {
        border-radius: 1.5vw;
        border-width: 0.4vw;
        padding: 4.5% 3.5%;
    }

    .benefit__message-inner {
        font-size: 4vw;
        line-height: 1.4;
        text-align: center;
    }

    .benefit__message-inner strong {
        padding: 1% 0 4% 0;
    }

    .benefit__message-num {
        font-size: 8vw;
    }

    .benefit__message:before {
        width: 5vw;
        height: 5vw;
        right: inherit;
        left: 50%;
        top: inherit;
        bottom: 0;
        transform: translateX(-50%) translateY(100%);
        clip-path: polygon(0 0, 100% 0, 50% 100%);
    }

    .benefit__message:after {
        width: 4vw;
        height: 4.4vw;
        right: inherit;
        left: 50%;
        top: inherit;
        bottom: 0;
        transform: translateX(-50%) translateY(100%);
        clip-path: polygon(0 0, 100% 0, 50% 100%);
    }

    .benefit__table-container {
        width: 100%;
    }

    .benefit__table thead th {
        font-size: 3.4vw;
    }

    .benefit__table tbody th {
        font-size: 3.6vw;
    }

    .benefit__table tbody td strong {
        font-size: 4.5vw;
    }

    .benefit__table tbody td {
        font-size: 2.8vw;
    }

    .benefit__table tbody th .small {
        font-size: 2.8vw;
    }

    .benefit__table-note {
        font-size: 2.8vw;
    }

    /* 	.good-news */
    .good-news {
        padding: 13vw 0 14vw;
    }

    .good-news__title {
        width: 100%;
        padding: 00;
        font-size: 8vw;
        border-radius: 0;
        background: none;
    }

    .good-news__title strong {
        font-size: 9vw;
    }

    .good-news__title-inner {
        display: inline-block;
        background: var(--main-color);
        border-radius: 1.5vw;
        padding: 0 3vw 0 5vw;
    }

    .good-news__title-inner:nth-child(3) {
        border-radius: 0 0 1.5vw 1.5vw;
        padding: 0 3vw 1vw 5vw;
    }

    .good-news__text {
        font-size: 5.3vw;
        padding: 3vw 0 0;
    }

    .good-news__list {
        gap: 3vw;
        padding: 4.5vw 0 42vw;
        align-items: center;
        flex-direction: column;
    }

    .good-news__item {
        width: 100%;
        aspect-ratio: inherit;
        box-shadow: 0px 0px 0.4vw 0px rgba(0, 0, 0, 0.1);
        border-radius: 1.5vw;
        border-width: 0.3vw;
    }

    .good-news__item:nth-child(3) {
        padding: 0 13vw;
    }

    .good-news__item-title {
        font-size: 3.4vw;
        line-height: 1.42;
        padding: 2.5vw 0;
    }

    .good-news__image {
        width: 35%;
        left: 50%;
        transform: translateX(-50%);
    }

    /* 	.flow */
    .flow {
        padding: 12vw 0 14vw;
    }

    .flow__list {
        padding: 10vw 0 0 0;
        flex-direction: column;
        align-items: center;
        gap: 7vw;
    }

    .flow__item {
        width: 63vw;
        aspect-ratio: 460 / 150;
        border-radius: 1.3vw;
        border-width: 0.4vw;
        display: flex;
        align-items: center;
        gap: 3vw;
        padding: 0 0 0 11vw;
    }

    .flow__item:not(:last-child):after {
        content: '\f107';
        font-size: 3.5vw;
        top: inherit;
        bottom: -6vw;
        left: 50%;
        right: inherit;
        transform: translateX(-50%);
    }

    .flow__item-num {
        font-size: 4vw;
        width: 8vw;
        height: 8vw;
        top: 50%;
        left: 0;
        transform: translateX(-50%) translateY(-50%);
    }

    .flow__item-title {
        font-size: 3.8vw;
    }

    .flow__item-image {
        width: 11vw;
        height: 11vw;
        margin: 0;
    }

    .fee__image {
        width: 60vw;
        right: -7vw;
        top: 73vw;
    }

    /* 	.fee */
    .fee {
        padding: 13vw 0 12vw;
    }

    .fee__list {
        gap: 4vw 5%;
        padding: 10vw 2vw 8vw 2vw;
        flex-wrap: wrap;
    }

    .fee__item {
        width: 47.5%;
        border-radius: 1.3vw;
        border-width: 0.4vw;
    }

    .fee__item-image {
        width: 11vw;
        height: 11vw;
        margin: 4vw auto 0.5vw;
    }

    .fee__item-title {
        font-size: 4.2vw;
    }

    .fee__item-num {
        font-size: 5.2vw;
        line-height: 1;
    }

    .fee__item-num strong {
        font-size: 14vw;
    }

    .fee__text {
        font-size: 2.55vw;
        padding: 0 0 8vw 0;
    }

    .fee__text p:not(:last-child) {
        padding: 0 0 1.5vw 0;
    }

    /* 	.about */
    .about__box {
        border-radius: 2vw;
        padding: 7vw 5vw 5vw 5vw;
    }

    .about__lawyer {
        margin: 9vw 0 8vw 0;
    }

    .about__office {
        margin: 0 0 8vw 0;
    }

    .about__text {
        font-size: 3vw;
    }

    .about__table table,
    .about__table tbody,
    .about__table tr,
    .about__table td,
    .about__table th {
        display: block;
    }

    .about__table th {
        padding: 1.3% 5%;
        font-size: 3vw;
        width: 100%;
        text-align: left;
        border-right: none;
    }

    .about__table td {
        font-size: 3vw;
        width: 100%;
        padding: 1.3% 5%;
    }

    .about__site-list {
        justify-content: space-between;
        padding: 5vw 0 5vw;
        gap: 0;
    }

    .about__site-item {
        width: 46.5%;
    }

    .about__site-item-title {
        padding: 2vw 0 0 0;
        font-size: 2.8vw;
    }

    /* 	.faq */
    .faq {
        padding: 12vw 0 11vw;
    }

    .faq__list {
        gap: 3vw;
        padding: 9vw 0 12vw;
    }

    .faq__item {
        box-shadow: 0px 0px 0.6vw 0px rgba(0, 0, 0, 0.1);
        border-radius: 1.5vw;
        padding: 3% 4%;
        border-width: 0.3vw;
    }

    .faq__item-title {
        font-size: 3.4vw;
    }

    .faq__item-title-container:after,
    .faq__item.is-open .faq__item-title-container:after {
        content: none;
    }

    .faq__item-title-container {
        gap: 2vw;
    }

    .faq__item-text-container {
        gap: 2vw;
        padding: 3.5vw 0 0 0;
        display: flex;
    }

    .faq__item-text {
        font-size: 3.2vw;
        padding: 0;
    }

    .faq__item-title-catch,
    .faq__item-text-catch {
        width: 5.5vw;
        height: 5.5vw;
        font-size: 3.2vw;
    }

    /* 	.chart */
    .chart {
        padding: 0 0 12vw;
    }

    .chart__box {
        margin: 0 0 4vw 0;
        box-shadow: 0px 0px 0.7vw 0px rgba(0, 0, 0, 0.1);
        border-radius: 1.5vw;
        padding: 2.5% 0 3%;
        border-width: 0.3vw;
    }

    .chart__box-title {
        font-size: 3.8vw;
    }

    .chart__box-source {
        font-size: 2.2vw;
        padding: 1vw 0 2.5vw;
    }

    .chart__box-image {
        padding: 0 3% 0 2%;
    }

    .chart__message {
        border-radius: 1.5vw;
        border-width: 0.4vw;
        margin: 8vw 0 10vw;
    }

    .chart__message-text {
        font-size: 3.6vw;
        padding: 3% 5.5% 3% 4.5%;
        line-height: 1.67;
    }

    .chart__message-text-large {
        font-size: 6.5vw;
        line-height: 1.3;
    }

    .chart__message-image {
        right: 1%;
        top: inherit;
        bottom: 0;
        width: 28%;
    }

    /* 	.about */
    .about {
        padding: 11vw 0 42vw;
        border-top-width: 1.3vw;
        background-image: url(/wp-content/uploads/2026/10/about__bg_sp.jpg);
    }

    .about__lawyer-inner {
        padding: 6vw 0 0 0;
        gap: 0;
    }

    .about__lawyer-image {
        width: 50%;
        order: 1;
        margin: 0 auto 4vw;
    }

    .about__lawyer-image img {
        border-radius: 1.5vw;
    }

    .about__lawyer-name-container {
        padding: 0 0 2.5% 0;
        order: 2;
    }

    .about__lawyer-office {
        font-size: 3.2vw;
    }

    .about__lawyer-name {
        font-size: 4.8vw;
        border-bottom-width: 0.3vw;
        padding: 0 0 5% 0.3%;
    }

    .about__lawyer-name-affiliation {
        font-size: 3.2vw;
        margin: 0 0 0 3.5%;
    }

    .about__lawyer-text {
        font-size: 2.8vw;
        flex: inherit;
        order: 3;
    }

    .about__table {
        border-radius: 1.5vw;
        margin: 5vw 0 0 0;
        border-width: 0.3vw;
    }

    .about__map {
        aspect-ratio: 590 / 450;
    }

    .about__review-title-image {
        width: 15vw;
    }

    .about__review h3 {
        margin: 0 0 6vw 0;
    }

    .about__review h3 .default__inner {
        gap: 1.3vw;
    }

    /* 	.contact-form */
    .contact-form {
        padding: 12vw 0 16vw;
    }

    .contact-form__box {
        padding: 14vw 0 0;
    }

    .contact-form__item {
        margin: 0 0 4% 0;
    }

    .contact-form__item-label {
        font-size: 3.4vw;
        padding: 0 0 3% 0;
    }

    .contact-form__item-required {
        font-size: 2.2vw;
        border-width: 0.3vw;
        padding: 0.4% 2%;
    }

    input[type="text"],
    input[type="email"],
    input[type="tel"],
    textarea {
        height: 9.5vw;
        padding: 2%;
        font-size: 3.4vw;
        border-width: 0.4vw;
        border-radius: 1.5vw;
    }

    textarea {
        height: 35vw;
    }

    .contact-form__btn {
        margin: 8% 0 0 0;
    }

    .contact-form__btn input {
        font-size: 3.6vw;
        border-radius: 1.5vw;
        width: 45%;
        padding: 3% 0;
    }
}