@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
*/

html,
body,
button,
input,
select,
textarea {
    font-family: "Noto Sans JP", sans-serif;
}

@font-face {
    font-family: "Helvetica";
    src: url(/wp-content/themes/swell_child/fonts/Helvetica.ttf) format("truetype");
    font-weight: 500;
}

@font-face {
    font-family: "Helvetica";
    src: url(/wp-content/themes/swell_child/fonts/Helvetica-Bold.ttf) format("truetype");
    font-weight: 700;
}

@font-face {
    font-family: "SF-Pro";
    src: url(/wp-content/themes/swell_child/fonts/SF-Pro-Semibold.woff) format("woff");
    font-weight: 600;
}

@font-face {
    font-family: "SF-Pro";
    src: url(/wp-content/themes/swell_child/fonts/SF-Pro-Medium.woff) format("woff");
    font-weight: 500;
}

.f_hel {
    font-family: "Helvetica", sans-serif;
    font-weight: 700;
}

.f_sf {
    font-family: "SF-Pro", sans-serif;
}

body {
    color: #333333;
    font-size: 16px;
    line-height: 1.7;
    margin-top: 90px;
    overflow: hidden;
}

a[href $='.pdf'] {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    text-decoration: underline;
    color: #000;
    line-height: 1.5;
}

a[href $='.pdf']::before {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 30px;
    height: 38px;
    background-image: url(/wp-content/themes/swell_child/image/icon/icon_pdf.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 15px;
}

a[href $='.pdf']:hover {
    text-decoration: none;
}

.wrap {
    width: 1140px;
    margin: 0 auto;
}

.wrap.mid {
    width: 1240px;
    margin-inline: auto;
}

.wrap.large {
    width: 1340px;
    margin-inline: auto;
}

:root {
    --main-color: #233565;
    --bg-color: #F0F9FF;
}

/* PCヘッダー */
#header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.16);
    background: #fff;
    z-index: 999;
}

#header .hd_cont {
    padding: 25px 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#header .hd_cont .logo .link {
    display: block;
    width: 204px;
}

#header .hd_cont .logo .link img {
    width: 100%;
}

#header .hd_cont .hd_box {
    display: flex;
    align-items: center;
    gap: 0 40px;
}

#header .hd_cont .hd_box .menu_area {
    margin-top: 8px;
    position: relative;
    padding-right: 40px;
}

#header .hd_cont .hd_box .menu_area::after {
    content: "";
    position: absolute;
    top: -2px;
    right: 0;
    width: 1px;
    height: 26px;
    background: #AAAAAA;
}

#header .hd_cont .hd_box .menu_area ul {
    display: flex;
    gap: 0 44px;
}

#header .hd_cont .hd_box .menu_area ul li .link {
    display: block;
    font-size: 15px;
    letter-spacing: .013em;
    font-weight: 700;
    color: #151515;
    white-space: nowrap;
    transition: .3s;
}

#header .hd_cont .hd_box .menu_area ul li .link::after {
    content: "";
    display: block;
    width: 0;
    height: 2px;
    background: var(--main-color);
    border-radius: 100vmax;
    margin-top: 2px;
    transition: .3s;
}

#header .hd_cont .hd_box .menu_area ul li .link:hover {
    color: var(--main-color);
}

#header .hd_cont .hd_box .menu_area ul li .link:hover::after {
    width: 100%;
}

#header .hd_cont .hd_box .link_area ul {
    display: flex;
    gap: 0 10px;
}

#header .hd_cont .hd_box .link_area ul li .link {
    display: block;
    border: 2px solid var(--main-color);
    width: 150px;
    font-size: 15px;
    letter-spacing: .06em;
    font-weight: 900;
    color: var(--main-color);
    text-align: center;
    line-height: 38px;
    border-radius: 100vmax;
    transition: .3s;
}

#header .hd_cont .hd_box .link_area ul li .link:hover {
    background: var(--main-color);
    color: #fff;
}

/* PCトップ メインビジュアル */
#top_mv {
    padding: 95px 0 50px calc(50vw - 670px);
    position: relative;
}

#top_mv .mv_cont .ttl_box {
    margin-bottom: 18px;
}

#top_mv .mv_cont .ttl_box .ttl {
    font-size: 34px;
    letter-spacing: .07em;
    line-height: 1.35;
    font-weight: 800;
    color: #151515;
}

#top_mv .mv_cont .ttl_box .color {
    font-size: 66px;
    letter-spacing: .02em;
    color: var(--main-color);
}

#top_mv .mv_cont .ttl_box .small {
    font-size: 26px;
    letter-spacing: .02em;
    margin-left: 0.2em;
}

#top_mv .mv_cont .text_box {
    margin-bottom: 55px;
}

#top_mv .mv_cont .text_box .p {
    font-size: 16px;
    letter-spacing: .04em;
    font-weight: 500;
}

#top_mv .mv_cont .btn_box .catch {
    font-size: 17px;
    font-weight: 800;
    color: #151515;
    display: flex;
    align-items: center;
    gap: 0 10px;
    margin-bottom: 10px;
}

#top_mv .mv_cont .btn_box .catch::before {
    content: "";
    background-image: url(/wp-content/themes/swell_child/image/icon_flag.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 26px;
    aspect-ratio: 26/23;
    flex-shrink: 0;
}

#top_mv .mv_cont .btn_box .btn_area .link_btn+.link_btn {
    margin-top: 12px;
}

#top_mv .mv_cont .btn_box .btn_area .link_btn .link {
    width: 450px;
    border: 2px solid var(--main-color);
    background: var(--main-color);
    border-radius: 100vmax;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px 15px 30px;
    transition: .3s;
}

#top_mv .mv_cont .btn_box .btn_area .link_btn .link:hover {
    border-color: #151515;
    background-color: #fff;
}

#top_mv .mv_cont .btn_box .btn_area .link_btn .link .text {
    font-size: 18px;
    letter-spacing: .07em;
    font-weight: 800;
    color: #fff;
    transition: .3s;
}

#top_mv .mv_cont .btn_box .btn_area .link_btn .link:hover .text {
    color: #151515;
}

#top_mv .mv_cont .btn_box .btn_area .link_btn .link .icon {
    width: 38px;
    aspect-ratio: 1;
    background: #fff;
    border-radius: 50%;
    display: grid;
    place-content: center;
    flex-shrink: 0;
    transition: .3s;
}

#top_mv .mv_cont .btn_box .btn_area .link_btn .link:hover .icon {
    background: #151515;
}

#top_mv .mv_cont .btn_box .btn_area .link_btn .link .icon svg {
    width: 100%;
}

#top_mv .mv_cont .btn_box .btn_area .link_btn .link .icon svg path {
    transition: .3s;
}

#top_mv .mv_cont .btn_box .btn_area .link_btn .link:hover .icon svg path {
    fill: #fff;
}

#top_mv .mv_img {
    position: absolute;
    top: 50%;
    left: calc(50vw - 50px);
    translate: 0 -50%;
    width: 910px;
}

#top_mv .mv_img img {
    width: 100%;
}

/* PCトップ SaveLaneの特徴 */
#top_feature {
    padding: 160px 0 170px;
}

#top_feature .common_ttl_box {
    margin-bottom: 36px;
}

.common_ttl_box.center {
    text-align: center;
}

.common_ttl_box .ttl {
    font-size: 24px;
    letter-spacing: .11em;
    line-height: 1;
    font-weight: 800;
    color: #6C6C6C;
}

.common_ttl_box .ttl .color {
    display: block;
    font-size: 40px;
    color: var(--main-color);
    margin-top: 0.4em;
}

.common_ttl_box .ttl .en {
    letter-spacing: 0;
}

.common_ttl_box .ttl .small {
    font-size: 38px;
    margin-left: 0.1em;
}

.common_ttl_box .ttl_text {
    font-size: 14px;
    letter-spacing: .04em;
    font-weight: 500;
    color: #6C6C6C;
    margin-top: 1.6em;
}

#top_feature .common_ttl_box .ttl {
    font-size: 28px;
}

#top_feature .common_ttl_box .ttl .color {
    font-size: 48px;
}

#top_feature .feature_cont ul li {
    border-radius: 20px;
    background: #F0F9FF;
    padding: 60px 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0 40px;
}

#top_feature .feature_cont ul li:nth-child(2) {
    background: #F4FFFF;
    flex-direction: row-reverse;
    margin-top: 30px;
}

#top_feature .feature_cont ul li .text_box {
    padding-left: 25px;
}

#top_feature .feature_cont ul li .text_box .label {
    font-size: 14px;
    line-height: 1;
    font-weight: 900;
    color: #6C6C6C;
    position: relative;
    margin-bottom: 1.5em;
}

#top_feature .feature_cont ul li .text_box .label .num {
    font-size: 26px;
    color: var(--main-color);
    margin-left: 0.2em;
}

#top_feature .feature_cont ul li .text_box .label::before {
    content: "";
    position: absolute;
    top: 13px;
    left: -25px;
    width: 11px;
    height: 11px;
    background: var(--main-color);
    border-radius: 50%;
}

#top_feature .feature_cont ul li .text_box .theme {
    font-size: 38px;
    letter-spacing: .11em;
    font-weight: 800;
    color: var(--main-color);
    margin-bottom: 0.2em;
}

#top_feature .feature_cont ul li .text_box .text {
    font-size: 14px;
    letter-spacing: .05em;
    font-weight: 700;
}

#top_feature .feature_cont ul li .img_box {
    width: 478px;
    flex-shrink: 0;
    margin-bottom: -25px;
}

#top_feature .feature_cont ul li .img_box img {
    width: 100%;
}

/* PCトップ 対応業種 */
#top_support {
    padding: 120px 0;
    background: #F4FBFF;
}

#top_support .common_ttl_box {
    margin-bottom: 32px;
}

#top_support .support_cont {
    margin-bottom: 50px;
}

#top_support .support_cont ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 30px;
}

#top_support .support_cont ul li {
    border-radius: 20px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.16);
    display: flex;
    flex-direction: column;
}

#top_support .support_cont ul li .img {
    width: 100%;
    height: 180px;
}

#top_support .support_cont ul li .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#top_support .support_cont ul li .text_box {
    padding: 20px 18px 30px;
    flex-grow: 1;
}

#top_support .support_cont ul li .text_box .ttl_box {
    margin-bottom: 16px;
}

#top_support .support_cont ul li .text_box .ttl_box .en_ttl {
    font-size: 14px;
    color: var(--main-color);
}

#top_support .support_cont ul li.school .text_box .ttl_box .en_ttl {
    color: #236530;
}

#top_support .support_cont ul li.medical .text_box .ttl_box .en_ttl {
    color: #DE8F32;
}

#top_support .support_cont ul li .text_box .ttl_box .ttl {
    font-size: 20px;
    font-weight: 900;
}

#top_support .support_cont ul li .text_box .tag_box {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

#top_support .support_cont ul li .text_box .tag_box .tag {
    padding: 0 10px;
    font-size: 14px;
    font-weight: 700;
    line-height: 34px;
    background: #F0F4FF;
    border-radius: 4px;
}

#top_support .support_cont ul li.school .text_box .tag_box .tag {
    background: #F2FFF2;
}

#top_support .support_cont ul li.medical .text_box .tag_box .tag {
    background: #FFF8F2;
}

#top_support .support_cont ul li .btn_box .link {
    display: block;
    font-size: 16px;
    line-height: 60px;
    font-weight: 900;
    color: #fff;
    background: var(--main-color);
    text-align: center;
    transition: .3s;
}

#top_support .support_cont ul li .btn_box .link.no_link {
    pointer-events: none;
}

#top_support .support_cont ul li.school .btn_box .link {
    background: #236530;
}

#top_support .support_cont ul li.medical .btn_box .link {
    background: #DE8F32;
}

#top_support .support_cont ul li .btn_box .link:hover {
    background: #F0F4FF;
    color: var(--main-color);
}

#top_support .support_cont ul li.school .btn_box .link:hover {
    background: #F2FFF2;
    color: #236530;
}

#top_support .support_cont ul li.medical .btn_box .link:hover {
    background: #FFF8F2;
    color: #DE8F32;
}

#top_support .common_link_btn .link {
    margin: 0 auto;
}

#top_support .support_cont ul li .text_box .tag_box .tag a {
    display: block;
    color: #333;
    transition: .3s;
}

#top_support .support_cont ul li .text_box .tag_box .tag a:hover {
    opacity: 0.5;
}

.common_link_btn .link {
    display: block;
    font-size: 18px;
    letter-spacing: .06em;
    line-height: 66px;
    font-weight: 800;
    color: #151515;
    border: 2px solid #151515;
    border-radius: 10px;
    width: 350px;
    text-align: center;
    transition: .3s;
}

.common_link_btn .link:hover {
    background: #151515;
    color: #fff;
}

/* PCトップ 導入事例 */
#top_case {
    padding: 140px 0;
}

.case_sec .common_ttl_box {
    margin-bottom: 26px;
}

.common_case_list {
    margin-bottom: 45px;
}

.common_case_list ul li {
    margin: 0 15px;
}

.common_case_list ul li .link {
    display: block;
}

.common_case_list ul li .link .img {
    width: 100%;
    aspect-ratio: 9/5;
    border-radius: 12px;
    overflow: hidden;
}

.common_case_list ul li .link .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .3s;
}

.common_case_list ul li .link:hover .img img {
    scale: 1.2;
}

.common_case_list ul li .link .text_box {
    padding: 24px 10px 0;
}

.common_case_list ul li .link .text_box .ttl {
    font-size: 16px;
    letter-spacing: .05em;
    font-weight: 900;
    color: #151515;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    transition: .3s;
}

.common_case_list ul li .link:hover .text_box .ttl {
    color: var(--main-color);
}

.common_case_list ul li .link .text_box .name {
    font-size: 14px;
    letter-spacing: .04em;
    font-weight: 500;
    color: initial;
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid #CECECE;
    color: #333;
}

.case_sec .common_case_list ul .slick-prev,
.case_sec .common_case_list ul .slick-next {
    width: 30px;
    height: 30px;
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    top: 80px;
    transform: translate(0, 0);
}

.case_sec .common_case_list ul .slick-prev::before,
.case_sec .common_case_list ul .slick-next::before {
    content: "";
}

.case_sec .common_case_list ul .slick-prev {
    rotate: 135deg;
    left: -50px;
}

.case_sec .common_case_list ul .slick-next {
    rotate: -45deg;
    right: -50px;
}

.case_sec .common_link_btn .link {
    margin: 0 auto;
}

/* PCトップ 料金体系 */
#top_price {
    padding: 77px 0;
    background: #F7FBFF;
}

#top_price .common_ttl_box {
    margin-bottom: 35px;
}

#top_price .price_cont {
    padding: 40px 30px 36px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
}

.common_price_box .catch {
    font-size: 16px;
    letter-spacing: .04em;
    font-weight: 700;
    color: #151515;
    text-align: center;
    margin-bottom: 2em;
}

.common_price_box .price_area {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: center;
    align-items: center;
    gap: 80px;
}

.common_price_box .price_area .first_box {
    display: flex;
    align-items: flex-end;
    justify-content: end;
    position: relative;
    gap: 50px;
}

.common_price_box .price_area .first_box .price {
    position: relative;
    font-size: 15px;
    padding-inline: .3em;
    font-weight: 900;
}

.common_price_box .price_area .first_box .border_num {
    display: block;
    width: fit-content;
    color: #6C6C6C;
    position: relative;
}

.common_price_box .price_area .first_box .border_num::before,
.common_price_box .price_area .first_box .border_num::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    left: 0;
    top: calc(50% - 6px);
    border-top: solid 2px #333;
}

.common_price_box .price_area .first_box .border_num::after {
    top: unset;
    bottom: calc(50% - 4px);
}

.common_price_box .price_area .first_box .border_num .small {
    font-size: 0.7em;
}

.common_price_box .price_area .first_box .price .color {
    font-size: 30px;
    line-height: 1;
}

.common_price_box .price_area .first_box::before {
    content: "";
    position: absolute;
    top: 0;
    right: -38px;
    width: 3px;
    height: 100%;
    background: #333333;
}

.common_price_box .price_area .first_box .label {
    font-size: 30px;
    letter-spacing: .11em;
    line-height: 1.3;
    font-weight: 900;
}

.common_price_box .price_area .first_box .en {
    letter-spacing: 0;
    display: block;
}

.common_price_box .price_area .first_box .num {
    font-size: 56px;
    letter-spacing: .11em;
    font-weight: 900;
    margin-bottom: -0.3em;
}

.common_price_box .price_area .first_box .num .color {
    font-size: 150px;
    letter-spacing: 0;
    line-height: 0.8;
    color: var(--main-color);
    margin: 0 0.04em;
}

.common_price_box .price_area .first_box .label {
    position: relative;
}

.common_price_box .price_area .first_box .label::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -30px;
    transform: translateY(-50%);
    background-color: #333333;
    width: 18px;
    height: 27px;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

.common_price_box .price_area .monthly_box {
    display: flex;
    align-items: flex-end;
    gap: 0 14px;
}

.common_price_box .price_area .monthly_box .label {
    background: var(--main-color);
    border-radius: 6px;
    padding: 11px 15px;
    font-size: 28px;
    letter-spacing: .06em;
    line-height: 1.2;
    font-weight: 900;
    color: #fff;
    flex-shrink: 0;
}

.common_price_box .price_area .monthly_box .num {
    font-size: 70px;
    line-height: 1;
}

.common_price_box .price_area .monthly_box .num .yen {
    font-size: 38px;
    letter-spacing: .11em;
    font-weight: 900;
    margin-left: 0.1em;
}

.common_price_box .price_area .monthly_box .num .tax {
    font-size: 22px;
    letter-spacing: .11em;
    font-weight: 900;
}

/* PCトップ 導入までの流れ */
#top_flow {
    padding: 130px 0 0;
}

#top_flow .common_ttl_box {
    margin-bottom: 40px;
}

#top_flow .flow_cont ul li+li {
    margin-top: 20px;
}

#top_flow .flow_cont ul li {
    padding: 20px 30px;
    background: #fff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 0 30px;
    position: relative;
    filter: drop-shadow(0px 1px 3px rgba(0, 0, 0, 0.16));
}

#top_flow .flow_cont ul li::before {
    content: "";
    position: absolute;
    top: 30px;
    left: -24px;
    background-image: url(/wp-content/themes/swell_child/image/top_flow_fukidashi.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 31px;
    height: 25px;
}

#top_flow .flow_cont ul li::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    translate: 0 -50%;
    background: #61ADFF;
    width: 10px;
    height: 62%;
    border-radius: 10px 0 0 10px;
}

#top_flow .flow_cont ul li .img {
    width: 120px;
    aspect-ratio: 1;
    background: #E6F6FF;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

#top_flow .flow_cont ul li .img img {
    width: 72%;
}

#top_flow .flow_cont ul li .text_box .ttl {
    font-size: 22px;
    letter-spacing: .07em;
    font-weight: 900;
    color: #151515;
    margin-bottom: 0.2em;
}

#top_flow .flow_cont ul li .text_box .text {
    font-size: 14px;
    letter-spacing: .04em;
}

/* PCトップ お問い合わせセクション */
#top_contact {
    padding: 80px 0 100px;
}

#top_contact .catch_box {
    margin-bottom: 40px;
}

#top_contact .catch_box .catch {
    font-size: 28px;
    letter-spacing: .07em;
    font-weight: 900;
    color: #151515;
    text-align: center;
}

#top_contact .catch_box .catch .color {
    color: var(--main-color);
}

.common_contact_box ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

/* .common_contact_box ul li:first-child {
    padding: 46px;
    grid-area: 1/1/2/3;
}

.common_contact_box ul li:first-child .text_box {
    margin-bottom: 26px;
}

.common_contact_box ul li:first-child .text_box .ttl {
    font-size: 26px;
}

.common_contact_box ul li:first-child .text_box .text {
    font-size: 16px;
} 

.common_contact_box ul li:first-child .link_btn .link {
    font-size: 16px;
    line-height: 46px;
    width: 300px;
}
    
*/

.common_contact_box ul li {
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.16);
    border-radius: 10px;
    padding: 42px;
}

.common_contact_box ul li .text_box {
    text-align: center;
    margin-bottom: 18px;
}

.common_contact_box ul li .text_box .ttl {
    font-size: 22px;
    letter-spacing: .07em;
    font-weight: 900;
    color: var(--main-color);
    margin-bottom: 10px;
}


.common_contact_box ul li .text_box .text {
    font-size: 14px;
    letter-spacing: .04em;
    line-height: 1.5;
}

.common_contact_box ul li .link_btn .link {
    display: block;
    font-size: 14px;
    letter-spacing: .06em;
    line-height: 36px;
    font-weight: 900;
    color: #fff;
    background: var(--main-color);
    width: 160px;
    text-align: center;
    border-radius: 100vmax;
    margin: 0 auto;
    border: 2px solid var(--main-color);
    transition: .3s;
}

.common_contact_box ul li .link_btn.fit .link {
    width: fit-content;
    padding: 0 1em;
}

.common_contact_box ul li .link_btn .link:hover {
    color: var(--main-color);
    background: #fff;
}

/* PCトップ よくある質問 */
#top_faq {
    margin-bottom: 170px;
}

#top_faq .faq_sec {
    padding-top: 100px;
    border-top: 1px solid #D1D1D1;
}

#top_faq .common_ttl_box {
    margin-bottom: 30px;
}

#top_faq .faq_cont {
    margin-bottom: 60px;
}

.common_faq_list dl dt {
    padding: 34px 20px;
    font-size: 19px;
    letter-spacing: .07em;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 0 30px;
    border-bottom: 1px dashed #333333;
}

.common_faq_list dl dt::before {
    content: "";
    width: 14px;
    aspect-ratio: 1;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    rotate: -45deg;
    flex-shrink: 0;
}

.common_faq_list dl dd {
    padding: 30px 60px;
    font-size: 16px;
    letter-spacing: .01em;
    font-weight: 700;
}

.common_faq_list dl dd .link {
    color: #007DAC;
    border-bottom: 1px solid #007DAC;
}

.common_faq_list dl dd .closeBtnHat {
    display: none;
}

#top_faq .common_link_btn .link {
    margin: 0 auto;
}

/* フッター お問い合わせ */
#footer .ft_contact_sec {
    padding: 86px 0 110px;
    background: #F5FBFF;
}

#footer .ft_contact_sec .ft_contact_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 110px;
    gap: 0 70px;
}

#footer .ft_contact_sec .ft_contact_box .ttl_box {
    flex-shrink: 0;
}

#footer .ft_contact_sec .ft_contact_box .ttl_box .ttl {
    font-size: 34px;
    letter-spacing: .05em;
    line-height: 1.3;
    font-weight: 900;
    color: #151515;
}

#footer .ft_contact_sec .ft_contact_box .ttl_box .ttl .color {
    color: var(--main-color);
    font-size: 56px;
    letter-spacing: 0;
    font-weight: 700;
}

#footer .ft_contact_sec .ft_contact_box .ttl_box .small {
    font-size: 20px;
    margin-left: 0.3em;
}

#footer .ft_contact_sec .ft_contact_box .text_box .text {
    font-size: 13px;
    letter-spacing: .04em;
    font-weight: 600;
}

#footer .ft_contact_sec .ft_contact_box .text_box .text+.text {
    margin-top: 1.5em;
}

/* フッター メニュー */
#footer .ft_sec {
    padding: 150px 0 110px;
}

#footer .ft_sec .ttl_box {
    border-bottom: 1px dashed #333;
    margin-bottom: 24px;
    padding: 0 20px 10px;
}

#footer .ft_sec .ttl_box .ttl {
    font-size: 14px;
    letter-spacing: .04em;
    font-weight: 800;
    color: var(--main-color);
}

#footer .ft_sec .support_area {
    margin-bottom: 82px;
}

#footer .ft_sec .support_area .item_area {
    display: flex;
    gap: 0 70px;
    padding: 0 20px;
}

#footer .ft_sec .support_area .item_area .item_box .label {
    font-size: 12px;
    letter-spacing: .04em;
    font-weight: 800;
    margin-bottom: 1.8em;
}

#footer.gymus_footer .ft_sec .support_area .item_area .item_box .label {
    font-size: 13px;
    margin-bottom: .8em;
}

#footer .ft_sec .support_area .item_area .item_box .item_list {
    display: flex;
    gap: 0 20px;
}

#footer.gymus_footer .ft_sec .support_area .item_area .item_box .item_list ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
}

#footer .ft_sec .support_area .item_area .item_box .item_list ul li .link {
    font-size: 12px;
    letter-spacing: .04em;
    line-height: 1.8;
    font-weight: 600;
    color: #6C6C6C;
    display: flex;
    align-items: center;
    gap: 0 0.5em;
    transition: .3s;
}

#footer .ft_sec .support_area .item_area .item_box .item_list ul li .link.no_link {
    pointer-events: none;
}

#footer .ft_sec .support_area .item_area .item_box .item_list ul li .link:hover {
    opacity: 0.7;
}

#footer .ft_sec .support_area .item_area .item_box .item_list ul li .link::before {
    content: "";
    width: 5px;
    height: 2px;
    background: #6C6C6C;
    flex-shrink: 0;
}

#footer .ft_sec .menu_area {
    margin-bottom: 108px;
}

#footer .ft_sec .menu_area .menu_list {
    padding: 0 20px;
}

#footer .ft_sec .menu_area .menu_list ul {
    display: flex;
    gap: 0 80px;
    flex-wrap: wrap;
}

#footer .ft_sec .menu_area .menu_list ul li {
    flex: 1;
}

#footer .ft_sec .menu_area .menu_list ul li .link {
    font-size: 12px;
    letter-spacing: .04em;
    font-weight: 800;
    color: initial;
}

#footer .ft_sec .menu_area .menu_list ul li .link::after {
    content: "";
    display: block;
    width: 0;
    height: 1px;
    background: #333;
    margin-top: 3px;
    transition: .3s;
}

#footer .ft_sec .menu_area .menu_list ul li .link:hover::after {
    width: 100%;
}

#footer .ft_sec .info_area .logo .link {
    display: block;
    width: 300px;
    margin: 0 auto 30px;
}

#footer .ft_sec .info_area .logo .link img {
    width: 100%;
}

#footer .ft_sec .info_area .link_box {
    display: flex;
    justify-content: center;
    gap: 0 20px;
    margin-bottom: 16px;
}

#footer .ft_sec .info_area .link_box .link {
    font-size: 12px;
    color: #151515;
    position: relative;
}

#footer .ft_sec .info_area .link_box .link+.link::before {
    content: "";
    position: absolute;
    top: 4px;
    bottom: 3px;
    left: -10px;
    background: #151515;
    width: 1.5px;
}

#footer .ft_sec .info_area .cr {
    font-size: 12px;
    color: #151515;
    text-align: center;
}

.fixed_banner {
    position: fixed;
    bottom: 50px;
    right: 65px;
    z-index: 100;
}

.fixed_banner .link {
    display: block;
    width: 270px;
}

.fixed_banner .link img {
    width: 100%;
}

.fixed_banner .close_btn {
    position: absolute;
    top: -15px;
    right: -15px;
    width: 30px;
    cursor: pointer;
}

.fixed_banner .close_btn img {
    width: 100%;
}

/* PC固定ページ 共通設定 */
.common_page_wrap {
    padding: 70px 0 160px;
}

.common_page_main .title_box {
    padding-bottom: 70px;
    border-bottom: 1px solid #F2F2F2;
}

.common_page_main {
    padding: 100px 0 0;
}

.common_page_main .title_box .title {
    font-size: 20px;
    letter-spacing: .07em;
    font-weight: 800;
    text-align: center;
    margin-bottom: 0.7em;
}

.common_page_main .title_box .title .color {
    display: block;
    font-size: 42px;
    color: var(--main-color);
}

.common_page_main .title_box .text_box p {
    font-size: 16px;
    letter-spacing: .04em;
    text-align: center;
    color: #6C6C6C;
}

.common_page_main .title_box .text_box a {
    color: #007DAC;
    border-bottom: 1px solid;
}

.common_page_main .title_box .link_area {
    /* display: grid; */
    /* grid-template-columns: repeat(2, 300px); */
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 36px;
}

.common_page_main .title_box .link_area .link {
    display: block;
    background: var(--main-color);
    font-size: 18px;
    letter-spacing: .06em;
    line-height: 70px;
    font-weight: 900;
    color: #fff;
    text-align: center;
    border: 2px solid var(--main-color);
    border-radius: 100vmax;
    transition: .3s;
    width: 300px;
    margin: 0 auto;
}

.common_page_main .title_box .link_area .link:hover {
    background: #fff;
    color: var(--main-color);
}

.not_found .text {
    text-align: center;
}

.reserve_text {
    text-align: center;
    font-size: 30px;
}

/* パンくず */
.breadcrumb {
    font-size: 12px;
    margin-top: 26px;
    text-align: end;
    color: var(--main-color);
}

.breadcrumb a {
    text-decoration: none;
    color: #6C6C6C;
}

.breadcrumb span {
    margin: 0 0.1em;
}

.breadcrumb .home {
    position: relative;
}

.breadcrumb a .home::before {
    content: "";
    position: absolute;
    top: 1px;
    left: -27px;
    mask-image: url(/wp-content/themes/swell_child/image/icon_home.svg);
    mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat;
    width: 16px;
    height: 14px;
    background: var(--main-color);
}

/* PC固定ページ 会社概要 */
.company_profile {
    margin-bottom: 100px;
}

.company_profile table {
    width: 100%;
    border-collapse: collapse;
}

.company_profile table th,
.company_profile table td {
    padding: 1em;
    border-bottom: 1px solid;
    font-size: 14px;
}

.company_profile table th {
    width: 20%;
}

.company_profile table td {
    width: 80%;
}

.company_access .map {
    height: 350px;
}

.company_access .map iframe {
    width: 100%;
    height: 100%;
}

/* PC固定ページ お問い合わせ */
.page_contact .common-contactform {
    margin-bottom: 70px;
}

.page_contact .info_area {
    padding-bottom: 60px;
    margin-bottom: 60px;
    border-bottom: 1px solid #E3E3E3;
}

.page_contact .info_area li+li {
    margin-top: 40px;
}

.page_contact .info_area li {
    display: flex;
    gap: 20px;
}

.page_contact .info_area li .item .label {
    font-size: 16px;
    letter-spacing: .07em;
    font-weight: 800;
    color: #151515;
    margin-left: 1.3em;
    margin-bottom: 0.4em;
}

.page_contact .info_area li .item .label .hissu {
    font-size: 0.5em;
    color: #E80000;
    vertical-align: top;
    margin-top: 3px;
    display: inline-block;
}

.page_contact .info_area li .item .label .att {
    font-size: 0.75em;
    font-weight: 600;
    margin-left: 0.8em;
}

.page_contact .info_area li .item .box input {
    background: #FCFCFC;
    border: 1px solid #E5E5E5;
    border-radius: 6px;
    font-size: 14px;
    letter-spacing: .04em;
    padding: 1em;
    outline: none;
}

.page_contact .info_area li .item .box input::placeholder {
    color: #C7C7C7;
}

.page_contact .info_area li .item .box select {
    background: #FCFCFC;
    border: 1px solid #E5E5E5;
    border-radius: 6px;
    font-size: 14px;
    letter-spacing: .04em;
    padding: 1em;
    appearance: auto;
    min-block-size: 54.24px;
}

.page_contact .info_area li.company .item .box {
    position: relative;
}

.page_contact .info_area li.company .item .box.select::before {
    content: "";
    width: 8px;
    aspect-ratio: 1;
    min-width: 0;
    position: absolute;
    top: 50%;
    right: 20px;
    translate: 0% -50%;
    z-index: 1;
    border-width: 0 2px 2px 0;
    rotate: 45deg;
}

.page_contact .info_area li.company .item .box input,
.page_contact .info_area li.company .item .box select {
    width: 560px;
    -webkit-appearance: none;
    appearance: none;
}

.page_contact .info_area li.address .item .box.zip {
    margin-bottom: 14px;
    font-size: 16px;
    letter-spacing: .07em;
    font-weight: 700;
}

.page_contact .info_area li.address .item .box.zip input {
    width: 250px;
    margin-left: 5px;
}

.page_contact .info_area li.address .item .box.addr input {
    width: 1114px;
    margin-left: 26px;
}

.page_contact .info_area li.name .item .box input {
    width: 400px;
}

.page_contact .info_area li.mail .item .box input {
    width: 990px;
}

.page_contact .info_area li.tel .item .box input {
    width: 140px;
}

#autozip {
    display: none !important;
}

.page_contact .details_area .type_box {
    margin-bottom: 50px;
}

.page_contact .details_area .label {
    font-size: 16px;
    letter-spacing: .07em;
    font-weight: 800;
    color: #151515;
    margin-left: 1.3em;
    margin-bottom: 0.6em;
}

.page_contact .details_area .label .hissu {
    font-size: 0.5em;
    color: #E80000;
    vertical-align: top;
    margin-top: 3px;
    display: inline-block;
}

.page_contact .details_area .content_box textarea {
    background: #FCFCFC;
    border: 1px solid #E5E5E5;
    border-radius: 6px;
    font-size: 14px;
    letter-spacing: .04em;
    font-weight: 600;
    padding: 1em;
    width: 100%;
    outline: none;
}

.page_contact .details_area .content_box textarea::placeholder {
    color: #C7C7C7;
}

.page_contact .privacy_area {
    margin-top: 82px;
}

.page_contact .privacy_area .text_box {
    margin-bottom: 40px;
}

.page_contact .privacy_area .text_box .text {
    font-size: 14px;
    letter-spacing: .04em;
    font-weight: 500;
    color: #6C6C6C;
}

.page_contact .privacy_area .text_box .text .link {
    display: inline-block;
    color: #007DAC;
    border-bottom: 1px solid #007DAC;
}

.page_contact .privacy_area .att_box .text {
    font-size: 12px;
    letter-spacing: .04em;
    font-weight: 500;
    color: #6C6C6C;
}

/* #page_contact table {
    width: 74%;
    border-collapse: collapse;
    margin: 0 auto 50px;
}

#page_contact table th,
#page_contact table td {
    padding: 20px;
    font-size: 14px;
    border: solid 1px #DFDFDF;
    vertical-align: middle;
}

#page_contact table th {
    width: 25%;
    background: #F7F7F7;
    white-space: nowrap;
    letter-spacing: .05em;
}

#page_contact table th .hissu,
#page_contact table th .ninni {
    background: #c70000;
    margin-right: 15px;
    color: #fff;
    padding: 5px 15px;
    font-size: 10px;
    letter-spacing: .08em;
    border-radius: 30px;
}

#page_contact table th .ninni {
    background: #333;
}

#page_contact table td {
    width: 75%;
}

#page_contact input[type="text"],
#page_contact input[type="email"],
#page_contact #zip {
    width: 85%;
    height: 44px;
    border: 1px solid #a4a4a4;
    border-radius: 4px;
    padding: 1em;
}

#page_contact input.tel {
    padding: 1em;
    width: 18.8%;
    border: 1px solid #a4a4a4;
}

#page_contact select {
    outline: none;
    background: transparent;
    padding: 1em;
    width: 50%;
    border: 1px solid #a4a4a4;
}

#page_contact textarea {
    width: 85%;
    padding: 1em;
    height: 200px;
    border: 1px solid #a4a4a4;
}

#page_contact .attention {
    font-size: 12px;
}

#page_contact #btn_wrap {
    justify-content: center;
    text-align: right;
    width: 74%;
    margin: auto;
} */

#page_contact #btn_wrap button {
    background-color: var(--main-color);
    color: #fff;
    display: block;
    width: 300px;
    line-height: 60px;
    border-radius: 100vmax;
    font-size: 16px;
    font-weight: 900;
    transition: .3s;
    text-align: center;
    letter-spacing: .06em;
    margin: auto;
}

#page_contact #btn_wrap button[name="submitBack"] {
    background: #333;
    margin-top: 20px;
}

#page_contact #btn_wrap button:hover {
    opacity: .8;
}

/* .contact_form_disc {
    width: 74%;
    font-size: 15px;
    margin: 0 auto 50px;
    letter-spacing: .02em;
}

.contact_form_disc .caution {
    font-size: 14px;
    color: #373636;
}

.contact_form_disc .text {
    margin-bottom: 10px;
} */

/* .privacy_term_outer .privacy_term_inner {
    height: 138px;
    margin: auto;
    overflow: auto;
}

.privacy_term_outer .privacy_term_inner .privacy_index {
    font-size: 14px;
}

.privacy_term_outer .privacy_term_inner .main_text {
    font-size: 13px;
    margin-bottom: 25px;
}

.privacy_term_outer .privacy_term_inner dl dt {
    font-size: 13px;
    border-left: solid 3px #ccc;
    padding-left: 1em;
    margin-bottom: 5px;
}

.privacy_term_outer .privacy_term_inner dl dd {
    font-size: 13px;
}

.privacy_term_outer .privacy_term_inner dl+dl {
    margin-top: 30px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar {
    width: 8px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-track {
    background: transparent;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-thumb {
    background-color: #333;
    border-radius: 10px;
}

.privacy_term_outer {
    border-top: solid 1px #e3e3e3;
    padding: 30px 0;
    border-bottom: solid 1px #e3e3e3;
    width: 60%;
    margin: 0 auto 50px;
} */

/* .privacy_check_list .mwform-checkbox-field-text {
    padding-right: 0;
}

.privacy_check_list .error {
    font-size: 12px;
}

.privacy_term_detail {
    text-align: center;
    font-size: 13px;
    margin: 20px 0;
    position: relative;
    font-weight: 600;
}

.privacy_term_detail::after {
    content: "";
    margin: 5px auto 0;
    border: solid #333;
    border-width: 2px 2px 0 0;
    width: 10px;
    aspect-ratio: 1 / 1;
    min-width: 0;
    rotate: 135deg;
    display: block;
} */

/* .mw_wp_form_confirm .privacy_check_list,
.mw_wp_form_confirm .privacy_term_detail {
    display: none;
} */

.common-contactform .info_area li:not(:last-child) {
    border-bottom: 1px solid #ddd;
    padding-bottom: 1em;
}

.common-contactform .info_area li .item .label {
    margin-left: 0;
}


/* ラジオボタン デザイン */
/* ラジオボタンを隠す */
.radio_btns input[type=radio].radio_btns__item {
    display: none;
}

.radio_btns label {
    display: inline-block;
    font-size: 14px;
    letter-spacing: .04em;
    font-weight: 700;
}

/* spanの左側にボタンを配置するスペースを作る */
.radio_btns .radio_btns__item+span {
    padding-left: 40px;
    display: inline-block;
    position: relative;
}

/* 各パーツを作成 */
.radio_btns .radio_btns__item+span::after,
.radio_btns .radio_btns__item+span::before {
    content: '';
    display: block;
    position: absolute;
    border: 1px solid #E5E5E5;
    border-radius: 50%;
    width: 26px;
    aspect-ratio: 1;
    min-width: 0;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}

/* after上書き */
.radio_btns .radio_btns__item+span::after {
    width: 12px;
    top: 0px;
    left: 7px;
    border: none;
    background: var(--main-color);
    -webkit-transform: scale(0);
    /*--ここを0にすることで下線は非表示となる--*/
    -ms-transform: scale(0);
    /*--ここを0にすることで下線は非表示となる--*/
    transform: scale(0);
    transition: all .3s;
    /*--0.3秒かけて下線が表示される--*/
}

/*
  checked状態
  文字のcolorとボタンのopacityを変更
*/
.radio_btns .radio_btns__item:checked+span {
    font-weight: 600;
}

.radio_btns .radio_btns__item:checked+span::after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}

/* チェックボックス デザイン */
#page_contact input[type="checkbox"] {
    /* デフォルトcheckボックス非表示*/
    display: none;
}

.mwform-checkbox-field-text {
    display: inline-block;
    position: relative;
    padding: 0 0 0 30px;
}

.mwform-checkbox-field-text::before,
.mwform-checkbox-field-text::after {
    content: "";
    position: absolute;
    display: block;
}

.mwform-checkbox-field-text::before {
    background: #fff;
    border: 2px solid #ccc;
    border-radius: 2px;
    width: 20px;
    aspect-ratio: 1/1;
    min-width: 0;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.mwform-checkbox-field-text::after {
    border-width: 3px;
    border-color: transparent transparent #333 #333;
    border-style: solid;
    width: 20px;
    aspect-ratio: 2/1;
    min-width: 0;
    margin-top: -0.2em;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(-45deg);
    opacity: 0;
}

input[type="checkbox"]:checked+.mwform-checkbox-field-text::after {
    opacity: 1;
}

.mw_wp_form .horizontal-item {
    margin-bottom: 0;
    display: inline-block;
}

/* サンクスページ */

#page_contact .thanks_textArea .name {
    font-size: 16px;
    line-height: 2;
    text-align: center;
    margin-bottom: 20px;
}

#page_contact .thanks_textArea .contact_text {
    margin: 0 auto 50px;
    width: 62%;
}

#page_contact .thanks_textArea .ichiran_link {
    background-color: var(--main-color);
    color: #fff;
    display: block;
    width: 300px;
    line-height: 60px;
    border-radius: 100vmax;
    font-size: 16px;
    transition: .3s;
    margin: 0 auto;
    font-weight: 900;
    letter-spacing: .06em;
    text-align: center;
}

#page_contact .thanks_textArea .ichiran_link:hover {
    opacity: .8;
}

#page_contact .thanks_textArea .contact_text .space {
    display: block;
}

#page_contact .thanks_textArea .contact_text .space {
    display: block;
    margin-top: 10px;
}

/* ステップバー デザイン */
#page_contact .progressbar {
    margin-bottom: 70px;
    justify-content: center;
}

#page_contact .progressbar .item {
    position: relative;
    width: 14%;
    text-align: center;
    position: relative;
    align-items: center;
    justify-content: center;
    padding: 63px 0 13px;
    line-height: 1.5;
    letter-spacing: .07em;
    font-size: 16px;
    font-weight: 800;
}

#page_contact .progressbar .item .en {
    display: block;
    font-size: 12px;
    letter-spacing: .05em;
    font-weight: 600;
    margin-bottom: 0.2em;
}

#page_contact .progressbar .item::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    width: 50px;
    aspect-ratio: 1/1;
    min-width: 0;
    border: solid 1px #E5E5E5;
    border-radius: 50%;
    margin: auto;
}

#page_contact .progressbar .item.active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 12px;
    width: 26px;
    aspect-ratio: 1/1;
    min-width: 0;
    border-radius: 50%;
    background: var(--main-color);
    margin: auto;
}

#page_contact .progressbar #step_2 .en {
    position: relative;
}

#page_contact .progressbar #step_2 .en::before,
#page_contact .progressbar #step_2 .en::after {
    content: "";
    height: 1px;
    width: 60px;
    background: #E5E5E5;
    position: absolute;
    top: -38px;
    margin: auto;
    left: -30px;
}

#page_contact .progressbar #step_2 .en::after {
    left: auto;
    right: -30px;
}

/* .privacy_check_list {
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
}

.privacy_check_list .hissu {
    background: #c70200;
    color: #fff;
    padding: 2px 15px;
    font-size: 10px;
    letter-spacing: .08em;
    border-radius: 30px;
    font-weight: 600;
}

.mw_wp_form .privacy_check_list .horizontal-item {
    margin: 0;
} */

/* PC固定ページ 個人情報保護方針 */
#page_privacy .main_text {
    font-size: 14px;
    line-height: 1.64;
    margin-bottom: 5em;
}

#page_privacy dl+dl {
    margin-top: 20px;
}

#page_privacy dl dt {
    font-weight: 600;
    font-size: 20px;
    /* margin-bottom: .5em; */
    color: var(--main-color);
}

#page_privacy dl dd {
    font-size: 14px;
    line-height: 1.64;
}

#page_privacy dl dd ul {
    /* margin-top: 1.2em; */
}

#page_privacy dl dd ul li {
    display: flex;
    align-items: flex-start;
    gap: 0.6em;
}

#page_privacy dl dd ul li::before {
    content: "";
    width: 3px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: #151515;
    flex-shrink: 0;
    margin-top: 11px;
}

#page_privacy .contact_area {
    margin-top: 140px;
}

#page_privacy .contact_area .text_box {
    text-align: center;
    margin-bottom: 34px;
}

#page_privacy .contact_area .text_box .catch {
    font-size: 14px;
    letter-spacing: .04em;
    color: #151515;
    margin-bottom: 0.8em;
}

#page_privacy .contact_area .text_box .name {
    font-size: 17px;
    letter-spacing: .04em;
    font-weight: 700;
    color: var(--main-color);
    margin-bottom: 1em;
}

#page_privacy .contact_area .text_box .info {
    font-size: 14px;
    letter-spacing: .04em;
}

#page_privacy .contact_area .link_btn .link {
    display: block;
    background: var(--main-color);
    border: 2px solid var(--main-color);
    color: #fff;
    padding: 10px 36px;
    width: fit-content;
    margin: 0 auto;
    border-radius: 100vmax;
    font-size: 14px;
    letter-spacing: .06em;
    font-weight: 900;
    transition: .3s;
}

#page_privacy .contact_area .link_btn .link:hover {
    background: #fff;
    color: var(--main-color);
}

/* PC固定ページ 404ページ */
#page_404 {
    text-align: center;
}

#page_404 .num {
    font-size: 100px;
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#page_404 .text {
    margin-bottom: 1em;
    font-size: 16px;
}

/* PC 機能一覧ページ */
#page_function .function_cont+.function_cont {
    margin-top: 140px;
}

#page_function .function_cont .ttl_box {
    margin-bottom: 40px;
}

#page_function .function_cont .ttl_box .ttl {
    font-size: 28px;
    letter-spacing: .07em;
    font-weight: 800;
    text-align: center;
}

.common_function_list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.common_function_list ul li {
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.16);
}

.common_function_list ul li .link {
    display: block;
    pointer-events: none;
}

.common_function_list ul li .theme_box {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px dashed #333333;
}

.common_function_list ul li .theme_box .icon {
    width: 60px;
    background: #E6F6FF;
    border-radius: 50%;
    flex-shrink: 0;
}

.common_function_list ul li .theme_box .icon img {
    width: 100%;
}

.common_function_list ul li .theme_box .theme {
    font-size: 18px;
    letter-spacing: .03em;
    font-weight: 900;
    line-height: 1.38;
    color: #333;
}

.common_function_list ul li .text_box .text {
    font-size: 14px;
    letter-spacing: .04em;
    color: #6C6C6C;
}

/* PC 業種一覧 */
#page_support .support_cont ul li+li {
    margin-top: 70px;
}

#page_support .support_cont ul li {
    padding-bottom: 70px;
    border-bottom: 2px dashed #333333;
}

#page_support .support_cont ul li .support_box {
    display: flex;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.16);
    overflow: hidden;
    margin-bottom: 40px;
}

#page_support .support_cont ul li .support_box .img {
    width: 340px;
    flex-shrink: 0;
}

#page_support .support_cont ul li .support_box .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#page_support .support_cont ul li .support_box .box {
    padding: 35px 50px;
}

#page_support .support_cont ul li .support_box .box .text_box {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 20px;
}

#page_support .support_cont ul li .support_box .box .text_box .logo {
    width: 100px;
    flex-shrink: 0;
}

#page_support .support_cont ul li .support_box .box .text_box .logo img {
    width: 100%;
}

#page_support .support_cont ul li .support_box .box .text_box .ttl_box .en_ttl {
    font-size: 14px;
    color: var(--main-color);
}

#page_support .support_cont ul li.school .support_box .box .text_box .ttl_box .en_ttl {
    color: #236530;
}

#page_support .support_cont ul li.medical .support_box .box .text_box .ttl_box .en_ttl {
    color: #DE8F32;
}

#page_support .support_cont ul li .support_box .box .text_box .ttl_box .ttl {
    font-size: 22px;
    font-weight: 900;
    margin-bottom: 0.4em;
}

#page_support .support_cont ul li .support_box .box .text_box .ttl_box .text {
    font-size: 14px;
    letter-spacing: .03em;
}

#page_support .support_cont ul li .support_box .box .tag_box {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

#page_support .support_cont ul li .support_box .box .tag_box .tag {
    padding: 0 10px;
    font-size: 14px;
    font-weight: 700;
    line-height: 34px;
    background: #F0F4FF;
    border-radius: 4px;
}

#page_support .support_cont ul li.school .support_box .box .tag_box .tag {
    background: #F2FFF2;
}

#page_support .support_cont ul li.medical .support_box .box .tag_box .tag {
    background: #FFF8F2;
}

#page_support .support_cont ul li .btn_area {
    display: grid;
    grid-template-columns: repeat(2, 490px);
    justify-content: center;
    gap: 20px;
}

#page_support .support_cont ul li .btn_area .link_btn .link {
    border: 2px solid var(--main-color);
    background: var(--main-color);
    border-radius: 100vmax;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px 15px 30px;
    transition: .3s;
}

#page_support .support_cont ul li .btn_area .link_btn .link:hover {
    background: #fff;
}

#page_support .support_cont ul li .btn_area .link_btn .link .text {
    font-size: 16px;
    letter-spacing: .07em;
    font-weight: 800;
    color: #fff;
    transition: .3s;
}

#page_support .support_cont ul li .btn_area .link_btn .link:hover .text {
    color: var(--main-color);
}

#page_support .support_cont ul li .btn_area .link_btn .link .icon {
    width: 38px;
    aspect-ratio: 1;
    background: #fff;
    border-radius: 50%;
    display: grid;
    place-content: center;
    flex-shrink: 0;
    transition: .3s;
}

#page_support .support_cont ul li .btn_area .link_btn .link:hover .icon {
    background: var(--main-color);
}

#page_support .support_cont ul li .btn_area .link_btn .link .icon svg {
    width: 100%;
}

#page_support .support_cont ul li .btn_area .link_btn .link .icon path {
    transition: .3s;
}

#page_support .support_cont ul li .btn_area .link_btn .link:hover .icon svg path {
    fill: #fff;
}

/* PC固定 料金体系 */
.page_price .price_cont {
    margin-bottom: 148px;
}

.page_price .function_cont .ttl_box {
    margin-bottom: 55px;
}

.page_price .function_cont .ttl_box .ttl {
    font-size: 34px;
    font-weight: 800;
    text-align: center;
}

.page_price .function_cont .box+.box {
    margin-top: 100px;
}

.page_price .function_cont .box .label {
    font-size: 20px;
    letter-spacing: .06em;
    font-weight: 800;
    color: var(--main-color);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    margin-bottom: 2.2em;
}

.page_price .function_cont .box .label::before,
.page_price .function_cont .box .label::after {
    content: "";
    height: 2px;
    flex-grow: 1;
    background: var(--main-color);
}

.page_price .function_cont .box .list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.page_price .function_cont .box .list li {
    text-align: center;
    background: #F8FDFF;
    border-radius: 8px;
    padding: 30px;
    display: grid;
    place-content: center;
    font-size: 18px;
    letter-spacing: .06em;
    font-weight: 800;
    position: relative;
    z-index: 0;
}

.page_price .function_cont .box .list li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 64px;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 10px solid #00D339;
    opacity: 0.13;
    z-index: -1;
}

/* PC固定 導入事例ページ */
.page_case .common_case_list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 70px 0;
}

/* PC固定 ジムアスページ */
.page_common_gymus_color {
    --main-color: #E31C1C;
    --sub-color: #211815;
    --bg-color: #fff0f0;
}

.page_gymus .common_ttl_box .ttl {
    color: var(--sub-color);
    font-size: 20px;
}

.page_gymus .common_ttl_box .ttl_text {
    color: #333;
}

/* PC ジムアスヘッダー */
#header.gymus_header {
    box-shadow: 0 1px 2px rgba(0, 0, 0, .16);
}

#header.gymus_header .hd_cont .logo .link {
    width: 185px;
}

#header.gymus_header .hd_cont .hd_box .menu_area ul li .link {
    letter-spacing: .1em;
}

#header.gymus_header .hd_cont .hd_box .menu_area ul li .link:hover {
    color: #211815;
}

#header.gymus_header .hd_cont .hd_box .menu_area ul li .link::after {
    height: 4px;
    border-radius: 100vmax;
}

#header.gymus_header .hd_cont .hd_box .link_area ul li .link {
    background-color: var(--sub-color);
    border: none;
    color: #fff;
}

#header.gymus_header .hd_cont .hd_box .link_area ul li .link:hover {
    background-color: var(--main-color);
}

/* PC ジムアスメインビジュアル */
.mv_gymus_sec {
    padding: 81px 0 50px;
    position: relative;
}

.mv_gymus_sec .mv_img {
    position: absolute;
    inset: 0;
    z-index: -1;
}

.mv_gymus_sec .mv_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mv_gymus_sec .mv_img::before {
    content: '';
    inset: 0;
    position: absolute;
    background: linear-gradient(to bottom, #fff 0%, #6A6462 100%);
    mix-blend-mode: multiply;
}

.mv_gymus_sec .cont {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 480px 1fr;
    gap: 0 200px;
    align-items: flex-end;
}

.mv_gymus_sec .cont .img_box {
    position: relative;
}

.mv_gymus_sec .cont .img_box img {
    width: 100%;
}

.mv_gymus_sec .cont .img_box .number {
    position: absolute;
    top: 65px;
    right: -40px;
    border-radius: 50%;
    border: 3px solid #fff;
    width: 160px;
    aspect-ratio: 1;
    min-width: 0;
    background-color: var(--main-color);
    display: grid;
    place-content: center;
}

.mv_gymus_sec .cont .img_box .number .text {
    color: #fff;
    text-align: center;
    font-size: 20px;
    line-height: 1.3;
    letter-spacing: .06em;
    font-weight: 900;
}

.mv_gymus_sec .cont .img_box .number .text .num {
    font-size: 38px;
    font-weight: 700;
    letter-spacing: 0;
}

.mv_gymus_sec .cont .text_area .title_box .title {
    font-size: 22px;
    letter-spacing: .09em;
    line-height: 1;
    font-weight: 900;
    color: #fff;
}

.mv_gymus_sec .cont .text_area .title_box .title .size {
    font-size: 40px;
}

.mv_gymus_sec .cont .text_area .title_box .title .bg,
.mv_gymus_sec .cont .text_area .title_box .title .point {
    background-color: var(--sub-color);
    display: inline-block;
    padding: 12px 18px 14px;
}

.mv_gymus_sec .cont .text_area .title_box .title .point {
    margin-top: .2em;
}

.mv_gymus_sec .cont .text_area .title_box .title .color {
    color: var(--main-color);
}

.mv_gymus_sec .cont .sub_box {
    margin-top: 18px;
}

.mv_gymus_sec .cont .sub_box .text {
    font-size: 16px;
    letter-spacing: .09em;
    font-weight: 700;
    color: #fff;
}

.mv_gymus_sec .cont .btn_box {
    margin-top: 55px;
}

.mv_gymus_sec .cont .btn_box .catch {
    font-size: 18px;
    letter-spacing: .09em;
    font-weight: 900;
    color: #fff;
    margin-left: 20px;
}

.mv_gymus_sec .cont .btn_box .btn_area {
    margin-top: 13px;
    display: flex;
    gap: 0 10px;
}

.mv_gymus_sec .cont .btn_box .btn_area .link_btn .link {
    display: block;
    border-radius: 100vmax;
    background-color: #fff;
    color: var(--sub-color);
    font-weight: 900;
    font-size: 18px;
    letter-spacing: .09em;
    text-align: center;
    padding: 1em 33px;
    transition: all .3s;
}

.mv_gymus_sec .cont .btn_box .btn_area .link_btn .link:hover {
    background-color: var(--main-color);
    color: #fff;
}

.page_gymus .page_ttl_box .ttl {
    font-size: 30px;
    line-height: 1.5;
    letter-spacing: .05em;
    font-weight: 900;
    color: var(--sub-color);
    text-align: center;
}

.page_gymus .page_ttl_box .ttl::after {
    display: block;
    content: '';
    width: 65px;
    height: 6px;
    background-color: var(--main-color);
    margin: 35px auto 0;
}

.gymus_about_sec {
    padding: 150px 0 157px;
}

.gymus_about_sec .page_ttl_box .ttl {
    font-size: 34px;
}

.gymus_about_sec .text_box {
    margin-top: 35px;
}

.gymus_about_sec .text_box .text {
    font-size: 15px;
    line-height: 1.75;
    letter-spacing: .06em;
    font-weight: 500;
    color: #525252;
    text-align: center;
}

.gymus_system_sec {
    padding: 94px 0;
    background-color: #FAFAFA;
}

.gymus_system_sec .item_box {
    margin-top: 35px;
}

.gymus_system_sec .item_box ul {
    /* display: grid; */
    /* grid-template-columns: repeat(4, 1fr); */
    /* gap: 20px; */
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

.gymus_system_sec .item_box ul li {
    width: 220px;
}

.gymus_system_sec .item_box ul li .link {
    height: 100%;
    display: block;
    background-color: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .16);
    /* padding: 38px 22px; */
    text-align: center;
    outline: 2px solid var(--sub-color);
    outline-offset: -10px;
    position: relative;
    padding: 38px 15px;
}

.gymus_system_sec .item_box ul li .link::before,
.gymus_system_sec .item_box ul li .link::after {
    content: '';
    aspect-ratio: 1;
    min-width: 0;
    position: absolute;
    background-color: var(--main-color);
    border: 2px solid var(--sub-color);
}

.gymus_system_sec .item_box ul li .link::before {
    width: 22px;
    top: 0;
    left: 0;
}

.gymus_system_sec .item_box ul li .link::after {
    width: 14px;
    bottom: 3px;
    right: 3px;
}

.gymus_system_sec .item_box ul li .link .index {
    color: var(--sub-color);
    /* font-size: 18px; */
    letter-spacing: .03em;
    font-weight: 900;
    font-size: 15px;
}

.gymus_system_sec .item_box ul li .link .en {
    font-size: 14px;
    letter-spacing: 0em;
    font-weight: 700;
    color: var(--main-color);
}

.gymus_support_sec {
    padding: 153px 0 145px;
}

.gymus_support_sec .title {
    text-align: center;
    font-size: 30px;
    letter-spacing: .05em;
    font-weight: 900;
    color: var(--sub-color);
    margin-bottom: 58px;
}

.gymus_support_list .item_box .index {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 20px;
    font-size: 22px;
    letter-spacing: .05em;
    font-weight: 900;
    color: var(--sub-color);
    white-space: nowrap;
    margin-bottom: 30px;
}

.gymus_support_list .item_box .index::before,
.gymus_support_list .item_box .index::after {
    display: block;
    content: '';
    width: 100%;
    height: 20px;
    background: url(/wp-content/themes/swell_child/image/deco_line.svg) no-repeat;
    background-size: contain;
    background-position: center;
}

.gymus_support_list .item_box .index::after {
    scale: -1;
}

.gymus_support_list .item_box+.item_box {
    margin-top: 120px;
}

.gymus_case_sec {
    padding-bottom: 140px;
}

.gymus_case_sec .common_case_list ul li .link .text_box .name {
    margin-top: 20px;
    padding-top: 15px;
}

.gymus_case_sec .common_link_btn .link {
    border-radius: 100vmax;
}

.gymus_price_sec {
    padding: 88px 0 102px;
    border-bottom: 8px solid var(--main-color);
    background: url(/wp-content/themes/swell_child/image/gymus_price_bg.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}

.gymus_price_sec::before {
    content: '';
    inset: 0;
    position: absolute;
    background: linear-gradient(to bottom, #fff 0%, #6A6462 100%);
    mix-blend-mode: multiply;
}

.gymus_price_sec .common_ttl_box {
    margin-bottom: 35px;
}

.gymus_price_sec .common_ttl_box .ttl {
    color: #fff;
    position: relative;
}

.gymus_price_sec .common_ttl_box .ttl .color {
    color: #fff;
}

.gymus_price_sec .price_cont {
    position: relative;
    z-index: 1;
}

.gymus_price_sec .common_price_box .catch {
    color: #fff;
    font-weight: 500;
}

.gymus_price_sec .common_price_box .price_area {
    color: #fff;
    align-items: flex-end;
}

.gymus_price_sec .common_price_box .price_area .first_box .num .color {
    color: #fff;
}

.gymus_price_sec .common_price_box .price_area .first_box .border_num {
    color: #fff;
}

.gymus_price_sec .common_price_box .price_area .first_box .label::after {
    background-color: #fff;
}

.gymus_price_sec .common_price_box .price_area .monthly_box {
    align-items: last baseline;
}

.gymus_price_sec .common_price_box .price_area .monthly_box .label {
    background: none;
    padding: 0;
    font-size: 30px;
}

.gymus_price_sec .common_price_box .price_area .monthly_box .num {
    font-size: 86px;
    position: relative;
}

.gymus_price_sec .common_price_box .price_area .monthly_box .num .yen {
    font-size: 36px;
    margin-left: .3em;
}

.gymus_price_sec .common_price_box .price_area .monthly_box .num .tax {
    position: absolute;
    top: 24px;
    right: 0;
    font-size: 16px;
    letter-spacing: 0;
}

.gymus_price_sec .common_price_box .price_area .first_box::before {
    background: #fff;
    height: 78px;
    bottom: 0;
    top: unset;
}

.gymus_price_sec .common_price_box .price_area .first_box .price {
    color: #fff;
}

.gymus_price_sec .common_price_box .price_area .first_box .price::before,
.gymus_price_sec .common_price_box .price_area .first_box .price::after {
    border-color: #fff;
}


.gymus_flow_sec {
    padding: 158px 0 140px;
}

.gymus_flow_sec .flow_cont {
    margin-top: 40px;
}

.gymus_flow_sec .flow_cont ul li {
    border-radius: 8px;
    background-color: #FAFAFA;
    padding: 22px 30px 35px;
    display: flex;
    align-items: flex-start;
    gap: 0 40px;
}

.gymus_flow_sec .flow_cont ul li+li {
    margin-top: 16px;
}

.gymus_flow_sec .flow_cont ul li .step_box {
    width: 70px;
    aspect-ratio: 1;
    min-width: 0;
    background-color: var(--main-color);
    border-radius: 50%;
    display: grid;
    place-content: center;
    flex-shrink: 0;
}

.gymus_flow_sec .flow_cont ul li .step_box .en {
    color: #fff;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0em;
}

.gymus_flow_sec .flow_cont ul li .step_box .en .num {
    font-size: 32px;
    display: block;
}

.gymus_flow_sec .flow_cont ul li .step_box {
    position: relative;
}

.gymus_flow_sec .flow_cont ul li .step_box::before,
.gymus_flow_sec .flow_cont ul li .step_box::after {
    content: '';
    aspect-ratio: 1;
    min-width: 0;
    background-color: var(--main-color);
    border-radius: 50%;
    display: block;
    position: absolute;
    left: 50%;
    translate: -50% 100%;
}

.gymus_flow_sec .flow_cont ul li .step_box::before {
    width: 10px;
    bottom: -10px;
}

.gymus_flow_sec .flow_cont ul li .step_box::after {
    width: 6px;
    bottom: -30px;
}

.gymus_flow_sec .flow_cont ul li .inner {
    display: flex;
    align-items: center;
    gap: 0 40px;
    margin-top: 13px;
}

.gymus_flow_sec .flow_cont ul li .icon {
    flex-shrink: 0;
}

.gymus_flow_sec .flow_cont ul li .icon img {
    width: 100%;
}

.gymus_flow_sec .flow_cont ul li .text_box .title {
    font-size: 22px;
    letter-spacing: .07em;
    font-weight: 900;
    color: #151515;
}

.gymus_flow_sec .flow_cont ul li .text_box .text {
    font-size: 14px;
    letter-spacing: .04em;
    font-weight: 500;
    color: #333;
    margin-top: .4em;
}

.gymus_contact_sec {
    padding: 98px 0 100px;
    background-color: #FDFBEF;
}

.gymus_contact_sec .contact_sec .catch_box {
    margin-bottom: 25px;
}

.gymus_contact_sec .contact_sec .catch_box .catch {
    text-align: center;
    font-size: 28px;
    letter-spacing: .11em;
    font-weight: 900;
    line-height: 1.5;
}

.gymus_contact_sec .contact_sec .catch_box .catch .color {
    color: var(--main-color);
}

.gymus_faq_sec {
    padding: 145px 0 140px;
}

.gymus_faq .gymus_faq_list {
    margin-top: 76px;
}

.gymus_faq .gymus_faq_list dl+dl {
    margin-top: 40px;
}

.gymus_faq .gymus_faq_list dl dt {
    position: relative;
    border: 2px solid var(--sub-color);
    margin-left: 24px;
    padding: 20px 50px 22px;
    font-size: 19px;
    letter-spacing: .07em;
    font-weight: 900;
}

.gymus_faq .gymus_faq_list dl dt .en {
    width: 50px;
    aspect-ratio: 1;
    border: 2px solid var(--sub-color);
    background-color: var(--main-color);
    display: grid;
    place-content: center;
    font-size: 34px;
    letter-spacing: 0em;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    position: absolute;
    top: -24px;
    left: -24px;
}

.gymus_faq .gymus_faq_list dl dd {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .01em;
    padding: 18px 76px 15px;
}

.gymus_faq .gymus_faq_list dl dd .link {
    color: #007DAC;
    text-decoration: underline;
    text-underline-offset: 10px;
}

.gymus_faq .common_link_btn .link {
    border-radius: 100vmax;
    margin: 80px auto 0;
}

/* PC ジムアスフッター */
#footer.gymus_footer .ft_contact_sec {
    background: #FFFDF5;
    padding: 133px 0;
}

#footer.gymus_footer .ft_contact_sec .ft_contact_box {
    gap: 0 124px;
    margin-bottom: 60px;
}

#footer.gymus_footer .ft_contact_sec .ttl_box .ttl {
    font-size: 26px;
}

#footer.gymus_footer .ft_contact_sec .ttl_box .ttl .logo {
    display: block;
    width: 317px;
    margin-top: 26px;
}

#footer.gymus_footer .ft_contact_sec .ttl_box .ttl .logo img {
    width: 100%;
}

#footer.gymus_footer .ft_sec {
    background-color: var(--sub-color);
    color: #fff;
}

#footer.gymus_footer .ft_sec .ttl_box {
    border-color: #fff;
}

#footer.gymus_footer .ft_sec .ttl_box .ttl {
    color: #fff;
}

#footer.gymus_footer .ft_sec .support_area .item_area .item_box .item_list ul li .link {
    color: #fff;
}

#footer.gymus_footer .ft_sec .menu_area .menu_list ul li .link {
    color: #fff;
}

#footer.gymus_footer .ft_sec .menu_area .menu_list ul li .link::after {
    background: #fff;
}

#footer.gymus_footer .ft_sec .info_area .logo .link {
    width: 242px;
}

#footer.gymus_footer .ft_sec .info_area .link_box .link {
    color: #fff;
}

#footer.gymus_footer .ft_sec .info_area .cr small {
    color: #fff;
    font-size: 12px;
    font-weight: 500;
}

body .c-postTitle__date {
    font-family: "Helvetica", sans-serif;
    font-weight: 700;
}

.single_case .case_side #block-4,
.single_case .case_side #block-5,
.single_case .case_side #block-6 {
    display: none;
}

.p-authorBox__name {
    font-size: 0.8em !important;
}

#page_faq .term_link_block {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 50px;
    flex-wrap: wrap;
}

#page_faq .term_link_block .term_link {
    background: #fff;
    border: 2px solid var(--main-color);
    font-size: 16px;
    letter-spacing: .06em;
    line-height: 70px;
    font-weight: 900;
    color: var(--main-color);
    text-align: center;
    border-radius: 100vmax;
    transition: .3s;
    display: block;
    width: calc((100% - 40px) / 3);
}

#page_faq .common_faq_block+.common_faq_block {
    margin-top: 100px;
}

#page_faq .common_faq_block .common_ttl_box {
    margin-bottom: 30px;
}

/* 共通ジムアス業種ページ */
.common_work_type_page .mv_gymus_sec .cont .text_area .title_box .title .bg,
.common_work_type_page .mv_gymus_sec .cont .text_area .title_box .title .point {
    display: block;
    background-color: #000;
    width: fit-content;
}

.common_work_type_page .mv_gymus_sec .cont .text_area .title_box .title {
    letter-spacing: .08em;
}

.common_work_type_page .mv_gymus_sec .cont {
    grid-template-columns: 1fr;
}

.common_work_type_page .mv_gymus_sec .cont .sub_box {
    width: 670px;
    margin-bottom: 60px;
    margin-top: 22px;
}

.common_work_type_page .mv_gymus_sec {
    padding: 87px 0 75px;
    margin-top: 5px;
}

.common_work_type_page .mv_gymus_sec .cont .text_area .title_box .title .point {
    font-size: 37px;
    padding: 12px 22px 14px;
}

.common_work_type_page .mv_gymus_sec .cont .text_area .title_box .title .bg {
    padding: 12px 22px 14px;
}

.common_work_type_page .mv_btn_box .catch {
    display: flex;
    align-items: baseline;
    color: #FFF;
    justify-content: center;
    font-size: 15px;
    font-weight: 900;
    margin-bottom: 10px;
}

.common_work_type_page .mv_btn_box .link_btn a {
    width: 100%;
    display: grid;
    place-content: center;
    min-block-size: 68px;
    border-radius: 100vmax;
    background-color: #E31C1C;
    color: #FFF;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: .09em;
    transition: .3s;
}

.common_work_type_page .mv_btn_box {
    width: 400px;
}

.common_work_type_page .mv_btn_box .catch .num {
    font-size: 36px;
    color: #FFEC7C;
    line-height: 1;
    translate: 0 0.05em;
    margin-right: 4px;
}

.common_work_type_page .mv_btn_box .catch::before,
.common_work_type_page .mv_btn_box .catch::after {
    content: "";
    width: 2px;
    height: 26px;
    background-color: #FFF;
    translate: 0 4px;
}

.common_work_type_page .mv_btn_box .catch::before {
    rotate: -24deg;
    margin-right: 11px;
}

.common_work_type_page .mv_btn_box .catch::after {
    rotate: 24deg;
    margin-left: 11px;
}

.common_work_type_page .mv_btn_box .link_btn a:hover {
    color: #E31C1C;
    background-color: #FFF;
}

.common_work_type_page .mv_gymus_sec .cont .sub_box .text {
    letter-spacing: .05em;
    line-height: 1.62;
}

.common_work_type_page .gymus_about_sec {
    padding: 127px 0 169px;
}

.common_work_type_page .gymus_about_sec .page_ttl_box .ttl {
    font-size: 32px;
    letter-spacing: .1em;
    line-height: 1.37;
    color: #000;
}

.common_work_type_page .gymus_about_sec .page_ttl_box .ttl::after {
    margin: 26px auto 0;
}

.common_work_type_page .gymus_about_sec .text_box {
    margin-top: 38px;
}

.common_work_type_page .gymus_about_sec .text_box .text {
    font-size: 16px;
    line-height: 1.68;
    font-weight: 700;
}

.gymus_strength_sec .gymus_strength_list li {
    display: flex;
    align-items: center;
    gap: 0 70px;
    position: relative;
}

.gymus_strength_sec .gymus_strength_list li:nth-child(odd) {
    flex-direction: row-reverse;
}

.gymus_strength_sec .gymus_strength_list li .img_area {
    width: 480px;
    flex-shrink: 0;
}

.gymus_strength_sec .gymus_strength_list li .img_area img {
    width: 100%;
    aspect-ratio: 48/35;
    object-fit: cover;
    border-radius: 10px;
}

.gymus_strength_sec .gymus_strength_list li .text_area {
    width: 100%;
}


.gymus_strength_sec .gymus_strength_list li .text_area .ttl_box {
    display: flex;
    gap: 0 14px;
    align-items: center;
    margin-bottom: 30px;
}

.gymus_strength_sec .gymus_strength_list li .text_area .ttl_box .ttl {
    font-size: 30px;
    letter-spacing: .05em;
    font-weight: 900;
    line-height: 1.4;
    color: #000;
}

.gymus_strength_sec .gymus_strength_list li .text_area .ttl_box::before {
    content: "";
    background-color: #E31C1C;
    width: 5px;
    aspect-ratio: 5/73;
    min-width: 0;
    border-radius: 10px 0 0 10px;
    flex-shrink: 0;
}

.gymus_strength_sec .gymus_strength_list li .text_area .text_box .text {
    font-size: 15px;
    letter-spacing: .06em;
    line-height: 1.66;
    font-weight: 700;
    color: #525252;
}

.gymus_strength_sec .gymus_strength_list li::before {
    content: "";
    width: 1020px;
    position: absolute;
    top: -55px;
    bottom: -55px;
    left: -100px;
    background-color: #FDFBEF;
    z-index: -1;
}

.gymus_strength_sec .gymus_strength_list li+li {
    margin-top: 160px;
}

.gymus_strength_sec .gymus_strength_list li:nth-child(even)::before {
    left: auto;
    right: -100px;
}

.gymus_strength_sec {
    padding-bottom: 168px;
}

.gymus_scroll_ttl_box .ttl {
    font-size: 26px;
    font-weight: 900;
    letter-spacing: .07em;
    color: #000;
    display: flex;
    align-items: center;
    gap: 0 20px;
}

.gymus_scroll_ttl_box .ttl::before,
.gymus_scroll_ttl_box .ttl::after {
    content: "";
    width: 300px;
    height: 2px;
    background-color: #333;
}

.gymus_scroll_ttl_box {
    text-align: center;
    margin-bottom: 29px;
}

.gymus_scroll_ttl_box .sub {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .07em;
}

.gymus_scroll_sec .img_area {
    display: flex;
    gap: 0 30px;
    padding-inline: 5px;
    margin-bottom: 50px;
}

.gymus_scroll_sec .img_area .pc_img,
.gymus_scroll_sec .img_area .sp_img {
    border: solid 4px #333;
    border-radius: 30px;
    overflow-y: scroll;
    height: 525px;
}

.gymus_scroll_sec .img_area .pc_img {
    width: 840px;
}

.gymus_scroll_sec .img_area .sp_img {
    width: 260px;
}

.gymus_scroll_sec .img_area img {
    width: 100%;
    object-fit: cover;
}

.gymus_scroll_sec .btn_area {
    width: 530px;
    margin: 0 auto;
    text-align: center;
}

.gymus_scroll_sec .btn_area .btn a {
    display: grid;
    place-content: center;
    width: 100%;
    border-radius: 100vmax;
    background-color: #E31C1C;
    min-block-size: 68px;
    color: #FFF;
    font-size: 18px;
    letter-spacing: .09em;
    font-weight: 900;
    border: solid 2px #E31C1C;
    transition: .3s;
}

.gymus_scroll_sec .btn_area .btn a:hover {
    color: #E31C1C;
    background-color: #FFF;
}

.gymus_scroll_sec .btn_area .catch {
    font-size: 20px;
    font-weight: 900;
    letter-spacing: .05em;
    color: #000;
    display: flex;
    align-items: baseline;
    justify-content: center;
    margin-bottom: 23px;
}

.gymus_scroll_sec .btn_area .catch .num {
    font-size: 54px;
    font-weight: 700;
    color: #E31C1C;
    margin-right: 4px;
    line-height: 1;
    translate: 0 0.05em;
}

.gymus_scroll_sec .btn_area .catch .num .small {
    font-size: 35px;
}

.common_work_type_page .mv_btn_box .catch .num .small {
    font-size: 23px;
}

.gymus_scroll_sec .btn_area .catch::before,
.gymus_scroll_sec .btn_area .catch::after {
    content: "";
    width: 3px;
    height: 43px;
    background-color: #000;
    translate: 0 9px;
    flex-shrink: 0;
}

.gymus_scroll_sec .btn_area .catch::before {
    rotate: -24deg;
    margin-right: 18px;
}

.gymus_scroll_sec .btn_area .catch::after {
    rotate: 24deg;
    margin-left: 18px;
}

.gymus_unique_sec {
    padding-block: 150px 78px;
    position: relative;
}

.gymus_unique_sec .common_ttl_box {
    margin-bottom: 20px;
}

.gymus_unique_sec .common_ttl_box .ttl {
    font-size: 24px;
    color: #000;
    letter-spacing: .05em;
    line-height: 1.275;
    font-weight: 900;
}

.gymus_unique_sec .common_ttl_box .ttl .large {
    font-size: 40px;
}

.common_catch_box {
    text-align: center;
}

.common_catch_box .text {
    color: #525252;
    font-size: 15px;
    letter-spacing: .06em;
    line-height: 1.66;
    font-weight: 700;
}

.gymus_unique_sec .common_catch_box {
    margin-bottom: 29px;
}

.gymus_unique_sec .item_box ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 27px;
}

.gymus_unique_sec .item_box li .img_box {
    margin-bottom: 25px;
}

.gymus_unique_sec .item_box li .img_box img {
    width: 100%;
    aspect-ratio: 362/232;
    min-width: 0;
    object-fit: cover;
    border-radius: 10px;
}

.gymus_unique_sec .item_box li .ttl_box {
    display: flex;
    align-items: center;
    gap: 0 10px;
    margin-bottom: 13px;
}

.gymus_unique_sec .item_box li .ttl_box .icon {
    flex-shrink: 0;
    width: 23px;
    translate: 0 -3px;
}

.gymus_unique_sec .item_box li .ttl_box .icon svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.gymus_unique_sec .item_box li .ttl_box .ttl {
    font-size: 21px;
    font-weight: 900;
    letter-spacing: .02em;
    color: #000;
}

.gymus_unique_sec .item_box li .ttl_box .ttl .color {
    color: #E31C1C;
}

.gymus_unique_sec .item_box li .text_box .text {
    font-size: 14px;
    letter-spacing: .06em;
    font-weight: 500;
    line-height: 1.57;
    color: #333;
}

.gymus_unique_sec::before {
    content: "";
    width: 100%;
    height: 1380px;
    background-color: #F8F8F8;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.gymus_trouble_sec {
    padding-block: 106px 94px;
}

.gymus_trouble_sec .ttl_box {
    margin-bottom: 30px;
    text-align: center;
}

.gymus_trouble_sec .list_box ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 30px;
}

.gymus_trouble_sec .list_box li {
    background-color: #E8E8E8;
    border-radius: 10px;
    padding: 20px;
}

.gymus_trouble_sec .list_box {
    margin-bottom: 50px;
}

.gymus_trouble_sec .arrow_box {
    width: 348px;
    margin: 0 auto 20px;
}

.gymus_trouble_sec .arrow_box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.gymus_trouble_sec .ttl_box .ttl {
    font-size: 36px;
    letter-spacing: .06em;
    font-weight: 900;
    color: #000;
    line-height: 1.38;
}

.gymus_trouble_sec .ttl_box .ttl .treat {
    font-size: 24px;
    display: inline-block;
    position: relative;
    margin-bottom: 1em;
    color: #333;
}

.gymus_trouble_sec .ttl_box .ttl .color {
    color: #861919;
}

.gymus_trouble_sec .ttl_box .ttl .treat::after {
    content: "";
    width: 252px;
    aspect-ratio: 503/27;
    background-image: url(/wp-content/themes/swell_child/image/treat_ttl_border.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    bottom: -0.7em;
    left: 50%;
    translate: -50% 0;
}

.gymus_trouble_sec .list_box li .img_box {
    width: 120px;
    margin: 0 auto 17px;
    background-color: #FFF;
    border-radius: 50%;
}

.gymus_trouble_sec .list_box li .img_box img {
    width: 100%;
    aspect-ratio: 1/1;
    min-width: 0;
    object-fit: cover;
}

.gymus_trouble_sec .list_box li .text_box {
    text-align: center;
}

.gymus_trouble_sec .list_box li .text_box .text {
    font-size: 16px;
    letter-spacing: .06em;
    font-weight: 900;
    color: #333;
}

.gymus_trouble_sec .list_box li .text_box .text .treat {
    position: relative;
    display: block;
    width: fit-content;
    margin: 0 auto .2em;
}

.gymus_trouble_sec .list_box li .text_box .text .border {
    color: #FFF;
    font-size: 18px;
    display: grid;
    place-content: center;
    background-color: #000;
    padding-inline: 8px;
    width: fit-content;
    margin: 0 auto;
    min-block-size: 34px;
}

.gymus_trouble_sec .list_box li .text_box .text .treat::after {
    content: "";
    width: 25px;
    aspect-ratio: 25/27;
    min-width: 0;
    background-image: url(/wp-content/themes/swell_child/image/treat_trouble.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: -1.5em;
    right: -1.6em;
}

.gymus_trouble_sec .catch_box .text {
    text-align: center;
    font-size: 28px;
    letter-spacing: .06em;
    font-weight: 900;
    color: #000;
    line-height: 1.2;
}

.gymus_trouble_sec .catch_box .text .color {
    color: #E31C1C;
}

.gymus_trouble_sec .catch_box .text .mid {
    font-size: 32px;
}

.gymus_trouble_sec .catch_box .text .mid .large {
    font-size: 42px;
}

.gymus_trouble_sec .catch_box .text .border {
    background-image: linear-gradient(to right, #FFF095, #FFF095);
    background-size: 100% 24px;
    background-position: left bottom -2px;
    background-repeat: no-repeat;
    display: inline-block;
    line-height: 1.4;
}

.gymus_trouble_sec .catch_box {
    margin-bottom: 32px;
}

.gymus_trouble_sec .main_text {
    text-align: center;
}

.gymus_trouble_sec .main_text .text {
    font-size: 18px;
    letter-spacing: .06em;
    font-weight: 500;
    line-height: 1.77;
    color: #333;
}

.gymus_reason_sec {
    padding-block: 80px 118px;
    background-color: #FDFBEF;
}

.gymus_reason_sec .common_catch_box {
    margin-bottom: 55px;
}

.gymus_reason_sec .common_ttl_box {
    margin-bottom: 24px;
}

.gymus_reason_sec .gymus_reason_list li {
    display: flex;
    align-items: center;
    gap: 0 50px;
}

.gymus_reason_sec .gymus_reason_list li:nth-child(odd) {
    flex-direction: row-reverse;
}

.gymus_reason_sec .common_ttl_box .ttl {
    font-size: 24px;
    color: #000;
    font-weight: 900;
    letter-spacing: .05em;
    line-height: 1.3;
}

.gymus_reason_sec .common_ttl_box .ttl .large {
    font-size: 40px;
    display: inline-block;
}

.gymus_reason_sec .common_ttl_box .ttl .large .color {
    display: inline-block;
    margin-top: 0;
}

.gymus_reason_sec .gymus_reason_list li .img_area {
    width: 480px;
    flex-shrink: 0;
}

.gymus_reason_sec .gymus_reason_list li .img_area img {
    width: 100%;
    aspect-ratio: 6/5;
    border-radius: 10px;
    object-fit: cover;
}

.gymus_reason_sec .gymus_reason_list li+li {
    margin-top: 110px;
}

.gymus_reason_sec .gymus_reason_list li .ttl_box .num_box {
    background-color: #000;
    min-block-size: 30px;
    display: grid;
    place-content: center;
    width: 134px;
    margin-bottom: 6px;
}

.gymus_reason_sec .gymus_reason_list li .ttl_box .num_box .text {
    color: #FFF;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
}

.gymus_reason_sec .gymus_reason_list li .ttl_box .ttl {
    font-size: 38px;
    font-weight: 900;
    letter-spacing: .05em;
    line-height: 1.31;
    color: #000;
}

.gymus_reason_sec .gymus_reason_list li .ttl_box .ttl .color {
    color: #E31C1C;
}

.gymus_reason_sec .gymus_reason_list li .ttl_box .ttl .border {
    background-image: linear-gradient(to right, #FFF095, #FFF095);
    background-size: 100% 18px;
    background-position: left bottom;
    background-repeat: no-repeat;
    display: inline-block;
    line-height: 1.4;
}

.gymus_reason_sec .gymus_reason_list li .ttl_box {
    margin-bottom: 30px;
}

.gymus_reason_sec .gymus_reason_list li .text_box .text {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.66;
    color: #525252;
}

.gymus_reason_sec .gymus_reason_list li .ttl_box .ttl .border.short {
    /* background-size: 80% 18px; */
}

@media (max-width: 750px) {
    .wrap {
        max-width: 90%;
    }

    a[href $='.pdf']::before {
        width: 7vw;
        height: 8vw;
        margin-right: 2.5vw;
    }

    a[href $='.pdf']:hover {
        text-decoration: underline;
    }

    body {
        font-size: 13px;
        margin-top: 70px;
    }

    /* SPヘッダー */
    #sp_header {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        background: #fff;
        box-shadow: 0 1px 0 rgba(0, 0, 0, 0.16);
        z-index: 999;
        height: 70px;
    }

    #sp_header .logo {
        position: absolute;
        left: 20px;
        top: 23px;
        line-height: 0;
    }

    #sp_header .logo a {
        display: block;
    }

    #sp_header .logo img {
        height: 24px;
    }

    /* SPトップ メインビジュアル */
    #top_mv {
        padding: 85vw 5vw 5vw;
    }

    #top_mv .mv_cont .ttl_box {
        margin-bottom: 5vw;
    }

    #top_mv .mv_cont .ttl_box .ttl {
        font-size: 6vw;
    }

    #top_mv .mv_cont .ttl_box .color {
        font-size: 18.2vw;
        line-height: 1;
        display: block;
        margin-top: 0.1em;
    }

    #top_mv .mv_cont .ttl_box .small {
        font-size: 6.6vw;
        display: block;
        line-height: 1;
    }

    #top_mv .mv_cont .text_box {
        margin-bottom: 6.6vw;
    }

    #top_mv .mv_cont .text_box p {
        font-size: 3.3vw;
    }

    #top_mv .mv_cont .btn_box .catch {
        display: none;
    }

    #top_mv .mv_cont .btn_box .btn_area .link_btn+.link_btn {
        margin-top: 2.6vw;
    }

    #top_mv .mv_cont .btn_box .btn_area .link_btn .link {
        width: 100%;
        justify-content: center;
        padding: 3.8vw 0;
    }

    #top_mv .mv_cont .btn_box .btn_area .link_btn .link:hover {
        border-color: var(--main-color);
        background-color: var(--main-color);
    }

    #top_mv .mv_cont .btn_box .btn_area .link_btn .link .text {
        font-size: 4vw;
    }

    #top_mv .mv_cont .btn_box .btn_area .link_btn .link:hover .text {
        color: #fff;
    }

    #top_mv .mv_cont .btn_box .btn_area .link_btn .link .icon {
        display: none;
    }

    #top_mv .mv_img {
        top: 12.8vw;
        left: unset;
        right: -16vw;
        translate: unset;
        width: 110vw;
    }

    /* SPトップ SaveLaneの特徴 */
    #top_feature {
        padding: 20vw 0;
    }

    #top_feature .common_ttl_box {
        margin-bottom: 7vw;
        text-align: left;
    }

    .common_ttl_box.center {
        text-align: center;
    }

    .common_ttl_box .ttl {
        font-size: 4.6vw;
    }

    .common_ttl_box .ttl .color {
        font-size: 8vw;
    }

    .common_ttl_box .ttl .small {
        font-size: 6vw;
    }

    .common_ttl_box .ttl_text {
        font-size: 3.2vw;
        margin-top: 1.2em;
    }

    #top_feature .common_ttl_box .ttl {
        font-size: 5vw;
    }

    #top_feature .common_ttl_box .ttl .color {
        font-size: 8vw;
    }

    #top_feature .feature_cont ul li {
        padding: 7vw;
        gap: 5vw;
        flex-direction: column-reverse;
    }

    #top_feature .feature_cont ul li:nth-child(2) {
        flex-direction: column-reverse;
        margin-top: 5vw;
    }

    #top_feature .feature_cont ul li .text_box {
        padding-left: 0;
    }

    #top_feature .feature_cont ul li .text_box .label {
        font-size: 3vw;
        margin-bottom: 0.5em;
    }

    #top_feature .feature_cont ul li .text_box .label .num {
        font-size: 5vw;
    }

    #top_feature .feature_cont ul li .text_box .label::before {
        display: none;
    }

    #top_feature .feature_cont ul li .text_box .theme {
        font-size: 7vw;
    }

    #top_feature .feature_cont ul li .text_box .text {
        font-size: 3.5vw;
    }

    #top_feature .feature_cont ul li .img_box {
        width: 90%;
        flex-shrink: 0;
        margin-bottom: 0;
    }

    #top_feature .feature_cont ul li .img_box img {
        width: 100%;
    }

    /* SPトップ 対応業種 */
    #top_support {
        padding: 20vw 0;
    }

    #top_support .common_ttl_box {
        margin-bottom: 7vw;
    }

    #top_support .support_cont {
        margin-bottom: 10vw;
    }

    #top_support .support_cont ul {
        grid-template-columns: 1fr;
        gap: 5vw;
    }

    #top_support .support_cont ul li .text_box {
        padding: 4vw;
    }

    #top_support .support_cont ul li .text_box .ttl_box {
        margin-bottom: 3vw;
    }

    #top_support .support_cont ul li .text_box .ttl_box .en_ttl {
        font-size: 3.2vw;
    }

    #top_support .support_cont ul li .text_box .ttl_box .ttl {
        font-size: 4.5vw;
    }

    #top_support .support_cont ul li .text_box .tag_box {
        gap: 1.5vw;
    }

    #top_support .support_cont ul li .text_box .tag_box .tag {
        padding: 0 3vw;
        font-size: 3.2vw;
        line-height: 8vw;
    }

    #top_support .support_cont ul li .btn_box .link {
        font-size: 3.8vw;
        line-height: 14vw;
    }

    #top_support .support_cont ul li .btn_box .link:hover {
        background: var(--main-color);
        color: #fff;
    }

    #top_support .support_cont ul li.school .btn_box .link:hover {
        background: #236530;
        color: #fff;
    }

    #top_support .support_cont ul li.medical .btn_box .link:hover {
        background: #DE8F32;
        color: #fff;
    }

    #top_support .support_cont ul li .text_box .tag_box .tag a:hover {
        opacity: 1;
    }

    .common_link_btn .link {
        font-size: 4vw;
        line-height: 14vw;
        width: 100%;
    }

    .common_link_btn .link:hover {
        background: initial;
        color: #151515;
    }

    /* SPトップ 導入事例 */
    #top_case {
        padding: 20vw 0;
    }

    .case_sec .common_ttl_box {
        margin-bottom: 8vw;
    }

    .common_case_list {
        margin-bottom: 10vw;
        padding-bottom: 3vw;
        overflow-x: scroll;
    }

    .common_case_list ul {
        display: grid;
        grid-auto-flow: column;
        grid-template-rows: repeat(2, auto);
        gap: 5vw;
    }

    .common_case_list ul li {
        width: 90vw;
        margin: 0 0vw;
    }

    .common_case_list ul li .link:hover .img img {
        scale: 1;
    }

    .common_case_list ul li .link .text_box {
        padding: 4vw 2vw 0;
    }

    .common_case_list ul li .link .text_box .ttl {
        font-size: 3.6vw;
    }

    .common_case_list ul li .link:hover .text_box .ttl {
        color: #151515;
    }

    .common_case_list ul li .link .text_box .name {
        font-size: 3vw;
        margin-top: 4vw;
        padding-top: 4vw;
    }

    /* SPトップ 料金体系 */
    #top_price {
        padding: 20vw 0;
    }

    #top_price .common_ttl_box {
        margin-bottom: 8vw;
    }

    #top_price .price_cont {
        padding: 8vw 5vw;
    }

    .common_price_box .catch {
        font-size: 3.3vw;
    }

    .common_price_box .price_area {
        grid-template-columns: 1fr;
        gap: 11vw;
    }

    .common_price_box .price_area .first_box {
        justify-content: center;
        /* flex-wrap: wrap; */
        gap: 10vw;
        align-items: center;
    }

    .common_price_box .price_area .first_box .price {
        font-family: 4vw;
    }

    .common_price_box .price_area .first_box .price .color {
        font-size: 8vw;
    }

    .common_price_box .price_area .first_box::before {
        top: unset;
        right: 0;
        width: 100%;
        height: 2px;
        bottom: -5vw;
    }

    .common_price_box .price_area .first_box .label {
        font-size: 5.2vw;
        /* width: 100%; */
        text-align: center;
        margin-bottom: .5em;
        width: fit-content;
    }

    .common_price_box .price_area .first_box .num {
        font-size: 8vw;
        flex-shrink: 0;
    }

    .common_price_box .price_area .first_box .border_num {
        margin: 0 auto;
    }

    .common_price_box .price_area .first_box .border_num::before {
        top: calc(50% - 4px);
    }

    .common_price_box .price_area .first_box .label::after {
        right: -7vw;
        width: 4vw;
        height: 7vw;
    }

    .common_price_box .price_area .first_box .num .color {
        font-size: 24vw;
    }

    .common_price_box .price_area .monthly_box {
        gap: 0 2.6vw;
        justify-content: center;
    }

    .common_price_box .price_area .monthly_box .label {
        padding: 1.8vw 2.4vw;
        font-size: 3.8vw;
    }

    .common_price_box .price_area .monthly_box .num {
        font-size: 10vw;
    }

    .common_price_box .price_area .monthly_box .num .yen {
        font-size: 5vw;
    }

    .common_price_box .price_area .monthly_box .num .tax {
        font-size: 3.6vw;
    }

    /* SPトップ 導入までの流れ */
    #top_flow {
        padding: 20vw 0 0;
    }

    #top_flow .common_ttl_box {
        margin-bottom: 8vw;
    }

    #top_flow .flow_cont ul li+li {
        margin-top: 5vw;
    }

    #top_flow .flow_cont ul li {
        padding: 5vw 5.5vw;
        display: grid;
        grid-template-columns: 20vw 1fr;
        gap: 3vw 5vw;
    }

    #top_flow .flow_cont ul li::before {
        top: 6vw;
        left: -4vw;
        width: 5vw;
        height: 4vw;
    }

    #top_flow .flow_cont ul li::after {
        width: 1.6vw;
        height: 60%;
    }

    #top_flow .flow_cont ul li .img {
        width: 20vw;
    }

    #top_flow .flow_cont ul li .text_box {
        display: contents;
    }

    #top_flow .flow_cont ul li .text_box .ttl {
        font-size: 4.5vw;
        border-bottom: 1px dashed #ccc;
        margin: 0.6em 0 0;
        padding: 0 0.2em 0.5em;
    }

    #top_flow .flow_cont ul li .text_box .text {
        font-size: 3.3vw;
        grid-area: 2/1/3/3;
    }

    /* SPトップ お問い合わせセクション */
    #top_contact {
        padding: 20vw 0;
    }

    #top_contact .catch_box {
        margin-bottom: 8vw;
    }

    #top_contact .catch_box .catch {
        font-size: 5.2vw;
    }

    .common_contact_box ul {
        grid-template-columns: 1fr;
        gap: 5vw;
    }

    .common_contact_box ul li:first-child {
        padding: 5vw;
        grid-area: unset;
    }

    .common_contact_box ul li {
        padding: 5vw;
    }

    .common_contact_box ul li .text_box {
        margin-bottom: 3vw;
    }

    .common_contact_box ul li:first-child .text_box {
        margin-bottom: 3vw;
    }

    .common_contact_box ul li .text_box .ttl {
        font-size: 5vw;
        margin-bottom: 0.2em;
    }

    .common_contact_box ul li:first-child .text_box .ttl {
        font-size: 5vw;
    }

    .common_contact_box ul li .text_box .text {
        font-size: 3.2vw;
    }

    .common_contact_box ul li:first-child .text_box .text {
        font-size: 3.2vw;
    }

    .common_contact_box ul li .link_btn .link {
        font-size: 3.6vw;
        line-height: 10vw;
        width: 100%;
    }

    .common_contact_box ul li:first-child .link_btn .link {
        font-size: 3.6vw;
        line-height: 10vw;
        width: 100%;
    }

    .common_contact_box ul li .link_btn .link:hover {
        color: #fff;
        background: var(--main-color);
    }

    /* SPトップ よくある質問 */
    #top_faq {
        margin-bottom: 20vw;
    }

    #top_faq .faq_sec {
        padding-top: 20vw;
    }

    #top_faq .common_ttl_box {
        margin-bottom: 5vw;
    }

    #top_faq .faq_cont {
        margin-bottom: 10vw;
    }

    .common_faq_list dl dt {
        padding: 3vw 1vw;
        font-size: 3.6vw;
        gap: 0 3vw;
    }

    .common_faq_list dl dt::before {
        width: 2.6vw;
    }

    .common_faq_list dl dd {
        padding: 3vw 1vw;
        font-size: 3.4vw;
    }

    /* フッター お問い合わせ */
    #footer .ft_contact_sec {
        padding: 20vw 0;
    }

    #footer .ft_contact_sec .ft_contact_box {
        flex-direction: column;
        margin-bottom: 10vw;
        gap: 5vw;
    }

    #footer .ft_contact_sec .ft_contact_box .ttl_box .ttl {
        font-size: 6vw;
    }

    #footer .ft_contact_sec .ft_contact_box .ttl_box .ttl .color {
        font-size: 12vw;
    }

    #footer .ft_contact_sec .ft_contact_box .ttl_box .small {
        font-size: 4vw;
    }

    #footer .ft_contact_sec .ft_contact_box .text_box .text {
        font-size: 3.2vw;
    }

    /* フッター メニュー */
    #footer .ft_sec {
        padding: 15vw 0 20vw;
    }

    #footer .ft_sec .ttl_box {
        margin-bottom: 3vw;
        padding: 0 3vw 2vw;
    }

    #footer .ft_sec .ttl_box .ttl {
        font-size: 3.5vw;
    }

    #footer .ft_sec .support_area {
        display: none;
    }

    #footer .ft_sec .menu_area {
        margin-bottom: 15vw;
    }

    #footer .ft_sec .menu_area .menu_list {
        padding: 0 2vw;
    }

    #footer .ft_sec .menu_area .menu_list ul {
        gap: 1vw;
        flex-wrap: wrap;
        display: grid;
        grid-template-columns: repeat(4, auto);
    }

    #footer .ft_sec .menu_area .menu_list ul li .link {
        font-size: 2.8vw;
    }

    #footer .ft_sec .menu_area .menu_list ul li .link::after {
        display: none;
    }

    #footer .ft_sec .info_area .logo .link {
        width: 60%;
        margin: 0 auto 5vw;
    }

    #footer .ft_sec .info_area .link_box {
        gap: 5vw;
        margin-bottom: 2vw;
    }

    #footer .ft_sec .info_area .link_box .link {
        font-size: 2.8vw;
    }

    #footer .ft_sec .info_area .link_box .link+.link::before {
        top: 1vw;
        bottom: 1vw;
        left: -2.6vw;
    }

    #footer .ft_sec .info_area .cr {
        font-size: 2.8vw;
    }

    .fixed_sp_area {
        display: none;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        background: var(--bg-color);
        padding: 2vw 5vw;
        z-index: 999;
    }

    .fixed_sp_area .cont {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 2vw;
    }

    .fixed_sp_area .cont .link {
        display: block;
        font-size: 3.4vw;
        letter-spacing: .03em;
        line-height: 10vw;
        font-weight: 700;
        text-align: center;
        border-radius: 100vmax;
        border: 2px solid var(--main-color);
    }

    .fixed_sp_area .cont .link.demo {
        background: var(--main-color);
        color: #fff;
    }

    .fixed_sp_area .cont .link.request {
        background: #fff;
        color: var(--main-color);
    }

    /* SP固定ページ 共通設定 */
    .common_page_wrap {
        padding: 20vw 0;
    }

    .common_page_main .title_box {
        padding-bottom: 5vw;
    }

    .common_page_main {
        padding: 8vw 0 0;
    }

    .common_page_main .title_box .title {
        font-size: 3.6vw;
        margin-bottom: 0.7em;
    }

    .common_page_main .title_box .title .color {
        font-size: 8vw;
        line-height: 1.5;
    }

    .common_page_main .title_box .text_box p {
        font-size: 3vw;
    }

    .common_page_main .title_box .link_area {
        grid-template-columns: 1fr 1fr;
        gap: 1.5vw;
        margin-top: 4vw;
    }

    .common_page_main .title_box .link_area .link {
        font-size: 3vw;
        line-height: 11vw;
        width: 100%;
    }

    .common_page_main .title_box .link_area .link:hover {
        background: var(--main-color);
        color: #fff;
    }

    .reserve_text {
        font-size: 6vw;
    }

    /* パンくず */
    .breadcrumb {
        font-size: 2.5vw;
    }

    /* SP固定ページ 会社概要 */
    .company_profile {
        margin-bottom: 20vw;
    }

    .company_profile table th,
    .company_profile table td {
        font-size: 3.2vw;
        width: 100%;
        display: block;
    }

    .company_profile table {
        border-top: 1px solid;
    }

    .company_profile table th {
        width: 100%;
        background-color: #f2f2f2;
    }

    .company_profile table td {
        width: 100%;
    }

    .company_access .map {
        height: 50vw;
    }

    /* SP固定ページ お問い合わせ */
    .page_contact .common-contactform {
        margin-bottom: 15vw;
    }

    .page_contact .info_area {
        padding-bottom: 10vw;
        margin-bottom: 10vw;
    }

    .page_contact .info_area li+li {
        margin-top: 5vw;
    }

    .page_contact .info_area li {
        flex-direction: column;
        gap: 5vw;
    }

    .page_contact .info_area li .item .label {
        font-size: 3.6vw;
        margin-left: 0;
    }

    .page_contact .info_area li .item .box input {
        background: #FCFCFC;
        border: 1px solid #E5E5E5;
        border-radius: 6px;
        font-size: 14px;
        letter-spacing: .04em;
        padding: 1em;
        outline: none;
    }

    .page_contact .info_area li .item .box input::placeholder {
        color: #C7C7C7;
    }

    .page_contact .info_area li .item .box select {
        background: #FCFCFC;
        border: 1px solid #E5E5E5;
        border-radius: 6px;
        font-size: 14px;
        letter-spacing: .04em;
        padding: 1em;
        appearance: auto;
        min-block-size: 54.24px;
    }

    .page_contact .info_area li.company .item .box input,
    .page_contact .info_area li.company .item .box select {
        width: 100%;
    }

    .page_contact .info_area li.address .item .box.zip {
        margin-bottom: 3vw;
        font-size: 3.5vw;
    }

    .page_contact .info_area li.address .item .box.zip input {
        width: 35vw;
    }

    .page_contact .info_area li.address .item .box.addr input {
        width: 100%;
        margin-left: 0;
    }

    .page_contact .info_area li.name .item .box input {
        width: 100%;
    }

    .page_contact .info_area li.mail .item .box input {
        width: 100%;
    }

    .page_contact .info_area li.tel .item .box input {
        width: 30%;
    }

    .page_contact .details_area .type_box {
        margin-bottom: 5vw;
    }

    .page_contact .details_area .label {
        font-size: 3.6vw;
        margin-left: 0;
    }

    .page_contact .details_area .label .hissu {
        font-size: 0.5em;
        color: #E80000;
        vertical-align: top;
        margin-top: 3px;
        display: inline-block;
    }

    .page_contact .details_area .content_box textarea {
        font-size: 3.4vw;
    }

    .page_contact .details_area .content_box textarea::placeholder {
        color: #C7C7C7;
    }

    .page_contact .privacy_area {
        margin-top: 15vw;
    }

    .page_contact .privacy_area .text_box {
        margin-bottom: 5vw;
    }

    .page_contact .privacy_area .text_box .text {
        font-size: 3.2vw;
    }

    .page_contact .privacy_area .text_box .text .link {
        display: inline-block;
        color: #007DAC;
        border-bottom: 1px solid #007DAC;
    }

    .page_contact .privacy_area .att_box .text {
        font-size: 3vw;
    }

    /* #page_contact table {
        margin-bottom: 10vw;
        width: 100%;
    }

    #page_contact table th,
    #page_contact table td {
        font-size: 4vw;
        display: block;
        border-bottom: none;
        padding: 5vw 4vw;
    }

    #page_contact table th {
        width: 100%;
        text-align: left;
        padding: 3vw;
        display: flex;
        justify-content: space-between;
        flex-direction: row-reverse;
        align-items: center;
    }

    #page_contact table td {
        width: 100%;
    }

    #page_contact input[type="text"],
    #page_contact input[type="email"],
    #page_contact #zip {
        width: 100%;
        height: 12vw;
    }

    #page_contact input.tel {
        width: 29%;
    }

    #page_contact select {
        width: 100%;
    }

    #page_contact textarea {
        width: 100%;
        height: 60vw;
    } */

    #page_contact #btn_wrap button {
        width: 80%;
        line-height: 12vw;
        border-radius: 4px;
        font-size: 4vw;
    }

    #page_contact #btn_wrap button[name="submitBack"] {
        margin-top: 4vw;
    }

    .mwform-checkbox-field.horizontal-item {
        display: block;
    }

    .radio_btns label {
        font-size: 3.2vw;
    }

    .radio_btns .radio_btns__item+span {
        padding-left: 6vw;
    }

    .radio_btns .radio_btns__item+span::before {
        width: 4vw;
    }

    .radio_btns .radio_btns__item+span::after {
        width: 2vw;
        top: 0;
        left: 1vw;
    }

    .mw_wp_form .horizontal-item {
        margin-right: 3vw;
    }

    .mw_wp_form .horizontal-item+.horizontal-item {
        margin-left: 0;
        margin-top: 2vw;
    }

    #page_contact .attention {
        font-size: 3vw;
    }

    #page_contact .progressbar #step_2 .en::before,
    #page_contact .progressbar #step_2 .en::after {
        width: 8vw;
        top: -6vw;
    }

    #page_contact .progressbar #step_2 .en::before {
        left: -4vw;
    }

    #page_contact .progressbar #step_2 .en::after {
        left: auto;
        right: -4vw;
    }

    #page_contact .progressbar {
        margin-bottom: 10vw;
    }

    /* .contact_form_disc {
        width: 100%;
        font-size: 3.5vw;
        letter-spacing: .02em;
        margin: 0 auto 10vw;
    }

    .contact_form_disc .caution {
        font-size: 3.4vw;
    }

    .contact_form_disc .text {
        margin-bottom: 3vw;
    } */

    /* #page_contact table th .hissu,
    #page_contact table th .ninni {
        display: block;
        width: 13vw;
        padding: 0.2vw 0;
        text-align: center;
        font-size: 3vw;
        margin-right: 0;
    }

    #page_contact table {
        border-bottom: solid 1px #dfdfdf;
    } */

    #page_contact #btn_wrap {
        width: 100%;
        text-align: center;
    }

    /* .privacy_check_list .mwform-checkbox-field-text {
        font-size: 3.8vw;
        padding-left: 11vw;
    }

    .mw_wp_form .privacy_check_list .horizontal-item {
        margin-right: 4vw;
    }

    .privacy_check_list .hissu {
        padding: 0.3vw 4vw;
    }

    .privacy_check_list {
        margin-bottom: 6vw;
    } */

    /* .privacy_term_detail {
        font-size: 3.4vw;
        margin: 5vw 0;
    }

    .privacy_term_outer {
        width: 96%;
        padding: 5vw 0;
    }

    .privacy_term_outer .privacy_term_inner .main_text {
        font-size: 3.4vw;
        line-height: 1.6;
        margin-bottom: 5vw;
    }

    .privacy_term_outer .privacy_term_inner dl dt {
        font-size: 3.5vw;
        margin-bottom: 1.5vw;
    }

    .privacy_term_outer .privacy_term_inner dl dd {
        font-size: 3.5vw;
        line-height: 1.6;
    }

    .privacy_term_outer .privacy_term_inner dl+dl {
        margin-top: 7vw;
    }

    .privacy_term_detail::after {
        width: 2.5vw;
        margin: 1.5vw auto 0;
    } */

    /* サンクスページ */
    #page_contact .thanks_textArea p {
        font-size: 4vw;
    }

    #page_contact .thanks_textArea .contact_text {
        margin-bottom: 2em;
        width: 100%;
    }

    #page_contact .thanks_textArea .ichiran_link {
        width: 80%;
        line-height: 12vw;
        font-size: 4vw;
    }

    /* ステップバー デザイン */
    #page_contact .progressbar .item {
        font-size: 3.5vw;
        line-height: 1.4;
        padding: 10vw 0px 2vw;
        width: 28%;
    }

    #page_contact .progressbar .item .en {
        font-size: 3vw;
        margin-bottom: 1vw;
    }

    #page_contact .progressbar .item::before {
        width: 8vw;
    }

    #page_contact .progressbar .item.active::after {
        top: 2vw;
        width: 4vw;
    }

    /* SP固定ページ 個人情報保護方針 */
    #page_privacy .main_text {
        font-size: 3.3vw;
    }

    #page_privacy dl {
        margin-bottom: 7vw;
    }

    #page_privacy dl+dl {
        margin-top: unset;
    }

    #page_privacy dl dt {
        font-size: 4vw;
    }

    #page_privacy dl dd {
        font-size: 3.3vw;
    }

    #page_privacy dl dd ul li::before {
        margin-top: 2.5vw;
    }

    #page_privacy .contact_area {
        margin-top: 20vw;
    }

    #page_privacy .contact_area .text_box {
        margin-bottom: 8vw;
    }

    #page_privacy .contact_area .text_box .catch {
        font-size: 3.2vw;
    }

    #page_privacy .contact_area .text_box .name {
        font-size: 4vw;
    }

    #page_privacy .contact_area .text_box .info {
        font-size: 3vw;
    }

    #page_privacy .contact_area .link_btn .link {
        padding: 2vw 15vw;
        font-size: 3.4vw;
    }

    #page_privacy .contact_area .link_btn .link:hover {
        background: var(--main-color);
        color: #fff;
    }

    /* SP固定ページ 404ページ */
    #page_404 .num {
        font-size: 20vw;
        line-height: 1.5;
    }

    #page_404 .text {
        font-size: 3.5vw;
    }

    /* SP固定ページ サイトマップ */
    ul#sitemap_list li {
        margin: 0;
    }

    body #sitemap_list li a {
        font-size: 4vw;
        padding: 1vw 2vw;
        line-height: 9vw;
        margin-bottom: 1vw;
    }

    body #sitemap_list li.home-item {
        margin-bottom: 4vw;
    }

    body #sitemap_list {
        padding: 0;
    }

    /* SP 機能一覧ページ */
    #page_function .function_cont+.function_cont {
        margin-top: 15vw;
    }

    #page_function .function_cont .ttl_box {
        margin-bottom: 5vw;
    }

    #page_function .function_cont .ttl_box .ttl {
        font-size: 7vw;
    }

    .common_function_list ul {
        grid-template-columns: 1fr;
        gap: 3vw;
    }

    .common_function_list ul li {
        padding: 4vw;
    }

    .common_function_list ul li .theme_box {
        gap: 3vw;
        padding-bottom: 3vw;
        margin-bottom: 3vw;
    }

    .common_function_list ul li .theme_box .icon {
        width: 10vw;
    }

    .common_function_list ul li .theme_box .theme {
        font-size: 4vw;
    }

    .common_function_list ul li .text_box .text {
        font-size: 3.4vw;
    }

    /* SP 業種一覧 */
    #page_support .support_cont ul li+li {
        margin-top: 12vw;
    }

    #page_support .support_cont ul li {
        padding-bottom: 12vw;
        border-bottom: 1px dashed #333333;
    }

    #page_support .support_cont ul li .support_box {
        flex-direction: column;
        margin-bottom: 7vw;
    }

    #page_support .support_cont ul li .support_box .img {
        width: 100%;
        height: 50vw;
    }

    #page_support .support_cont ul li .support_box .box {
        padding: 5vw;
    }

    #page_support .support_cont ul li .support_box .box .text_box {
        margin-bottom: 4vw;
        gap: 3vw 3vw;
        display: grid;
        grid-template-columns: 18vw auto;
    }

    #page_support .support_cont ul li .support_box .box .text_box .logo {
        width: 100%;
    }

    #page_support .support_cont ul li .support_box .box .text_box .ttl_box {
        display: contents;
    }

    #page_support .support_cont ul li .support_box .box .text_box .ttl_box .en_ttl {
        font-size: 3.2vw;
    }

    #page_support .support_cont ul li .support_box .box .text_box .ttl_box .ttl {
        font-size: 4.5vw;
        margin-bottom: 0.2em;
    }

    #page_support .support_cont ul li .support_box .box .text_box .ttl_box .text {
        font-size: 3vw;
        grid-area: 2/1/3/3;
    }

    #page_support .support_cont ul li .support_box .box .tag_box {
        gap: 1.5vw;
    }

    #page_support .support_cont ul li .support_box .box .tag_box .tag {
        padding: 0 3vw;
        font-size: 3vw;
        line-height: 8vw;
    }

    #page_support .support_cont ul li .btn_area {
        grid-template-columns: 1fr;
        gap: 3vw;
    }

    #page_support .support_cont ul li .btn_area .link_btn .link {
        padding: 3vw 2vw;
        justify-content: center;
    }

    #page_support .support_cont ul li .btn_area .link_btn .link:hover {
        background: var(--main-color);
    }

    #page_support .support_cont ul li .btn_area .link_btn .link .text {
        font-size: 3.4vw;
    }

    #page_support .support_cont ul li .btn_area .link_btn .link:hover .text {
        color: #fff;
    }

    #page_support .support_cont ul li .btn_area .link_btn .link .icon {
        display: none;
    }

    /* SP固定 料金体系 */
    .page_price .price_cont {
        margin-bottom: 20vw;
    }

    .page_price .function_cont .ttl_box {
        margin-bottom: 6vw;
    }

    .page_price .function_cont .ttl_box .ttl {
        font-size: 5vw;
    }

    .page_price .function_cont .box+.box {
        margin-top: 10vw;
    }

    .page_price .function_cont .box .label {
        font-size: 4vw;
        gap: 5vw;
        margin-bottom: 1em;
    }

    .page_price .function_cont .box .list ul {
        grid-template-columns: repeat(2, 1fr);
        gap: 2vw;
    }

    .page_price .function_cont .box .list li {
        padding: 4vw;
        font-size: 3.5vw;
        line-height: 1.5;
        text-align: center;
        min-block-size: 18.5vw;
    }

    .page_price .function_cont .box .list li::before {
        width: 12vw;
        border: 6px solid #00D339;
    }

    /* SP固定 導入事例ページ */
    .page_case .common_case_list ul {
        grid-template-columns: 1fr;
        gap: 8vw;
    }

    /* SP固定 ジムアスページ */
    .page_gymus .common_ttl_box .ttl {
        font-size: 4.6vw;
        line-height: 1.3;
    }

    /* SP ジムアスヘッダー */
    #sp_header .logo img {
        height: 28px;
    }

    /* SP ジムアスメインビジュアル */
    .mv_gymus_sec {
        padding: 15vw 0 10vw;
    }

    .mv_gymus_sec .cont {
        grid-template-columns: 1fr;
        gap: 5vw 0;
        align-items: flex-end;
    }

    .mv_gymus_sec .cont .img_box {
        width: 75vw;
        margin-inline: auto;
    }

    .mv_gymus_sec .cont .img_box .number {
        position: absolute;
        top: 0;
        right: -8vw;
        border: 2px solid #fff;
        width: 30vw;
    }

    .mv_gymus_sec .cont .img_box .number .text {
        font-size: 3.6vw;
    }

    .mv_gymus_sec .cont .img_box .number .text .num {
        font-size: 8vw;
    }

    .mv_gymus_sec .cont .text_area .title_box .title {
        font-size: 5vw;
        line-height: 1.3;
    }

    .mv_gymus_sec .cont .text_area .title_box .title .size {
        font-size: 8vw;
    }

    .mv_gymus_sec .cont .text_area .title_box .title .color {
        font-size: 11vw;
    }

    .mv_gymus_sec .cont .text_area .title_box .title .bg {
        padding: 0;
    }

    .mv_gymus_sec .cont .text_area .title_box .title .bg {
        background-color: transparent;
    }

    .mv_gymus_sec .cont .text_area .title_box .title .point {
        background-color: transparent;
        padding: 0;
        margin-top: 3vw;
    }

    .mv_gymus_sec .cont .text_area .title_box .title .inner {
        display: inline-block;
        background-color: var(--sub-color);
        padding: 2vw 4vw;
    }

    .mv_gymus_sec .cont .text_area .title_box .title .inner+.inner {
        margin-top: .1em;
    }

    .mv_gymus_sec .cont .sub_box {
        margin-top: 4vw;
    }

    .mv_gymus_sec .cont .sub_box .text {
        font-size: 3.3vw;
    }

    .mv_gymus_sec .cont .btn_box {
        margin-top: 6.5vw;
    }

    .mv_gymus_sec .cont .btn_box .catch {
        font-size: 3.8vw;
        text-align: center;
        margin-left: 0;
    }

    .mv_gymus_sec .cont .btn_box .btn_area {
        margin-top: 3vw;
        flex-direction: column;
        gap: 2vw 0;
    }

    .mv_gymus_sec .cont .btn_box .btn_area .link_btn .link {
        font-size: 4vw;
        padding: 1em 4vw;
        background-color: var(--main-color);
        color: #fff;
    }

    .page_gymus .page_ttl_box .ttl {
        font-size: 6vw;
    }

    .page_gymus .page_ttl_box .ttl::after {
        width: 12vw;
        height: 5px;
        margin: 4vw auto 0;
    }

    .gymus_about_sec {
        padding: 18vw 0;
    }

    .gymus_about_sec .page_ttl_box .ttl {
        font-size: 5.5vw;
    }

    .gymus_about_sec .text_box {
        margin-top: 7vw;
    }

    .gymus_about_sec .text_box .text {
        font-size: 3.5vw;
        text-align: left;
    }

    .gymus_system_sec {
        padding: 18vw 0;
    }

    .gymus_system_sec .item_box {
        margin-top: 7vw;
    }

    .gymus_system_sec .item_box ul {
        grid-template-columns: repeat(1, 1fr);
        gap: 2vw 0;
        display: grid;
    }

    .gymus_system_sec .item_box ul li {
        width: 100%;
    }

    .gymus_system_sec .item_box ul li .link {
        padding: 7vw 5vw;
        outline-offset: -2vw;
    }

    .gymus_system_sec .item_box ul li .link::before {
        width: 4vw;
        top: 0;
        left: 0;
    }

    .gymus_system_sec .item_box ul li .link::after {
        width: 2.8vw;
    }

    .gymus_system_sec .item_box ul li .link .index {
        font-size: 4vw;
    }

    .gymus_system_sec .item_box ul li .link .en {
        font-size: 3vw;
    }

    .gymus_support_sec {
        padding: 18vw 0;
    }

    .gymus_support_sec .title {
        font-size: 6vw;
        margin-bottom: 8vw;
    }

    .gymus_support_list .item_box .index {
        gap: 0 3vw;
        font-size: 4.8vw;
        margin-bottom: 4vw;
    }

    .gymus_support_list .item_box .index::before,
    .gymus_support_list .item_box .index::after {
        height: 3vw;
    }

    .gymus_support_list .item_box+.item_box {
        margin-top: 12vw;
    }

    .gymus_case_sec {
        padding-bottom: 18vw;
    }

    .gymus_case_sec .common_case_list ul li .link .text_box .name {
        margin-top: 3vw;
        padding-top: 3vw;
    }

    .gymus_price_sec {
        padding: 15vw 0 18vw;
        border-bottom: 6px solid var(--main-color);
    }

    .gymus_price_sec .common_ttl_box {
        margin-bottom: 8vw;
    }

    .gymus_price_sec .common_ttl_box .ttl {
        font-size: 4.6vw;
        line-height: 1.3;
    }

    .gymus_price_sec .common_price_box .price_area .monthly_box .label {
        font-size: 4.2vw;
    }

    .gymus_price_sec .common_price_box .price_area .monthly_box .num {
        font-size: 12vw;
    }

    .gymus_price_sec .common_price_box .price_area .monthly_box .num .yen {
        font-size: 5vw;
        margin-left: 0;
    }

    .gymus_price_sec .common_price_box .price_area .monthly_box .num .tax {
        top: unset;
        right: unset;
        font-size: 3.6vw;
        letter-spacing: .11em;
        position: static;
    }

    .gymus_price_sec .common_price_box .price_area .first_box::before {
        height: 2px;
        bottom: -7vw;
    }

    .gymus_flow_sec {
        padding: 22vw 0 18vw;
    }

    .gymus_flow_sec .flow_cont {
        margin-top: 8vw;
    }

    .gymus_flow_sec .flow_cont ul li {
        padding: 4vw 5vw;
        gap: 3vw 0;
        display: grid;
        justify-content: flex-end;
    }

    .gymus_flow_sec .flow_cont ul li+li {
        margin-top: 7vw;
    }

    .gymus_flow_sec .flow_cont ul li .step_box {
        width: 16vw;
        grid-area: 1 / 1 / 3 / 2;
    }

    .gymus_flow_sec .flow_cont ul li .step_box .en {
        font-size: 3vw;
    }

    .gymus_flow_sec .flow_cont ul li .step_box .en .num {
        font-size: 7.5vw;
    }

    .gymus_flow_sec .flow_cont ul li .step_box::before {
        width: 3.3vw;
        bottom: -2vw;
    }

    .gymus_flow_sec .flow_cont ul li .step_box::after {
        width: 2vw;
        bottom: -7vw;
    }

    .gymus_flow_sec .flow_cont ul li .inner {
        margin-top: 0;
        display: contents;
    }

    .gymus_flow_sec .flow_cont ul li .icon {
        width: 16vw;
        grid-area: 1 / 2 / 2 / 4;
    }

    .gymus_flow_sec .flow_cont ul li .text_box .title {
        font-size: 4.5vw;
        text-align: left;
        grid-area: 2 / 2 / 3 / 4;
    }

    .gymus_flow_sec .flow_cont ul li .text_box {
        display: contents;
    }

    .gymus_flow_sec .flow_cont ul li .text_box .text {
        font-size: 3.3vw;
        text-align: justify;
        grid-area: 3 / 1 / 4 / 4;
    }

    .gymus_contact_sec {
        padding: 18vw 0 20vw;
    }

    .gymus_contact_sec .contact_sec .catch_box {
        margin-bottom: 8vw;
    }

    .gymus_contact_sec .contact_sec .catch_box .catch {
        font-size: 5vw;
    }

    .gymus_faq_sec {
        padding: 20vw 0;
    }

    .gymus_faq .gymus_faq_list {
        margin-top: 10vw;
    }

    .gymus_faq .gymus_faq_list dl+dl {
        margin-top: 8vw;
    }

    .gymus_faq .gymus_faq_list dl dt {
        margin-left: 5vw;
        padding: 4vw 6vw;
        font-size: 3.6vw;
    }

    .gymus_faq .gymus_faq_list dl dt .en {
        width: 8.5vw;
        display: grid;
        place-content: center;
        font-size: 5.5vw;
        top: -5vw;
        left: -5vw;
    }

    .gymus_faq .gymus_faq_list dl dd {
        font-size: 3.4vw;
        padding: 3vw 0 3vw 6vw;
        margin-left: 5vw;
    }

    .gymus_faq .gymus_faq_list dl dd .link {
        text-underline-offset: 1vw;
    }

    .gymus_faq .common_link_btn .link {
        margin: 10vw auto 0;
    }

    /* SP ジムアスフッター */
    #footer.gymus_footer .ft_contact_sec {
        padding: 20vw 0;
    }

    #footer.gymus_footer .ft_contact_sec .ft_contact_box {
        flex-direction: column;
        margin-bottom: 10vw;
        gap: 5vw;
    }

    #footer.gymus_footer .ft_contact_sec .ttl_box .ttl {
        font-size: 5.5vw;
    }

    #footer.gymus_footer .ft_contact_sec .ttl_box .ttl .logo {
        width: 78%;
        margin-top: 3vw;
    }

    #footer.gymus_footer .ft_sec .info_area .logo .link {
        width: 65%;
    }

    #footer.gymus_footer .ft_sec .info_area .link_box .link {
        color: #fff;
    }

    #footer.gymus_footer .ft_sec .info_area .cr small {
        color: #fff;
        font-size: 12px;
        font-weight: 500;
    }

    #page_faq .term_link_block {
        gap: 4vw;
        margin-bottom: 15vw;
    }

    #page_faq .term_link_block .term_link {
        font-size: 3.2vw;
        line-height: 10vw;
        width: 100%;
    }

    #page_faq .common_faq_block+.common_faq_block {
        margin-top: 20vw;
    }

    #page_faq .common_faq_block .common_ttl_box {
        margin-bottom: 30px;
    }

    /* 共通ジムアス業種ページ */
    .common_work_type_page .mv_gymus_sec {
        padding: 44.3vw 0 12.1vw;
        margin-top: 0;
    }

    .common_work_type_page .mv_gymus_sec .cont .text_area .title_box .title {
        font-size: 4.5vw;
        letter-spacing: .04em;
    }

    .common_work_type_page .mv_gymus_sec .cont .text_area .title_box .title .bg {
        padding: 0;
        background-color: unset;
    }

    .common_work_type_page .mv_gymus_sec .cont .text_area .title_box .title .point {
        font-size: 8.2vw;
        background-color: unset;
        padding: 0;
        position: relative;
        display: block;
        margin-top: 2vw;
    }

    .common_work_type_page .mv_gymus_sec .cont .text_area .title_box .title .point .inner {
        padding: 0;
        display: inline;
        background-color: unset;
        padding: 0;
        line-height: 1.6;
    }

    .common_work_type_page .mv_gymus_sec .cont .text_area .title_box .title .point .inner.color {
        font-size: 8.2vw;
    }

    .common_work_type_page .mv_gymus_sec .cont .text_area .title_box .title .point::before,
    .common_work_type_page .mv_gymus_sec .cont .text_area .title_box .title .point::after {
        content: "";
        height: 11.79vw;
        background-color: #000;
        position: absolute;
        left: -1.79vw;
        z-index: -1;
    }

    .common_work_type_page .mv_gymus_sec .cont .text_area .title_box .title .point::before {
        width: 63.58vw;
        top: 1.2vw;
    }

    .common_work_type_page .mv_gymus_sec .cont .text_area .title_box .title .point::after {
        width: 88.2vw;
        bottom: 0.2vw;
    }

    .common_work_type_page .mv_gymus_sec .cont .sub_box {
        width: 100%;
        margin-top: 4vw;
        margin-bottom: 9vw;
    }

    .common_work_type_page .mv_gymus_sec .cont .sub_box .text {
        letter-spacing: .07em;
    }

    .common_work_type_page .mv_btn_box {
        width: 100%;
    }

    .common_work_type_page .mv_btn_box .catch {
        font-size: 3.58vw;
        letter-spacing: .05em;
        align-items: flex-end;
        margin-bottom: 3.5vw;
    }

    .common_work_type_page .mv_btn_box .catch .num {
        font-size: 11.02vw;
        translate: 0 1.2vw;
    }

    .common_work_type_page .mv_btn_box .catch .text {
        line-height: 1.3;
    }

    .common_work_type_page .mv_btn_box .catch .num .small {
        font-size: 7.17vw;
    }

    .common_work_type_page .mv_btn_box .catch::before,
    .common_work_type_page .mv_btn_box .catch::after {
        height: 7.1vw;
        translate: 0 0.3vw;
    }

    .common_work_type_page .mv_btn_box .catch::before {
        margin-right: 3vw;
    }

    .common_work_type_page .mv_btn_box .catch::after {
        margin-left: 3vw;
    }

    .common_work_type_page .mv_btn_box .link_btn a {
        font-size: 4.6vw;
        min-block-size: 17.43vw;
    }

    .common_work_type_page .gymus_about_sec {
        padding: 20.58vw 0 17.94vw;
    }

    .common_work_type_page .gymus_about_sec .page_ttl_box .ttl {
        font-size: 5.1vw;
        line-height: 1.45;
    }

    .common_work_type_page .gymus_about_sec .page_ttl_box .ttl::after {
        width: 16.6vw;
        height: 6px;
        margin: 5.55vw auto 0;
    }

    .common_work_type_page .gymus_about_sec .text_box {
        margin-top: 7.94vw;
    }

    .common_work_type_page .gymus_about_sec .text_box .text {
        font-size: 4.1vw;
    }

    .gymus_strength_sec {
        padding-bottom: 31.66vw;
    }

    .gymus_strength_sec .gymus_strength_list li {
        flex-direction: column;
    }

    .gymus_strength_sec .gymus_strength_list li:nth-child(odd) {
        flex-direction: column;
    }

    .gymus_strength_sec .gymus_strength_list li::before {
        width: 97.7vw;
        top: 22vw;
        bottom: -7.1vw;
        left: auto;
        right: -5.5vw;
    }

    .gymus_strength_sec .gymus_strength_list li .img_area {
        width: 100%;
        margin-bottom: 5.1vw;
    }

    .gymus_strength_sec .gymus_strength_list li .img_area img {
        aspect-ratio: 35/18;
    }

    .gymus_strength_sec .gymus_strength_list li .text_area .ttl_box {
        display: block;
        margin-bottom: 5vw;
        border-bottom: solid 2px #E31C1C;
        padding-bottom: 2.5vw;
    }

    .gymus_strength_sec .gymus_strength_list li .text_area .ttl_box::before {
        content: none;
    }

    .gymus_strength_sec .gymus_strength_list li .text_area .ttl_box .ttl {
        font-size: 5.64vw;
        line-height: 1.5;
    }

    .gymus_strength_sec .gymus_strength_list li .text_area .text_box .text {
        font-size: 3.5vw;
        line-height: 1.78;
    }

    .gymus_strength_sec .gymus_strength_list li+li {
        margin-top: 20vw;
    }

    .gymus_strength_sec .gymus_strength_list li:nth-child(even)::before {
        left: -5.5vw;
        right: auto;
    }

    .gymus_scroll_ttl_box {
        margin-bottom: 5.3vw;
    }

    .gymus_scroll_ttl_box .ttl {
        font-size: 6.15vw;
        display: block;
        line-height: 1.41;
        margin-bottom: 2vw;
    }



    .gymus_scroll_ttl_box .ttl::before,
    .gymus_scroll_ttl_box .ttl::after {
        content: none;
    }


    .gymus_scroll_ttl_box .sub {
        font-size: 4.1vw;
    }

    .gymus_scroll_sec .img_area {
        display: block;
        padding-inline: 1.5vw;
        margin-bottom: 5.1vw;
    }

    .gymus_scroll_sec .img_area .sp_img {
        width: 100%;
        height: 174.4vw;
    }

    .gymus_scroll_sec .btn_area {
        width: 100%;
        text-align: left;
    }

    .gymus_scroll_sec .btn_area .catch {
        font-size: 3.58vw;
        margin-bottom: 2.7vw;
        align-items: flex-end;
        line-height: 1.3;
    }

    .gymus_scroll_sec .btn_area .catch .num {
        font-size: 11.5vw;
        margin-right: 1vw;
        translate: 0 0.1em;
    }

    .gymus_scroll_sec .btn_area .catch .num .small {
        font-size: 7.4vw;
    }

    .gymus_scroll_sec .btn_area .catch::before,
    .gymus_scroll_sec .btn_area .catch::after {
        width: 2px;
        height: 6.9vw;
        translate: 0;
    }

    .gymus_scroll_sec .btn_area .catch::before {
        rotate: -18deg;
        margin-right: 4vw;
    }

    .gymus_scroll_sec .btn_area .catch::after {
        rotate: 18deg;
        margin-left: 4vw;
    }

    .gymus_scroll_sec .btn_area .btn a {
        min-block-size: 17.4vw;
        font-size: 4.6vw;
    }

    .gymus_unique_sec {
        padding-block: 23vw 14.2vw;
    }

    .gymus_unique_sec::before {
        height: 617.94vw;
    }

    .gymus_unique_sec .common_ttl_box {
        margin-bottom: 3.3vw;
    }

    .gymus_unique_sec .common_ttl_box .ttl {
        font-size: 5.1vw;
    }

    .gymus_unique_sec .common_ttl_box .ttl .large {
        font-size: 8.2vw;
    }

    .gymus_unique_sec .common_catch_box {
        margin-bottom: 10.2vw;
    }

    .common_catch_box .text {
        font-size: 3.58vw;
        line-height: 1.71;
    }

    .gymus_unique_sec .item_box ul {
        grid-template-columns: 1fr;
        gap: 7.6vw;
    }

    .gymus_unique_sec .item_box li .img_box img {
        aspect-ratio: 35/18;
    }

    .gymus_unique_sec .item_box li .img_box {
        margin-bottom: 3.58vw;
    }

    .gymus_unique_sec .item_box li .ttl_box {
        gap: 0 2.5vw;
        margin-bottom: 3.17vw;
    }

    .gymus_unique_sec .item_box li .ttl_box .icon {
        width: 5.8vw;
        translate: 0;
    }

    .gymus_unique_sec .item_box li .ttl_box .ttl {
        font-size: 5.6vw;
    }

    .gymus_unique_sec .item_box li .text_box .text {
        font-size: 3.58vw;
        line-height: 1.71;
    }

    .gymus_trouble_sec {
        padding-block: 18.53vw 13.66vw;
    }

    .gymus_trouble_sec .ttl_box {
        margin-bottom: 5.2vw;
    }

    .gymus_trouble_sec .ttl_box .ttl {
        font-size: 6.15vw;
        letter-spacing: .04em;
    }

    .gymus_trouble_sec .ttl_box .ttl .color {
        display: block;
    }

    .gymus_trouble_sec .ttl_box .ttl .treat {
        font-size: 4.6vw;
        margin-bottom: 1.1em;
    }

    .gymus_trouble_sec .ttl_box .ttl .treat::after {
        width: 48.7vw;
    }

    .gymus_trouble_sec .list_box ul {
        grid-template-columns: 1fr;
        gap: 2.5vw 0;
    }

    .gymus_trouble_sec .list_box {
        margin-bottom: 7.92vw;
    }

    .gymus_trouble_sec .list_box li {
        padding: 2.5vw;
        display: flex;
        align-items: center;
        gap: 0 5.1vw;
    }

    .gymus_trouble_sec .list_box li .img_box {
        flex-shrink: 0;
        width: 25.6vw;
        margin: 0;
        position: relative;
    }

    .gymus_trouble_sec .list_box li .text_box .text {
        font-size: 3.8vw;
        line-height: 1.33;
    }

    .gymus_trouble_sec .list_box li .text_box .text .treat {
        margin: 0 0 .2em;
        padding-left: 0.2em;
        text-align: left;
    }

    .gymus_trouble_sec .list_box li .text_box .text .border {
        font-size: 4.6vw;
        padding-inline: 1.5vw;
        margin: 0;
        min-block-size: 7.6vw;
    }

    .gymus_trouble_sec .list_box li .text_box .text .border+.border {
        margin-top: 1vw;
    }

    .gymus_trouble_sec .list_box li .text_box .text .treat::after {
        content: none;
    }

    .gymus_trouble_sec .list_box li .img_box::after {
        content: "";
        width: 5.79vw;
        aspect-ratio: 25/27;
        min-width: 0;
        background-image: url(/wp-content/themes/swell_child/image/treat_trouble.svg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        position: absolute;
        top: -0.3vw;
        right: 0.7vw;
    }

    .gymus_trouble_sec .arrow_box {
        width: 53.8vw;
        margin: 0 auto 2.3vw;
    }

    .gymus_trouble_sec .catch_box {
        margin-bottom: 7.9vw;
    }

    .gymus_trouble_sec .catch_box .text {
        font-size: 4.2vw;
        line-height: 1.4;
    }

    .gymus_trouble_sec .catch_box .text .mid {
        font-size: 4.27vw;
    }

    .gymus_trouble_sec .catch_box .text .mid .large {
        margin-right: 1vw;
        font-size: 5.17vw;
    }

    .gymus_trouble_sec .catch_box .text .mid .large.color {
        margin-right: 0;
    }

    .gymus_trouble_sec .catch_box .text .border {
        background-size: 100% 3vw;
        line-height: 1.6;
        background-position: left bottom 0.5vw;
        padding-left: 0.3em;
    }

    .gymus_trouble_sec .main_text .text {
        font-size: 3.58vw;
        line-height: 1.85;
    }

    .gymus_reason_sec {
        padding-block: 12.8vw 14.1vw;
    }

    .gymus_reason_sec .common_ttl_box {
        margin-bottom: 4.3vw;
    }

    .gymus_reason_sec .common_ttl_box .ttl {
        font-size: 4.9vw;
    }

    .gymus_reason_sec .common_ttl_box .ttl .large {
        font-size: 7.69vw;
    }

    .gymus_reason_sec .common_catch_box {
        margin-bottom: 7.69vw;
    }

    .gymus_reason_sec .gymus_reason_list li {
        flex-direction: column;
        gap: 7.69vw 0;
    }

    .gymus_reason_sec .gymus_reason_list li:nth-child(odd) {
        flex-direction: column;
    }

    .gymus_reason_sec .gymus_reason_list li .img_area {
        width: 100%;
    }

    .gymus_reason_sec .gymus_reason_list li .img_area img {
        aspect-ratio: 7/4;
    }

    .gymus_reason_sec .gymus_reason_list li .ttl_box {
        margin-bottom: 6.9vw;
    }

    .gymus_reason_sec .gymus_reason_list li .ttl_box .num_box {
        min-block-size: 7.1vw;
        width: 29.23vw;
        margin-bottom: 2.3vw;
    }

    .gymus_reason_sec .gymus_reason_list li .ttl_box .num_box .text {
        font-size: 4.1vw;
    }

    .gymus_reason_sec .gymus_reason_list li .ttl_box .ttl {
        font-size: 7.1vw;
    }

    .gymus_reason_sec .gymus_reason_list li .text_box .text {
        font-size: 3.58vw;
        line-height: 1.78;
    }

    .gymus_reason_sec .gymus_reason_list li+li {
        margin-top: 20.5vw;
    }

    .gymus_reason_sec .gymus_reason_list li .ttl_box .ttl .border,
    .gymus_reason_sec .gymus_reason_list li .ttl_box .ttl .border_sp {
        background-image: linear-gradient(to right, #FFF095, #FFF095);
        background-size: 100% 4.6vw;
        background-position: left bottom;
        background-repeat: no-repeat;
        display: inline-block;
        line-height: 1.4;
    }

    .gymus_reason_sec .gymus_reason_list li .ttl_box .ttl .border.short {
        background-size: 100% 4.6vw;
    }
}