@media (max-width: 768px) {
	body {
		font-size: 14px;
	}
	.header {
		padding: 12px 60px 12px 10px;
	}
	.header__logo img {
		width: auto;
		height: 48px;
	}
	.header.scrolled .hd_logo_scroll {
		height: 31px;
	}
	.header__nav--list {
		margin-right: 0;
		padding: 70px 1em;
	}
	.header.scrolled .hamburger::before, .header.scrolled .hamburger::after, .header.scrolled .hamburger span {
		background: #294057;
	}
	#menu-toggle:checked + .hamburger::before {
		background: #294057;
	}
	#menu-toggle:checked + .hamburger::after {
		background: #294057;
	}
	.hamburger {
		top: 26px;
		transition: unset;
	}
	#menu-toggle:checked + .hamburger {
		top: 29px;
	}
	.header.scrolled #menu-toggle:checked + .hamburger {
		top: 18px;
	}
	#menu-toggle:checked + .hamburger::before {
		transition: none;
	}
	#menu-toggle:checked + .hamburger::after {
		transition: none;
	}
	.header.scrolled #menu-toggle:checked + .hamburger::before {
		transition: all 0.5s ease;
	}
	.header.scrolled #menu-toggle:checked + .hamburger::after {
		transition: all 0.5s ease;
	}
	.header.scrolled .hamburger {
		top: 18px;
	}
	.header.scrolled .header__nav--list {
		padding: 54px 1em;
	}
	.hamburger::before, .hamburger::after, .hamburger span {
		height: 1.5px;
		background: #fff;
	}
	.header__icon--list {
		gap: 10px;
	}
	.header__icon--list_scroll li.header__icon--divider {
		padding-left: 10px;
	}
	.header__nav--list a {
		color: #294057;
	}
	.mv__img:before {
		padding-top: 40em;
	}
	.mv__inner {
		height: 40em;
	}
	.mv__inner .mv__img {
		height: 40em;
	}
	.mv__inner .mv__img img {
		height: 40em;
	}
	.sub_mv__inner {
		padding: 60px 0 70px;
	}
	.mv_video:before {
		padding-top: 40em;
	}
	.mv_video__inner h1 {
		font-size: 1.4em;
	}
	.mv_video__inner--text {
		margin-top: 20px;
		letter-spacing: 3px;
		font-size: 12px;
	}
	.mv_video__news--item {
		gap: 2px;
		flex-wrap: wrap;
	}
	.mv_video__news--item .news-date {
		font-size: 11px;
	}
	.mv_video__inner--content {
		padding-bottom: 1em;
	}
	body.has-coupon-banner .mv_video {
		margin-top: 40.14px;
	}
	/* スマホ: 2行で省略 */
	.latest-item__title {
		max-width: 100%;
		white-space: normal;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	.mv_video__news--item .news-title {
		max-width: 100%;
		white-space: normal;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	.concept {
		padding: 60px 0 70px;
	}
	.ttl {
		margin-bottom: 30px;
	}
	.concept__subttl {
		font-size: 1.425em;
		width: 100%;
		margin-right: 0;
	}
	.concept__subttl--en {
		font-size: 12px;
	}
	.concept__txt {
		padding-right: 0;
		width: 100%;
		margin-top: 30px;
	}
	.about {
		padding: 70px 0;
	}
	.about__inner {
		padding: 0 0px 0 20px;
	}
	.about__img {
		width: 100%;
		order: -1;
		margin-bottom: 30px;
		margin-left: 0!important;
	}
	.about__description {
		width: 100%;
		padding-right: 20px;
	}
	.about__description--content--left {
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}
	.about__description--content--right {
		margin-left: 0!important;
		width: 100%;
	}
	.onlinestore {
		padding: 40px 0;
	}
	.onlinestore__description--left {
		width: 100%;
		margin-bottom: 20px;
	}
	.onlinestore__description--right {
		width: 100%;
	}
	.onlinestore__description {
		margin-bottom: 50px;
	}
	.onlinestore__archive--content {
		margin-bottom: 50px;
	}
	.onlinestore__archive--play {
		width: 45px;
		height: 45px;
	}
	.onlinestore__archive--video-bar {
		height: 32px;
		padding: 0 12px;
		gap: 10px;
	}
	.onlinestore__archive--video-bar-play {
		width: 14px;
		height: 14px;
	}
	.onlinestore__archive--video-bar-progress {
		height: 4px;
	}
	.onlinestore__archive--video-bar-progress::after {
		width: 10px;
		height: 10px;
	}
	.onlinestore__archive--img:before {
		padding-top: 57%;
	}
	.onlinestore__archive--img {
		margin-bottom: 15px;
	}
	.recipe {
		padding: 70px 0;
	}
	.recipe__description--left {
		width: 100%;
		margin-bottom: 20px;
		margin-right: 0;
	}
	.recipe__description--right {
		width: 100%;
	}
	.recipe__description {
		margin-bottom: 50px;
	}
	.recipe__archive--content {
		margin-bottom: 50px;
	}
	.flow {
		padding: 70px 0 50px;
	}
	.flow__description--left {
		width: 100%;
		margin-bottom: 20px;
		margin-right: 0;
	}
	.flow__description--right {
		width: 100%;
	}
	.flow__description {
		margin-bottom: 50px;
	}
	.flow__steps {
		grid-template-columns: repeat(2, 1fr);
		gap: 40px 15px;
	}
	.flow__step {
		padding: 35px 15px 20px;
	}
	.flow__step--number {
		width: 36px;
		height: 36px;
		top: -15px;
		left: 15px;
	}
	.flow__step--number span {
		font-size: 14px;
	}
	.flow__step--icon {
		width: 50px;
		height: 50px;
		margin-bottom: 12px;
	}
	.flow__step--icon svg {
		width: 26px;
		height: 26px;
	}
	.flow__step--title {
		font-size: 0.85em;
		margin-bottom: 8px;
	}
	.flow__step--text {
		font-size: 0.75em;
		line-height: 1.6;
	}
	.column {
		padding: 70px 0;
	}
	.column__description--left {
		width: 100%;
		margin-bottom: 20px;
		margin-right: 0;
	}
	.column__description--right {
		width: 100%;
	}
	.column__description {
		margin-bottom: 50px;
	}
	.column__archive--img {
		margin-bottom: 15px;
	}
	.column__archive--ttl {
		font-size: 0.85714em;
	}
	.column__archive--content {
		margin-bottom: 40px;
	}
	.column__archive--date {
		font-size: .75em;
		margin-bottom: 5px;
	}
	.tp_slide {
		width: 130%;
	}
	.news {
		padding: 70px 0;
	}
	.news__archive--date {
		font-size: .75em;
		width: 100%;
		margin-bottom: 5px;
	}
	.news__archive--btn {
		display: none;
	}
	.news__archive--ttl {
		width: 100%;
		font-size: 0.85714em;
		padding-right: 0;
	}
	.service_project {
		padding-top: 30px;
	}
	.service_project__background {
		margin-bottom: 50px;
	}
	.service_project__vision {
		padding: 50px 0;
	}
	.service_project__vision--content {
		justify-content: center;
	}
	.service_project__vision--description {
		padding: 0;
		width: 100%;
		margin-right: 0;
		padding-left: 50px;
	}
	.service_project__vision--description--txt:before {
		font-size: 25px;
		left: -52px;
		top: 25px;
	}
	.service_project__vision--description--txt {
		margin-bottom: 30px;
		padding-left: 20px;
	}
	.service_project__vision--img {
		width: 100%;
		max-width: 300px;
		margin: 0 auto 30px!important;
		order: -1;
	}
	.service_activities {
		padding: 50px 0;
	}
	.service_activities__content--img {
		width: 100%;
		margin-bottom: 30px;
		order: -1;
	}
	.service_activities__content--txt {
		font-size: .75em;
		margin-bottom: 20px;
		width: 100%;
		margin-right: 0;
	}
	.service_activities__content--ttl_spcenter {
		text-align: center;
	}
	.service_activities__content {
		margin-bottom: 50px;
	}
	.service_activities__content--list ul {
		padding: 30px 20px;
		margin: 30px 0;
	}
	.contact {
		padding: 70px 0;
	}
	.footer__main {
		padding: 50px 0;
	}
	.footer__description {
		width: 100%;
		margin-right: 0;
		margin-bottom: 40px;
	}
	.footer__description--contact {
		text-align: center;
		align-items: center;
	}
	.footer__description--logo img {
		height: 45px;
	}
	.footer__tagline {
		font-size: 12px;
		letter-spacing: 1px;
	}
	.footer__info-list {
		align-items: center;
	}
	.footer__info-item {
		font-size: 12px;
		justify-content: center;
	}
	.footer__info-item span {
		text-align: center;
	}
	.footer__social {
		justify-content: center;
	}
	.footer__social-link {
		width: 36px;
		height: 36px;
	}
	.footer__nav {
		width: 100%;
	}
	.footer__nav--list ul {
		gap: 0 25px;
	}
	.page_top {
		bottom: 90px;
		right: 15px;
	}

	/* LOW PAGE */
	.low_hd {
		margin: 100px auto 50px;
		padding-top: 20px;
	}
	.low_hd__inner--content {
		display: block;
	}
	.low_hd__inner--ttl {
		font-size: 25px;
		letter-spacing: 6px;
		text-align: center;
	}
	.breadcrumbs {
		font-size: 10px;
		text-align: center;
		margin-top: 10px;
	}

	/* LOW HD HERO - モバイル */
	.low_hd_hero {
		margin-top: 54.75px;
		height: 180px;
	}

	.low_hd_hero__breadcrumbs {
		top: 12px;
		left: 16px;
		font-size: 0.6em;
	}

	.low_hd_hero__title-en {
		font-size: 0.6em;
		margin-bottom: 4px;
	}

	.low_hd_hero__title {
		font-size: 1.3em;
	}

	.company_about {
		margin: 50px 0 80px;
	}
	.company_about__content--item {
		font-size: 13px;
	}
	.company_about__ttl {
		margin-bottom: 0;
	}
	.company_about__item--ttl {
		width: 25%;
	}
	.company_about__item--txt {
		width: 75%;
	}
	.contact_page {
		margin: 50px 0 80px;
	}
	.contact_page__description--info {
		width: 100%;
		margin-bottom: 30px;
		text-align: center;
	}
	.contact_page__description--info a {
		font-size: 26px;
	}
	.contact_page__description--info a span {
		font-size: 16px;
	}
	.contact_page__description--info .contact__time {
		margin-bottom: 0;
		font-size: 10px;
	}
	.contact_page__description--text {
		width: 100%;
		margin-left: 0;
		font-size: 11px;
	}
	.contact_page__description {
		margin: 0px 0 50px;
	}
	.contact__form h2 {
		font-size: 20px;
	}
	.form-description {
		font-size: 11px;
		line-height: unset;
	}
	.privacy-policy {
		margin: 50px 0 80px;
	}
	.page_content {
		margin: 50px 0 80px;
	}
	.post_content {
		margin: 50px 0 80px;
	}
	.other {
		padding: 70px 0;
	}
	.recipe_detail__description {
		width: 100%;
		margin-bottom: 30px;
	}
	.recipe_detail__material {
		width: 100%;
	}
	.recipe_detail__meta {
		margin-bottom: 50px;
	}
	.low_post__slider {
		width: 100%;
	}
	.store_detail__main--detail {
		width: 100%;
	}
	.store_detail {
		margin-bottom: 0;
	}
	.store_detail__main h1 {
		font-size: 17px;
	}
	.store_detail__main--description {
		font-size: 13px;
		text-align: left;
	}

	/* ===== ABOUT PAGE - MOBILE ===== */
	.tp_about {
		padding: 60px 0;
	}

	.about_intro__ttl,
	.about_features__ttl,
	.about_movies__ttl,
	.about_flow__ttl,
	.about_data__ttl,
	.about_faq__ttl {
		font-size: 2em;
		margin-bottom: 30px;
	}

	.about_intro__subttl,
	.about_features__subttl,
	.about_movies__subttl,
	.about_flow__subttl,
	.about_data__subttl,
	.about_faq__subttl {
		font-size: 1.3em;
	}

	.about_intro__content,
	.about_features__description,
	.about_movies__description,
	.about_flow__description,
	.about_data__content,
	.about_faq__description {
		margin-bottom: 40px;
	}

	.about_intro__content.flex,
	.about_features__description.flex,
	.about_movies__description.flex,
	.about_flow__description.flex,
	.about_faq__description.flex {
		flex-direction: column;
		gap: 20px;
	}

	.about_intro__left,
	.about_intro__right,
	.about_features__left,
	.about_features__right,
	.about_movies__left,
	.about_movies__right,
	.about_flow__left,
	.about_flow__right,
	.about_faq__left,
	.about_faq__right {
		width: 100%;
	}

	.about_intro__lead {
		font-size: 1em;
		margin-top: 20px;
	}

	.about_intro__image {
		margin-top: 40px;
	}

	.about_intro__image img {
		height: 250px;
	}

	/* Features Cards */
	.about_features__cards {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}

	.about_features__card {
		padding: 25px 15px;
	}

	.about_features__card--number {
		font-size: 0.7em;
		top: 10px;
		left: 12px;
	}

	.about_features__card--icon {
		width: 50px;
		height: 50px;
		margin-bottom: 15px;
	}

	.about_features__card--icon svg {
		width: 24px;
		height: 24px;
	}

	.about_features__card--title {
		font-size: 0.95em;
		margin-bottom: 10px;
	}

	.about_features__card--text {
		font-size: 0.8em;
	}

	/* Movie Cards */
	.about_movies__cards {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.about_movies__card--img {
		height: 180px;
	}

	.about_movies__card--content {
		padding: 20px;
	}

	.about_movies__card--title {
		font-size: 1.1em;
	}

	/* Flow Steps */
	.about_flow__steps {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}

	.about_flow__step {
		padding: 25px 15px;
	}

	.about_flow__step--number {
		font-size: 1.4em;
		margin-bottom: 10px;
	}

	.about_flow__step--icon {
		width: 50px;
		height: 50px;
		margin-bottom: 15px;
	}

	.about_flow__step--icon svg {
		width: 24px;
		height: 24px;
	}

	.about_flow__step--title {
		font-size: 0.9em;
		margin-bottom: 8px;
	}

	.about_flow__step--text {
		font-size: 0.75em;
	}

	/* Data Section */
	.about_data__content.flex {
		flex-direction: column;
	}

	.about_data__left,
	.about_data__right {
		width: 100%;
	}

	.about_data__right {
		height: 250px;
		margin-top: 30px;
		border-radius: 15px;
	}

	.about_data__specs {
		margin: 25px 0;
		gap: 12px;
	}

	.about_data__spec {
		padding: 15px;
		gap: 12px;
	}

	.about_data__spec--icon {
		width: 40px;
		height: 40px;
	}

	.about_data__spec--icon svg {
		width: 20px;
		height: 20px;
	}

	.about_data__spec--label {
		font-size: 0.8em;
	}

	.about_data__spec--value {
		font-size: 0.85em;
	}

	/* FAQ */
	.about_faq__list {
		gap: 15px;
	}

	.about_faq__q {
		padding: 18px 20px;
		gap: 15px;
	}

	.about_faq__q--icon {
		width: 30px;
		height: 30px;
		font-size: 0.9em;
	}

	.about_faq__q--text {
		font-size: 0.95em;
	}

	.about_faq__a {
		padding: 18px 20px;
		gap: 15px;
	}

	.about_faq__a--icon {
		width: 30px;
		height: 30px;
		font-size: 0.9em;
	}

	.about_faq__a--text {
		font-size: 0.9em;
		padding-top: 4px;
	}

	/* CTA */
	.about_cta {
		padding: 50px 0;
	}

	.about_cta__ttl {
		font-size: 1.5em;
	}

	.about_cta__txt {
		font-size: 0.9em;
		margin-bottom: 30px;
	}

	.about_cta__btn {
		padding: 15px 40px;
		font-size: 0.95em;
	}

	/* ===== COLUMN DETAIL - MOBILE ===== */
	.column_detail {
		padding: 0px 0 50px;
	}

	.column_detail__wrapper {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.column_detail__main {
		padding: 20px;
		border-radius: 6px;
		font-size: 16px;
	}

	.column_detail__meta {
		flex-wrap: wrap;
		gap: 8px;
	}

	.column_detail__date,
	.column_detail__updated {
		font-size: 0.72em;
	}

	.column_detail__title {
		font-size: 1.05em;
	}

	.column_detail__thumbnail {
		margin-bottom: 20px;
	}

	/* お悩みボックス */
	.column_detail__concerns {
		padding: 18px 14px;
		margin-bottom: 20px;
	}

	.column_detail__concerns--label {
		font-size: 0.68em;
		padding: 4px 10px;
		left: 14px;
		top: -10px;
	}

	.column_detail__concerns--list {
		padding-top: 10px;
	}

	.column_detail__concerns--list li {
		font-size: 0.82em;
		padding: 5px 0;
	}

	/* 目次 */
	.column_detail__toc {
		padding: 14px;
		margin-bottom: 18px;
	}

	.column_detail__toc--label {
		font-size: 0.62em;
		margin-bottom: 8px;
		padding-bottom: 6px;
	}

	.column_detail__toc--list li a {
		font-size: 0.7em;
		padding: 4px 0;
	}

	.column_detail__toc--list li.toc-h2 a::before {
		width: 16px;
		height: 16px;
		font-size: 0.75em;
		margin-right: 6px;
	}

	.column_detail__toc--list li.toc-h3 a {
		padding: 2px 0 2px 22px;
		font-size: 0.65em;
	}

	/* 記事本文 */
	.column_detail__body {
		line-height: 1.7;
		font-size: 0.82em;
	}

	.column_detail__body h2 {
		font-size: 0.98em;
		margin: 22px 0 10px;
		padding: 8px 10px;
	}

	.column_detail__body h3 {
		font-size: 0.88em;
		margin: 18px 0 8px;
	}

	.column_detail__body h4 {
		font-size: 0.84em;
		margin: 14px 0 6px;
	}

	.column_detail__body p {
		margin-bottom: 10px;
	}

	.column_detail__body ul,
	.column_detail__body ol {
		margin: 14px 0;
		padding-left: 20px;
	}

	.column_detail__body li {
		margin-bottom: 6px;
		line-height: 1.7;
	}

	.column_detail__body table {
		font-size: 0.72em;
	}

	.column_detail__body table th,
	.column_detail__body table td {
		padding: 6px;
	}

	.column_detail__body blockquote {
		padding: 10px 12px;
		font-size: 0.78em;
	}

	.column_detail__body .related-box {
		flex-direction: column;
		gap: 12px;
	}

	.column_detail__body .related-box--img {
		width: 100%;
		height: 100px;
	}

	/* CTA */
	.column_detail__cta {
		padding: 22px 18px;
		margin: 28px 0 24px;
	}

	.column_detail__cta--lead {
		font-size: 0.68em;
	}

	.column_detail__cta--title {
		font-size: 0.95em;
	}

	.column_detail__cta--text {
		font-size: 0.78em;
	}

	.column_detail__cta--btn {
		padding: 10px 24px;
		font-size: 0.78em;
	}

	/* サイドバー */
	.column_detail__sidebar {
		position: static;
	}

	.sidebar__widget {
		padding: 16px;
		border-radius: 6px;
		margin-bottom: 16px;
	}

	.sidebar__widget--title {
		font-size: 0.75em;
		margin-bottom: 12px;
		padding-bottom: 8px;
	}

	.sidebar__template--item {
		padding: 6px;
	}

	.sidebar__template--img {
		width: 50px;
		height: 36px;
	}

	.sidebar__template--name {
		font-size: 0.75em;
	}

	.sidebar__template--price {
		font-size: 0.7em;
	}

	.sidebar__contact--inner {
		padding: 16px;
	}

	.sidebar__contact--lead {
		font-size: 0.65em;
	}

	.sidebar__contact--title {
		font-size: 0.82em;
		margin-bottom: 10px;
	}

	.sidebar__contact--btn {
		padding: 8px 14px;
		font-size: 0.72em;
	}

	.sidebar__related--img {
		width: 42px;
		height: 30px;
	}

	.sidebar__related--title {
		font-size: 0.72em;
	}

	/* おすすめ記事 */
	.column_recommend {
		padding: 40px 0;
	}

	.column_recommend__ttl {
		margin-bottom: 24px;
		font-size: 0.8em;
	}

	.column_recommend__list {
		grid-template-columns: 1fr;
		gap: 14px;
		margin-bottom: 28px;
	}

	.column_recommend__item--img {
		height: 140px;
	}

	.column_recommend__item--content {
		padding: 12px;
	}

	.column_recommend__item--date {
		font-size: 0.65em;
	}

	.column_recommend__item--title {
		font-size: 0.78em;
	}

	.column_recommend__item--more {
		font-size: 0.65em;
	}

	.column_recommend__btn .btn {
		padding: 10px 24px;
		font-size: 0.78em;
	}

	/* ===== NEWS DETAIL - MOBILE ===== */
	.news__archive {
		font-size: 15px;
	}
	.news__archive--content {
		margin: 0 0% 2%;
	}
	.news_detail {
		padding: 30px 0 50px;
		margin: 0;
	}

	.news_detail__main {
		padding: 20px;
		border-radius: 6px;
	}

	.news_detail__meta {
		flex-direction: row;
		gap: 10px;
	}

	.news_detail__label {
		font-size: 0.6em;
	}

	.news_detail__date {
		font-size: 0.7em;
	}

	.news_detail__title {
		font-size: 1.1em;
	}

	.news_detail__thumbnail {
		margin-bottom: 20px;
	}

	.news_detail__body {
		line-height: 1.8;
		font-size: 0.85em;
	}

	.news_detail__body h2 {
		font-size: 1.2em;
		margin: 24px 0 12px;
	}

	.news_detail__body h3 {
		font-size: 0.92em;
		margin: 18px 0 10px;
	}

	.news_detail__body p {
		margin-bottom: 12px;
	}

	.news_detail__body ul,
	.news_detail__body ol {
		margin: 14px 0;
		padding-left: 20px;
	}

	.news_detail__body li {
		margin-bottom: 6px;
		line-height: 1.7;
	}

	.news_detail__back {
		margin-top: 28px;
		padding-top: 16px;
	}

	.news_detail__back--btn {
		font-size: 0.75em;
	}

	/* 他のお知らせ */
	.news_other {
		padding: 40px 0;
	}

	.news_other__ttl {
		margin-bottom: 20px;
		font-size: 0.78em;
	}

	.news_other__list {
		margin-bottom: 24px;
	}

	.news_other__item {
		flex-direction: column;
		align-items: flex-start;
		gap: 5px;
		padding: 12px 14px;
	}

	.news_other__item--date {
		font-size: 0.68em;
	}

	.news_other__item--title {
		font-size: 0.8em;
	}

	.news_other__btn .btn {
		padding: 10px 24px;
		font-size: 0.78em;
	}

	/* クーポンバナー・モーダル */
	.coupon-banner {
		font-size: 10px;
		letter-spacing: 0;
		padding: 9px 15px;
	}
	.coupon-banner__inner {
		flex-wrap: wrap;
		gap: 8px;
	}
	.coupon-banner__code {
		padding: 3px 10px;
		font-size: 0.9em;
	}
	body.has-coupon-banner .header {
		top: 40.14px;
	}
	body.has-coupon-banner .low_hd_hero {
		margin-top: calc(54.75px + 40.14px);
	}
	.coupon-modal__content {
		padding: 30px 20px;
	}
	.coupon-modal__icon {
		font-size: 2.5em;
	}
	.coupon-modal__text {
		font-size: 1em;
	}
	.coupon-modal__code strong {
		font-size: 1.3em;
	}

	/* ========================================
	   SP Menu - スマホ用ハンバーガーメニュー
	   ======================================== */
	
	/* PC用メニューを非表示 */
	.header__nav--list {
		display: none !important;
	}
	
	/* SPメニュー本体 */
	.sp-menu {
		position: fixed;
		top: 0;
		right: -100%;
		width: 100%;
		height: 100vh;
		background: #f8f9fa;
		z-index: 999;
		overflow-y: auto;
		transition: right 0.3s ease;
		display: flex;
		flex-direction: column;
	}
	
	#menu-toggle:checked ~ .sp-menu {
		right: 0;
	}
	
	/* ヘッダー部分 */
	.sp-menu__header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 10px 10px;
		border-bottom: 1px solid #e4e4e4;
		background: #fff;
	}
	
	.sp-menu__logo img {
		height: 35px;
		width: auto;
	}
	
	.sp-menu__close {
		width: 40px;
		height: 40px;
		display: flex;
		align-items: center;
		justify-content: center;
		color: #294057;
		cursor: pointer;
	}
	
	/* ナビゲーション */
	.sp-menu__list {
		list-style: none;
		margin: 0;
		padding: 0;
		background: #fff;
	}
	
	.sp-menu__item {
		border-bottom: 1px solid #e4e4e4;
		opacity: 0;
		transform: translateX(20px);
		animation: slideIn 0.3s ease forwards;
	}
	
	#menu-toggle:checked ~ .sp-menu .sp-menu__item:nth-child(1) { animation-delay: 0.1s; }
	#menu-toggle:checked ~ .sp-menu .sp-menu__item:nth-child(2) { animation-delay: 0.15s; }
	#menu-toggle:checked ~ .sp-menu .sp-menu__item:nth-child(3) { animation-delay: 0.2s; }
	#menu-toggle:checked ~ .sp-menu .sp-menu__item:nth-child(4) { animation-delay: 0.25s; }
	#menu-toggle:checked ~ .sp-menu .sp-menu__item:nth-child(5) { animation-delay: 0.3s; }
	
	@keyframes slideIn {
		to {
			opacity: 1;
			transform: translateX(0);
		}
	}
	
	.sp-menu__link {
		display: flex;
		align-items: center;
		padding: 15px 20px;
		color: #294057;
		text-decoration: none;
		font-size: 13px;
		font-weight: 500;
		transition: background 0.2s ease;
	}
	
	.sp-menu__link:hover {
		background: #f8f9fa;
	}
	
	.sp-menu__icon {
		margin-right: 15px;
		color: #294057;
		flex-shrink: 0;
	}
	
	.sp-menu__link span {
		flex: 1;
	}
	
	.sp-menu__arrow {
		color: #999;
		flex-shrink: 0;
	}


	body.has-coupon-banner .header #menu-toggle:checked + .hamburger::before {
		top: calc(50% - 52.14px);
		transition: none;
	}
	body.has-coupon-banner .header #menu-toggle:checked + .hamburger::after {
		top: calc(50% - 52.14px);
		transition: none;
	}
	body.has-coupon-banner .header .hamburger::before, .header .hamburger::after, .header.scrolled .hamburger span {
		background: #fff;
		transition: none;
	}
	body.has-coupon-banner .header.scrolled #menu-toggle:checked + .hamburger::before {
		top: calc(50% - 40.14px);
		transition: none;
	}
	body.has-coupon-banner .header.scrolled #menu-toggle:checked + .hamburger::after {
		top: calc(50% - 40.14px);
		transition: none;
	}
	body.has-coupon-banner .header.scrolled .hamburger::before, .header.scrolled .hamburger::after, .header.scrolled .hamburger span {
		background: #294057;
		transition: none;
	}
	
	/* ボタンエリア */
	.sp-menu__buttons {
		padding: 20px;
		background: #fff;
	}
	
	.sp-menu__cta {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 100%;
		padding: 10px 18px;
		background: linear-gradient(135deg, #f7931e 0%, #f5a623 50%, #f7931e 100%);
		color: #fff;
		text-decoration: none;
		border-radius: 8px;
		position: relative;
		overflow: hidden;
		box-shadow: 
			0 4px 15px rgba(247, 147, 30, 0.4),
			0 2px 4px rgba(0, 0, 0, 0.1);
	}
	
	.sp-menu__cta::before {
		content: '';
		position: absolute;
		top: 0;
		left: -100%;
		width: 100%;
		height: 100%;
		background: linear-gradient(
			90deg,
			transparent,
			rgba(255, 255, 255, 0.3),
			transparent
		);
		animation: sp-menu-shimmer 3s infinite;
	}

	@keyframes sp-menu-shimmer {
		0% { left: -100%; }
		50% { left: 100%; }
		100% { left: 100%; }
	}

	.sp-menu__cta-wrap {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.sp-menu__cta-sub {
		font-size: 10px;
		font-weight: 700;
		letter-spacing: 0.03em;
		opacity: 0.9;
		margin-bottom: 1px;
	}

	.sp-menu__cta-main {
		display: flex;
		align-items: center;
	}

	.sp-menu__cta-icon {
		display: flex;
		align-items: center;
		justify-content: center;
		margin-right: 5px;
	}

	.sp-menu__cta-icon svg {
		width: 16px;
		height: 16px;
		color: #fff;
	}

	.sp-menu__cta-text {
		font-size: 14px;
		font-weight: 700;
		letter-spacing: 0.02em;
	}

	.sp-menu__cta-arrow {
		position: absolute;
		right: 14px;
		top: 50%;
		transform: translateY(-50%);
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.sp-menu__cta-arrow svg {
		width: 20px;
		height: 20px;
	}
	
	.sp-menu__btn-group {
		display: flex;
		gap: 10px;
		margin-bottom: 10px;
	}
	
	.sp-menu__btn {
		flex: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		padding: 10px 10px;
		text-decoration: none;
		font-size: 13px;
		font-weight: 500;
		border-radius: 8px;
		transition: all 0.2s ease;
	}
	
	.sp-menu__btn--outline {
		background: #fff;
		color: #294057;
		border: 1px solid #294057;
	}
	
	.sp-menu__btn--outline:hover {
		background: #294057;
		color: #fff;
	}
	
	.sp-menu__btn--outline:hover svg {
		stroke: #fff;
	}
	
	/* フッター部分 */
	.sp-menu__footer {
		padding: 20px;
		text-align: center;
		border-top: 1px solid #e4e4e4;
		background: #f8f9fa;
	}
	
	.sp-menu__social {
		margin-bottom: 15px;
	}
	
	.sp-menu__social-link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		color: #294057;
		border: 1px solid #e4e4e4;
		border-radius: 50%;
		transition: all 0.2s ease;
	}
	
	.sp-menu__social-link:hover {
		background: #294057;
		color: #fff;
		border-color: #294057;
	}
	
	.sp-menu__tagline {
		font-size: 12px;
		color: #888;
		margin-bottom: 8px;
		letter-spacing: 1px;
	}
	
	.sp-menu__copyright {
		font-size: 11px;
		color: #aaa;
	}

	/* メニューが開いている時のbody固定 */
	body:has(#menu-toggle:checked) {
		overflow: hidden;
	}

	/* プレミアムCTAボタン モバイル */
	.cta-button-premium {
		font-size: 14px;
		padding: 14px 24px;
		gap: 8px;
	}

	.cta-button-premium__icon svg {
		width: 18px;
		height: 18px;
	}

	.cta-button-premium__arrow svg {
		width: 14px;
		height: 14px;
	}

	/* スマホ用フッター追従CTA */
	.sp-fixed-cta {
		display: block;
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 999;
		padding: 10px 16px;
		padding-bottom: calc(10px + env(safe-area-inset-bottom));
	}

	.sp-fixed-cta__btn {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 100%;
		background: linear-gradient(135deg, #f7931e 0%, #f5a623 50%, #f7931e 100%);
		color: #fff;
		text-decoration: none;
		padding: 10px 24px;
		border-radius: 50px;
		box-shadow: 
			0 4px 15px rgba(247, 147, 30, 0.4),
			0 2px 4px rgba(0, 0, 0, 0.1);
		position: relative;
		overflow: hidden;
	}

	.sp-fixed-cta__btn::before {
		content: '';
		position: absolute;
		top: 0;
		left: -100%;
		width: 100%;
		height: 100%;
		background: linear-gradient(
			90deg,
			transparent,
			rgba(255, 255, 255, 0.3),
			transparent
		);
		animation: sp-cta-shimmer 3s infinite;
	}

	@keyframes sp-cta-shimmer {
		0% { left: -100%; }
		50% { left: 100%; }
		100% { left: 100%; }
	}

	.sp-fixed-cta__text-wrap {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.sp-fixed-cta__sub {
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.03em;
		opacity: 0.9;
		margin-bottom: -1px;
	}

	.sp-fixed-cta__main {
		display: flex;
		align-items: center;
	}

	.sp-fixed-cta__main-icon {
		display: flex;
		align-items: center;
		justify-content: center;
		margin-right: 7px;
		margin-left: -7px;
		padding-top: 0px;
	}

	.sp-fixed-cta__main-icon svg {
		width: 18px;
		height: 18px;
		color: #fff;
	}

	.sp-fixed-cta__main-text {
		font-size: 17px;
		font-weight: 700;
		letter-spacing: 0.03em;
	}

	.sp-fixed-cta__arrow {
		position: absolute;
		right: 16px;
		top: 50%;
		transform: translateY(-50%);
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.sp-fixed-cta__arrow svg {
		width: 22px;
		height: 22px;
	}

	/* フッター追従CTAがある場合のフッター余白 */
	body:not(.single-store):not(.post-type-archive-store) footer .footer__copyright {
		padding-bottom: 105px;
	}
	.store_cartsystem__loginform {
		padding: 20px 10px 0;
	}

	/* 共通メモルネCTAボタン（モバイル） */
	.memorune-cta-btn {
		padding: 12px 18px;
		max-width: 100%;
	}

	.memorune-cta-btn__sub {
		font-size: 10px;
	}

	.memorune-cta-btn__icon svg {
		width: 16px;
		height: 16px;
	}

	.memorune-cta-btn__text {
		font-size: 14px;
	}

	.memorune-cta-btn__arrow {
		right: 12px;
	}

	.memorune-cta-btn__arrow svg {
		width: 20px;
		height: 20px;
	}

	/* 記事内自動挿入CTA（モバイル） */
	.article-inline-cta {
		margin: 30px 0;
	}

	/* Store Card CTA Button（モバイル） */
	.onlinestore__archive--ttl {
		min-height: 1.5em;
	}
	.sp-fixed-cta__btn--card {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: 6px;
		padding: 8px 12px;
		width: auto;
	}

	.onlinestore__archive--btn {
		width: 100%;
		margin-top: 1em;
		border-radius: 5px;
	}

	.sp-fixed-cta__btn--card .sp-fixed-cta__main-icon {
		width: 15px;
		height: 15px;
	}

	.sp-fixed-cta__btn--card .sp-fixed-cta__main-text {
		font-size: 12px;
	}

	.sp-fixed-cta__btn--card .sp-fixed-cta__arrow {
		width: 18px;
		height: 18px;
	}

	.sp-fixed-cta__btn--card .sp-fixed-cta__sub {
		display: none;
	}

	/* 記事内テンプレートカードCTA（モバイル） */
	.article-inline-templates {
		margin: 30px 0;
		padding: 20px 15px;
	}

	.article-inline-templates__header {
		margin-bottom: 15px;
		padding-bottom: 12px;
	}

	.article-inline-templates__header span {
		font-size: 14px;
	}

	.article-inline-templates__grid {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.article-inline-templates .onlinestore__archive--ttl {
		font-size: 13px;
		min-height: auto;
	}

	.article-inline-templates .onlinestore__archive--price {
		font-size: 13px;
	}
}