@charset "utf-8";
/*--
	Add your style here
--*/ 
.menu-wrap {
        right:0 !important;
	-webkit-transform: translate3d(320px,0,0);
	transform: translate3d(320px,0,0);
	visibility:hidden;
}

.show-menu .menu-wrap,
.show-menu .menu-inner ,
.show-menu .morph-shape  {
        -webkit-transform: translate3d(-30px,0,0);
        transform: translate3d(-30px,0,0);
}
.show-menu .menu-wrap {
	right:0;
	opacity:1;
	visibility:visible;
}
/* ===== 首页区块顺序与手机端图片显示修正 ===== */

/* 首页 SERVICE 图片与 COMPANY 图片统一更完整显示 */
#service .box-item,
.section-container .box-item,
.blog-media,
.content-wrap.about-wrap {
    overflow: visible;
}

#service .box-item img,
.section-container .box-item img,
.blog-media img,
#service .respimg,
.section-container .respimg {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
}

/* 手机端优化：避免图片裁切、留白过大、圆角过大导致显示不全 */
@media screen and (max-width: 768px) {
    #service {
        border-radius: 0 40px 40px 0 !important;
    }

    #service .serv-item {
        margin-bottom: 40px;
    }

    #service .blog-media,
    #service .box-item,
    .section-container .box-item {
        margin-bottom: 20px;
    }

    #service .pr-title,
    #service .pr-title-text,
    .section-container .content-wrap.about-wrap {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    #service .service-title {
        font-size: 24px;
        line-height: 1.5;
    }

    .section-container {
        margin: 30px 0;
    }
}

@media screen and (max-width: 540px) {
    #service {
        border-radius: 0 24px 24px 0 !important;
    }

    #service .box-item img,
    .section-container .box-item img,
    .blog-media img {
        border-radius: 8px;
    }

    #service .service-title {
        font-size: 22px;
        line-height: 1.45;
    }

    #service .pr-title p,
    #service .pr-title-text p,
    .about-wrap p {
        font-size: 15px;
        line-height: 1.8;
    }
}

/* ===== 加盟メリット section ===== */
.franchise-advantage-section {
    background: #fff7f0;
    padding: 90px 0;
}

.franchise-advantage-lead {
    font-size: 16px;
    line-height: 1.9;
    color: #555;
    padding-top: 18px;
}

.franchise-advantage-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 42px;
}

.franchise-advantage-card {
    background: #fff;
    border: 1px solid rgba(146, 3, 3, 0.12);
    border-radius: 20px;
    padding: 30px 26px;
    text-align: left;
    box-shadow: 0 12px 30px rgba(146, 3, 3, 0.08);
    transition: all 0.25s ease;
}

.franchise-advantage-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 42px rgba(146, 3, 3, 0.14);
}

.franchise-advantage-card .advantage-number {
    color: #920303;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
}

.franchise-advantage-card h4 {
    font-size: 22px;
    line-height: 1.5;
    font-weight: 700;
    color: #222;
    margin-bottom: 12px;
}

.franchise-advantage-card p {
    font-size: 15px;
    line-height: 1.85;
    color: #666;
    padding-bottom: 0;
}

.franchise-advantage-cta {
    margin-top: 42px;
    padding: 32px 36px;
    border-radius: 20px;
    background: linear-gradient(135deg, #920303, #d9401e);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    box-shadow: 0 16px 36px rgba(146, 3, 3, 0.2);
}

.franchise-advantage-cta p {
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    padding-bottom: 0;
}

.franchise-advantage-cta a {
    display: inline-block;
    background: #fff;
    color: #920303;
    padding: 13px 28px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
}

/* ===== お問い合わせフォーム追加項目 ===== */
.contact-franchise-form input[type="text"],
.contact-franchise-form textarea {
    border-radius: 8px;
}

@media screen and (max-width: 900px) {
    .franchise-advantage-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .franchise-advantage-cta {
        display: block;
        text-align: center;
    }
    .franchise-advantage-cta p {
        text-align: center;
        margin-bottom: 18px;
    }
}

@media screen and (max-width: 640px) {
    .franchise-advantage-section {
        padding: 60px 0;
    }
    .franchise-advantage-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .franchise-advantage-card {
        padding: 24px 20px;
    }
    .franchise-advantage-card h4 {
        font-size: 20px;
    }
    .franchise-advantage-cta {
        padding: 28px 22px;
    }
}
