@charset "UTF-8";

/*
Theme Name: child
Theme URI:
Description:
Template: twentytwentyone
Author: makesview
Author URI: https://makes-view.co.jp/
Version: 1.0.0
*/

/* (Noto Sans JP)(Noto Serif JP)フォント */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Noto+Serif+JP:wght@700;900&display=swap');

html,
button,
input,
select,
textarea {
    font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

/* 追加webフォント */
@font-face {
    font-family: "DIN-2014";
    src: url("/wp-content/themes/child/fonts/DIN-2014_Bold.otf") format("opentype");
}

.en_font {
    font-family: "DIN-2014", sans-serif;
    font-weight: 700;
}

.serif {
    font-family: "Noto Serif JP", serif;
}

.hel_font {
    font-family: 'Helvetica', 'Arial', sans-serif;
}

body {
    color: #333;
    font-size: 16px;
    line-height: 1.7;
    padding-top: 120px;
}

main {
    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/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;
}

/* PC ヘッダー */
.hd_contents {
    display: flex;
    justify-content: space-between;
}

.hd_contents .left_box .content {
    display: flex;
    align-items: center;
}

.hd_contents .right_box .btn_box {
    display: flex;
    gap: 10px;
    margin-bottom: 11px;
}

.hd_contents .right_box nav ul {
    display: flex;
}

.hd_contents .left_box .catch {
    font-weight: 500;
    font-size: 13px;
    margin-bottom: 7px;
    letter-spacing: .04em;
    line-height: 1.2;
}

.hd_contents .left_box .content .label {
    font-weight: 900;
    color: #F5FF00;
    background-color: #1A23A1;
    border: solid 2px currentColor;
    border-radius: 50%;
    width: 70px;
    aspect-ratio: 1/1;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.3;
    letter-spacing: .04em;
}

.tel .number {
    font-size: 34px;
    line-height: 1;
    display: flex;
    gap: 0 11px;
    align-items: center;
    margin-bottom: 5px;
}

.tel .time {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: .04em;
}

.tel .number::before {
    content: "";
    background-image: url(/wp-content/themes/child/image/icon_tel.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 40px;
    aspect-ratio: 67/38;
}

.hd_contents .left_box .content .tel {
    display: flex;
    flex-direction: column;
    align-items: end;
}

.hd_contents .left_box .content .logo {
    margin-right: 23px;
    width: 260px;
}

.hd_contents .left_box .content .label {
    margin-right: 20px;
}

.hd_contents .right_box .btn_box .hd_btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    line-height: 50px;
    border-radius: 4px;
    overflow: hidden;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: .04em;
    transition: .3s;
}

.hd_contents .right_box .btn_box .hd_btn a::before {
    content: "";
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.hd_contents .right_box .btn_box .hd_btn.hope a::before {
    background-image: url(/wp-content/themes/child/image/icon_hope.svg);
    width: 23px;
    height: 23px;
}

.hd_contents .right_box .btn_box .hd_btn.hope a {
    background-color: #E6B81C;
    width: 170px;
    gap: 0 20px;
}

.hd_contents .right_box .btn_box .hd_btn.online a {
    background-color: #1B52B9;
    width: 240px;
    gap: 0 20px;
}

.hd_contents .right_box .btn_box .hd_btn.online a::before {
    background-image: url(/wp-content/themes/child/image/icon_online.svg);
    width: 23px;
    height: 24px;
}

#pc_header {
    padding: 18px 50px 10px;
    background-color: #fff;
    position: fixed;
    z-index: 10;
    width: 100%;
    top: 0;
    left: 0;
}

.hd_contents .right_box .btn_box .hd_btn.line a {
    background-color: #06C755;
    width: 240px;
    gap: 0 15px;
}

.hd_contents .right_box .btn_box .hd_btn.line a::before {
    background-image: url(/wp-content/themes/child/image/icon_line.svg);
    width: 36px;
    height: 36px;
}

.hd_contents .right_box nav ul li a {
    font-weight: 700;
    color: #333;
    transition: .3s;
    position: relative;
}

.hd_contents .right_box nav ul li+li {
    padding: 0 0 0 24px;
    margin: 0 0 0 23px;
}

.hd_contents .right_box nav ul li {
    position: relative;
}

.hd_contents .right_box nav ul li+li::before {
    content: "";
    background-color: #ddd;
    width: 1px;
    height: 14px;
    position: absolute;
    left: 0;
    top: 50%;
    translate: 0 -50%;
}

.hd_contents .right_box nav ul li a::after {
    position: absolute;
    content: "";
    left: 0;
    bottom: -17px;
    width: 100%;
    height: 8px;
    background: #1A23A1;
    transform: scale(0, 1);
    transform-origin: left;
    transition: .3s;
}

/* PC メインビジュアル */
#top_main_visual {
    background: linear-gradient(190deg, #0B2B67, #061634);
    position: relative;
}

#top_main_visual .wrap {
    width: 1340px;
}

#top_main_visual::before {
    content: "";
    background-image: url(/wp-content/themes/child/image/fv_bg.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    mix-blend-mode: soft-light;
}

#top_main_visual .content {
    position: relative;
    padding: 50px 0 55px;
}

#top_main_visual .content .cta_box .img {
    width: 269px;
    position: absolute;
    top: 0;
    right: 290px;
}

#top_main_visual .content .cta_box {
    position: relative;
    margin-bottom: 18px;
}

#top_main_visual .content .cta_box .text {
    font-size: 26px;
    font-weight: 900;
    color: #fff;
    letter-spacing: .09em;
    padding: 30px 0 0;
    line-height: 1.4;
}

#top_main_visual .content .cta_box .text .medium {
    font-size: 32px;
    letter-spacing: .14em;
}

#top_main_visual .content .cta_box .text .color {
    color: #F7E452;
}

#top_main_visual .content .cta_box .text .large {
    font-size: 44px;
    letter-spacing: .25em;
}

#top_main_visual .content .cta_box .text .semi_large {
    font-size: 40px;
}

#top_main_visual .content .ttl_box .ttl .black {
    font-weight: 900;
}

#top_main_visual .content .ttl_box .ttl {
    color: #fff;
    font-size: 46px;
    letter-spacing: .01em;
    font-weight: 700;
    line-height: 1.4;
}

#top_main_visual .content .ttl_box .ttl .semi_large {
    font-size: 52px;
    letter-spacing: .17em;
}

#top_main_visual .content .ttl_box .ttl .bg_color {
    background-color: #F7E452;
    color: #0A2C6A;
    padding: 3px 7px 2px 18px;
    margin: 0 5px 0 0;
}

#top_main_visual .content .ttl_box .ttl .color {
    color: #F7E452;
}

#top_main_visual .content .ttl_box .ttl .medium {
    font-size: 50px;
    letter-spacing: .04em;
}

#top_main_visual .content .ttl_box .ttl .small {
    font-size: 40px;
    letter-spacing: .04em;
}

#top_main_visual .content .ttl_box .ttl .color {
    font-size: 62px;
}

#top_main_visual .content .ttl_box .read {
    font-size: 22px;
    color: #F7E452;
    letter-spacing: .3em;
    line-height: 1;
    padding: 0 0 0 10px;
    font-weight: 900;
}

#top_main_visual .content .ttl_box .ttl .dot::before {
    content: "";
    background-color: currentColor;
    width: 14px;
    aspect-ratio: 1/1;
    top: 0;
    left: 50%;
    translate: -50% 0;
    position: absolute;
    border-radius: 50%;
}

#top_main_visual .content .ttl_box .ttl .dot {
    position: relative;
    padding-top: 8px;
}

#top_main_visual .img_men {
    position: absolute;
    bottom: 20px;
    right: 50px;
    width: 258px;
}

#top_main_visual .img_men img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#top_main_visual .content .ttl_box {
    margin-bottom: 33px;
}

#top_main_visual .content .btn_box .content_text {
    font-size: 22px;
    color: #fff;
    letter-spacing: .21em;
    margin-bottom: 10px;
    font-weight: 900;
}

.common_btn_box {
    display: flex;
    gap: 0 20px;
}

.common_btn_box .common_site_btn a {
    display: flex;
    align-items: center;
    line-height: 90px;
    transition: .3s;
}

.common_btn_box .common_site_btn a .img {
    margin: 0 20px 0 0;
    line-height: 1;
}

.common_btn_box .common_site_btn a .text {
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: .04em;
}

.common_btn_box .common_site_btn.online a {
    background-color: #1B52B9;
    padding: 0 30px;
    box-shadow: 0 5px 0 #0B2B67;
    width: 460px;
    position: relative;
}

.common_btn_box .common_site_btn a .arrow {
    width: 15px;
    aspect-ratio: 1/1;
    border-top: solid 4px #fff;
    border-right: solid 4px #fff;
    transform: rotate(45deg);
    margin-left: auto;
}

.common_btn_box .common_site_btn.line a {
    background-color: #06C755;
    padding: 0px 30px 0 20px;
    box-shadow: 0 5px 0 #006A2B;
    width: 400px;
}

/* PC 全力サポート */

#top_support .content .ttl .bg_color {
    font-size: 48px;
    writing-mode: vertical-lr;
    letter-spacing: .1em;
    background-color: #D91212;
    border-radius: 4px;
    padding: 24px 16px;
    color: #fff;
    font-weight: 900;
    margin: 0 -31px 0 0;
    position: relative;
    top: 7px;
}

#top_support .content .ttl {
    font-size: 40px;
    font-weight: 900;
    line-height: 1;
}

#top_support .content .ttl .hel_font.color {
    color: #D91212;
    margin: 0 -30px 0 0;
    position: relative;
    top: 7px;
}

#top_support .content .ttl .large {
    font-size: 340px;
    letter-spacing: .03em;
    font-style: oblique;
}

#top_support .content {
    position: relative;
    padding: 35px 0;
}

.star_box {
    display: flex;
    top: 90px;
    right: 0;
    gap: 0 30px;
    position: absolute;
}

#top_support .content .ttl .semi_large {
    font-size: 70px;
    letter-spacing: .03em;
    margin: 0 10px 0 0;
}

#top_support .content .ttl .medium {
    font-size: 54px;
    margin: 0 10px 0 0;
}

#top_support .content .ttl .medium.color {
    color: #1A23A1;
}

#top_support .content .ttl .bar::after {
    content: "";
    background-image: url(/wp-content/themes/child/image/under_line_yellow.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 100%;
    height: 32px;
    bottom: 0;
    left: -5px;
    z-index: -1;
}

#top_support .content .ttl .bar {
    position: relative;
}

#top_support .content .ttl .bear {
    position: relative;
}

#top_support .content .ttl .bear::before {
    content: "";
    background-image: url(/wp-content/themes/child/image/icon_bear_f.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 100px;
    aspect-ratio: 201/293;
    bottom: 95px;
    right: 0;
}

/* PC お悩み */

#top_worries .ttl_box {
    background-color: #080D53;
    color: #fff;
    text-align: center;
    padding: 20px 0;
}

#top_worries .ttl_box .ttl {
    font-size: 36px;
    letter-spacing: .06em;
    font-weight: 700;
    line-height: 1.5;
}

#top_worries .ttl_box .ttl .small {
    font-size: 28px;
}

#top_worries .ttl_box .ttl .large {
    font-size: 50px;
    color: #FADD00;
}

#top_worries .content {
    padding: 78px 0 115px;
    background-color: #FDFDFD;
    position: relative;
}

#top_worries .content li {
    display: flex;
    align-items: center;
    gap: 0 20px;
}

#top_worries .content li .text {
    font-size: 24px;
    letter-spacing: .08em;
    font-weight: 700;
}

#top_worries .content li .text .large {
    font-size: 38px;
    color: #2F3590;
}

#top_worries .content li::before {
    content: "";
    background-image: url(/wp-content/themes/child/image/icon_check.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
    height: 47px;
}

#top_worries .content li+li {
    margin-top: 23px;
}

#top_worries .content li .text .bar {
    background: linear-gradient(transparent 70%, #FFF798 70%);
}

#top_worries .content .list {
    margin-bottom: 35px;
}

#top_worries .content .text_box .text {
    font-size: 14px;
    letter-spacing: .08em;
    font-weight: 500;
}

#top_worries .content .text_box .text+.text {
    margin-top: 13px;
}

#top_worries {
    position: relative;
    background-color: #FDFDFD;
}

#top_worries .content::after {
    content: "";
    background-image: url(/wp-content/themes/child/image/distressed_man.svg);
    bottom: 0;
    right: -150px;
    width: 333px;
    aspect-ratio: 333/394;
    position: absolute;
}

#top_worries .content li .caution {
    position: relative;
}

#top_worries .content li .caution::after {
    content: "※";
    position: absolute;
    font-size: 18px;
    top: -7px;
    right: -20px;
    font-weight: 500;
}

#top_worries::after {
    content: "";
    background-image: url(/wp-content/themes/child/image/tri_blue.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -48px;
    left: 50%;
    width: 360px;
    aspect-ratio: 90/31;
    translate: -50% 0;
}

/* PC 4つのポイント */
#top_points {
    padding: 105px 0 80px;
    background: linear-gradient(#FFFEF5, #FFFBEB);
}

#top_points .content .ttl_box .ttl {
    font-size: 40px;
    letter-spacing: .08em;
    font-weight: 700;
    margin: 0 0 20px;
}

#top_points .content .ttl_box .ttl .bg_color {
    color: #fff;
    background-color: #F5B524;
    padding: 15px 13px 7px;
    margin: 0px -5px 0 -13px;
}

#top_points .content .ttl_box .ttl .bg_color .large {
    font-size: 53px;
}

#top_points .content .ttl_box .text {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: .04em;
}

#top_points .content .ttl_box .text .large {
    font-size: 40px;
}

#top_points .content .ttl_box {
    text-align: center;
}

#top_points .content .ttl_box .bar::after {
    content: "";
    bottom: 0;
    left: 0;
    background-image: url(/wp-content/themes/child/image/under_line_skin_long.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    width: 100%;
    height: 25px;
    z-index: -1;
}

#top_points .content .ttl_box .bar {
    position: relative;
    z-index: 1;
}

#top_points .content h3.ttl {
    font-size: 53px;
    font-weight: 900;
    letter-spacing: .04em;
    line-height: 1;
    margin: -35px 0 0;
    padding: 0 0 0 105px;
    position: relative;
}

#top_points .content h3.ttl .small {
    font-size: 30px;
    position: relative;
    top: 80px;
}

#top_points .content h3.ttl .small .bold {
    font-weight: 700;
}

#top_points .content h3.ttl .large {
    font-size: 180px;
    letter-spacing: 0;
    font-weight: 700;
    margin: 0 10px 0 20px;
}

#top_points .content h3.ttl .color {
    color: #FACA00;
}

#top_points .content h3.ttl::before {
    content: "";
    background-image: url(/wp-content/themes/child/image/icon_bear_f.png);
    bottom: 20px;
    left: 0;
    position: absolute;
    width: 83px;
    aspect-ratio: 201/293;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

#top_points .content .list ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 20px;
}

#top_points .content .list li {
    background-color: #fff;
    text-align: center;
    box-shadow: 0 2px 4px rgba(51, 51, 51, .16);
    display: flex;
    flex-direction: column;
}

#top_points .content .list li:nth-child(2) {
    animation-delay: .2s;
}

#top_points .content .list li:nth-child(3) {
    animation-delay: .4s;
}

#top_points .content .list li:nth-child(4) {
    animation-delay: .6s;
}

#top_points .content .list li .text {
    letter-spacing: .04em;
    line-height: 1.5;
}

#top_points .content .list li .text .large {
    font-size: 22px;
    color: #E8B425;
    font-weight: 900;
}

#top_points .content .list li .text_box .count {
    background-color: #F5B524;
    width: 60px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    color: #fff;
    font-size: 34px;
    font-family: "DIN-2014", sans-serif;
    line-height: 60px;
    position: absolute;
    top: -30px;
}

#top_points .content .list {
    margin-bottom: 30px;
}

#top_points .content .graph_box {
    display: flex;
}

#top_points .content .graph_box .text_box .text {
    font-size: 44px;
    letter-spacing: .04em;
    font-weight: 700;
}

#top_points .content .graph_box .text_box .text .bg_color {
    color: #fff;
    font-size: 60px;
    background-color: #F5B524;
    padding: 1px 8px;
    margin: 0 0 0 -10px;
}

#top_points .content .tri {
    text-align: center;
    margin: 0 0 30px;
}

#top_points .content .graph_box .text_box .text+.text {
    font-size: 40px;
    letter-spacing: .01em;
    line-height: 1.2;
    margin: 15px 0 0;
}

#top_points .content .graph_box .text_box .text+.text .color {
    font-size: 108px;
    letter-spacing: .01em;
    color: #F5B524;
}

#top_points .content .graph_box .text_box .text+.text .bar::after {
    content: "";
    background-image: url(/wp-content/themes/child/image/under_line_skin.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: calc(100% + 3px);
    aspect-ratio: 359/37;
    bottom: 13px;
    left: 0;
    z-index: -1;
}

.graph_box .img {
    position: relative;
    bottom: 58px;
}

#top_points .content .graph_box .text_box .text+.text .bar {
    position: relative;
    z-index: 1;
}

#top_points .content .list li .text_box {
    display: flex;
    align-items: center;
    padding: 42px 0 27px;
    justify-content: center;
    flex-grow: 1;
    position: relative;
}

#top_points .content .graph_box .text_box .text+.text .bar .small {
    font-size: 76px;
}

#top_points .content .graph_box .text_box {
    flex-grow: 1;
}

#top_points .content .graph_box .text_box .text+.text .large {
    font-size: 48px;
}

/* PC 共通バナー */

.common_banner .img_box {
    background: linear-gradient(#0A2C6A, #6B89BF);
    position: relative;
}

.common_banner .img_box .wrap {
    width: 1240px;
}

.common_banner .img_box .wrap .inner {
    display: flex;
    position: relative;
    padding: 40px 0 125px;
}

.common_banner .content {
    position: absolute;
    bottom: -100px;
    background: #fff;
    width: 1340px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.common_banner {
    position: relative;
    z-index: 1;
}

.common_banner .content .wrap {
    width: 1240px;
    display: flex;
    padding: 30px 0 32px;
}

.common_banner .content .wrap .tel_box {
    flex-grow: 1;
    text-align: end;
}

.common_banner .img_box .wrap .inner .img.font {
    width: 1032px;
    aspect-ratio: 1032/205;
}

.common_banner .img_box .wrap .inner .img.men {
    width: 588px;
    aspect-ratio: 590/451;
    position: absolute;
    bottom: 0;
    right: -100px;
}

.common_banner .img_box .wrap .inner::before {
    content: "";
    background-image: url(/wp-content/themes/child/image/common_banner_drop.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 472px;
    aspect-ratio: 472/279;
    position: absolute;
    top: 0;
    right: -100px;
}

.common_banner .content .wrap .btn_box .common_btn_box .common_site_btn.online a {
    width: 405px;
}

.common_banner .content .wrap .btn_box .common_btn_box .common_site_btn.line a {
    width: 325px;
}

.common_banner .content .wrap .btn_box .common_btn_box .common_site_btn a {
    padding: 0 0 0 30px;
}

.common_banner .content .wrap .btn_box .common_btn_box .common_site_btn.online a .img {
    margin: 0 25px 0 0;
}

.common_banner .content .wrap .btn_box .common_btn_box .common_site_btn a .text {
    font-size: 20px;
}

.common_banner .content .wrap .btn_box .common_btn_box .common_site_btn a .arrow {
    display: none;
}

.common_banner .content .wrap .btn_box .common_btn_box {
    gap: 0 10px;
}

.common_banner .content .wrap .sub_ttl {
    font-size: 22px;
    font-weight: 900;
    letter-spacing: .04em;
}

.common_banner .content .wrap .btn_box {
    border-left: solid 2px #707070;
    padding: 0 0 0 50px;
}

.common_banner .content .wrap .tel_box .tel .number {
    font-size: 54px;
    gap: 0 10px;
}

.common_banner .content .wrap .tel_box .tel .time {
    font-size: 20px;
    letter-spacing: .04em;
    padding: 0 50px 0 0;
}

.common_banner .content .wrap .tel_box .tel .number::before {
    /* flex-grow: 1; */
    width: 67px;
}

.common_banner .content .wrap .tel_box .sub_ttl {
    padding: 0 50px 0 0;
    margin: 0 0 13px 0;
}

.common_banner .content .wrap .btn_box .sub_ttl {
    margin: 0 0 10px 0;
}

/* PC 3つの特徴 */
#top_feature .wrap .content {
    padding: 170px 0 117px;
}

#top_feature .wrap .content .ttl_box .inner .ttl {
    font-size: 40px;
    letter-spacing: .04em;
    font-weight: 900;
}

#top_feature .wrap .content .ttl_box .ttl .small {
    font-size: 30px;
    font-weight: 700;
}

#top_feature .wrap .content .ttl_box .ttl .color {
    font-size: 140px;
    color: #1B52B9;
    line-height: 1;
}

#top_feature {
    background-color: #F8FDFF;
}

#top_feature .wrap .content .ttl_box .ttl .large {
    font-size: 50px;
}

#top_feature .wrap .content .ttl_box .text {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .04em;
    color: #454545;
}

#top_feature .wrap .content .list ul {
    display: grid;
    gap: 0 30px;
    grid-template-columns: repeat(3, 1fr);
}

#top_feature .wrap .content .list li:nth-child(2) {
    animation-delay: .2s;
}

#top_feature .wrap .content .list li:nth-child(3) {
    animation-delay: .4s;
}

#top_feature .wrap .content .ttl_box .inner {
    display: flex;
    gap: 0 21px;
}

#top_feature .wrap .content .ttl_box .inner .img {
    width: 83px;
    aspect-ratio: 201/293;
}

#top_feature .wrap .content .list li .ttl {
    font-size: 24px;
    font-weight: 700;
    line-height: 60px;
}

#top_feature .wrap .content .list li .ttl .color {
    font-size: 40px;
    font-weight: 900;
    color: #1B52B9;
}

#top_feature .wrap .content .list li .ttl .en_font {
    font-size: 56px;
}

#top_feature .wrap .content .list li .ttl .en_font .small {
    font-size: 40px;
}

#top_feature .wrap .content .list li:nth-child(3) .ttl {
    letter-spacing: .04em;
}

#top_feature .wrap .content .list li .img {
    aspect-ratio: 18/11;
    width: 100%;
    margin-bottom: 20px;
}

#top_feature .wrap .content .ttl_box {
    margin: 0 0 25px;
}

#top_feature .wrap .content .list li .text {
    letter-spacing: .08em;
    color: #454545;
}

#top_feature .wrap .content .list li .text .color {
    font-size: 20px;
    font-weight: 700;
    color: #1B52B9;
    line-height: 1;
}

/* PC 3つの特徴 */

.common_reason_banner .wrap .img {
    width: 479px;
    aspect-ratio: 479/263;
    position: absolute;
    bottom: 0;
}

.common_reason_banner .wrap .inner {
    position: relative;
}

.common_reason_banner {
    background-image: url(/wp-content/themes/child/image/bear_banner_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.common_reason_banner .wrap .inner .ttl {
    color: #fff;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: .1em;
    padding: 58px 0 36px 275px;
}

.common_reason_banner .wrap .inner .ttl .color {
    font-size: 60px;
    font-weight: 900;
    color: #FFFF00;
    line-height: 1.2;
}

.common_reason_banner .wrap .inner .ttl .large {
    font-size: 40px;
    font-weight: 700;
}

/* PC サクセスストーリー */

#top_success {
    padding: 154px 0 162px;
    width: 1130px;
    margin: 0 auto;
}

#top_success .inner {
    display: flex;
    box-shadow: 10px 8px #203F79;
    position: relative;
    background-color: #81A4E5;
}

#top_success .inner .img {
    width: 50%;
    position: relative;
}

#top_success .inner::before {
    content: "";
    background-image: url(/wp-content/themes/child/image/success_story_bg.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
    top: 0;
    left: 0;
}

#top_success .inner .content {
    position: relative;
    width: 50%;
    padding-top: 100px;
}

#top_success .inner .content .ttl {
    position: relative;
    z-index: 0;
    text-align: center;
}

#top_success .inner .content .ttl::before {
    position: absolute;
    content: "";
    background-image: url(/wp-content/themes/child/image/success_story_subttl.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 369px;
    aspect-ratio: 369/101;
    top: -65px;
    right: -5px;
    transform: rotate(10deg);
    opacity: .4;
}

#top_success .inner .content .ttl::after {
    position: absolute;
    content: "";
    background-image: url(/wp-content/themes/child/image/success_story_book.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 171px;
    aspect-ratio: 171/140;
    top: -8px;
    left: 50%;
    translate: -50% 0;
    z-index: -1;
}

#top_success .inner .content .text_box .text {
    letter-spacing: .04em;
    color: #fff;
    font-weight: 500;
}

#top_success .inner .content .text_box {
    margin-top: 15px;
    text-align: center;
    position: relative;
}

#top_success .inner .content .btn_box .btn_text {
    letter-spacing: .04em;
    line-height: 64px;
    font-size: 20px;
    font-weight: 700;
}

#top_success .inner .content .btn_box {
    margin: 30px auto 0;
    display: flex;
    width: 340px;
    border-radius: 35px;
    border: solid 3px;
    background-color: #1A23A1;
    color: #fff;
    padding: 0 30px;
    align-items: center;
    cursor: pointer;
}

#top_success .inner .img::before {
    position: absolute;
    content: "";
    background-image: url(/wp-content/themes/child/image/success_quotation_top.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 107px;
    aspect-ratio: 107/87;
    top: -60px;
    left: -36px;
    filter: drop-shadow(0px 2px 3px rgba(51, 51, 51, .16));
}

#top_success .inner .content::after {
    position: absolute;
    content: "";
    background-image: url(/wp-content/themes/child/image/success_quotation_bottom.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 107px;
    aspect-ratio: 107/87;
    bottom: -60px;
    right: -35px;
    filter: drop-shadow(0px 2px 3px rgba(51, 51, 51, .16));
}

#top_success .inner .content .btn_box .arrow {
    border-right: solid 3px;
    border-top: solid 3px;
    width: 10px;
    height: 10px;
    transform: rotate(45deg);
    margin-left: auto;
}

/* モーダルウィンドウ */
.modal_window {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    z-index: 120;
    padding: 77px 0 100px;
    width: 100%;
}

.button_close::before {
    content: "";
    position: absolute;
    width: 4px;
    height: 24px;
    background-color: #fff;
    border-radius: 2px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
}

.button_close::after {
    content: "";
    position: absolute;
    width: 4px;
    height: 24px;
    background-color: #fff;
    border-radius: 2px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
}

.modal_window .text_box {
    overflow-y: scroll;
    height: 387px;
    padding: 0px 143px 0 0;
    margin: 52px 6px 0 0;
    overflow-x: hidden;
}

.modal_window .wrap {
    width: 1240px;
    position: relative;
}

.modal_window .ttl_box .img {
    width: 83px;
    aspect-ratio: 201/293;
}

.modal_window .ttl_box {
    display: flex;
    align-items: baseline;
    gap: 28px;
}

.modal_window .ttl_box .ttl {
    position: relative;
}

.modal_window .ttl_box .ttl::before {
    content: "";
    background-image: url(/wp-content/themes/child/image/success_story_modal_subttl.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 369px;
    aspect-ratio: 369/101;
    top: -53px;
    position: absolute;
    right: -180px;
    opacity: .4;
    transform: rotate(10deg);
}

#scroll_bar::-webkit-scrollbar {
    width: 30px;
}

#scroll_bar::-webkit-scrollbar-thumb {
    background-color: #1B52B9;
    border-radius: 15px;
}

.modal_inner::before {
    content: "";
    width: 1px;
    height: 100%;
    background: #DEDEDE;
    position: absolute;
    right: 20.5px;
    top: 0;
    z-index: -1;
}

.modal_inner {
    position: relative;
}

/* 閉じるボタン */
.button_close {
    position: absolute;
    top: 50px;
    right: 0;
    width: 44px;
    height: 44px;
    background-color: #1B52B9;
    border-radius: 50%;
    cursor: pointer;
}

.overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(27, 82, 185, 0.4);
    width: 100%;
    height: 100%;
    z-index: 110;
}

/* 共通部分 */
.common_title {
    text-align: center;
}

.common_title .jp {
    font-size: 40px;
    letter-spacing: .04em;
    font-weight: 900;
    line-height: 1.5;
}

.common_title .jp .color {
    color: #1A23A1;
}

/* 売上1億円 */
.top_sales .banner_box {
    background-image: url(/wp-content/themes/child/image/sales_banner_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 70px 0 50px;
}

.top_sales .banner_box .title_box {
    text-align: center;
}

.top_sales .banner_box .title_box .text {
    color: #fff;
    font-size: 34px;
    letter-spacing: .09em;
    font-weight: 900;
    margin-bottom: 10px;
}

.top_sales .banner_box .title_box .title {
    width: 604px;
    margin: 0 auto;
}

.top_sales .cont {
    background: #FFFDF4;
    padding: 0 0 125px;
}

.top_sales .head_box {
    background: #0B2B67;
    text-align: center;
    padding: 15px 0 30px;
    clip-path: polygon(0 0, 100% 0%, 100% 75%, 50% 100%, 0 75%);
    margin-bottom: 55px;
}

.top_sales .head_box .text {
    color: #fff;
    font-size: 32px;
    letter-spacing: .04em;
    font-weight: 900;
}

.top_sales .head_box .text .color {
    color: #F7EA52;
    font-size: 52px;
}

.top_sales .inner .detail {
    margin-bottom: 30px;
}

.top_sales .inner .detail .title {
    text-align: center;
    font-size: 44px;
    letter-spacing: .1em;
    font-weight: 900;
    line-height: 71px;
    margin-bottom: 25px;
}

.top_sales .inner .detail .title .color {
    background: #F5B524;
    color: #fff;
    font-size: 52px;
    padding: 0 10px 0 15px;
    margin-right: 8px;
}

.top_sales .inner .detail .inbox {
    padding: 0 60px;
    display: flex;
    gap: 0 55px;
}

.top_sales .inner .detail .inbox .img {
    flex-shrink: 0;
    width: 428px;
}

.top_sales .inner .detail .inbox .text_box {
    width: 100%;
}

.top_sales .inner .detail .inbox .text_box .list {
    margin-bottom: 25px;
}

.top_sales .inner .detail .inbox .text_box .list li+li {
    margin-top: 10px;
}

.top_sales .inner .detail .inbox .text_box .list li {
    font-size: 32px;
    letter-spacing: .01em;
    font-weight: 900;
    display: flex;
    align-items: center;
    gap: 0 20px;
}

.top_sales .inner .detail .inbox .text_box .list li::before {
    content: "";
    background: url(/wp-content/themes/child/image/icon_check_yellow.svg) no-repeat;
    background-size: contain;
    width: 43px;
    aspect-ratio: 43/38;
    display: block;
}

.top_sales .inner .detail .inbox .text_box .text {
    font-size: 18px;
    letter-spacing: .01em;
    font-weight: 700;
}

.top_sales .inner .comment_box {
    background: #fff;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.16);
    border-radius: 4px;
    display: flex;
    align-items: center;
    gap: 0 40px;
    padding: 15px 20px 10px;
}

.top_sales .inner .comment_box .img_box {
    flex-shrink: 0;
    width: 280px;
}

.top_sales .inner .comment_box .img_box .name {
    font-size: 14px;
    letter-spacing: .04em;
    font-weight: 700;
    text-align: center;
}

.top_sales .inner .comment_box .img_box .img {
    width: 200px;
    aspect-ratio: 1/1;
    background: #fff;
    border: 5px solid #F5B524;
    border-radius: 50%;
    margin: 0 auto 10px;
    position: relative;
    overflow: hidden;
    padding: 10px 0 0;
}

.top_sales .inner .comment_box .text_box {
    width: 100%;
}

.top_sales .inner .comment_box .text_box .label {
    font-size: 20px;
    letter-spacing: .02em;
    font-weight: 900;
    display: inline-block;
    color: #fff;
    background: #F5B524;
    border-radius: 25px;
    line-height: 50px;
    padding: 0 30px;
    margin-bottom: 25px;
}

.top_sales .inner .comment_box .text_box .comment {
    font-size: 34px;
    letter-spacing: .02em;
    font-weight: 900;
    line-height: 1.3;
}

.top_sales .inner .comment_box .text_box .comment .color {
    color: #C11111;
    font-size: 50px;
}

/* 立ち上げサポート支援 */
.top_start_support {
    background: #FDFCF4;
    padding: 210px 0 105px;
}

.top_start_support .common_title {
    margin-bottom: 25px;
}

.top_start_support .sub_text {
    text-align: center;
    color: #454545;
    font-size: 20px;
    letter-spacing: .04em;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 25px;
}

.top_start_support .support_list {
    margin-bottom: 5px;
}

.top_start_support .support_list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.top_start_support .support_list li {
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
    position: relative;
}

.top_start_support .support_list li:nth-child(3n - 1) {
    animation-delay: .2s;
}

.top_start_support .support_list li:nth-child(3n) {
    animation-delay: .4s;
}

.top_start_support .support_list li .num {
    color: #1A23A1;
    font-size: 60px;
    line-height: 1.2;
    opacity: 0.2;
    position: absolute;
    top: 0;
    right: 0;
}

.top_start_support .support_list li .text_box {
    padding: 43px 10px 20px 19px;
    position: relative;
}

.top_start_support .support_list li .text_box .title {
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
    display: inline-block;
    color: #1B52B9;
    font-size: 24px;
    letter-spacing: .04em;
    font-weight: 700;
    line-height: 50px;
    padding: 0 20px;
    position: absolute;
    left: 0;
    top: -25px;
}

.top_start_support .support_list li .text_box .title .en {
    font-size: 29px;
    letter-spacing: 0;
}

.top_start_support .support_list li .text_box .title .small {
    font-size: 14px;
    vertical-align: bottom;
}

.top_start_support .support_list li .text_box .text {
    color: #454545;
    letter-spacing: .02em;
    font-weight: 700;
    line-height: 1.5;
}

.top_start_support .support_list li .text_box .kome {
    color: #C11111;
    letter-spacing: .02em;
    font-weight: 700;
    position: absolute;
    right: 5px;
    bottom: 2px;
}

.top_start_support .note {
    text-align: right;
    font-size: 18px;
    letter-spacing: .08em;
    font-weight: 700;
}

.top_start_support .note .color {
    color: #C11111;
}

.top_start_support .note .num {
    font-size: 29px;
}

/* 加盟店からの声 */
.top_voice {
    background: #EDF8FE;
    padding: 105px 0 195px;
}

.top_voice .inner {
    position: relative;
}

.top_voice .top_box {
    margin-bottom: 20px;
    display: flex;
    align-items: flex-end;
    gap: 0 30px;
}

.top_voice .top_box .img {
    flex-shrink: 0;
    width: 108px;
}

.top_voice .top_box .title_box .title {
    font-size: 40px;
    letter-spacing: .04em;
    font-weight: 900;
    line-height: 1.4;
}

.top_voice .top_box .title_box .title .color {
    color: #F5B524;
    font-size: 175%;
    position: relative;
}

.top_voice .top_box .title_box .title .color::after {
    content: "";
    background: url(/wp-content/themes/child/image/voice_title_mark.svg) no-repeat;
    background-size: contain;
    width: 35px;
    aspect-ratio: 9/11;
    position: absolute;
    right: -25px;
    top: 0;
}

.top_voice .top_box .title_box .sub_text {
    color: #454545;
    font-size: 20px;
    letter-spacing: .04em;
    font-weight: 700;
}

.top_voice .cont {
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
    padding: 10px;
    display: flex;
    align-items: center;
    gap: 0 35px;
}

.top_voice .img_box {
    flex-shrink: 0;
    width: 270px;
    display: flex;
    flex-direction: column;
    gap: 10px 0;
}

.top_voice .man_img {
    flex-shrink: 0;
    width: 270px;
}

.top_voice .text_box {
    color: #454545;
}

.top_voice .text_box .top {
    display: flex;
    align-items: center;
    gap: 0 20px;
    margin-bottom: 20px;
}

.top_voice .text_box .top .company {
    font-size: 18px;
    letter-spacing: .04em;
    font-weight: 700;
}

.top_voice .text_box .top .name {
    letter-spacing: .04em;
    font-weight: 700;
}

.top_voice .text_box .title {
    font-size: 23px;
    letter-spacing: .04em;
    font-weight: 900;
    line-height: 1.5;
    margin-bottom: 20px;
}

.top_voice .text_box .comment {
    letter-spacing: .04em;
    font-weight: 700;
}

.top_voice .label {
    width: 467px;
    aspect-ratio: 467/80;
    position: absolute;
    right: -50px;
    bottom: -40px;
    color: #000;
    font-size: 36px;
    letter-spacing: .01em;
    font-weight: 900;
    text-align: center;
    rotate: -1deg;
    padding: 9px 0 0;
}

.top_voice .label::before {
    content: "";
    background: url(/wp-content/themes/child/image/voice_fukidashi.svg) no-repeat;
    background-size: contain;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    rotate: 1deg;
    z-index: -1;
}

/* 自社でブランディング強化 */
.top_branding {
    background-image: url(/wp-content/themes/child/image/paint_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    padding: 265px 0 160px;
}

.top_branding>* {
    position: relative;
    z-index: 1;
}

.top_branding::before {
    content: "";
    width: 100%;
    height: 100%;
    background: #333;
    opacity: 0.8;
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    left: 0;
}

.top_branding .top_box {
    margin-bottom: 30px;
}

.top_branding .top_box .top_title {
    text-align: center;
    margin-bottom: 40px;
}

.top_branding .top_box .inbox {
    display: flex;
    gap: 0 30px;
    align-items: center;
    margin-bottom: 60px;
}

.top_branding .top_box .inbox .img {
    flex-shrink: 0;
    width: 383px;
}

.top_branding .top_box .inbox .text_box {
    width: 100%;
}

.top_branding .top_box .inbox .text_box .label {
    background: linear-gradient(to bottom, #FFEB00, #FFC500);
    display: inline-block;
    font-size: 24px;
    letter-spacing: .04em;
    font-weight: 700;
    padding: 0 20px;
    line-height: 50px;
    margin-bottom: 5px;
}

.top_branding .top_box .inbox .text_box .title {
    color: #fff;
    font-size: 42px;
    letter-spacing: .04em;
    font-weight: 700;
    margin-bottom: 5px;
}

.top_branding .top_box .inbox .text_box .text {
    color: #fff;
    font-size: 18px;
    letter-spacing: .08em;
    font-weight: 700;
    margin-bottom: 25px;
}

.top_branding .top_box .inbox .text_box .item {
    color: #fff;
    font-size: 18px;
    letter-spacing: .04em;
    font-weight: 700;
}

.top_branding .top_box .catch {
    text-align: center;
}

.top_branding .top_box .catch .text {
    display: inline-block;
    color: #fff;
    font-size: 36px;
    line-height: 1.3;
    letter-spacing: .09em;
    font-weight: 900;
    position: relative;
}

.top_branding .top_box .catch .text .color {
    color: #FFFFA3;
    font-size: 40px;
}

.top_branding .top_box .catch .text::before,
.top_branding .top_box .catch .text::after {
    content: "";
    background: url(/wp-content/themes/child/image/paint_decoration_l.svg) no-repeat;
    background-size: contain;
    width: 43px;
    height: 118px;
    position: absolute;
    top: 50%;
    translate: 0 -50%;
}

.top_branding .top_box .catch .text::before {
    left: -75px;
}

.top_branding .top_box .catch .text::after {
    transform: rotateY(180deg);
    right: -75px;
}

.top_branding .sample_list {
    margin-bottom: 130px;
}

.top_branding .sample_list ul {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 13px;
}

.top_branding .sample_list li {
    background: #fff;
    padding: 10px;
}

.top_branding .sample_list li:nth-child(5n - 3) {
    animation-delay: .2s;
}

.top_branding .sample_list li:nth-child(5n - 2) {
    animation-delay: .4s;
}

.top_branding .sample_list li:nth-child(5n - 1) {
    animation-delay: .6s;
}

.top_branding .sample_list li:nth-child(5n) {
    animation-delay: .8s;
}

.top_branding .supply_box {
    background: #fff;
    border-radius: 10px;
    padding: 5px 45px 50px;
}

.top_branding .supply_box .label {
    color: #fff;
    font-size: 24px;
    letter-spacing: .04em;
    font-weight: 700;
    line-height: 1;
    width: 520px;
    aspect-ratio: 520/78;
    text-align: center;
    margin: -35px auto 5px;
    padding: 13px 0 0;
    background-image: url(/wp-content/themes/child/image/paint_fukidashi.svg);
    background-size: cover;
    background-repeat: no-repeat;
}

.top_branding .supply_box .label .large {
    font-size: 125%;
}

.top_branding .supply_box .title_box {
    margin-bottom: 40px;
    text-align: center;
}

.top_branding .supply_box .title_box .title {
    font-size: 40px;
    letter-spacing: .04em;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 5px;
}

.top_branding .supply_box .title_box .title .color {
    color: #1A23A1;
}

.top_branding .supply_box .title_box .sub_text {
    color: #454545;
    font-size: 18px;
    letter-spacing: .01em;
    font-weight: 700;
}

.top_branding .supply_box .package_list_img {
    margin-bottom: 20px;
    line-height: 1;
}

.top_branding .supply_box .package_list_img img {
    width: 100%;
}

.top_branding .supply_box .list {
    margin-bottom: 20px;
}

.top_branding .supply_box .list ul {
    display: flex;
    gap: 0 10px;
}

.top_branding .supply_box .list li .img {
    margin-bottom: 15px;
}

.top_branding .supply_box .list li .name {
    text-align: center;
    font-weight: 700;
    letter-spacing: .04em;
}

.top_branding .supply_box .note {
    text-align: center;
    font-weight: 700;
    letter-spacing: .04em;
    font-size: 20px;
}

/* 加盟の流れ */
.top_flow {
    padding: 125px 0 80px;
}

.top_flow .common_title {
    margin-bottom: 25px;
}

.top_flow .flow_box ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.top_flow .flow_box li:nth-child(4n - 2) {
    animation-delay: .2s;
}

.top_flow .flow_box li:nth-child(4n - 1) {
    animation-delay: .4s;
}

.top_flow .flow_box li:nth-child(4n) {
    animation-delay: .6s;
}

.top_flow .flow_box li .label {
    text-align: center;
    font-size: 20px;
    color: #fff;
    padding: 5px 0;
    clip-path: polygon(0% 0%, 92% 0, 100% 50%, 92% 100%, 0% 100%);
    margin-bottom: 20px;
}

.top_flow .flow_box li .label .num {
    font-size: 150%;
    padding-left: 5px;
}

.top_flow .flow_box li .label.step1 {
    background: #1B52B9;
}

.top_flow .flow_box li .label.step2 {
    background: #1A49A2;
}

.top_flow .flow_box li .label.step3 {
    background: #3D46BF;
}

.top_flow .flow_box li .label.step4 {
    background: #1A23A1;
}

.top_flow .flow_box li .img {
    text-align: center;
    margin-bottom: 10px;
}

.top_flow .flow_box li .text_box {
    text-align: center;
}

.top_flow .flow_box li .text_box .title {
    color: #1A23A1;
    font-size: 24px;
    letter-spacing: .04em;
    font-weight: 700;
    margin-bottom: 10px;
}

.top_flow .flow_box li .text_box .text {
    color: #454545;
    font-size: 14px;
    letter-spacing: .08em;
    font-weight: 500;
    line-height: 1.5;
}

.top_flow .flow_box li .text_box .text.note {
    color: #C11111;
    margin-top: 10px;
}

/* よくある質問 */
.top_faq {
    background: #FCFCFC;
    padding: 90px 0 120px;
}

.top_faq .common_title {
    margin-bottom: 20px;
}

.top_faq .faq_list dl+dl {
    margin-top: 15px;
}

.top_faq .faq_list dl .closeBtnHat {
    display: none;
}

.top_faq .faq_list dl dt {
    background: #EDF8FE;
    display: flex;
    align-items: center;
    padding: 10px 40px 10px 50px;
    position: relative;
}

.top_faq .faq_list dl .en {
    font-size: 40px;
    line-height: 1;
    margin-right: 20px;
    flex-shrink: 0;
}

.top_faq .faq_list dl .en.question {
    color: #1A23A1;
}

.top_faq .faq_list dl .en.answer {
    color: #FACA00;
}

.top_faq .faq_list dl dt .text {
    font-size: 18px;
    letter-spacing: .08em;
    font-weight: 700;
    width: 92%;
}

.top_faq .faq_list dl dt::after {
    content: "";
    width: 15px;
    aspect-ratio: 1/1;
    border: 2px solid #333;
    border-width: 2px 2px 0 0;
    rotate: 135deg;
    position: absolute;
    right: 40px;
    top: 20px;
    transition: .6s;
}

.top_faq .faq_list dl dt.nowOpen::after {
    rotate: -45deg;
    top: 28px;
}

.top_faq .faq_list dl dd {
    border: 3px solid #EDF8FE;
    margin-top: 5px;
    padding: 15px 40px 15px 50px;
    display: flex;
}

.top_faq .faq_list dl dd .text {
    font-weight: 500;
    letter-spacing: .04em;
    line-height: 1.5;
}

/* お問い合わせ */
.top_contact {
    background: #EDF8FE;
    padding: 110px 0;
}

.top_contact .top_box {
    margin-bottom: 55px;
}

.top_contact .common_title {
    margin-bottom: 25px;
}

.top_contact .top_box .sub_text {
    color: #454545;
    text-align: center;
    font-weight: 500;
    letter-spacing: .04em;
    line-height: 1.5;
    margin-bottom: 25px;
}

.top_contact .top_box .cta_box {
    display: flex;
    justify-content: center;
    gap: 0 20px;
}

.top_contact .top_box .cta_box .item {
    width: 400px;
    box-shadow: 0 1px 2px rgba(51, 51, 51, 0.2);
    background: #fff;
    padding: 20px 0;
    text-align: center;
}

.top_contact .top_box .cta_box .item .title {
    color: #454545;
    font-size: 18px;
    letter-spacing: .04em;
    font-weight: 900;
    margin-bottom: 10px;
}

.top_contact .top_box .cta_box .item .num {
    font-size: 40px;
    line-height: 1;
}

.top_contact .top_box .cta_box .item .hours {
    font-size: 14px;
    letter-spacing: .04em;
    font-weight: 700;
}

.top_contact .top_box .cta_box .item .line_btn a {
    display: flex;
    align-items: center;
    background: #06C755;
    width: 280px;
    margin: 0 auto;
    line-height: 60px;
    gap: 0 20px;
    padding: 0 20px;
    border-radius: 4px;
}

.top_contact .top_box .cta_box .item .line_btn a .icon {
    line-height: 1;
    width: 40px;
}

.top_contact .top_box .cta_box .item .line_btn a .text {
    color: #fff;
    font-size: 18px;
    letter-spacing: .04em;
    font-weight: 900;
}

.top_contact .contact_form {
    margin-bottom: 50px;
}

.top_contact .contact_form dl {
    display: flex;
    align-items: baseline;
    gap: 0 70px;
}

.top_contact .contact_form dl+dl {
    margin-top: 15px;
}

.top_contact .contact_form dl dd {
    flex-shrink: 0;
    width: 800px;
}

.top_contact .contact_form dl dt {
    width: 100%;
}

.top_contact .contact_form dl dt .inbox {
    display: flex;
    align-items: center;
    gap: 0 30px;
}

.top_contact .contact_form dl dt .inbox .label {
    color: #fff;
    letter-spacing: .04em;
    font-weight: 700;
    line-height: 35px;
    padding: 0 25px;
}

.top_contact .contact_form dl dt .inbox .label.required {
    background: #1A23A1;
}

.top_contact .contact_form dl dt .inbox .text {
    font-size: 18px;
    letter-spacing: .04em;
    font-weight: 700;
}

.top_contact .contact_form dl dd input[type="text"] {
    width: 100%;
    background: #fff;
    border: 1px solid #A9BED5;
    line-height: 50px;
    padding: 0 30px;
}

.top_contact .contact_form dl dd textarea {
    width: 100%;
    background: #fff;
    border: 1px solid #A9BED5;
    padding: 10px 30px;
}

.top_contact .contact_form dl dd .placeholder {
    color: #AAA;
    letter-spacing: .04em;
    font-weight: 500;
    padding-left: 30px;
    display: block;
    margin-top: 10px;
}

.top_contact .contact_form dl dd .note {
    color: #C11111;
    display: block;
    text-align: right;
    letter-spacing: .04em;
    font-weight: 500;
    margin-top: 10px;
}

.top_contact .contact_form dl.content {
    margin-top: 60px;
    align-items: flex-start;
}

.top_contact .contact_form dl.type {
    margin-top: 30px;
}

.top_contact .contact_form dl dd .radio_btns .horizontal-item {
    margin: 0 40px 0 0;
}

.top_contact .contact_form dl dd .radio_btns .mwform-radio-field-text {
    letter-spacing: .04em;
    font-weight: 700;
    position: relative;
    padding-left: 40px;
}

.top_contact .contact_form dl dd .radio_btns label {
    cursor: pointer;
}

.top_contact .contact_form dl dd .radio_btns input {
    display: none;
}

.top_contact .contact_form dl dd .radio_btns .mwform-radio-field-text::before {
    content: "";
    width: 22px;
    aspect-ratio: 1/1;
    background: #DBDBDB;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 2px;
}

.top_contact .contact_form dl dd .radio_btns .mwform-radio-field-text::after {
    content: "";
    width: 14px;
    aspect-ratio: 1/1;
    background: #1B52B9;
    border-radius: 50%;
    position: absolute;
    left: 4px;
    top: 6px;
    transition: .3s;
    opacity: 0;
}

.top_contact .contact_form dl dd .radio_btns input:checked+.mwform-radio-field-text::after {
    opacity: 1;
}

.top_contact .form_box .btn_box {
    display: flex;
    justify-content: center;
    gap: 0 30px;
}

.top_contact .form_box .btn_box .common_page_btn {
    display: block;
    width: 370px;
    line-height: 80px;
    text-align: center;
    border-radius: 4px;
    color: #fff;
    font-size: 20px;
    letter-spacing: .04em;
    font-weight: 900;
    background-image: url(/wp-content/themes/child/image/icon_arrow_white.svg);
    background-repeat: no-repeat;
    background-position: right 30px center;
    background-size: 15px;
}

.top_contact .form_box .btn_box .common_page_btn[value="confirm"] {
    background-color: #F5B524;
}

.top_contact .form_box .btn_box .common_page_btn[value="send"] {
    background-color: #F5B524;
}

.top_contact .form_box .btn_box .common_page_btn[value="back"] {
    background-color: #333;
}

.top_contact .mw_wp_form_confirm .contact_form dl dd .placeholder {
    display: none;
}

.top_contact .mw_wp_form_confirm .contact_form dl dd .note {
    display: none;
}

.top_contact .mw_wp_form_confirm .contact_form dl.content {
    margin-top: 15px;
}

.top_contact .mw_wp_form_confirm .contact_form dl.type {
    margin-top: 15px;
}

.top_contact .thanks_textArea .name {
    font-size: 16px;
    line-height: 2;
    text-align: center;
    margin-bottom: 20px;
}

.top_contact .thanks_textArea .contact_text {
    margin: 0 auto 50px;
    width: 62%;
}

.top_contact .thanks_textArea .ichiran_link {
    background-color: #F5B524;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    color: #fff;
    display: block;
    width: 370px;
    line-height: 80px;
    border-radius: 4px;
    font-size: 20px;
    transition: .3s;
    margin: 0 auto;
    text-decoration: none;
    font-weight: 900;
    letter-spacing: .04em;
    text-align: center;
    background-image: url(/wp-content/themes/child/image/icon_arrow_white.svg);
    background-repeat: no-repeat;
    background-position: right 30px center;
    background-size: 15px;
}

.top_contact .thanks_textArea .ichiran_link:hover {
    opacity: .8;
}

.top_contact .thanks_textArea .contact_text .space {
    display: block;
}

.top_contact .thanks_textArea .contact_text .space {
    display: block;
    margin-top: 10px;
}

/* フッター */
.top_footer {
    padding: 80px 0 25px;
    text-align: center;
}

.top_footer .logo {
    margin-bottom: 20px;
}

.top_footer .name {
    font-size: 20px;
    letter-spacing: .04em;
    font-weight: 700;
    margin-bottom: 10px;
}

.top_footer .name .large {
    font-size: 120%;
    padding-left: 5px;
}

.top_footer .addr {
    letter-spacing: .04em;
    color: #454545;
    margin-bottom: 15px;
}

.top_footer .addr .num {
    display: block;
    letter-spacing: 0;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 500;
}

.top_footer .link_box {
    margin-bottom: 60px;
}

.top_footer .link_box ul {
    display: flex;
    justify-content: center;
}

.top_footer .link_box li {
    position: relative;
}

.top_footer .link_box li+li {
    padding-left: 25px;
    margin-left: 25px;
}

.top_footer .link_box li a {
    display: flex;
    color: #454545;
    font-size: 14px;
    letter-spacing: .04em;
    font-weight: 700;
    align-items: center;
    gap: 0 10px;
}

.top_footer .link_box li a::after {
    content: "";
    background: url(/wp-content/themes/child/image/icon_box.svg) no-repeat;
    background-size: contain;
    width: 13px;
    aspect-ratio: 1/1;
    display: block;
}

.top_footer .link_box li+li::before {
    content: "";
    width: 1px;
    height: 20px;
    background: #707070;
    position: absolute;
    left: 0;
    top: 50%;
    translate: 0 -50%;
}

.top_footer .copyright small {
    font-size: 12px;
    letter-spacing: .04em;
}

/* ホバーアニメーション */
@media (hover: hover) {
    .hd_contents .right_box .btn_box .hd_btn.hope a:hover {
        background-color: rgb(250, 204, 48);
    }

    .hd_contents .right_box .btn_box .hd_btn.online a:hover {
        background-color: rgb(47, 102, 205);
    }

    .hd_contents .right_box .btn_box .hd_btn.line a:hover {
        background-color: rgb(26, 219, 105);
    }

    .hd_contents .right_box nav ul li a:hover {
        color: #1A23A1;
    }

    .hd_contents .right_box nav ul li a:hover::after {
        transform: scale(1, 1);
    }

    .common_btn_box .common_site_btn a:hover {
        transform: translateY(5px);
    }

    .common_btn_box .common_site_btn.online a:hover {
        box-shadow: 0 0 0 #0B2B67;
    }

    .common_btn_box .common_site_btn.line a:hover {
        box-shadow: 0 0 0 #006A2B;
    }
}


@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;
        padding-top: 55px;
    }

    /* SPヘッダー */
    #sp_header {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        background: #fff;
        box-shadow: 0 1px 2px rgb(0, 0, 0, .16);
        z-index: 100;
        height: 90px;
    }

    #sp_header .logo {
        position: absolute;
        left: 20px;
        top: 23px;
        line-height: 0;
    }

    #sp_header .logo img {
        height: 45px;
    }

    #sp_header .icon {
        color: #000;
        position: absolute;
    }

    #sp_header .mail {
        right: 70px;
        top: 13px;
        font-size: 25px;
    }

    #sp_header .tel {
        right: 110px;
        top: 15px;
        font-size: 20px;
    }


    /* SP 共通バナー */
    .common_banner .img_box .wrap {
        width: 100%;
    }

    .common_banner .img_box .wrap .inner .img.men {
        display: none;
    }

    .common_banner .img_box .wrap .inner {
        padding: 8vw 0 35vw;
    }

    .common_banner .img_box .wrap .inner .img.font {
        width: 100%;
    }

    .common_banner .img_box .wrap .inner::before {
        width: 36vw;
        right: calc(50% - 50vw);
        top: -0.5vw;
    }

    .common_banner .content {
        width: 100%;
        max-width: 90%;
        bottom: -56vw;
    }

    .common_banner .content .wrap {
        width: 100%;
        max-width: 100%;
        padding: 5vw 5vw 7vw;
        display: block;
    }

    .common_banner .content .wrap .tel_box {
        text-align: center;
    }

    .common_banner .content .wrap .tel_box .sub_ttl {
        padding: 0;
        margin: 0 0 2vw;
    }

    .common_banner .content .wrap .tel_box .tel .number {
        font-size: 8vw;
        gap: 0 2vw;
        justify-content: center;
    }

    .common_banner .content .wrap .tel_box .tel .number::before {
        width: 11vw;
    }

    .common_banner .content .wrap .tel_box .tel .time {
        padding: 0;
        font-size: 3.5vw;
    }

    .common_banner .content .wrap .btn_box {
        border-width: 2px 0 0;
        padding: 5vw 0 0;
        margin-top: 5vw;
    }

    .common_banner .content .wrap .sub_ttl {
        font-size: 3.8vw;
        text-align: center;
    }

    .common_banner .content .wrap .btn_box .sub_ttl {
        margin-bottom: 3vw;
    }

    .common_banner .content .wrap .btn_box .common_btn_box {
        gap: 4vw 0;
    }

    .common_banner .content .wrap .btn_box .common_btn_box .common_site_btn.online a {
        width: 100%;
    }


    .common_banner .content .wrap .btn_box .common_btn_box .common_site_btn a .text {
        font-size: 4vw;
    }

    .common_banner .content .wrap .btn_box .common_btn_box .common_site_btn.online a .img {
        margin: 0 4vw 0 0;
    }

    .common_banner .content .wrap .btn_box .common_btn_box .common_site_btn a {
        padding: 0 6.5vw;
    }

    .common_banner .content .wrap .btn_box .common_btn_box .common_site_btn.line a {
        width: 100%;
    }

    .common_reason_banner .wrap .img {
        display: none;
    }

    .common_reason_banner .wrap .inner .ttl {
        font-size: 4vw;
        padding: 5vw 0;
        text-align: center;
    }

    .common_reason_banner .wrap .inner .ttl .color {
        font-size: 6vw;
        line-height: 1.7;
    }

    .common_reason_banner .wrap .inner .ttl .large {
        font-size: 4.5vw;
    }

    /* SP メインビジュアル */
    #top_main_visual::before {
        background-position: left;
    }

    #top_main_visual .wrap {
        width: 87%;
    }

    #top_main_visual .content {
        padding: 18vw 0 15vw;
    }

    #top_main_visual .content .cta_box .img {
        width: 31.8vw;
        position: relative;
        right: 0;
    }

    #top_main_visual .content .cta_box {
        display: grid;
        grid-template-columns: 36% 59%;
        gap: 0 5%;
        margin-bottom: 5vw;
    }

    #top_main_visual .content .cta_box .text {
        font-size: 5vw;
        padding: 3vw 0 0;
        line-height: 1.5;
        letter-spacing: .07em;
    }

    #top_main_visual .content .cta_box .text .large {
        font-size: 7vw;
        letter-spacing: .09em;
    }

    #top_main_visual .content .cta_box .text .medium {
        font-size: 5vw;
        letter-spacing: .03em;
    }

    #top_main_visual .content .cta_box .text .semi_large {
        font-size: 6.5vw;
    }

    #top_main_visual .img_men {
        display: none;
    }

    #top_main_visual .content .ttl_box .read {
        font-size: 4.5vw;
    }

    #top_main_visual .content .ttl_box .ttl {
        font-size: 9vw;
        line-height: 1.6;
    }

    #top_main_visual .content .ttl_box .ttl .medium {
        font-size: 11vw;
        line-height: 1.3;
    }

    #top_main_visual .content .ttl_box .ttl .small {
        font-size: 8vw;
    }

    #top_main_visual .content .ttl_box .ttl .semi_large {
        font-size: 11vw;
    }

    #top_main_visual .content .ttl_box .ttl .color {
        font-size: 12vw;
        line-height: 1.3;
    }

    #top_main_visual .content .ttl_box .ttl .dot {
        padding-top: 0;
    }

    #top_main_visual .content .ttl_box .ttl .dot::before {
        display: none;
    }

    #top_main_visual .content .ttl_box .ttl .bg_color {
        padding: 0 2vw;
        margin: 0;
        line-height: 1.8;
    }

    #top_main_visual .content .btn_box .content_text {
        font-size: 4vw;
        text-align: center;
        margin-bottom: 4vw;
    }

    .common_btn_box {
        display: grid;
        gap: 4vw 0;
    }

    .common_btn_box .common_site_btn.online a {
        width: 100%;
        padding: 0 7.5vw;
    }

    .common_btn_box .common_site_btn a {
        line-height: 14vw;
        border-radius: 7vw;
    }

    .common_btn_box .common_site_btn a .text {
        font-size: 4vw;
    }

    .common_btn_box .common_site_btn a .arrow {
        width: 3.5vw;
        border-width: 3px 3px 0 0;
    }

    .common_btn_box .common_site_btn.line a {
        width: 100%;
        padding: 0 7.5vw 0 6vw;
    }

    .common_btn_box .common_site_btn.online a .img {
        margin: 0 4vw 0 0;
        width: 6.5vw;
    }

    .common_btn_box .common_site_btn.line a .img {
        margin: 0 2vw 0 0;
        width: 9.2vw;
    }

    #top_main_visual .content .ttl_box {
        margin-bottom: 6vw;
    }

    /* SP 全力サポート */
    #top_support .wrap {
        width: 87%;
    }

    #top_support .content {
        padding: 10vw 0;
    }

    #top_support .content .ttl {
        font-size: 4.5vw;
        line-height: 0.9;
    }

    #top_support .content .ttl .bg_color {
        font-size: 4.5vw;
        padding: 2.5vw 3vw 2.5vw 2.5vw;
        margin: 0 -2vw 0 0;
        top: 0;
    }

    #top_support .content .ttl .large {
        font-size: 38vw;
    }

    #top_support .content .ttl .hel_font.color {
        margin: 0;
        top: 0;
    }

    #top_support .content .ttl .semi_large {
        font-size: 12vw;
        margin: 0;
    }

    #top_support .content .ttl .medium {
        font-size: 8vw;
        margin: 0;
    }

    #top_support .content .ttl .bar::after {
        height: 4.5vw;
        left: 0;
    }

    .star_box {
        position: static;
        gap: 0 3vw;
        margin-top: 8vw;
    }

    #top_support .content .ttl .bear::before {
        width: 22vw;
        bottom: 2vw;
        right: -36vw;
    }

    #top_worries .ttl_box {
        padding: 5vw 0;
    }

    #top_worries .ttl_box .ttl {
        font-size: 4vw;
        line-height: 1.7;
    }

    #top_worries .ttl_box .ttl .small {
        font-size: 3.7vw;
    }

    #top_worries .ttl_box .ttl .large {
        font-size: 6vw;
    }

    #top_worries .content {
        padding: 10vw 0 18vw;
    }

    #top_worries .content .list {
        margin-bottom: 5vw;
    }

    #top_worries .content li+li {
        margin-top: 3vw;
    }

    #top_worries .content li {
        gap: 0 3vw;
    }

    #top_worries .content li::before {
        flex-shrink: 0;
        width: 7vw;
        height: 7vw;
    }

    #top_worries .content li .text {
        font-size: 3.7vw;
        line-height: 1.5;
    }

    #top_worries .content li .text .large {
        font-size: 5vw;
    }

    #top_worries .content li .caution::after {
        font-size: 3.8vw;
        top: -1vw;
        right: -3vw;
    }

    #top_worries .content .text_box .text {
        font-size: 3.5vw;
    }

    #top_worries .content .text_box .text+.text {
        margin-top: 3vw;
    }

    #top_worries .content::after {
        content: none;
    }

    #top_worries::after {
        width: 45%;
        bottom: -5vw;
    }

    #top_points {
        padding: 15vw 0 25vw;
    }

    #top_points .content .ttl_box {
        margin-bottom: 9vw;
    }

    #top_points .content .ttl_box .ttl {
        font-size: 4vw;
        margin: 0 0 4vw;
    }

    #top_points .content .ttl_box .ttl .bg_color {
        padding: 2vw 2vw 1.5vw;
        margin: 0;
    }

    #top_points .content .ttl_box .ttl .bg_color .large {
        font-size: 6vw;
    }

    #top_points .content .ttl_box .text {
        font-size: 4.5vw;
        line-height: 1.4;
    }

    #top_points .content .ttl_box .text .large {
        font-size: 5.5vw;
    }

    #top_points .content .ttl_box .bar::after {
        width: 80%;
        height: 3vw;
        left: 50%;
        translate: -50% 0;
    }

    #top_points .content h3.ttl {
        font-size: 6vw;
        margin: 0 0 7vw;
        padding: 0 0 0 15vw;
        line-height: 0.5;
    }

    #top_points .content h3.ttl .small {
        font-size: 3.5vw;
        position: static;
    }

    #top_points .content h3.ttl .large {
        font-size: 15vw;
        margin: 0 1vw;
    }

    #top_points .content h3.ttl::before {
        width: 12vw;
        top: 50%;
        translate: 0 -50%;
    }

    #top_points .content .list {
        margin-bottom: 7vw;
    }

    #top_points .content .list ul {
        grid-template-columns: repeat(1, 1fr);
        gap: 5vw 0;
    }

    #top_points .content .list li {
        animation-delay: 0s !important;
    }

    #top_points .content .list li .img {
        height: 45vw;
    }

    #top_points .content .list li .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    #top_points .content .list li .text_box {
        padding: 8vw 5vw 5vw;
    }

    #top_points .content .list li .text_box .count {
        width: 12vw;
        font-size: 6vw;
        line-height: 1;
        display: flex;
        justify-content: center;
        align-items: center;
        top: -6vw;
    }

    #top_points .content .list li .text {
        font-size: 3.7vw;
    }

    #top_points .content .list li .text .large {
        font-size: 4.5vw;
    }

    #top_points .content .tri {
        width: 50%;
        margin: 0 auto 7vw;
    }

    #top_points .content .graph_box {
        display: block;
        position: relative;
    }

    #top_points .content .graph_box .text_box {
        margin-bottom: 4vw;
        text-align: center;
    }

    #top_points .content .graph_box .text_box .text {
        font-size: 5vw;
    }

    #top_points .content .graph_box .text_box .text .bg_color {
        font-size: 6vw;
        margin: 0;
        padding: 0.5vw 2vw;
    }

    #top_points .content .graph_box .text_box .text+.text {
        font-size: 5vw;
        margin-top: 4vw;
        line-height: 1.3;
        text-align: left;
    }

    #top_points .content .graph_box .text_box .text+.text .color {
        font-size: 11vw;
    }

    #top_points .content .graph_box .text_box .text+.text .bar .small {
        font-size: 8vw;
    }

    #top_points .content .graph_box .text_box .text+.text .large {
        font-size: 5.5vw;
    }

    .graph_box .img {
        width: 53%;
        position: absolute;
        bottom: -16vw;
        right: 0;
    }

    #top_points .content .graph_box .text_box .text+.text .bar::after {
        width: 100%;
        bottom: 2vw;
    }

    #top_feature .wrap .content {
        padding: 65vw 0 15vw;
    }

    #top_feature .wrap .content .ttl_box {
        margin: 0 0 5vw;
    }

    #top_feature .wrap .content .ttl_box .inner {
        gap: 0 4vw;
        align-items: flex-end;
        margin-bottom: 3vw;
    }

    #top_feature .wrap .content .ttl_box .inner .img {
        flex-shrink: 0;
        width: 15%;
    }

    #top_feature .wrap .content .ttl_box .inner .ttl {
        font-size: 5vw;
    }

    #top_feature .wrap .content .ttl_box .ttl .small {
        font-size: 4vw;
    }

    #top_feature .wrap .content .ttl_box .ttl .color {
        font-size: 12vw;
    }

    #top_feature .wrap .content .ttl_box .ttl .large {
        font-size: 5.5vw;
    }

    #top_feature .wrap .content .ttl_box .text {
        font-size: 3.7vw;
    }

    #top_feature .wrap .content .list ul {
        grid-template-columns: repeat(1, 1fr);
        gap: 5vw 0;
    }

    #top_feature .wrap .content .list li {
        animation-delay: 0s !important;
    }

    #top_feature .wrap .content .list li .ttl {
        font-size: 4.5vw;
        line-height: 1.7;
        margin-bottom: 1vw;
    }

    #top_feature .wrap .content .list li .ttl .color {
        font-size: 6vw;
    }

    #top_feature .wrap .content .list li .img {
        width: 100%;
        margin-bottom: 3vw;
    }

    #top_feature .wrap .content .list li .text {
        font-size: 3.7vw;
    }

    #top_feature .wrap .content .list li .text .color {
        font-size: 4.5vw;
    }

    #top_feature .wrap .content .list li .ttl .en_font .small {
        font-size: 5vw;
    }

    #top_success {
        padding: 20vw 0;
        width: 100%;
        max-width: 90%;
    }

    #top_success .inner {
        display: block;
    }

    #top_success .inner .img {
        width: 100%;
    }

    #top_success .inner .content {
        width: 100%;
        padding: 10vw 5vw 7vw;
    }

    #top_success .inner .img::before {
        width: 15vw;
        top: -5vw;
        left: -5vw;
    }

    #top_success .inner .content .ttl {
        width: 70%;
        margin: 0 auto;
    }

    #top_success .inner .content .ttl::before {
        width: 65vw;
        top: -6vw;
        right: -31vw;
    }

    #top_success .inner .content .ttl::after {
        width: 27vw;
        top: -2vw;
    }

    #top_success .inner .content .text_box {
        margin-top: 5vw;
    }

    #top_success .inner .content .text_box .text {
        font-size: 3.7vw;
    }

    #top_success .inner .content .btn_box {
        margin: 5vw auto 0;
        width: 100%;
        padding: 3.5vw 7.5vw;
    }

    #top_success .inner .content .btn_box .btn_text {
        font-size: 4vw;
        line-height: 1.7;
    }

    #top_success .inner .content .btn_box .arrow {
        width: 3vw;
        height: 3vw;
    }

    #top_success .inner .content::after {
        width: 15vw;
        bottom: -5vw;
        right: -5vw;
    }

    /* 共通部分 */
    .common_title .jp {
        font-size: 6.5vw;
    }

    /* 売上1億円 */
    .top_sales .banner_box {
        padding: 8vw 0;
        background-position: center;
    }

    .top_sales .banner_box .title_box .text {
        font-size: 4.2vw;
        margin-bottom: 3vw;
    }

    .top_sales .banner_box .title_box .title {
        width: 80%;
    }

    .top_sales .cont {
        padding: 0 0 15vw;
    }

    .top_sales .head_box {
        padding: 4vw 0 7vw;
        margin-bottom: 7vw;
        clip-path: polygon(0 0, 100% 0%, 100% 85%, 50% 100%, 0 85%);
    }

    .top_sales .head_box .text {
        font-size: 4vw;
    }

    .top_sales .head_box .text .color {
        font-size: 6vw;
    }

    .top_sales .inner .detail {
        margin-bottom: 7vw;
    }

    .top_sales .inner .detail .title {
        font-size: 4.5vw;
        line-height: 1.7;
        margin-bottom: 4vw;
    }

    .top_sales .inner .detail .title .color {
        font-size: 6vw;
        padding: 0 2vw 0 3vw;
        margin-right: 1vw;
    }

    .top_sales .inner .detail .inbox {
        padding: 0;
        display: block;
    }

    .top_sales .inner .detail .inbox .img {
        width: 70%;
        margin: 0 auto;
    }

    .top_sales .inner .detail .inbox .text_box {
        margin-bottom: 5vw;
    }

    .top_sales .inner .detail .inbox .text_box .list {
        margin-bottom: 4vw;
    }

    .top_sales .inner .detail .inbox .text_box .list li+li {
        margin-top: 2vw;
    }

    .top_sales .inner .detail .inbox .text_box .list li {
        font-size: 4.5vw;
        gap: 0 3vw;
    }

    .top_sales .inner .detail .inbox .text_box .list li::before {
        width: 7vw;
    }

    .top_sales .inner .detail .inbox .text_box .text {
        font-size: 3.8vw;
    }

    .top_sales .inner .comment_box {
        display: block;
        padding: 5vw;
    }

    .top_sales .inner .comment_box .img_box {
        width: 100%;
        margin-bottom: 3vw;
    }

    .top_sales .inner .comment_box .img_box .name {
        display: none;
    }

    .top_sales .inner .comment_box .img_box .img {
        width: 45%;
        margin: 0 auto;
        padding: 2vw 0 0;
        border-width: 3px;
    }

    .top_sales .inner .comment_box .text_box .label {
        font-size: 4vw;
        line-height: 1.5;
        display: block;
        padding: 2vw 5vw;
        text-align: center;
        border-radius: 50px;
        margin-bottom: 5vw;
    }

    .top_sales .inner .comment_box .text_box .comment {
        font-size: 4.5vw;
        line-height: 1.5;
        text-align: justify;
    }

    .top_sales .inner .comment_box .text_box .comment .color {
        font-size: 6vw;
    }

    /* 立ち上げサポート支援 */
    .top_start_support {
        padding: 67vw 0 15vw;
    }

    .top_start_support .common_title {
        margin-bottom: 4vw;
    }

    .top_start_support .sub_text {
        font-size: 3.5vw;
        text-align: justify;
        line-height: 1.7;
        margin-bottom: 6vw;
    }

    .top_start_support .support_list {
        margin-bottom: 4vw;
    }

    .top_start_support .support_list ul {
        grid-template-columns: repeat(1, 1fr);
        gap: 0;
    }

    .top_start_support .support_list li {
        animation-delay: 0s !important;
    }

    .top_start_support .support_list li+li {
        margin-top: 5vw;
    }

    .top_start_support .support_list li .num {
        font-size: 10vw;
    }

    .top_start_support .support_list li .text_box {
        padding: 9vw 5vw 5vw;
    }

    .top_start_support .support_list li .text_box .title {
        font-size: 4.5vw;
        line-height: 1.7;
        padding: 1vw 3vw;
        top: -5vw;
    }

    .top_start_support .support_list li .text_box .title .en {
        font-size: 5.5vw;
    }

    .top_start_support .support_list li .text_box .title .small {
        font-size: 3.5vw;
        vertical-align: text-bottom;
    }

    .top_start_support .support_list li .text_box .text {
        font-size: 3.7vw;
    }

    .top_start_support .support_list li .text_box .kome {
        font-size: 3.5vw;
        right: 2vw;
        bottom: 0.5vw;
    }

    .top_start_support .note {
        font-size: 3.7vw;
        text-align: justify;
        line-height: 1.3;
    }

    .top_start_support .note .num {
        font-size: 6vw;
    }

    .top_start_support .support_list.slider .slick-arrow {
        width: 12vw;
        aspect-ratio: 1/1;
        background: #1A23A1;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 45%;
        z-index: 1;
    }

    .top_start_support .support_list.slider .slick-arrow::before {
        content: "";
        width: 3vw;
        aspect-ratio: 1/1;
        border: 2px solid #fff;
        border-width: 2px 2px 0 0;
        rotate: 45deg;
    }

    .top_start_support .support_list.slider .slick-arrow.slick_prev::before {
        border-width: 0 0 2px 2px;
    }

    .top_start_support .support_list.slider .slick-arrow.slick_prev {
        left: -5vw;
    }

    .top_start_support .support_list.slider .slick-arrow.slick_next {
        right: -5vw;
    }

    .top_start_support .support_list.slider .slick-dots {
        display: block;
        position: static;
        margin-top: 2vw;
    }

    .top_start_support .support_list.slider .slick-dots li {
        width: 4vw;
        height: 4vw;
        margin: 0 2vw;
        background: transparent;
        box-shadow: none;
    }

    .top_start_support .support_list.slider .slick-dots li+li {
        margin: 0 2vw;
    }

    .top_start_support .support_list.slider .slick-dots li button {
        width: 100%;
        height: 100%;
        background: #ccc;
        border-radius: 50%;
        transition: .3s;
    }

    .top_start_support .support_list.slider .slick-dots li button::before {
        content: none;
    }

    .top_start_support .support_list.slider .slick-dots li.slick-active button {
        background: #1A23A1;
    }

    .top_start_support .support_list.slider .slick-dotted.slick-slider {
        margin: 0;
    }

    /* 加盟店からの声 */
    .top_voice {
        padding: 15vw 0 25vw;
    }

    .top_voice .top_box {
        margin-bottom: 5vw;
        gap: 0 4vw;
    }

    .top_voice .top_box .img {
        width: 20%;
    }

    .top_voice .top_box .title_box .title {
        font-size: 6vw;
    }

    .top_voice .top_box .title_box .title .color::after {
        width: 6vw;
        right: -4.5vw;
        top: -1vw;
    }

    .top_voice .top_box .title_box .sub_text {
        font-size: 3.8vw;
    }

    .top_voice .cont {
        padding: 5vw;
        flex-direction: column-reverse;
        gap: 5vw 0;
    }

    .top_voice .man_img {
        display: none;
    }

    .top_voice .img_box {
        width: 100%;
        flex-direction: row;
        gap: 0 3vw;
    }

    .top_voice .text_box .top {
        display: block;
        margin-bottom: 3vw;
    }

    .top_voice .text_box .top .company {
        font-size: 4vw;
        margin-bottom: 1vw;
    }

    .top_voice .text_box .top .name {
        font-size: 3.5vw;
    }

    .top_voice .text_box .title {
        font-size: 4.5vw;
        margin-bottom: 3vw;
    }

    .top_voice .text_box .comment {
        font-size: 3.5vw;
    }

    .top_voice .label {
        width: 75%;
        right: -5vw;
        bottom: -8vw;
        font-size: 5vw;
        padding: 1.5vw 0 0;
    }

    /* 自社でブランディング強化 */
    .top_branding {
        padding: 68vw 0 20vw;
    }

    .top_branding .top_box {
        margin-bottom: 7vw;
    }

    .top_branding .top_box .top_title {
        width: 90%;
        margin: 0 auto 7vw;
    }

    .top_branding .top_box .inbox {
        display: block;
        margin-bottom: 6vw;
    }

    .top_branding .top_box .inbox .img {
        width: 50%;
        margin: 0 auto 5vw;
    }

    .top_branding .top_box .inbox .text_box .label {
        font-size: 4.2vw;
        line-height: 1.7;
        padding: 1vw 4vw;
        margin-bottom: 2vw;
    }

    .top_branding .top_box .inbox .text_box .title {
        font-size: 5vw;
        margin-bottom: 5vw;
    }

    .top_branding .top_box .inbox .text_box .text {
        font-size: 3.8vw;
        margin-bottom: 4vw;
    }

    .top_branding .top_box .inbox .text_box .item {
        font-size: 3.8vw;
    }

    .top_branding .top_box .catch .text {
        font-size: 4.2vw;
        line-height: 1.5;
    }

    .top_branding .top_box .catch .text .color {
        font-size: 5.3vw;
    }

    .top_branding .top_box .catch .text::before,
    .top_branding .top_box .catch .text::after {
        width: 8vw;
        height: 22vw;
    }

    .top_branding .top_box .catch .text::before {
        left: -12vw;
    }

    .top_branding .top_box .catch .text::after {
        right: -12vw;
    }

    .top_branding .sample_list {
        margin-bottom: 15vw;
    }

    .top_branding .sample_list ul {
        grid-template-columns: repeat(2, 1fr);
        gap: 2vw;
    }

    .top_branding .sample_list li {
        padding: 1.5vw;
        animation-delay: 0s !important;
    }

    .top_branding .supply_box {
        padding: 2vw 5vw 5vw;
    }

    .top_branding .supply_box .label {
        font-size: 3.8vw;
        width: 100%;
        padding: 2vw 0 0;
        margin: -6vw auto 0;
    }

    .top_branding .supply_box .title_box {
        margin-bottom: 5vw;
    }

    .top_branding .supply_box .title_box .title {
        font-size: 6.5vw;
        margin-bottom: 1vw;
    }

    .top_branding .supply_box .title_box .sub_text {
        font-size: 3.8vw;
    }

    .top_branding .supply_box .package_list_img {
        margin-bottom: 4vw;
        width: 100%;
        overflow-x: scroll;
    }

    .top_branding .supply_box .package_list_img img {
        width: 241vw;
        max-width: unset;
    }

    .top_branding .supply_box .list {
        margin-bottom: 4vw;
    }

    .top_branding .supply_box .list ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 3vw;
    }

    .top_branding .supply_box .list li .img {
        margin-bottom: 2vw;
    }

    .top_branding .supply_box .list li .name {
        font-size: 3.8vw;
    }

    .top_branding .supply_box .note {
        font-size: 3.5vw;
    }

    /* 加盟の流れ */
    .top_flow {
        padding: 15vw 0;
    }

    .top_flow .common_title {
        margin-bottom: 5vw;
    }

    .top_flow .flow_box ul {
        overflow: scroll;
    }

    .top_flow .flow_box li {
        min-width: 65vw;
        width: 65vw;
        animation-delay: 0s !important;
    }

    .top_flow .flow_box li .label {
        font-size: 4vw;
        padding: 1vw 0;
        margin-bottom: 4vw;
    }

    .top_flow .flow_box li .label .num {
        padding-left: 1vw;
    }

    .top_flow .flow_box li .img {
        width: 35%;
        margin: 0 auto 3vw;
    }

    .top_flow .flow_box li .text_box .title {
        font-size: 4.5vw;
        margin-bottom: 2vw;
    }

    .top_flow .flow_box li .text_box .text {
        font-size: 3.7vw;
    }

    .top_flow .flow_box li .text_box .text.note {
        margin-top: 2vw;
    }

    /* よくある質問 */
    .top_faq {
        padding: 15vw 0;
    }

    .top_faq .common_title {
        margin-bottom: 5vw;
    }

    .top_faq .faq_list dl+dl {
        margin-top: 3vw;
    }

    .top_faq .faq_list dl dt {
        padding: 3vw 8vw 3vw 5vw;
    }

    .top_faq .faq_list dl .en {
        font-size: 7vw;
        margin-right: 3vw;
    }

    .top_faq .faq_list dl dt .text {
        font-size: 4vw;
        width: 85%;
    }

    .top_faq .faq_list dl dt::after {
        width: 3vw;
        right: 4vw;
        top: 50%;
        translate: 0 -50%;
    }

    .top_faq .faq_list dl dt.nowOpen::after {
        top: 50%;
    }

    .top_faq .faq_list dl dd {
        margin-top: 1vw;
        padding: 4vw 5vw;
    }

    .top_faq .faq_list dl dd .text {
        font-size: 3.7vw;
    }

    /* お問い合わせ */
    .top_contact {
        padding: 15vw 0;
    }

    .top_contact .top_box {
        margin-bottom: 8vw;
    }

    .top_contact .common_title {
        margin-bottom: 3vw;
    }

    .top_contact .top_box .sub_text {
        font-size: 3.7vw;
        margin-bottom: 6vw;
    }

    .top_contact .top_box .cta_box {
        flex-direction: column;
        gap: 3vw 0;
    }

    .top_contact .top_box .cta_box .item {
        width: 100%;
        padding: 5vw 0;
    }

    .top_contact .top_box .cta_box .item .title {
        font-size: 4.5vw;
        margin-bottom: 2vw;
    }

    .top_contact .top_box .cta_box .item .num {
        font-size: 8vw;
    }

    .top_contact .top_box .cta_box .item .hours {
        font-size: 3.5vw;
    }

    .top_contact .top_box .cta_box .item .line_btn a {
        width: 80%;
        line-height: 1.7;
        padding: 2.5vw;
        gap: 0 3vw;
        justify-content: center;
    }

    .top_contact .top_box .cta_box .item .line_btn a .icon {
        width: 9vw;
    }

    .top_contact .top_box .cta_box .item .line_btn a .text {
        font-size: 4.5vw;
    }

    .top_contact .contact_form {
        margin-bottom: 10vw;
    }

    .top_contact .contact_form dl+dl {
        margin-top: 6vw;
    }

    .top_contact .contact_form dl.type {
        margin-top: 6vw;
    }

    .top_contact .contact_form dl.content {
        margin-top: 6vw;
    }

    .top_contact .contact_form dl {
        flex-direction: column;
        gap: 2vw 0;
    }

    .top_contact .contact_form dl dd {
        width: 100%;
    }

    .top_contact .contact_form dl dt .inbox {
        gap: 0 3vw;
    }

    .top_contact .contact_form dl dt .inbox .label {
        font-size: 3.5vw;
        line-height: 1.7;
        padding: 0.5vw 3vw;
    }

    .top_contact .contact_form dl dt .inbox .text {
        font-size: 3.8vw;
    }

    .top_contact .contact_form dl dd input[type="text"] {
        line-height: 12vw;
        padding: 0 3vw;
    }

    .top_contact .contact_form dl dd textarea {
        padding: 3vw;
    }

    .top_contact .contact_form dl dd .placeholder {
        padding: 0;
        margin-top: 1vw;
        font-size: 3.5vw;
    }

    .top_contact .contact_form dl dd .note {
        font-size: 3.5vw;
        margin-top: 2vw;
        text-align: justify;
    }

    .top_contact .contact_form dl dd .radio_btns .horizontal-item {
        display: block;
        margin: 0 0 3vw;
    }

    .top_contact .contact_form dl dd .radio_btns .mwform-radio-field-text {
        padding-left: 8vw;
        font-size: 3.7vw;
    }

    .top_contact .contact_form dl dd .radio_btns .mwform-radio-field-text::before {
        width: 5vw;
        top: 0.5vw;
    }

    .top_contact .contact_form dl dd .radio_btns .mwform-radio-field-text::after {
        width: 3vw;
        left: 1vw;
        top: 1.5vw;
    }

    .top_contact .form_box .btn_box {
        flex-direction: column;
        gap: 3vw 0;
    }

    .top_contact .form_box .btn_box .common_page_btn {
        width: 100%;
        line-height: 1.7;
        font-size: 4vw;
        padding: 3vw 0;
        background-position: right 5vw center;
        background-size: 3.5vw;
    }

    .top_contact .mw_wp_form_confirm .contact_form dl.type {
        margin-top: 6vw;
    }

    .top_contact .mw_wp_form_confirm .contact_form dl.content {
        margin-top: 6vw;
    }

    .top_contact .thanks_textArea p {
        font-size: 4vw;
    }

    .top_contact .thanks_textArea .contact_text {
        margin-bottom: 2em;
        width: 100%;
    }

    .top_contact .thanks_textArea .ichiran_link {
        width: 100%;
        line-height: 1.7;
        font-size: 4vw;
        padding: 3vw 0;
        background-position: right 5vw center;
        background-size: 3.5vw;
    }

    /* フッター */
    .top_footer {
        padding: 10vw 0;
        margin-bottom: 100px;
    }

    .top_footer .logo {
        width: 70%;
        margin: 0 auto 3vw;
    }

    .top_footer .name {
        font-size: 4vw;
        margin-bottom: 3vw;
    }

    .top_footer .name .large {
        padding-left: 0;
        display: block;
        line-height: 1.5;
    }

    .top_footer .addr {
        font-size: 3.7vw;
        margin-bottom: 3vw;
    }

    .top_footer .addr .num {
        font-size: 3.5vw;
    }

    .top_footer .link_box {
        margin-bottom: 7vw;
    }

    .top_footer .link_box ul {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 3vw 0;
    }

    .top_footer .link_box li+li {
        padding: 0;
        margin: 0;
    }

    .top_footer .link_box li a {
        justify-content: center;
        font-size: 3.7vw;
        gap: 0 2vw;
    }

    .top_footer .link_box li a::after {
        width: 3.5vw;
    }

    .top_footer .link_box li+li::before {
        content: none;
    }

    .top_footer .copyright small {
        font-size: 3.5vw;
    }

    /* 追従 */
    #sp_tuiju {
        width: 100%;
        position: fixed;
        left: 0;
        bottom: 0;
        z-index: 100;
    }

    #sp_tuiju .inner {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
    }

    #sp_tuiju .btn a {
        display: flex;
        flex-direction: column;
        align-items: center;
        height: 100%;
        padding: 15px 0 10px;
    }

    #sp_tuiju .btn.reserve a {
        background: #E6B81C;
    }

    #sp_tuiju .btn.online a {
        background: #1B52B9;
    }

    #sp_tuiju .btn.line a {
        background: #06C755;
    }

    #sp_tuiju .btn.tel a {
        background: #C11111;
    }

    #sp_tuiju .btn a .text {
        flex-grow: 1;
        display: flex;
        align-items: center;
        color: #fff;
        text-align: center;
        font-size: 14px;
        letter-spacing: .04em;
        font-weight: 900;
        line-height: 1.4;
    }

    .modal_window {
        padding: 15vw 0;
    }

    .modal_window .ttl_box {
        gap: 0 3vw;
    }

    .modal_window .ttl_box .img {
        flex-shrink: 0;
        width: 12vw;
    }

    .modal_window .ttl_box .ttl {
        width: 75%;
    }

    .modal_window .ttl_box .ttl::before {
        width: 70vw;
        top: -11vw;
        right: -23vw;
        transform: rotate(0deg);
        pointer-events: none;
    }

    .button_close {
        width: 10vw;
        height: 10vw;
        top: -10vw;
    }

    .button_close::before {
        height: 5vw;
    }

    .button_close::after {
        height: 5vw;
    }

    .modal_window .text_box {
        height: 50vw;
        padding: 0 3vw 0 0;
        margin: 6vw 0 0 0;
    }

    .modal_window .text_box .text {
        font-size: 3.5vw;
    }

    .modal_inner::before {
        right: 14px;
    }
}