﻿@charset "UTF-8";
/*-------------------------------------
定義
-------------------------------------*/
:root {
    --font_ja: "NotoSansJP", sans-serif;
    --font_en: "Inter", sans-serif;
    --h1_l_font: clamp(32px, 4.2vw, 54px);
    --h1_font: clamp(32px, 4vw, 48px);
    --h2_font: clamp(24px, 3.5vw, 32px);
    --h3_font: clamp(20px, 2.4vw, 28px);
    --p_font: clamp(20px, 2vw, 24px);
    --m_color: #0047ac; /*メインカラー*/
    --a_color: #ffcc00; /*アクセントカラー*/
    --f_color: #333333; /*フォントカラー*/
    --b_color: #ffffff; /*ベースカラー*/
    --border_r: max(10px, min(15px, calc((100vw - 10px - 100%) * 9999)));
    --tr: 0.2s ease-out;
    --main_w: min(1080px, calc(100% - (var(--m_ps8) * 2)));
    --main_mp: clamp(60px, 8vw, 120px);
    --sub_mp: clamp(40px, 4.5vw, 80px);
    --m_ps3: 30px;
    --m_ps5: 50px;
    --m_ps8: 80px;
    --gr: linear-gradient(45deg, var(--m_color) 0%, #007bd7 50%, #00beff 100%); /*グラデーションカラー*/
    --base: 0.0625rem;
}
p,
li,
dd,
dt {
    font-size: var(--p_font);
    font-weight: 600;
    line-height: 2;
    font-family: var(--font_ja);
}
html{
    background-color: var(--b_color);
}
/*-------------------------------------
JSアニメーションパーツ
-------------------------------------*/
/*ボックスアニメーション*/
.block {
    position: relative;
    z-index: 0;
    overflow: hidden;
}
.block::before {
    transform-origin: left;
    transform: translateX(var(--beforeX, 0%));
    transition: none;
    background-color: #fff;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 1;
}
.block::after {
    transform-origin: left;
    transform: scaleX(var(--afterScaleX, 0)) translateX(var(--afterX, 0%));
    transition: none;
    background-color: var(--m_color);
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 1;
}

/*-------------------------------------
共通パーツ
-------------------------------------*/
.pc_none2 {
    display: none;
}
.flex {
    display: -webkit-flex;
    display: flex;
}
.flex_c {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
}
.flex_c2 {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
}
.flex_c_c {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}
.main_ma_b {
    margin-bottom: var(--main_mp);
}
.sub_ma {
    margin: var(--sub_mp) 0;
}
.sub_ma_t {
    margin-top: var(--sub_mp);
}
.sub_ma_b {
    margin-bottom: var(--sub_mp);
}
.main_pa {
    padding-top: var(--main_mp);
    padding-bottom: var(--main_mp);
}
.main_pa_t {
    padding-top: var(--main_mp);
}
.main_pa_b {
    padding-bottom: var(--main_mp);
}
.sub_pa {
    padding: var(--sub_mp) 0;
}
.sub_pa_t {
    padding-top: var(--sub_mp);
}
.sub_pa_b {
    padding-bottom: var(--sub_mp);
}
.m_a {
    max-width: var(--main_w);
}
.m_a2 {
    max-width: var(--main_w2);
}
.m_a3 {
    max-width: var(--main_w3);
}
.m_a4 {
    max-width: var(--main_w4);
}
.m_a5 {
    max-width: var(--main_w5);
}
.m_lr {
    margin-right: auto;
    margin-left: auto;
}
.m_ps3 {
    margin-bottom: var(--m_ps3);
}
.m_ps5 {
    margin-bottom: var(--m_ps5);
}
.m_ps8 {
    margin-bottom: var(--m_ps8);
}
.mb10 {
    margin-bottom: 10px;
}
.mb20 {
    margin-bottom: 20px;
}
.mb30 {
    margin-bottom: 30px;
}
.mb40 {
    margin-bottom: 40px;
}
.mb50 {
    margin-bottom: 50px;
}
.mb60 {
    margin-bottom: 60px;
}
.mb70 {
    margin-bottom: 70px;
}
.mb80 {
    margin-bottom: 80px;
}
.mb90 {
    margin-bottom: 90px;
}
.mb100 {
    margin-bottom: 100px;
}
.mt10 {
    margin-top: 10px;
}
.mt20 {
    margin-top: 20px;
}
.mt30 {
    margin-top: 30px;
}
.mt40 {
    margin-top: 40px;
}
.mt50 {
    margin-top: 50px;
}
.mt60 {
    margin-top: 60px;
}
.mt70 {
    margin-top: 70px;
}
.mt80 {
    margin-top: 80px;
}
.mt90 {
    margin-top: 90px;
}
.mt100 {
    margin-top: 100px;
}
.fc {
    text-align: center;
}
.fl {
    text-align: left;
}
.fr {
    text-align: right;
}
.fb {
    font-weight: bold;
}
.en {
    font-family: var(--font_en);
}
.annotation {
    font-size: calc(var(--p_font) - 1);
    color: gray;
}
/*-------------------------------------
レイアウト
-------------------------------------*/
@media only screen and (min-width: 551px) {
    body {
    }
}
.wrap {
    position: relative;
    margin: 0 auto;
    max-width: 1920px;
}
.main_wrap {
    position: relative;
}
/*-------------------------------------
ヘッダー
-------------------------------------*/
.header {
    position: relative;
    height: auto;
    z-index: 1001;
}

/*ナビゲーション(header_nav)*/
.h_nav_wrap {
    z-index: 1001;
    transition: var(--tr);
    padding: 10px 10px 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}
.h_nav_inner {
    justify-content: space-between;
    align-items: start;
    width: 100%;
}
.h_logo{
    align-items: center;
    width: 20%;
    display: block;
    max-height: inherit;
    padding: 6px 20px;
    background-color: #fff;
    border-radius: 10px;
}
.h_logo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.pc_h_nav {
    height: 100%;
    align-items: start;
    gap: 10px;
}
.pc_h_nav a {
    font: 700 var(--p_font) var(--font_ja);
    text-decoration: none;
    text-align: center;
    color: #fff;
    padding: 16px 10px 16px 30px;
    display: block;
    height: 100%;
    height: 100%;
    border-radius: 6px;
}
.h_nav_tell{
    background-image: linear-gradient(0deg, #f55b74, #f12747);
    padding: 16px 10px 16px 70px !important;
    position: relative;
}
.h_nav_tell::before{
    font: var(--fa-font-solid);
    content: "\f2a0";
    position: absolute;
    top: 35%;
    left: 10%;
}
.h_nav_line{
    background-image: linear-gradient(0deg, #95e832, #36b01e);
}
.h_nav_tell i,.h_nav_line i{
    color: #fff;
    padding-left: 20px;
    font-size: calc(var(--p_font) - 3px);
}
.pc_h_nav a:hover{
    opacity: 0.8;
}

/*ファーストビュー・メインビジュアル*/
.h_img_wrap {
    position: relative;
    width: 100%;
}
.h_img_wrap > img {
    width: 100%;
    object-fit: cover;
}
.h_txt_wrap{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-bottom: 5%;
}
.h_txt_wrap > img {
    width: 50%;
    object-fit: contain;
}

/*-------------------------------------
TOP 1コンテンツ目
-------------------------------------*/
.top_con01_wrap {
    position: relative;
    background-image: url(/wp-content/themes/tosoya_eito_lp/img/top01_bg.webp);
    background-repeat: no-repeat;
    background-size: cover;
}
.top_con01_inner {
    width: 100%;
    text-align: center;
}
.top01_title {
    position: relative;
    text-align: center;
    flex-direction: column;
}
.top01_title h2 {
    width: auto;
    font: 800 clamp(14px, 2vw, 20px) var(--font_ja);
    color: var(--m_color);
    padding: 8px 40px;
    border-top: var(--m_color) 2px solid;
    border-bottom: var(--m_color) 2px solid;
}
.top01_title img{
    width: 100%;
    object-fit: cover;
    margin-top: var(--m_ps3);
}
.top_p_l{
    font: 800 var(--h3_font) var(--font_ja);
    color: var(--f_color);
    line-height: 1.7;
    margin-top: 20px;
}
.top_p_l span{
    font: 800 var(--h3_font) var(--font_ja);
    color: var(--m_color);
}
.top01_voice{
    gap: 20px;
    margin-top: var(--m_ps5);
}
.top01_voice_img{
    width: 40%;
    align-items: center;
}
.top01_voice_img img{
    width: 100%;
    object-fit: cover;
}
.top01_voice_l,
.top01_voice_r{
    width: 30%;
}
.top01_voice p{
    width: 100%;
    font: 800 var(--h3_font) var(--font_ja);
    color: var(--f_color);
    line-height: 1.5;
    padding: 30px 20px;
    background-color: #fff;
    border: #666666 3px solid;
}
.top01_voice_l p{
    border-radius: 50px 50px 0 50px;
}
.top01_voice_r p{
    border-radius: 50px 50px 50px 0;
}
.top01_voice p span{
    background: linear-gradient(transparent 70%, #f0f03f 0%);
    line-height: 1.5;
}
.top_p_ll{
    font: 900 var(--h1_font) var(--font_ja);
    color: var(--m_color);
    line-height: 1.7;
    margin-top: var(--m_ps3);
    text-align: center;
}
.blue_p{
    color: var(--m_color);
}
.blue_p span{
    color: var(--m_color);
    background: linear-gradient(transparent 70%, #ffffff 0%);
    margin-left: -10px;
}
/*-------------------------------------
CTA
-------------------------------------*/
.cta_wrap{
    background-color: #ffcc00;
    position: relative;
    padding: var(--m_ps5) 0;
    flex-direction: column;
}
.triangle{
    width: 100%;
    height: 160px;
    background-color: #ebbc00;
    clip-path: polygon(50% 160px, 0% 0%, 100% 0%);
    position: absolute;
    top: 0;
    z-index: 0;
}
.cta_txt{
    width: 100%;
    z-index: 1;
    margin-bottom: var(--m_ps3);
}
.cta_txt p{
    text-align: center;
    font: 900 var(--h2_font) var(--font_ja);
    color: #2b2b2b;
    position: relative;
}
.cta_txt p span{
    text-align: center;
    font: 900 calc(var(--h2_font) * 1.4) var(--font_ja);
    color: #2b2b2b;
    margin: 0 4px;
}
.cta_txt p::before{
    content: "";
    width: 4px;
    height: 2em;
    background-color: #2b2b2b;
    transform: rotate(-45deg);
    position: absolute;
    top: 0;
    left: -40px;
}
.cta_txt p::after{
    content: "";
    width: 4px;
    height: 2em;
    background-color: #2b2b2b;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: -40px;
}
.cta_inner{
    position: relative;
    gap: 20px;
    z-index: 1;
    width: 100%;
}
.cta_tel,
.cta_line{
    width: calc((100% - 20px) / 2);
    flex-direction: column;
}
.cta_tel p,
.cta_line p{
    width: 80%;
    text-align: center;
    padding: 0 20px;
    font-weight: 700;
    color: #ec4561;
    background-color: #fff;
    border-radius: 20px;
    margin-top: 10px;
    position: relative;
    z-index: 1;
}
.cta_line p{
    color: #27af0c;
}
.cta_tel p::after,
.cta_line p::after{
    content: "";
    width: 20px;
    height: 17.3px;
    background: #fff;
    clip-path: polygon(0 100%, 50% 0, 100% 100%);
    position: absolute;
    top: -15px;
    left: calc((100% - 20px) / 2);
}
.btn {
    width: 100%;
    height: 110px;
    font: 700 clamp(28px, 2.8vw, 38px) var(--font_ja);
    text-decoration: none;
    color: #fff;
    line-height: 1.2;
    padding: 10px;
    background-image: linear-gradient(0deg, #f55b74, #f12747);
    border-radius: 20px;
    box-shadow: 0 7px 0 #f12747;
    margin-bottom: 7px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
}
.btn::before{
    font: var(--fa-font-solid);
    content: "\f105";
    position: absolute;
    top: 35%;
    right: 5%;
}
@keyframes anime_btn {
    0% {
        left:-20%;
    }
    10% {
        left: 120%;
    }
    100% {
        left: 120%;
    }
}
.btn::after{
    animation: anime_btn 3s ease-in-out infinite;
    content: '';
    position: absolute;
    top: -10%;
    left: -20%;
    width: 40px;
    height: 100%;
    transform: scale(2) rotate(20deg);
    background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);
}
.btn span{
    font: 700 var(--h3_font) var(--font_en);
    color: #fff;
    line-height: 1;
}
.btn:hover{
    display: flex;
    transform: scale(1.02);
    /* -webkit-transform: translate(0, 4px);
    transform: translate(0, 4px);
    color: #fff;
    -webkit-box-shadow: 0 3px 0 #f12747;
    box-shadow: 0 3px 0 #f12747; */
}
.tell{
    padding: 10px 10px 10px 30px;
}
.tell span::before{
    font: var(--fa-font-solid);
    content: "\f2a0";
    position: absolute;
    font-size: clamp(28px, 2.8vw, 38px);
    top: 35%;
    left: 10%;
}
.line{
    background-image: linear-gradient(0deg, #95e832, #36b01e);
    box-shadow: 0 7px 0 #36b01e;
}
/* .line:hover{
    -webkit-box-shadow: 0 3px 0 #36b01e;
    box-shadow: 0 3px 0 #36b01e;
} */

/*-------------------------------------
TOP 2コンテンツ目
-------------------------------------*/
.top_con02_wrap {
    position: relative;
    background-image:url(/wp-content/themes/tosoya_eito_lp/img/top02_bg.webp);
    background-repeat: no-repeat;
    background-size: cover;
}
.top_con02_inner {
    width: 100%;
}
.top02_title {
    position: relative;
    text-align: center;
    flex-direction: column;
}
.top02_title h2 {
    width: auto;
    font: 800 clamp(15px, 2vw, 20px) var(--font_ja);
    color: #fff;
    padding: 8px 40px;
    border-top: #fff 2px solid;
    border-bottom: #fff 2px solid;
    margin-bottom: var(--m_ps3);
}
.top02_ttl_l p{
    font: 900 var(--h1_l_font) var(--font_ja);
    color: #fff;
    line-height: 1.7;
    text-align: center;
    background: linear-gradient(transparent 70%, #214D87 0%);
}
.top02_ttl_l p span{
    font: 900 var(--h1_l_font) var(--font_ja);
    color: var(--m_color);
    line-height: 0.8;
    background-color: #fff;
    border-radius: 10px;
    padding: 0 8px;
    margin: 0 4px;
    position: relative;
}
.top02_ttl_l p span::before{
    content: "";
    width: 11%;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background-color: #FFCC00;
    position: absolute;
    top: -16px;
    left: 25%;
}
.top02_ttl_l p span::after{
    content: "";
    width: 11%;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background-color: #FFCC00;
    position: absolute;
    top: -16px;
    right: 25%;
}
.top02_voice{
    gap: 20px;
    margin-top: var(--m_ps5);
    flex-wrap: wrap;
}
.top02_voice_p{
    width: 28%;
    aspect-ratio: 1/1;
    border-radius: 500px;
    background-color: #eaedf1;
}
.top02_voice_img{
    width: 28%;
    aspect-ratio: 1/1;
    border-radius: 500px;
    object-fit: cover;
}
.top02_voice p{
    width: 100%;
    font: 800 var(--h3_font) var(--font_ja);
    color: var(--f_color);
    line-height: 1.5;
    text-align: center;
}
.top02_voice p span{
    font: 800 var(--h3_font) var(--font_ja);
    color: var(--m_color);
    line-height: 1.5;
}
.white_p{
    color: #fff;
}
.white_p span{
    color: var(--a_color);
    text-decoration: underline wavy #ffffffc5;
}
/*-------------------------------------
TOP 3コンテンツ目
-------------------------------------*/
.top_con03_wrap {
    background-color: #1b59ae;
    position: relative;
}
.blue{
    background-color: #144185;
}
.top_con03_inner{
    position: relative;
    width: 100%;
    z-index: 1;
}
.top03_ttl_l{
    padding-bottom: 10px;
    border-bottom: #fff 2px solid;
    position: relative;
}
.top03_ttl_l::after{
    content: "";
    width: 20px;
    height: 20px;
    background-color: #1B59AE;
    border-right: #fff 2px solid;
    transform:rotate(45deg);
    position: absolute;
    bottom: -11px;
    left: 50%;
}
.top03_ttl_l p{
    font: 900 var(--h1_l_font) var(--font_ja);
    color: #fff;
    line-height: 1.7;
    text-align: center;
}
.top03_ttl_l p span{
    font: 900 var(--h1_l_font) var(--font_ja);
    color: #fff;
    line-height: 0.8;
    position: relative;
    background: linear-gradient(transparent 70%, #5f5f5f 0%);
}
.top03_ttl_l p span::before{
    content: "";
    width: 25%;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background-color: #FFCC00;
    position: absolute;
    top: -10px;
    left: 45%;
}
.top_con03_inner ul{
    margin-top: var(--m_ps5);
}
.top03_item section{
    width: 100%;
    gap: var(--m_ps3);
}
.top03_item_img{
    width: 35%;
    position: relative;
}
.num_01::after,
.num_02::after,
.num_03::after{
    content: "01";
    font: 700 var(--h1_l_font) "Inter Italic";
    color: #1B59AE;
    width: 2em;
    height: 1.3em;
    padding: 0.06em 0.45em;
    display: block;
    background-color: #FFCC00;
    transform: skewX(-10deg) rotate(0deg);
    position: absolute;
    top: -4px;
    right: -4px;
}
.num_02::after{
    content: "02";
    padding: 0.06em 0.38em;
}
.num_03::after{
    content: "03";
    padding: 0.06em 0.38em;
}
.top03_item_txt{
    width: 65%;
}
.top03_item_txt h3{
    font: 900 clamp(24px, 2.8vw, 40px) var(--font_ja);
    color: #fff;
    line-height: 2;
    border-bottom: #fff 1px solid;
    padding-bottom: 10px;
}
.top03_item_txt h3 span{
    font: 900 clamp(24px, 2.8vw, 40px) var(--font_ja);
    color: #1b59ae;
    line-height: 1.7;
    background-color: var(--a_color);
    padding: 0 6px;
    margin: 0 6px;
    border-radius: 8px;
}
.top03_item_txt p{
    padding-top: 20px;
    font: 700 var(--p_font) var(--font_ja);
    color: #fff;
    line-height: 1.6;
}
.top03_item_txt p span{
    padding-top: 20px;
    font: 700 var(--p_font) var(--font_ja);
    color: var(--a_color);
    line-height: 1.6;
}
/*-------------------------------------
TOP 4コンテンツ目
-------------------------------------*/
.top_con04_wrap {
    position: relative;
    background-image:url(/wp-content/themes/tosoya_eito_lp/img/top04_bg.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding-bottom: calc(var(--main_mp) - 20px);
    flex-direction: column;
}
.triangle_s{
    width: calc(var(--main_mp) * 2);
    height: var(--sub_mp);
    background-color: #1b59ae;
    clip-path: polygon(50% var(--sub_mp), 0% 0%, calc(var(--main_mp) * 2) 0%);
    position: absolute;
    top: -1px;
    z-index: 0;
}
.top04_title {
    position: relative;
    text-align: center;
    width: 90%;
}
.top04_voice{
    flex-wrap: wrap;
    gap: var(--m_ps3);
    margin-top: var(--m_ps5);
}
.top04_voice_p{
    padding: 20px 60px;
    background-color: #fff;
    border-radius: 100px;
    position: relative;
}
.top04_voice_p::after{
    content: "";
    position: absolute;
    top: -40px;
    right: 0;
    width: 80px;
    height: 80px;
    background-image: url('/wp-content/themes/tosoya_eito_lp/img/top04_circle.png');
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 0;
}
.top04_voice p{
    width: 100%;
    font: 800 var(--p_font) var(--font_ja);
    color: var(--f_color);
    line-height: 1.5;
    text-align: center;
    position: relative;
    z-index: 1;
}
.top04_advice{
    margin-top: var(--m_ps5);
    width: 90%;
}
/*-------------------------------------
TOP 5コンテンツ目
-------------------------------------*/
.semicircle{
    height: var(--main_mp);
    width: 100%;
    clip-path: ellipse(60% var(--main_mp) at 50% 100%);
    background-color: #d8ecd8;
    margin-top: calc(var(--main_mp) * -1);
}
.top_con05_wrap {
    position: relative;
    background-color: #d8ecd8;
}
.top_con05_inner {
    width: 100%;
}
.green_p h2 {
    color: #00860d;
    border-top: #00860d 2px solid;
    border-bottom: #00860d 2px solid;
}
.top_con05_inner ul{
    flex-wrap: wrap;
    gap: var(--m_ps5) var(--m_ps3);
    justify-content: center;
    margin-top: var(--m_ps5);
}
.top05_item{
    width: calc((100% - var(--m_ps3))  / 2 );
    padding: var(--m_ps5) var(--m_ps3) var(--m_ps3);
    border: #00860d 1px solid;
    background-color: #fff;
    position: relative;
    flex-direction: column;
}
.top05_item::after{
    content: "";
    position: absolute;
    bottom: -1px;
    right: -1px;
    width: 30px;
    height: 30px;
    border: 15px solid #00860d;
    border-right-color: #D8ECD8; /* 背景色 */
    border-bottom-color: #D8ECD8; /* 背景色 */
    box-sizing: border-box;
}
.top05_item_ttl{
    background-color: #00860d;
    padding: 8px 30px;
    position: absolute;
    top: -25px;
    border-radius: 8px;
}
.top05_item_ttl p{
    font: 800 var(--h3_font) var(--font_ja);
    color: #fff;
}
.top05_item_img{
    gap: 8px;
    margin-bottom: 10px;
    aspect-ratio: 5/3;
}
.top05_img_b,
.top05_img_a{
    width: 50%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    position: relative;
}
.top05_img_b::after,
.top05_img_a::after{
    content: "BEFORE";
    font: 700 var(--h3_font) "Inter Italic";
    color: #fff;
    line-height: 1;
    position: absolute;
    bottom: 4px;
    left: 6px;
}
.top05_img_a::after{
    content: "AFTER";
}
.top05_img_b img,
.top05_img_a img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}
.triangle_ss{
    display: block;
    width: 10px;
    height: 20px;
    background: #00860d;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
}
.top05_item > p{
    font: 600 clamp(16px, 1.8vw, 20px) var(--font_ja);
    line-height: 1.6;
}
.top05_item > p span{
    font: 600 clamp(16px, 1.8vw, 20px) var(--font_ja);
    background: linear-gradient(transparent 70%, #f0f03f 0%);
}
/*-------------------------------------
TOP 6コンテンツ目
-------------------------------------*/
.top_con06_wrap01 {
    position: relative;
    padding-bottom: var(--sub_mp);
    background-color: #ec8800;
    opacity: 1;
    background: linear-gradient(135deg, #ed780055 25%, transparent 25%) -16px 0/ 32px 32px, linear-gradient(225deg, #ed7800 25%, transparent 25%) -16px 0/ 32px 32px, linear-gradient(315deg, #ed780055 25%, transparent 25%) 0px 0/ 32px 32px, linear-gradient(45deg, #ed7800 25%, #ec8800 25%) 0px 0/ 32px 32px;
}
.orange_sc{
    background-color: #fceee0;
    margin-top: 0;
    position: absolute;
    bottom: 0;
}
.top_con06_inner01{
    position: relative;
    width: 100%;
    z-index: 1;
}
.top06_title{
    width: 70%;
}
.top06_lead{
    gap: var(--m_ps5);
    margin-top: var(--m_ps5);
}
.top06_txt{
    width: 100%;
    padding-bottom: var(--sub_mp);
}
.top06_txt p{
    font: 800 var(--h3_font) var(--font_ja);
    line-height: 1.6;
    color: #fff;
    text-align: center;
}
/*------------------------*/
.top_con06_wrap02 {
    background-color: #fceee0;
    position: relative;
    padding-top: 0px;
    margin-top: calc((var(--main_mp) * 0.55) * -1);
}
.top_con06_inner02{
    position: relative;
    width: 100%;
    z-index: 1;
}
.orange_p{
    color: #ff7f00;
    margin: 0;
}
.top06_item_box{
    gap: var(--m_ps3);
    margin-top: var(--m_ps8);
}
.top06_item{
    width: 32%;
    padding: 40px var(--m_ps3) var(--m_ps3);
    background-color: #fff;
    border-radius: 10px;
    border: #ff7f00 4px solid;
    position: relative;
    flex-direction: column;
}
.number{
    font: 800 var(--h3_font) var(--font_en);
    color: #fff;
    background-color: #ff7f00;
    border-radius: 25px;
    width: 50px;
    height: 50px;
    position: absolute;
    top:-25px;
}
.number::before{
    content: "POINT";
    position: absolute;
    top: -22px;
    font: 800 18px var(--font_en);
    color: #ff7f00;
}
.top06_item > p{
    font: 800 var(--h3_font) var(--font_ja);
    color: #ff7f00;
    text-align: center;
    margin-top: 10px;
}
.top06_item > p span{
    font: 800 var(--h3_font) var(--font_ja);
    color: #ff7f00;
    background: linear-gradient(transparent 70%, #f0f03f 0%);
}
.black_p{
    color: var(--f_color);
    background: linear-gradient(transparent 70%, #f0f03f 0%);
}
.black_p span{
    color: #ff7f00;
}
/*-------------------------------------
TOP 7コンテンツ目
-------------------------------------*/
.top_con07_wrap01 {
    background-color: var(--m_color);
    position: relative;
    padding: var(--m_ps5) 0;
}
.top07_title{
    width: 40%;
}
.top_con07_wrap02{
    position: relative;
    padding-top: var(--m_ps5);
    background-color: #F5FCFF;
    opacity: 1;
    background-image:  linear-gradient(135deg, #E5F4FA 25%, transparent 25%), linear-gradient(225deg, #E5F4FA 25%, transparent 25%), linear-gradient(45deg, #E5F4FA 25%, transparent 25%), linear-gradient(315deg, #E5F4FA 25%, #F5FCFF 25%);
    background-position:  27px 0, 27px 0, 0 0, 0 0;
    background-size: 27px 27px;
    background-repeat: repeat;
}
.top07_faq{
    flex-direction: column;
    gap: var(--m_ps5);
}
.top07_faq_item{
    background-color: #fff;
    border-radius: 10px;
    border: dashed 2px var(--m_color);
    box-shadow: 0px 0px 0px 10px #fff;
    padding: var(--m_ps5);
    position: relative;
}
.top07_faq_item p{
    font: 600 var(--p_font) var(--font_ja);
    padding-left: calc((var(--p_font) * 2) + 20px);
    position: relative;
    line-height: 2;
    z-index: 1;
}
.top07_faq_q p{
    font-weight: 800;
    margin-bottom: 10px;
}
.top07_faq_q p::after{
    content: "Q";
    font: 800 var(--p_font) var(--font_en);
    color: #fff;
    width: calc(var(--p_font) * 2);
    height: calc(var(--p_font) * 2);
    background-color: var(--m_color);
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
}
.top07_faq_a p::after{
    content: "A";
    font: 800 var(--p_font) var(--font_en);
    color: #fff;
    width: calc(var(--p_font) * 2);
    height: calc(var(--p_font) * 2);
    background-color: #79a5e2;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
}
.top07_faq_item::after{
    content: "";
    position: absolute;
    right: var(--m_ps3);
    bottom: var(--m_ps3);
    width: 100px;
    height: 100px;
    background-image: url('/wp-content/themes/tosoya_eito_lp/img/top07_img.png');
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 0;
}
.top07_img{
    gap: var(--m_ps3);
    margin-top: var(--m_ps5);
}
.top07_img img{
    width: 48%;
}
/*-------------------------------------
TOP 8コンテンツ目
-------------------------------------*/
.top_con08_wrap {
    position: relative;
    background-image:url(/wp-content/themes/tosoya_eito_lp/img/top08_bg.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.top_con08_inner {
    width: 100%;
    flex-direction: column;
}
.top08_h2{
    width: 400px;
}
.top08_sub{
    text-align: start;
    margin-top: 0!important;
}
.top08_message{
    gap: 5%;
}
.top08_img{
    flex: 1;
}
.top08_img img{
    object-position: bottom;
    align-items: end;
    object-fit: contain;
}
.top08_txt{
    flex-direction: column;
    width: calc(var(--p_font) * 22);
    padding-bottom: 30px;
}
.top08_p{
    font: 600 var(--p_font) var(--font_ja);
    color: #fff;
    text-align: start;
}
.top08_p span{
    font: 600 var(--p_font) var(--font_ja);
    color: var(--a_color);
}
/*-------------------------------------
最終CTA
-------------------------------------*/
.cta02_wrap{
    padding: var(--main_mp) 0;
}
.cta_img{
    width: calc(100% - (var(--m_ps8) * 2));
    max-width: 860px;
    position: relative;
    border-radius: 10px;
    overflow: hidden;
}
.cta_img{
    border-radius: 10px;
}
/*-------------------------------------
追従CTA
-------------------------------------*/
.cta_wrap_fixed{
    background-color: #22222267;
    padding: 10px 0;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1001;
    box-sizing: border-box;
}
.cta_inner_fixed{
    width: 100%;
    position: relative;
    gap: 20px;
    z-index: 1;
}
.btn_fixed {
    width: calc((100% - 20px) / 2);
    height: 100px;
    font: 700 clamp(26px, 2.8vw, 38px) var(--font_ja);
    text-decoration: none;
    color: #fff;
    line-height: 1.2;
    background-image: linear-gradient(0deg, #f55b74, #f12747);
    border-radius: 20px;
    box-shadow: 0 7px 0 #f12747;
    margin-bottom: 7px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
}
.btn_fixed::before{
    font: var(--fa-font-solid);
    content: "\f105";
    position: absolute;
    top: 35%;
    right: 5%;
}
.btn_fixed::after{
    animation: anime_btn 3s ease-in-out infinite;
    content: '';
    position: absolute;
    top: -10%;
    left: -20%;
    width: 40px;
    height: 100%;
    transform: scale(2) rotate(20deg);
    background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);
}
.btn_fixed span{
    font: 700 var(--h3_font) var(--font_en);
    color: #fff;
    line-height: 1;
}
.btn_fixed:hover{
    display: flex;
    transform: scale(1.02);
    /* -webkit-transform: translate(0, 4px);
    transform: translate(0, 4px);
    color: #fff;
    -webkit-box-shadow: 0 3px 0 #f12747;
    box-shadow: 0 3px 0 #f12747; */
}
.tell_fixe{
    padding: 10px 10px 10px 30px;
}
.tell_fixe span::before{
    font: var(--fa-font-solid);
    font-size: clamp(26px, 2.8vw, 38px);
    content: "\f2a0";
    position: absolute;
    top: 35%;
    left: 10%;
}
.line_fixe{
    background-image: linear-gradient(0deg, #95e832, #36b01e);
    box-shadow: 0 7px 0 #36b01e;
    padding: 10px;
}
/* .line_fixe:hover{
    -webkit-box-shadow: 0 3px 0 #36b01e;
    box-shadow: 0 3px 0 #36b01e;
} */
/*-------------------------------------
404
-------------------------------------*/
.header_404{
    width: 100%;
    height: calc(100svh - ((var(--m_ps3) * 2) + 145px));
}
.wrap_404{
    width: 100%;
    height: 100%;
    position: relative;
    background-image: url(/wp-content/themes/tosoya_eito_lp/img/top01_bg.webp);
    background-repeat: no-repeat;
    background-size: cover;
}
.wrap_404 div{
    flex-direction: column;
    gap: var(--m_ps3);
}
.wrap_404 p{
    text-align: center;
}
.btn_404{
    font-weight: 600;
}
.btn_404 > i{
    padding-left: 20px;
}
.btn_404:hover{
    opacity: 0.8;
}
/*-------------------------------------
フッター
-------------------------------------*/
.footer {
    background: #303030;
    position: relative;
    z-index: 0;
    padding: var(--m_ps3) 0 calc(var(--m_ps3) + 130px);
}
.footer_inner {
    width: 100%;
}
/*コピーライト*/
.copyright {
    color: var(--f_color);
    font-size: 14px;
}
.copyright p {
    font-size: 13px;
    font-weight: 400;
    color: #fff;
}
@media only screen and (max-width: 1081px) {
    :root{
        --h1_l_font: clamp(26px, 3.9vw, 54px);
        --m_ps3: 20px;
        --m_ps5: 40px;
        --m_ps8: 60px;
    }
    /*-------------------------------------
    ヘッダー
    -------------------------------------*/
    .h_logo{
        width: 25%;
    }
    .pc_h_nav a{
        padding: 12px 10px 12px 30px;
    }
    .h_nav_tell{
        padding: 12px 10px 12px 60px !important;
    }
    .h_nav_tell i,.h_nav_line i{
        padding-left: 16px;
    }
    .h_txt_wrap{
        padding-bottom: 0px;
    }
    .h_txt_wrap > img {
        margin-top: var(--m_ps5);
        width: 55%;
    }
    /*-------------------------------------
    TOP 1コンテンツ目
    -------------------------------------*/
    .top01_voice{
        gap: 0px;
        margin-top: var(--m_ps3);
    }
    .top01_voice_img{
        margin: 0 -40px;
        position: relative;
        z-index: 0;
    }
    .top01_voice_l,
    .top01_voice_r{
        position: relative;
        z-index: 1;
        width: 40%;
    }
    .top_p_ll{
        margin-top: 20px;
    }
    /*-------------------------------------
    CTA
    -------------------------------------*/
    .btn{
        height: 100px;
        border-radius: 14px;
    }
    /*-------------------------------------
    TOP 2コンテンツ目
    -------------------------------------*/
    .top02_ttl_l p span{
        border-radius: 8px;
        padding: 0 6px;
    }
    .top02_ttl_l p span::before,
    .top02_ttl_l p span::after{
        top: -12px;
    }
    /*-------------------------------------
    TOP 3コンテンツ目
    -------------------------------------*/
    .top03_ttl_l p span::before{
        top: -8px;
    }
    /*-------------------------------------
    TOP 4コンテンツ目
    -------------------------------------*/
    .top04_voice{
        gap: 16px;
        margin-top: var(--m_ps3);
    }
    .top04_voice_p{
        padding: 16px 22px;
    }
    .top04_voice_p::after{
        top: -20px;
        width: 50px;
        height: 50px;
    }
    /*-------------------------------------
    TOP 6コンテンツ目
    -------------------------------------*/
    .orange_p{
        margin: 0;
    }
    .top06_item_box{
        margin-top: 60px;
    }
    .top07_faq_item::after{
        right: 16px;
        bottom: 16px;
        width: 80px;
        height: 80px;
    }
    /*-------------------------------------
    TOP 7コンテンツ目
    -------------------------------------*/
    .top07_faq{
        gap: 40px;
    }
    .top07_faq_item{
        padding: var(--m_ps3);
    }
    .top07_img{
        gap: 20px;
        margin-top: var(--m_ps3);
    }
    /*-------------------------------------
    追従CTA
    -------------------------------------*/
    .btn_fixed{
        height: 80px;
        border-radius: 14px;
    }
    /*-------------------------------------
    404
    -------------------------------------*/
    .header_404{
        height: calc(100svh - ((var(--m_ps3) * 2) + 120px));
    }
    /*-------------------------------------
    フッター
    -------------------------------------*/
    .footer{
        padding: var(--m_ps3) 0 calc(var(--m_ps3) + 100px);
    }
}
@media only screen and (min-width: 941px) {
    .over94_only_none {
        display: none!important;
    }
    .over94_only_none {
        display: block;
    }
}
@media only screen and (max-width: 940px){
    .over94_only {
        display: none!important;
    }
}
@media only screen and (min-width: 821px) {
    .pc_none {
        display: none;
    }
    .pc_only{
        display: block;
    }
}
@media only screen and (max-width: 820px) {
    .pc_none {
        display: block;
    }
    .pc_only{
        display: none!important;
    }
    /*-------------------------------------
    定義
    -------------------------------------*/
    :root {
        --h1_l_font: clamp(22px, 4vw, 34px);
        --h1_font: clamp(24px, 4.2vw, 48px);
        --h2_font: clamp(20px, 3vw, 32px);
        --h3_font: clamp(18px, 2.4vw, 28px);
        --p_font: clamp(16px, 2vw, 24px);
        --main_w: calc(100% - (var(--m_ps5) * 2));
        --main_mp: clamp(60px, 10vw, 120px);
        --sub_mp: clamp(40px, 5vw, 80px);
    }
    /*-------------------------------------
    ヘッダー
    -------------------------------------*/
    .h_logo{
        width: 30%;
    }
    .pc_h_nav a{
        padding: 10px 8px 10px 20px;
    }
    .h_nav_tell{
        padding: 10px 8px 10px 50px !important;
    }
    .h_nav_tell i,.h_nav_line i{
        padding-left: 10px;
    }
    /*ファーストビュー・メインビジュアル*/
    .h_txt_wrap > img {
        width: 60%;
    }
    /*-------------------------------------
    TOP 1コンテンツ目
    -------------------------------------*/
    .top01_title h2{
        padding: 6px 20px;
    }
    .top01_voice_img{
        margin: 0 -20px;
    }
    .top01_voice p{
        padding: 20px 10px;
    }
    .top01_voice_l{
        width: 35%;
    }
    .top01_voice_l p{
        border-radius: 20px 20px 0 20px;
    }
    .top01_voice_r{
        width: 40%;
    }
    .top01_voice_r p{
        border-radius: 20px 20px 20px 0;
    }
    /*-------------------------------------
    CTA
    -------------------------------------*/
    .cta_txt p::before,
    .cta_txt p::after{
        width: 3px;
    }
    .btn{
        font-size: var(--h2_font);
        height: 80px;
    }
    .cta_tel p,
    .cta_line p{
        width: 100%;
    }
    /*-------------------------------------
    TOP 2コンテンツ目
    -------------------------------------*/
    .top02_title h2{
        padding: 6px 20px;
    }
    .top02_voice{
        gap: 16px;
    }
    .top02_voice_p,
    .top02_voice_img{
        width: calc((100% - 32px) / 3);
    }
    .top02_ttl_l p span{
        border-radius: 6px;
        padding: 0 4px;
    }
    .top02_ttl_l p span::before,
    .top02_ttl_l p span::after{
        top: -10px;
    }
    /*-------------------------------------
    TOP 3コンテンツ目
    -------------------------------------*/
    .top03_ttl_l p span::before{
        top: -4px;
    }
    .top03_item_txt{
        margin-top: -4px;
    }
    .top03_item_txt h3,
    .top03_item_txt h3 span{
        font-size: clamp(22px, 2.8vw, 40px);
        line-height: 1.6;
    }
    .top03_item_txt h3 span{
        margin: 0 3px;
    }
    .top03_item_txt p{
        padding-top: 10px;
    }
    /*-------------------------------------
    TOP 4コンテンツ目
    -------------------------------------*/
    .top04_voice{
        gap: 10px;
    }
    .top04_voice_p{
        padding: 10px 18px;
        border-radius: 20px;
    }
    .top04_advice{
        width: 95%;
    }
    /*-------------------------------------
    TOP 5コンテンツ目
    -------------------------------------*/
    .top05_item{
        padding: 30px var(--m_ps3) var(--m_ps3);
    }
    .top05_item_ttl{
        padding: 8px 20px;
    }
    .top05_item_ttl p span{
        font-size: 15px;
    }
    /*-------------------------------------
    TOP 6コンテンツ目
    -------------------------------------*/
    .top06_lead{
        align-items: stretch;
        gap: 30px;
    }
    .top06_img{
        width: 40%;
    }
    /*------------------------*/
    .number{
        width: 40px;
        height: 40px;
    }
    .number::before{
        top: -18px;
        font-size: 14px;
    }
    .top06_item{
        padding:  20px 12px 12px;
    }
    .black_p{
    }
    /*-------------------------------------
    TOP 7コンテンツ目
    -------------------------------------*/
    .br_s{
        line-height: 1.6 !important;
    }
    /*-------------------------------------
    TOP 8コンテンツ目
    -------------------------------------*/
    .top_con08_inner{
        padding-bottom: var(--main_mp);
    }
    .top08_img{
        background-color: #008678;
        border-radius: 10px;
    }
    .top08_img img{
        object-fit: cover;
        object-position: top center;
    }
    .top08_txt{
        width: calc(var(--h3_font) * 14);
    }
    .top08_p,.top08_p span{
        font-size: var(--h3_font);
    }
    /*-------------------------------------
    追従CTA
    -------------------------------------*/
    .btn_fixed{
        font-size: var(--h2_font);
        height: 66px;
    }
    .tell_fixe{
    padding: 10px 10px 10px 20px;
}
    .tell_fixe span::before{
        font-size: var(--h2_font);
        left: 8%;
    }
    /*-------------------------------------
    404
    -------------------------------------*/
    .header_404{
        height: calc(100svh - ((var(--m_ps3) * 2) + 98px));
    }
    /*-------------------------------------
    フッター
    -------------------------------------*/
    .footer{
        padding: var(--m_ps3) 0 calc(var(--m_ps3) + 86px);
    }
    .copyright p{
        font-size: 12px;
    }
}
@media only screen and (min-width: 551px) {
    .sp_only {
        display: none;
    }
}
@media only screen and (max-width: 550px) {
    .sp_only{
        display: block;
    }
    .sp_none{
        display: none;
    }
    /*-------------------------------------
    定義
    -------------------------------------*/
    :root {
        --h1_l_font: clamp(26px, 7.5vw, 44px);
        --h1_font: clamp(24px, 5.5vw, 48px);
        --h2_font: clamp(16px, 3vw, 32px);
        --h3_font: clamp(16px, 2.4vw, 28px);
        --main_w: min(1280px, calc(100% - (var(--sub_mp) * 2)));
        --main_mp: 40px;
        --sub_mp: 20px;
        --m_ps3: 20px;
        --m_ps5: 25px;
        --m_ps8: 30px;
    }
    body,
    .wrap{
        overflow-x: hidden;
    }
    /*-------------------------------------
    ヘッダー
    -------------------------------------*/
    .h_logo{
        padding: 6px 10px;
        border-radius: 6px;
    }
    .h_logo{
        width: 45%;
    }
    .pc_h_nav{
        display: none;
    }
    /*ファーストビュー・メインビジュアル*/
    .h_img_wrap{
        aspect-ratio: 4/5;
    }
    .h_txt_wrap{
        padding-top: 5%;
    }
    .h_txt_wrap > img {
        width: 100%;
        margin: 0 20px;
    }
    /*-------------------------------------
    TOP 1コンテンツ目
    -------------------------------------*/
    .top_con01_inner{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .top01_title h2{
        padding: 4px 10px;
    }
    .top01_voice{
        gap: 30px;
    }
    .mb20{
        margin-bottom: 10px;
    }
    .ml10{
        margin-left: 10px;
    }
    .mr10{
        margin-right: 10px;
    }
    .top01_voice_l,
    .top01_voice_r{
        width: 50%;
        display: flex;
        flex-direction: column;
    }
    .top01_voice_l{
        align-items: start;
    }
    .top01_voice_r{
        align-items: end;
    }
    .top01_voice_s{
        width: 80% !important;
    }
    .top01_voice p{
        padding: 16px 8px;
        border: #666666 2px solid;
        font-size: 16px;
    }
    .top01_voice_img{
        width: 60%;
        margin: -40px 0 0;
    }
    .top01_voice_img img{
    }
    .blue_p{
        margin-top: 0;
    }
    /*-------------------------------------
    CTA
    -------------------------------------*/
    .cta_inner{
        max-width: calc(100% - 20px);
        gap: 10px;
        flex-direction: column;
    }
    .cta_txt{
        margin-bottom: 10px;
    }
    .cta_txt p span{
        margin: 0 2px;
    }
    .cta_txt p::before{
        transform: rotate(-20deg);
        left: -16px;
    }
    .cta_txt p::after{
        transform: rotate(20deg);
        right: -16px;
    }
    .cta_tel,
    .cta_line{
        width: 90%;
    }
    .btn{
        height: 80px;
        font-size: clamp(20px, 5.5vw, 32px);
    }
    .btn span{
        font-size: 16px;
    }
    /*-------------------------------------
    TOP 2コンテンツ目
    -------------------------------------*/
    .top02_title h2{
        padding: 4px 10px;
    }
    .top02_ttl_l{
        flex-direction: column;
    }
    .top02_ttl_l p,
    .top02_ttl_l p span{
        line-height: 1.8;
    }
    .top02_voice{
        gap: 10px;
    }
    .top02_voice_p,
    .top02_voice_img{
        width: min(170px, calc((100% - 10px) / 2));
    }
    .white_p{
        line-height: 1.3;
    }
    /*-------------------------------------
    TOP 3コンテンツ目
    -------------------------------------*/
    .top03_ttl_l{
        flex-direction: column;
    }
    .top03_ttl_l p,
    .top03_ttl_l p span{
        line-height: 1.4;
    }
    .top_con03_inner ul{
        margin-top: 40px;
    }
    .top03_item section{
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 10px;
    }
    .top03_item_img{
        width: 90%;
    }
    .num_01::after,
    .num_02::after,
    .num_03::after{
        font-size: 32px;
        left: -4px;
    }
    .top03_item_txt{
        width: 90%;
        margin: 0;
        text-align: center;
    }
    /*-------------------------------------
    TOP 4コンテンツ目
    -------------------------------------*/
    .top04_title{
        width: 100%;
    }
    .top04_voice_p{
        padding: 10px 26px;
    }
    /*-------------------------------------
    TOP 5コンテンツ目
    -------------------------------------*/
    .top_con05_inner ul{
        margin-top: 40px;
        gap: 30px;
    }
    .top05_item_ttl{
        top: -20px;
    }
    .top05_item{
        width: 95%;
    }
    /*-------------------------------------
    TOP 6コンテンツ目
    -------------------------------------*/
    .top06_title{
        width: 100%;
    }
    .top06_lead{
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .top06_img{
        width: 90%;
    }
    .top06_txt{
        width: 90%;
    }
    .top_con06_wrap02{
        margin-top: calc((var(--sub_mp) * 0.8) * -1);
    }
    .top06_item_box{
        flex-wrap: wrap;
        justify-content: center;
        gap: 45px 16px;
        margin-top: 50px;
    }
    .orange_p{
        font-size: var(--h1_l_font);
        line-height: 1;
    }
    .number{
        width: 36px;
        height: 36px;
    }
    .number::before{
        top: -16px;
        font-size: 13px;
    }
    .top06_item{
        width: calc((100% - 16px) / 2);
    }
    .black_p{
        background: none;
        line-height: 1.6;
    }
    .black_p span{
        line-height: 1.6;
        background: linear-gradient(transparent 70%, #f0f03f 0%);
    }
    /*-------------------------------------
    TOP 7コンテンツ目
    -------------------------------------*/
    .top07_title{
        width: 60%;
    }
    .top07_faq{
        gap: var(--m_ps8);
        justify-content: center;
        align-items: center;
    }
    .top07_faq_item{
        width: 95%;
    }
    .top07_faq_item p{
        padding-left: 40px;
    }
    .top07_faq_item::after{
        right: 10px;
        bottom: 10px;
        width: 60px;
        height: 60px;
    }
    .br_ss{
        line-height: 1.6 !important;
    }
    .top07_img{
        aspect-ratio: 2/1;
        width: 100%;
        gap: 10px;
    }
    .top07_img img{
        object-fit: cover;
    }
    /*-------------------------------------
    TOP 8コンテンツ目
    -------------------------------------*/
    .top08_message{
        flex-direction: column;
        justify-content: center;
    }
    .top08_img{
        aspect-ratio: 5/3;
        overflow: hidden;
        margin-bottom: 30px;
    }
    .top08_img img{
        width: 65%;
    }
    .top08_txt{
        width: 100%;
        padding: 0;
    }
    .top08_p,.top08_p span{
        text-align: center;
        font-size: 18px;
    }
    /*-------------------------------------
    追従CTA
    -------------------------------------*/
    .cta_wrap_fixed{
        padding: 6px 0;
    }
    .cta_inner_fixed{
        max-width: calc(100% - 20px);
        gap: 10px;
    }
    .btn_fixed{
        width: calc((100% - 10px) / 2);
        font-size: var(--h2_font);
        height: 42px;
        border-radius: 8px;
    }
    .btn_fixed span{
        font-size: 14px;
    }
    /*-------------------------------------
    404
    -------------------------------------*/
    .header_404{
        height: calc(100svh - ((var(--m_ps3) * 2) + 66px));
    }
    /*-------------------------------------
    フッター
    -------------------------------------*/
    .footer{
        padding: var(--m_ps3) 0 calc(var(--m_ps3) + 54px);
    }
}
@media only screen and (max-width: 320px) {
    .wp-pagenavi {
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .wp-pagenavi .page-numbers {
        margin: 0 5px 5px 0;
    }
}
