/*
Theme Name: Lightning Child
Theme URI:
Template: lightning
Description:
Author:
Tags:
Version: 0.6.0
*/

/* ======================================
   共通変数
====================================== */

:root {
	--cgc-content-width: 1240px;
	--cgc-page-width: 1120px;
	--cgc-side-space: 30px;
	--cgc-accent-color: #e6003d;
	--cgc-text-color: #222;
}

/* ======================================
   カスタムヘッダー
====================================== */

#site-header.custom-site-header {
	position: fixed !important;
	top: 0 !important;
	right: 0;
	left: 0;
	z-index: 9999;

	width: 100%;
	margin: 0 !important;
	padding: 0 !important;

	background-color: #fff;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.18);
	overflow: visible;
}

/* 固定ヘッダーの高さ分、本文を下げる */

body {
	margin-top: 0 !important;
	padding-top: 130px !important;
}

/* WordPress管理バー表示中 */

body.admin-bar #site-header.custom-site-header {
	top: 32px !important;
}

#site-header-container.custom-site-header__container {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;

	box-sizing: border-box;
	width: 100%;
	max-width: var(--cgc-content-width);
	min-height: 135px;

	margin: 0 auto;
	padding: 12px var(--cgc-side-space);

	overflow: visible;
}

/* ロゴ・会社名 */

.custom-site-header__brand {
	display: flex;
	align-items: center;
	min-width: 0;
	margin: 0;
}

.custom-site-header__logo {
	flex: 0 0 auto;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1;
}

.custom-site-header__logo-link {
	display: grid !important;
	grid-template-columns: 120px minmax(420px, 1fr);
	align-items: center;
	gap: 20px;
	text-decoration: none;
}

/* CGCロゴ */
.custom-site-header__cgc {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 0;
}

.custom-site-header__cgc-logo {
	display: block;
	width: 125px;
	max-width: 100%;
	height: auto;
	margin: 0;
}

/* 会社ロゴ＋キャッチコピー */
.custom-site-header__company {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: 0;
	text-align: left;
}

.custom-site-header__company-logo {
	display: block;
	width: 215px;
	max-width: 100%;
	height: auto;
	margin-bottom: 12px;
}

.custom-site-header__company-info {
	color: var(--cgc-accent-color);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
	text-align: left;
}

.custom-site-header__company-info p {
	margin: 0;
	color: var(--cgc-accent-color);
	font-size: inherit;
	font-weight: inherit;
}

/* ======================================
   MENUボタン・開閉メニュー
====================================== */

.custom-menu-area {
	position: relative;
	z-index: 10000;

	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	align-self: auto;

	margin: 0;
	padding: 0;
}

/* MENUボタン */

#custom-menu-button.custom-menu-button {
	position: relative;
	top: auto !important;
	bottom: auto !important;
	z-index: 10002;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	box-sizing: border-box;
	width: 58px;
	height: 58px;
	margin: 0 !important;
	padding: 0;

	align-self: auto;
	transform: none !important;

	background-color: var(--cgc-accent-color);
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	appearance: none;
}

/* 三本線 */

.custom-menu-button__lines {
	position: relative;
	display: block;
	width: 27px;
	height: 16px;
}

.custom-menu-button__lines span {
	position: absolute;
	left: 0;
	display: block;
	width: 27px;
	height: 2px;
	margin: 0 !important;
	background-color: #fff;
	opacity: 1 !important;
	transform: none !important;
}

.custom-menu-button__lines span:nth-child(1),
#custom-menu-button.is-open .custom-menu-button__lines span:nth-child(1) {
	top: 0 !important;
}

.custom-menu-button__lines span:nth-child(2),
#custom-menu-button.is-open .custom-menu-button__lines span:nth-child(2) {
	top: 7px !important;
}

.custom-menu-button__lines span:nth-child(3),
#custom-menu-button.is-open .custom-menu-button__lines span:nth-child(3) {
	top: 14px !important;
}

/* MENU文字 */

#custom-menu-button .custom-menu-button__label,
#custom-menu-button.is-open .custom-menu-button__label {
	display: block !important;
	margin-top: 4px;
	color: #fff;
	font-size: 8px;
	font-weight: 700;
	line-height: 1;
}

/* 赤いメニューパネル */

#custom-global-nav.custom-global-nav {
	position: absolute !important;
	top: calc(100% + 12px) !important;
	left: 45% !important;
	right: auto !important;
	bottom: auto !important;
	z-index: 10001 !important;

	display: block !important;
	box-sizing: border-box !important;
	width: 255px !important;
	height: auto !important;
	min-height: 0 !important;
	max-width: none !important;
	max-height: calc(100vh - 120px) !important;

	margin: 0 !important;
	padding: 76px 28px 26px !important;

	background: rgba(230, 0, 61, 0.86) !important;
	border: 0 !important;
	box-shadow: none !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;

	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	transform: translateX(-58%) translateY(-10px);
	transition:
		opacity 0.25s ease,
		visibility 0.25s ease,
		transform 0.25s ease;
}

#custom-global-nav.custom-global-nav.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateX(-58%) translateY(0);
}

/* パネル内の×印 */

#custom-global-nav.custom-global-nav::before,
#custom-global-nav.custom-global-nav::after {
	position: absolute;
	top: 34px;
	left: 50%;
	display: block;
	width: 42px;
	height: 2px;
	background-color: #111;
	content: "";
	transform-origin: center;
}

#custom-global-nav.custom-global-nav::before {
	transform: translateX(-50%) rotate(45deg);
}

#custom-global-nav.custom-global-nav::after {
	transform: translateX(-50%) rotate(-45deg);
}

/* メニュー内側 */

#custom-global-nav .custom-global-nav__inner {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

#custom-global-nav .custom-global-nav__list {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

#custom-global-nav .custom-global-nav__list > li {
	display: block !important;
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	text-align: center !important;
}

#custom-global-nav .custom-global-nav__list > li > a {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 10px 5px !important;

	color: #fff !important;
	background: transparent !important;
	border: 0 !important;

	font-size: 17px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	text-align: center !important;
	text-decoration: none !important;

	transition:
		color 0.2s ease,
		opacity 0.2s ease;
}

#custom-global-nav .custom-global-nav__list > li > a:hover {
	color: #fff !important;
	background: transparent !important;
	opacity: 0.7;
}

#custom-global-nav .custom-global-nav__list > .current-menu-item > a,
#custom-global-nav .custom-global-nav__list > .current-menu-ancestor > a {
	color: #603cff !important;
}

/* Lightning側の矢印を非表示 */

#custom-global-nav .custom-global-nav__list > li > a::before,
#custom-global-nav .custom-global-nav__list > li > a::after {
	display: none !important;
	content: none !important;
}

/* ======================================
   中国シジシー 共通フッター
====================================== */

.cgc-footer {
	position: relative;
	margin-top: 0;
	border-top: none;
	background-color: #fff;
	box-shadow: 0 -3px 10px rgba(0, 0, 0, 0.18);
	color: var(--cgc-text-color);
}

.cgc-footer .container {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--cgc-content-width);
	margin-right: auto;
	margin-left: auto;
	padding: 55px var(--cgc-side-space) 45px;
}

/* フッター上段メニュー */

.cgc-footer-menu {
	margin-bottom: 38px;
}

.cgc-footer-menu ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cgc-footer-menu li {
	margin: 0;
	padding: 0;
}

.cgc-footer-menu a {
	color: var(--cgc-text-color);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
	text-decoration: none;
	white-space: nowrap;
}

.cgc-footer-menu a:hover,
.cgc-footer-menu .current-menu-item > a,
.cgc-footer-menu .current_page_item > a {
	color: var(--cgc-accent-color);
	font-weight: 500;
}

/* フッター中段 */

.cgc-footer-main {
	display: grid;
	grid-template-columns: 120px minmax(420px, 1fr) 340px;
	align-items: center;
	gap: 20px;
}

.cgc-footer-logo {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 0;
}

.cgc-footer-logo img {
	display: block;
	width: 125px;
	max-width: 100%;
	height: auto;
	margin: 0;
}

.cgc-footer-company {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: 0;
	text-align: left;
}

.company-logo {
	display: block;
	width: 215px;
	max-width: 100%;
	height: auto;
	margin-bottom: 12px;
}

.company-name {
	margin: 0 0 12px;
	color: var(--cgc-text-color);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.35;
	text-align: left;
}

.company-info {
	color: var(--cgc-text-color);
	font-size: 12px;
	line-height: 1.45;
	text-align: left;
}

.company-info p {
	margin: 0;
}

.cgc-footer-links {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 30px;
	width: 100%;
}

.cgc-footer-links a {
	color: #333;
	font-size: 13px;
	line-height: 1.5;
	text-decoration: none;
	white-space: nowrap;
}

.cgc-footer-links a:hover {
	color: var(--cgc-accent-color);
}

.cgc-footer-copy {
	margin-top: 50px;
	padding-top: 28px;
	padding-bottom: 5px;
	border-top: 1px solid #e5e5e5;
	color: var(--cgc-text-color);
	font-size: 12px;
	line-height: 1.5;
	text-align: center;
}

/* ======================================
   下層ページ共通レイアウト
   新着情報：28／加盟店：41／会社情報：43／利用規約：63／ワクワク応募：53／応募完了：485／プライバシーポリシー：64
====================================== */

/* Lightning標準のページタイトルを非表示 */

body.page-id-28 .page-header,
body.page-id-41 .page-header,
body.page-id-41 .entry-title,
body.page-id-41 .vk_post_title,
body.page-id-42 .page-header,
body.page-id-43 .page-header,
body.page-id-53 .page-header,
body.page-id-485 .page-header,
body.page-id-63 .page-header,
body.page-id-64 .page-header {
	display: none !important;
}

/* ======================================
   全ページ共通：パンくず周辺の縦余白
====================================== */

/* ヘッダーとパンくずの間を広げる */
#breadcrumb.breadcrumb {
	margin: 0 !important;
	padding-top: 15px !important;
	padding-bottom: 0 !important;
}

/* 本文エリア：下層ページ共通 */

/* パンくずと赤いタイトルバーの間を狭くする */
body:not(.home) .site-body {
	padding-top: 25px !important;
}

body:not(.home) .siteContent > .container,
body:not(.home) .site-content > .container {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--cgc-page-width);
	margin-right: auto;
	margin-left: auto;
}

/* サイドバーを非表示 */

body.page-id-28 .subSection,
body.page-id-28 .sub-section,
body.page-id-41 .subSection,
body.page-id-41 .sub-section,
body.page-id-42 .subSection,
body.page-id-42 .sub-section,
body.page-id-43 .subSection,
body.page-id-43 .sub-section,
body.page-id-53 .subSection,
body.page-id-53 .sub-section,
body.page-id-485 .subSection,
body.page-id-485 .sub-section,
body.page-id-63 .subSection,
body.page-id-63 .sub-section,
body.page-id-64 .subSection,
body.page-id-64 .sub-section {
	display: none !important;
}

/* メインカラムを全幅にする */

body.page-id-28 .mainSection,
body.page-id-28 .main-section,
body.page-id-41 .mainSection,
body.page-id-41 .main-section,
body.page-id-42 .mainSection,
body.page-id-42 .main-section,
body.page-id-43 .mainSection,
body.page-id-43 .main-section,
body.page-id-53 .mainSection,
body.page-id-53 .main-section,
body.page-id-485 .mainSection,
body.page-id-485 .main-section,
body.page-id-63 .mainSection,
body.page-id-63 .main-section,
body.page-id-64 .mainSection,
body.page-id-64 .main-section {
	flex: 0 0 100% !important;
	width: 100% !important;
	max-width: 100% !important;
}

/*
 * 下層ページ共通タイトルバー
 * 今後は全ページで同じHTML構造を使用します。
 * 既存ページとの互換性のため .policy-title も残します。
 */

.cgc-page-title,
.policy-title {
	position: relative;
	box-sizing: border-box;
	width: calc(100% - 12px);
	max-width: var(--cgc-page-width);
	min-height: 70px;
	margin: 0 auto 40px;
	padding: 18px 20px;
	background-color: #f2054f;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

/* 中国シジシーからのお知らせ：共通色 */
.cgc-page-title--information {
	background-color: #3aae9a;
}

/* 新着情報一覧ページだけ、2番目のタイトルバーに上余白 */
body.page-id-28 .cgc-page-title--information {
	margin-top: 100px;
}

/* アイコン付き共通タイトル */

.cgc-page-title {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* 左側のアイコン画像 */

.cgc-page-title__icon {
	position: absolute;
	top: 50%;
	left: 24px;
	display: block;
	width: 44px;
	height: 44px;
	object-fit: contain;
	transform: translateY(-50%);
}

/* タイトル文字 */

.cgc-page-title__text {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding-right: 68px;
	padding-left: 68px;
	text-align: center;
}

/* ======================================
   会社情報ページ
====================================== */

body.page-id-43,
body.single-post {
	background-color: #fff;
	background-image: url("assets/images/news-bg.jpg");
	background-position: center top;
	background-repeat: repeat-y;
	background-size: 1600px auto;
	background-attachment: fixed;
}

body.page-id-43 {
	background-size: 100% auto;
}

/* 社長メッセージ共通ボックス */

.company-box {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--cgc-page-width);
	margin: 0 auto 45px;
	padding: 32px 100px 45px;
	background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 22px;
	box-shadow: 2px 3px 8px rgba(0, 0, 0, 0.18);
}

/* アクセスマップは現在の余白を維持 */

.company-box--map {
	padding: 32px 55px 45px;
}

/* ボックス内の見出し */

.company-box__title {
	margin: 0 0 32px;
	padding: 0;
	color: var(--cgc-text-color);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

/* 社長メッセージ全体 */

.company-message {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	align-items: start;
	gap: 45px;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}

/* 社長プロフィール */

.company-message__profile {
	width: 100%;
}

.company-message__photo {
	display: block;
	width: 180px;
	max-width: 100%;
	height: auto;
	margin: 0 0 12px;
}

.company-message__company,
.company-message__position,
.company-message__name {
	margin: 0;
	color: var(--cgc-text-color);
	font-size: 14px;
	line-height: 1.7;
}

.company-message__position {
	margin-top: 14px;
}

.company-message__name {
	margin-top: 14px;
	font-size: 16px;
}

/* 社長メッセージ本文 */

.company-message__content {
	min-width: 0;
}

.company-message__content p {
	margin: 0 0 20px;
	color: var(--cgc-text-color);
	font-size: 16px;
	line-height: 1.9;
}

.company-message__content p:last-child {
	margin-bottom: 0;
}

.company-message__lead {
	color: var(--cgc-accent-color) !important;
	font-size: 18px !important;
	font-weight: 700;
	line-height: 1.8 !important;
}

/* ======================================
   会社概要
====================================== */

/* 会社概要：説明文＋社屋写真 */

.company-overview-intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 460px;
	gap: 40px;
	align-items: start;
	max-width: 980px;
	margin: 0 auto 45px;
}

.company-overview-intro__text p {
	margin: 0;
	font-size: 16px;
	line-height: 2;
}

.company-overview-intro__image {
	text-align: right;
}

.company-overview-intro__image img {
	display: block;
	width: 100%;
	max-width: 460px;
	height: auto;
	margin-left: auto;
	border-radius: 6px;
}

.company-overview {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
}

.company-overview__row {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	column-gap: 36px;
	align-items: start;
	padding: 22px 0;
	border-bottom: 1px solid #d8d8d8;
}

.company-overview__row:first-child {
	border-top: 1px solid #d8d8d8;
}

.company-overview__label {
	margin: 0;
	color: var(--cgc-text-color);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.8;
}

.company-overview__value {
	margin: 0;
	color: var(--cgc-text-color);
	font-size: 16px;
	line-height: 1.8;
}

.company-overview__value br {
	margin-bottom: 4px;
}

/* ======================================
   アクセスマップ
====================================== */

.company-map {
	margin: 0 -10px;
}

.company-map__google {
	height: 550px;
}

.company-map__google iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* プライバシーポリシー・利用規約 本文全体 */

.privacy-policy,
.terms-of-service {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--cgc-page-width);
	margin-right: auto;
	margin-left: auto;
	padding: 40px 50px;
	background: rgba(255, 255, 255, 0.88);
	border-radius: 10px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

/* 本文見出し */

.privacy-policy h2 {
	margin-top: 38px;
	margin-bottom: 16px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.5;
}

/* 本文・リスト */

.privacy-policy p,
.privacy-policy li {
	font-size: 16px;
	line-height: 1.9;
}

.privacy-policy p {
	margin-top: 0;
	margin-bottom: 20px;
}

.privacy-policy ul {
	margin-top: 0;
	margin-bottom: 22px;
	padding-left: 1.6em;
}

/* 最終改定日 */

.privacy-policy-date {
	margin-top: 40px;
	text-align: right;
}

/* ======================================
   沿革
====================================== */

.company-history {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
}

.company-history__row {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	column-gap: 24px;
	align-items: start;
	padding: 22px 0;
	border-bottom: 1px solid #d8d8d8;
}

.company-history__row:first-child {
	border-top: 1px solid #d8d8d8;
}

.company-history__year {
	margin: 0;
	color: var(--cgc-text-color);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.8;
	white-space: nowrap;
}

.company-history__content {
	display: grid;
	grid-template-columns: 70px minmax(0, 1fr);
	column-gap: 20px;
	min-width: 0;
	margin: 0;
}

.company-history__month,
.company-history__text {
	display: block;
	margin: 0;
	color: var(--cgc-text-color);
	font-size: 16px;
	line-height: 1.8;
}

.company-history__month {
	white-space: nowrap;
}

/* ======================================
   タブレット
====================================== */

@media screen and (max-width: 1199px) {

	:root {
		--cgc-side-space: 25px;
	}

	body {
		padding-top: 200px !important;
	}

	#site-header-container.custom-site-header__container {
		min-height: 200px;
		padding-top: 18px;
		padding-bottom: 18px;
	}

	#custom-global-nav.custom-global-nav {
		left: auto !important;
		right: 0 !important;
		transform: translateY(-10px);
	}

	#custom-global-nav.custom-global-nav.is-open {
		transform: translateY(0);
	}

	.cgc-footer .container {
		padding-top: 45px;
		padding-bottom: 40px;
	}

	.cgc-footer-menu ul {
		justify-content: flex-start;
	}

	.cgc-footer-main {
		grid-template-columns: 150px max-content;
		justify-content: start;
		gap: 30px;
	}

	.cgc-footer-logo img {
		width: 150px;
	}

	.cgc-footer-links {
		grid-column: 1 / -1;
		justify-content: center;
		gap: 30px;
		padding-top: 12px;
	}

	body:not(.home) .breadSection .container {
		padding-top: 35px !important;
		padding-bottom: 12px !important;
	}

	.cgc-page-title,
	.policy-title {
		font-size: 19px;
	}

	.cgc-footer-company {
		align-items: flex-start !important;
		text-align: left !important;
	}

	.cgc-footer-company .company-logo {
		align-self: flex-start !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

}

/* ======================================
   スマートフォン
====================================== */

@media screen and (max-width: 599px) {

	body.admin-bar #site-header.custom-site-header {
		top: 46px;
	}

	:root {
		--cgc-side-space: 20px;
	}

	#site-header-container.custom-site-header__container {
		min-height: 100px;
		padding-top: 14px;
		padding-bottom: 14px;
	}

	.custom-site-header__logo-image img {
		max-width: 115px;
	}

	.custom-site-header__text {
		margin-left: 10px;
	}

	.custom-site-header__company {
		font-size: 16px;
	}

	.custom-site-header__catchcopy {
		font-size: 10px;
		line-height: 1.45;
	}

	#custom-menu-button.custom-menu-button {
		width: 54px;
		height: 54px;
	}

	#custom-global-nav.custom-global-nav {
		top: calc(100% + 10px) !important;
		left: auto !important;
		right: 0 !important;
		width: min(255px, calc(100vw - 40px)) !important;
		max-height: calc(100vh - 110px) !important;
		padding: 72px 24px 24px !important;
		background: rgba(230, 0, 61, 0.88) !important;
		transform: translateY(-10px);
	}

	#custom-global-nav.custom-global-nav.is-open {
		transform: translateY(0);
	}

	body.custom-menu-open {
		overflow: hidden;
	}

	.cgc-footer .container {
		padding-top: 40px;
		padding-bottom: 35px;
	}

	.cgc-footer-menu {
		margin-bottom: 32px;
	}

	.cgc-footer-menu ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px 16px;
	}

	.cgc-footer-menu a {
		font-size: 12px;
		white-space: normal;
	}

	.cgc-footer-main {
		grid-template-columns: 110px minmax(0, 1fr);
		align-items: center;
		column-gap: 18px;
		row-gap: 22px;
		text-align: left;
	}

	.cgc-footer-logo {
		justify-content: flex-start;
	}

	.cgc-footer-logo img {
		width: 110px;
		margin: 0;
	}

	.cgc-footer-company {
		align-items: flex-start;
		text-align: left;
		min-width: 0;
	}

	.cgc-footer-company .company-logo {
		width: 180px;
		max-width: 100%;
		height: auto;
		margin-right: 0;
		margin-left: 0;
		margin-bottom: 10px;
	}

	.company-name,
	.company-info {
		text-align: left;
	}

	.cgc-footer-links {
		grid-column: 1 / -1;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: 24px;
		padding-top: 10px;
	}

	.cgc-footer-copy {
		margin-top: 28px;
		padding-top: 24px;
		font-size: 12px;
	}

	body:not(.home) .breadSection .container {
		padding-top: 25px !important;
		padding-bottom: 10px !important;
	}

	.cgc-page-title,
	.policy-title {
		min-height: 60px;
		margin-bottom: 30px;
		padding: 15px 20px;
		font-size: 16px;
		line-height: 1.6;
	}

	.cgc-page-title__icon {
		left: 14px;
		width: 36px;
		height: 36px;
	}

	.cgc-page-title__text {
		padding-right: 50px;
		padding-left: 50px;
	}

/* 会社情報ページ・社長メッセージ */

	.company-box {
		margin-bottom: 30px;
		padding: 25px 20px 30px;
		border-radius: 16px;
	}

	.company-box__title {
		margin-bottom: 24px;
		font-size: 21px;
	}

	.company-message {
		grid-template-columns: 1fr;
		gap: 25px;
	}

	.company-message__profile {
		max-width: 180px;
		margin: 0 auto;
	}

	.company-message__photo {
		width: 180px;
		margin-right: auto;
		margin-left: auto;
	}

	.company-message__content p {
		font-size: 15px;
		line-height: 1.8;
	}

	.company-message__lead {
		font-size: 16px !important;
	}

	.company-map {
		margin: 0;
	}

	.company-map__google {
		height: 320px;
	}

/* ======================================
   会社概要
====================================== */

.company-overview-intro {
	grid-template-columns: 1fr;
	gap: 24px;
	margin-bottom: 30px;
}

.company-overview-intro__image {
	text-align: center;
}

.company-overview-intro__image img {
	max-width: 100%;
	margin: 0 auto;
}

.company-overview__row {
	grid-template-columns: 1fr;
	row-gap: 8px;
	padding: 18px 0;
}

.company-overview__label {
	font-size: 15px;
}

.company-overview__value {
	font-size: 15px;
	line-height: 1.8;
}

	.privacy-policy {
		padding-right: 20px;
		padding-left: 20px;
	}

	.privacy-policy h2 {
		margin-top: 30px;
		font-size: 19px;
	}

	.privacy-policy p,
	.privacy-policy li {
		font-size: 15px;
		line-height: 1.8;
	}

	body {
		padding-top: 112px !important;
	}

	body.admin-bar #site-header.custom-site-header {
		top: 46px !important;
}

}

/* ======================================
   タブレット：ヘッダー
   600px ～ 1199px
====================================== */

@media screen and (min-width: 600px) and (max-width: 1199px) {

	body {
		padding-top: 120px !important;
	}

	#site-header-container.custom-site-header__container {
		min-height: 120px !important;
		padding-top: 15px !important;
		padding-bottom: 15px !important;
	}

}

/* ======================================
   採用情報 - page ID:42
   .recruit-page
====================================== */

body.page-id-42 {
	background-color: #fff;
	background-image: url("assets/images/news-bg.jpg");
	background-position: center top;
	background-repeat: repeat-y;
	background-size: 1600px auto;
	background-attachment: fixed;
}

body.page-id-42 {
	background-size: 100% auto;
}

/* 採用情報ページ全体 */
.recruit-page {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--cgc-content-width, 1080px);
	margin: 0 auto;
	padding: 0 0 80px;
	color: #333;
}

/* ======================================
   ページタイトル
====================================== */

.recruit-page .subpage-title {
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto 45px;
	padding: 19px 30px 18px;
	background-color: #c9151e;
	color: #fff;
	text-align: center;
}

.recruit-page .subpage-title h1 {
	margin: 0;
	padding: 0;
	border: none;
	color: #fff;
	font-size: 30px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.08em;
}

.recruit-page .subpage-title p {
	margin: 5px 0 0;
	color: #fff;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

/* ======================================
   ページ内リンク
====================================== */

.recruit-nav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	width: 100%;
	max-width: 760px;
	margin: 0 auto 70px;
}

.recruit-nav a {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 92px;
	padding: 18px 45px 22px 25px;
	border: 1px solid #d5d5d5;
	background-color: #fff;
	color: #333;
	text-align: center;
	text-decoration: none;
	transition:
		background-color 0.25s ease,
		border-color 0.25s ease,
		color 0.25s ease;
}

/* リンク右側の矢印 */
.recruit-nav a::after {
	position: absolute;
	top: 50%;
	right: 23px;
	width: 9px;
	height: 9px;
	margin-top: -7px;
	border-right: 1px solid #c9151e;
	border-bottom: 1px solid #c9151e;
	content: "";
	transform: rotate(45deg);
}

.recruit-nav-ja {
	display: block;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: 0.06em;
}

.recruit-nav-en {
	display: block;
	margin-top: 5px;
	color: #999;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.05em;
}

/* ==============================
   ページ内リンク ホバー（新卒）
============================== */

.recruit-nav a:first-child:hover {
	background-color: #5AA9F8;
	border-color: #5AA9F8;
	color: #fff;
}

.recruit-nav a:first-child:hover::after {
	border-color: #fff;
}

.recruit-nav a:first-child:hover .recruit-nav-en {
	color: #fff;
}

/* ==============================
   ページ内リンク ホバー（中途）
============================== */

.recruit-nav a:last-child:hover {
	background-color: #5CBF72;
	border-color: #5CBF72;
	color: #fff;
}

.recruit-nav a:last-child:hover::after {
	border-color: #fff;
}

.recruit-nav a:last-child:hover .recruit-nav-en {
	color: #fff;
}

/* ======================================
   新卒採用・中途採用
====================================== */

.recruit-section {
	width: 100%;
	margin: 0 0 90px;
	padding: 0;
	scroll-margin-top: 140px;
}

.recruit-section:last-child {
	margin-bottom: 0;
}

/* セクション見出し */
.recruit-section-heading {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 34px;
	padding: 0 0 17px;
	border-bottom: 2px solid #c9151e;
}

.recruit-heading-icon {
	flex: 0 0 auto;
	display: block;
	width: 49px;
	height: 50px;
	margin: 0 18px 0 0;
	object-fit: contain;
}

.recruit-heading-text {
	min-width: 0;
}

.recruit-heading-text h2 {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	color: #333;
	font-size: 25px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.06em;
}

.recruit-heading-text p {
	margin: 4px 0 0;
	color: #999;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.04em;
}

/* Wix版にあるページ内リンク用英語表記 */
.recruit-section-label {
	margin: 0 0 15px;
	color: #999;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.04em;
}

/* ======================================
   募集要項
====================================== */

.recruit-details {
	width: 100%;
	margin: 0;
	border-top: 1px solid #d9d9d9;
}

.recruit-row {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	width: 100%;
	margin: 0;
	border-bottom: 1px solid #d9d9d9;
}

.recruit-row > h3 {
	display: flex;
	align-items: flex-start;
	box-sizing: border-box;
	margin: 0;
	padding: 25px 22px;
	border: none;
	background-color: #f3f3f3;
	color: #333;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.8;
	letter-spacing: 0.03em;
}

.recruit-row-content {
	box-sizing: border-box;
	min-width: 0;
	padding: 24px 30px 26px;
	background-color: #fff;
	color: #333;
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.02em;
}

/* 段落 */
.recruit-row-content p {
	margin: 0 0 15px;
}

.recruit-row-content p:last-child {
	margin-bottom: 0;
}

/* 内容内の小見出し */
.recruit-row-content h4 {
	margin: 25px 0 8px;
	padding: 0;
	border: none;
	background: none;
	color: #333;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.8;
}

.recruit-row-content h4:first-child {
	margin-top: 0;
}

/* リスト */
.recruit-row-content ul {
	margin: 15px 0 0;
	padding: 0;
	list-style: none;
}

.recruit-row-content li {
	position: relative;
	margin: 0 0 4px;
	padding-left: 1.2em;
}

.recruit-row-content li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "・";
}

/* メール・電話リンク */
.recruit-row-content a {
	color: #c9151e;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.recruit-row-content a:hover {
	text-decoration: none;
}

/* ======================================
   WordPress・Lightningの装飾を解除
====================================== */

.recruit-page h1::before,
.recruit-page h1::after,
.recruit-page h2::before,
.recruit-page h2::after,
.recruit-page h3::before,
.recruit-page h3::after,
.recruit-page h4::before,
.recruit-page h4::after {
	display: none !important;
	content: none !important;
}

.recruit-page h1,
.recruit-page h2,
.recruit-page h3,
.recruit-page h4 {
	box-shadow: none;
	text-transform: none;
}

.recruit-page img {
	max-width: 100%;
}

/* アンカーリンク移動時の位置調整 */
#new-graduate,
#career {
	scroll-margin-top: 130px;
}

/* ======================================
   タブレット
====================================== */

@media screen and (max-width: 991px) {

	.recruit-page {
		padding-right: 25px;
		padding-left: 25px;
	}

	.recruit-row {
		grid-template-columns: 170px minmax(0, 1fr);
	}

	.recruit-row > h3 {
		padding-right: 18px;
		padding-left: 18px;
	}

	.recruit-row-content {
		padding-right: 24px;
		padding-left: 24px;
	}
}

/* ======================================
   スマートフォン
====================================== */

@media screen and (max-width: 767px) {

	.recruit-page {
		padding-right: 18px;
		padding-bottom: 55px;
		padding-left: 18px;
	}

	.recruit-page .subpage-title {
		margin-bottom: 30px;
		padding: 15px 18px 14px;
	}

	.recruit-page .subpage-title h1 {
		font-size: 23px;
	}

	.recruit-page .subpage-title p {
		margin-top: 3px;
		font-size: 10px;
	}

	/* ページ内リンクを縦並び */
	.recruit-nav {
		grid-template-columns: 1fr;
		gap: 10px;
		margin-bottom: 50px;
	}

	.recruit-nav a {
		min-height: 76px;
		padding: 14px 42px 16px 18px;
	}

	.recruit-nav-ja {
		font-size: 16px;
	}

	.recruit-nav-en {
		font-size: 10px;
	}

	/* セクション */
	.recruit-section {
		margin-bottom: 65px;
	}

	.recruit-section-heading {
		margin-bottom: 24px;
		padding-bottom: 13px;
	}

	.recruit-heading-icon {
		width: 40px;
		height: 41px;
		margin-right: 13px;
	}

	.recruit-heading-text h2 {
		font-size: 20px;
	}

	.recruit-heading-text p {
		margin-top: 2px;
		font-size: 10px;
	}

	/* 募集要項を上下配置 */
	.recruit-row {
		display: block;
	}

	.recruit-row > h3 {
		display: block;
		padding: 12px 15px;
		font-size: 14px;
		line-height: 1.6;
	}

	.recruit-row-content {
		padding: 17px 15px 20px;
		font-size: 13px;
		line-height: 1.9;
	}

	.recruit-row-content p {
		margin-bottom: 12px;
	}

	.recruit-row-content h4 {
		margin-top: 20px;
		font-size: 13px;
	}
}

/* ======================================
   加盟店ページ
   ページID：41
====================================== */

/* 加盟店ページ全体の背景 */
body.page-id-41,
body.single-post {
	background-color: #fff;
	background-image: url("assets/images/news-bg.jpg");
	background-position: center top;
	background-repeat: repeat-y;
	background-size: 1600px auto;
	background-attachment: fixed;
}

body.page-id-41 {
	background-size: 100% auto;
}

body.page-id-41 .page-header{
	display:none !important;
}

body.page-id-41 .breadSection{
	margin:0 !important;
	padding:35px 0 0 !important;
}

/* パンくずとタイトルバーの間隔を他ページと統一 */
body.page-id-41 .cgc-member-page{
	padding-top:25px;
}

body.page-id-41 .entry-body,
body.page-id-41 .entry-content{
	margin:0;
	padding:0;
}

/* ======================================
   ページ全体
====================================== */

/* 加盟店ページ：他の下層ページと横幅を統一 */
body.page-id-41 .cgc-member-page-inner{
	box-sizing:border-box;
	width:100%;
	max-width:var(--cgc-page-width);
	margin:0 auto;
}

.member-page{
	width:100%;
}

.member-content{
	box-sizing:border-box;
	width:calc(100% - 12px);
	max-width:var(--cgc-page-width);
	margin:0 auto;
	padding:0 0 80px;
}

/* ======================================
   県ブロック
====================================== */

.member-area{
	margin:0 0 90px;
	background: rgba(255, 255, 255, 0.88);
	border-radius: 10px;
}

.member-area:last-child{
	margin-bottom:0;
}

/* ======================================
   県タイトル
====================================== */

.member-area-title{
	display:inline-flex;
	align-items:center;
	position:relative;

	margin:0 0 55px;
	padding:12px 24px 12px 62px;

	background:#f4004f;
	border:none;
	border-radius:14px;

	color:#fff;
	font-size:24px;
	font-weight:700;
	line-height:1;

	box-shadow:4px 4px 0 #f66b8f;
}

.member-area-header{
	display:flex;
	align-items:center;
	margin-bottom:50px;
}

.member-area-icon{
	position:relative;
	z-index:2;
	flex-shrink:0;
	width:66px;
	height:66px;
	margin-right:-14px;
	margin-left:-4px;
	object-fit:contain;
}

.member-area-title{
	display:flex;
	align-items:center;
	min-width:0;
	height:54px;
	margin:0 !important;
	padding:0 18px 0 26px !important;
	border:0 !important;
	border-radius:14px;
	background:#f4004f;
	box-shadow:4px 5px 0 #f66b8f;
	color:#fff;
	font-size:28px;
	font-weight:700;
	line-height:1;
	white-space:nowrap;
}

.member-area-title::before,
.member-area-title::after{
	display:none !important;
}

.member-area-title span{
	display:block;
}

.member-area-title span{
	display:block;
}

/* ======================================
   企業一覧
====================================== */

.member-company-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	column-gap:58px;
	row-gap:55px;
}

/* ======================================
   企業カード
====================================== */

.member-company{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:flex-start;
	padding:0 10px 20px;
	border-bottom:none;
}

.member-company::after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:2px;
	background:repeating-linear-gradient(
		to right,
		#a8a8a8 0 3px,
		transparent 3px 6px
	);
}

/* ======================================
   ロゴ
====================================== */

.member-company-logo{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:120px;
	margin-bottom:8px;
}

.member-company-logo img{
	display:block;
	width:auto;
	height:auto;
	max-width:260px;
	max-height:110px;
	object-fit:contain;
}

/* ======================================
   ロゴ個別調整
====================================== */

.member-company--fresta .member-company-logo img{
	max-width:235px;
	max-height:95px;
}

.member-company--fujisan .member-company-logo img{
	max-width:175px;
	max-height:75px;
}

.member-company--spark .member-company-logo img{
	max-width:220px;
	max-height:82px;
}

.member-company--saijo .member-company-logo img{
	max-width:190px;
	max-height:78px;
}

.member-company--fujisan .member-company-logo img{
	max-width:180px;
	max-height:80px;
	width:auto;
	height:auto;
	object-fit:contain;
}

/* ======================================
   社名
====================================== */

.member-company p{
	margin:0;
	font-size:17px;
	line-height:1.7;
	color:#333;
}

.member-company a{
	color:#333;
	text-decoration:none;
	transition:.2s;
}

.member-company a:hover{
	color:#b51f2e;
}

/* ======================================
   注釈
====================================== */

.member-notes{
	margin-top:35px;
	padding:20px 25px;
	background:#f7f7f7;
	border-radius:4px;
}

.member-notes p{
	margin:0 0 8px;
	font-size:14px;
	line-height:1.8;
	color:#666;
}

.member-notes p:last-child{
	margin-bottom:0;
}

.member-note-number{
	display:block;
	margin-top:6px;
	font-size:12px;
	line-height:1.5;
	text-align:center;
	color:#777;
}

.member-company-link{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	width:100%;
	text-decoration:none;
	color:inherit;
	transition:.2s ease;
}

.member-company-link:hover{
	opacity:.75;
}

.member-company-link:hover .member-company-name{
	color:#b51f2e;
}

.member-no-website {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	line-height: 1.5;
	text-align: center;
	color: #777;
}

/* ======================================
   タブレット
====================================== */

@media (max-width:991px){

	.member-content{
		padding:0 20px 70px;
	}

	.member-area{
		margin-bottom:70px;
	}

	.member-area-title{
		margin-bottom:35px;
		font-size:22px;
	}

	.member-company-grid{
		column-gap:40px;
		row-gap:40px;
	}

	.member-company{
		min-height:170px;
	}

	.member-company-logo{
		height:80px;
	}

	.member-company-logo img{
		max-width:180px;
		max-height:70px;
	}

}

/* ======================================
   スマートフォン
====================================== */

@media (max-width:767px){

	body.page-id-41 .breadSection{
		padding-top:22px !important;
	}

	body.page-id-41 .siteContent,
	body.page-id-41 .site-content{
		padding-top:25px !important;
	}

	.member-content{
		padding:0 20px 60px;
	}

	.member-area{
		margin-bottom:60px;
	}

	.member-area-title{
		margin-bottom:25px;
		padding:10px 18px 10px 50px;
		font-size:20px;
	}

	.member-company-grid{
		grid-template-columns:1fr;
		row-gap:30px;
	}

	.member-company{
		min-height:auto;
		padding:0 0 20px;
	}

	.member-company-logo{
		height:70px;
		margin-bottom:15px;
	}

	.member-company-logo img{
		max-width:170px;
		max-height:60px;
	}

	.member-company p{
		font-size:16px;
		line-height:1.6;
	}

	.member-notes{
		margin-top:25px;
		padding:16px;
	}

	.member-notes p{
		font-size:13px;
		line-height:1.7;
	}

}

/* ======================================
　利用規約　ページID：63
   プライバシーポリシー　ページID：64
====================================== */

/* 利用規約全体の背景 */
body.page-id-63,
body.single-post {
	background-color: #fff;
	background-image: url("assets/images/news-bg.jpg");
	background-position: center top;
	background-repeat: repeat-y;
	background-size: 1600px auto;
	background-attachment: fixed;
}

body.page-id-63 {
	background-size: 100% auto;
}

/* プライバシーポリシー全体の背景 */
body.page-id-64,
body.single-post {
	background-color: #fff;
	background-image: url("assets/images/news-bg.jpg");
	background-position: center top;
	background-repeat: repeat-y;
	background-size: 1600px auto;
	background-attachment: fixed;
}

body.page-id-64 {
	background-size: 100% auto;
}

/* ======================================
   NEWS
   固定ページ「新着情報」：ページID 28
====================================== */

/* 新着情報ページ全体の背景 */
body.page-id-28,
body.single-post {
	background-color: #fff;
	background-image: url("assets/images/news-bg.jpg");
	background-position: center top;
	background-repeat: repeat-y;
	background-size: 1600px auto;
	background-attachment: fixed;
}

body.page-id-28 {
	background-size: 100% auto;
}

/* 加盟店ページ・新着情報個別ページは背景を画面幅いっぱいに */
body.page-id-28,
body.single-post {
	background-size: 100% auto;
}

/* 各ニュースセクション */
.news-section {
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 80px;
}

.news-section:last-child {
	margin-bottom: 80px;
}

/* 投稿一覧全体 */
.news-list {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: 980px;
	margin: 45px auto 55px;
	padding: 35px;
	border-radius: 8px;
	background-color: rgba(255, 255, 255, 0.93);
	box-shadow: 0 3px 15px rgba(0, 0, 0, 0.05);
}

/* 各投稿 */
.news-card {
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 40px;
	padding-bottom: 40px;
	border-bottom: 1px solid #dddddd;
}

/* 最後の投稿には罫線と下余白を付けない */
.news-card:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

/* 投稿全体のリンク */
.news-card > a {
	display: grid;
	grid-template-columns: 320px minmax(0, 1fr);
	gap: 32px;
	align-items: center;
	color: #222;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.news-card > a:hover {
	opacity: 0.85;
}

/* アイキャッチ画像 */
.news-thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 260px;   /* ← この数値で高さを調整 */
	overflow: hidden;
	background-color: #fff;
}

.news-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;   /* cover → contain に変更 */
	transition: transform 0.3s ease;
}

.news-card > a:hover .news-thumb img {
	transform: scale(1.02);
}

/* 投稿内容 */
.news-content {
	min-width: 0;
}

/* 投稿日 */
.news-date {
	display: block;
	text-align: right;
	margin-bottom: 12px;
	color: #777;
	font-size: 12px;
	line-height: 1.5;
}

/* 投稿タイトル */
.news-title {
	margin: 0 0 14px;
	color: #222;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.6;
	transition: color 0.2s ease;
}

.news-card > a:hover .news-title {
	color: #d5001c;
}

/* 投稿抜粋 */
.news-excerpt {
	display: -webkit-box;
	min-height: calc(1.7em * 3);
	overflow: hidden;
	color: #333;
	font-size: 15px;
	line-height: 1.7;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.news-excerpt p {
	margin: 0;
}

/* 投稿がない場合 */
.news-empty {
	margin: 45px 0;
	text-align: center;
}

/* 中国シジシーからのお知らせ */
body.page-id-28 .cgc-page-title--information {
	margin-top: 100px;
	background-color: #3aae9a;
}

/* ======================================
   タブレット
====================================== */

@media (max-width: 991px) {

	.news-list {
		width: calc(100% - 60px);
		padding: 30px;
	}

	.news-card > a {
		grid-template-columns: 280px minmax(0, 1fr);
		gap: 28px;
	}
}

/* ======================================
   スマートフォン
====================================== */

@media (max-width: 767px) {

	body.page-id-28,
	body.single-post {
		background-position: center top;
		background-repeat: repeat-y;
		background-size: 900px auto;
		background-attachment: scroll;
	}

	.news-section {
		margin-bottom: 60px;
	}

	.news-section:last-child {
		margin-bottom: 60px;
	}

	.news-list {
		width: calc(100% - 30px);
		max-width: none;
		margin: 30px auto 40px;
		padding: 20px;
		border-radius: 6px;
	}

	.news-card {
		margin-bottom: 32px;
		padding-bottom: 32px;
	}

	.news-card > a {
		display: block;
	}

	.news-thumb {
		margin-bottom: 18px;
	}

	.news-date {
		margin-bottom: 8px;
	}

	.news-title {
		margin-bottom: 12px;
		font-size: 18px;
		line-height: 1.6;
	}

	.news-excerpt {
		font-size: 15px;
		line-height: 1.7;
	}

	.cgc-page-title--information {
		margin-top: 70px;
	}
}

/* ======================================
   投稿詳細ページ
====================================== */

.cgc-single-news {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
}

.cgc-single-news__header {
	margin: 0 0 32px;
}

.cgc-single-news__date {
	display: block;
	text-align: right;
	margin-bottom: 12px;
	color: #777;
	font-size: 13px;
	line-height: 1.5;
}

.cgc-single-news__title {
	margin: 0;
	padding: 0;
	border: 0;
	color: #222;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.6;
}

.cgc-single-news__title::before,
.cgc-single-news__title::after {
	display: none !important;
	content: none !important;
}

.cgc-single-news__main-image {
	width: 100%;
	margin: 0 0 40px;
}

.cgc-single-news__main-image img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
}

.cgc-single-news__content {
	max-width: 780px;
	margin: 45px auto 0;
	color: #222;
	font-size: 16px;
	line-height: 2;
}

.cgc-single-news__content p {
	margin: 0 0 24px;
}

.cgc-single-news__content p:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 767px) {

	.cgc-single-news {
		padding-right: 15px;
		padding-left: 15px;
	}

	.cgc-single-news__title {
		font-size: 22px;
	}

	.cgc-single-news__main-image {
		margin-bottom: 30px;
	}

}

/* ======================================
   投稿詳細ページ
====================================== */

.cgc-single-news {
	box-sizing: border-box;
	width: 100%;
	max-width: 980px;
	margin-right: auto;
	margin-left: auto;
}

.cgc-single-news__header {
	margin: 0 0 32px;
}

.cgc-single-news__date {
	display: block;
	margin: 0 0 12px;
	color: #777;
	font-size: 13px;
	line-height: 1.5;
}

.cgc-single-news__title {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: #222;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.6;
}

.cgc-single-news__title::before,
.cgc-single-news__title::after {
	display: none !important;
	content: none !important;
}

.cgc-single-news__main-image {
	width: 100%;
	margin: 0 0 40px;
}

.cgc-single-news__main-image img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
}

.cgc-single-news__content {
	color: #222;
	font-size: 16px;
	line-height: 1.9;
}

@media screen and (max-width: 767px) {

	.cgc-single-news {
		padding-right: 15px;
		padding-left: 15px;
	}

	.cgc-single-news__title {
		font-size: 22px;
	}

	.cgc-single-news__main-image {
		margin-bottom: 30px;
	}

}

/* ======================================
   投稿詳細ページ：カテゴリー
====================================== */

.cgc-single-news__footer {
	width: 100%;
	max-width: 780px;
	margin: 35px auto 0;
}

.cgc-single-news__categories {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.cgc-single-news__category-label {
	color: #777;
	font-size: 13px;
	line-height: 1.5;
}

.cgc-single-news__category {
	display: inline-block;
	padding: 5px 14px;
	border-radius: 999px;
	background-color: #f2054f;
	color: #fff;
	font-size: 13px;
	line-height: 1.5;
	text-decoration: none;
}

.cgc-single-news__category:hover {
	opacity: 0.8;
	color: #fff;
}

/* ======================================
   投稿詳細ページ：前後の記事
====================================== */

.cgc-single-news__navigation {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	width: 100%;
	max-width: 780px;
	margin: 35px auto 0;
}

.cgc-single-news__navigation-prev,
.cgc-single-news__navigation-next {
	min-width: 0;
}

.cgc-single-news__navigation a {
	display: block;
	box-sizing: border-box;
	height: 100%;
	padding: 18px 20px;
	border: 1px solid #ddd;
	border-radius: 8px;
	background-color: #fff;
	color: #222;
	text-decoration: none;
	transition:
		border-color 0.2s ease,
		background-color 0.2s ease;
}

.cgc-single-news__navigation a:hover {
	border-color: #f2054f;
	background-color: #fff7fa;
	color: #222;
}

.cgc-single-news__navigation-label {
	display: block;
	margin-bottom: 8px;
	color: #777;
	font-size: 12px;
	line-height: 1.5;
}

.cgc-single-news__navigation-title {
	display: block;
	font-size: 14px;
	line-height: 1.7;
}

.cgc-single-news__navigation-next {
	text-align: right;
}

@media screen and (max-width: 767px) {

	.cgc-single-news__navigation {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.cgc-single-news__navigation-next {
		text-align: left;
	}

}

/* ======================================
   投稿詳細ページ：一覧へ戻る
====================================== */

.cgc-single-news__back {
	width: 100%;
	max-width: 780px;
	margin: 30px auto 0;
	text-align: center;
}

.cgc-single-news__back a {
	display: inline-block;
	min-width: 240px;
	padding: 14px 28px;
	border-radius: 999px;
	background-color: #f2054f;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.cgc-single-news__back a:hover {
	color: #fff;
	opacity: 0.8;
}

/* ======================================
   SINGLE POST
   投稿詳細ページ
====================================== */

/* 外側のラッパー */
.cgc-single-page .entry-body {
	box-sizing: border-box;
	max-width: 1120px;
	margin: 0 auto 80px;
	padding: 0;
}

/* 白いコンテンツボックス */
.cgc-single-news {
	box-sizing: border-box;
	margin-top: 35px;
	padding: 45px 55px 60px;
	background: rgba(255, 255, 255, 0.90);
	border-radius: 10px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

/* スマホ */
@media (max-width: 767px) {

	.cgc-single-page .entry-body {
		margin-bottom: 50px;
	}

	.cgc-single-news {
		margin-top: 25px;
		padding: 30px 20px 40px;
		border-radius: 8px;
	}

}

/* ======================================
   投稿詳細ページ：SNSシェア
====================================== */

.cgc-single-news__share {
	display: flex;
	align-items: center;
	gap: 28px;
	width: 100%;
	max-width: 780px;
	margin: 50px auto 0;
	padding: 25px 5px;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

.cgc-single-news__share-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	color: #111;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition:
		opacity 0.2s ease,
		transform 0.2s ease;
}

.cgc-single-news__share-icon:hover {
	color: #111;
	opacity: 0.65;
	transform: translateY(-1px);
}

.cgc-single-news__share-icon--facebook {
	font-family: Arial, sans-serif;
	font-size: 23px;
}

.cgc-single-news__share-icon--x {
	font-family: Arial, sans-serif;
	font-size: 21px;
}

.cgc-single-news__share-icon--copy {
	font-size: 18px;
}

@media screen and (max-width: 767px) {

	.cgc-single-news__share {
		gap: 22px;
		margin-top: 35px;
		padding: 20px 5px;
	}

}

/* ======================================
   SNSシェア：ラベル
====================================== */

.cgc-single-news__share-label {
	display: inline-flex;
	align-items: center;
	margin-right: 30px;
	padding: 8px 14px;
	border-radius: 4px;
	background-color: #f3f3f3;
	color: #333;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}

/* ======================================
   ワクワク応募
   固定ページ：ID 53
====================================== */

/* ページ全体の背景 */
body.page-id-53 {
	background-color: #fff;
	background-image: url("assets/images/news-bg.jpg");
	background-position: center top;
	background-repeat: repeat-y;
	background-size: 1600px auto;
	background-attachment: fixed;
}

body.page-id-53 {
	background-size: 100% auto;
}

/* キャンペーン名とフォームを囲む白い半透明枠 */
body.page-id-53 .wakuwaku-section {
	box-sizing: border-box;
	width: calc(100% - 12px);
	max-width: 980px;
	margin: 45px auto 80px;
	padding: 50px 55px 70px;
	background-color: rgba(255,255,255,.90);
	border-radius: 10px;
	box-shadow: 0 4px 20px rgba(0,0,0,.08);
}

/* ======================================
   CONTACT FORM 7
====================================== */

/* フォーム全体 */
body.page-id-53 .wpcf7 {
	box-sizing: border-box;
	width: 100%;
	max-width: 750px;
	margin-right: auto;
	margin-left: auto;
}

/* 各入力項目 */
body.page-id-53 .cf7-row {
	margin-bottom: 38px;
}

/* 項目名 */
body.page-id-53 .cf7-label {
	margin: 0 0 18px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.6;
}

/* 項目名の先頭記号 */
body.page-id-53 .cf7-label::before {
	content: "◆";
	margin-right: 8px;
	font-size: 18px;
}

/* 必須マーク */
body.page-id-53 .required {
	color: #e60012;
	font-size: 0.9em;
	font-weight: 700;
	vertical-align: middle;
}

/* 入力欄共通 */
body.page-id-53 .wpcf7 input[type="text"],
body.page-id-53 .wpcf7 input[type="email"],
body.page-id-53 .wpcf7 input[type="tel"],
body.page-id-53 .wpcf7 input[type="number"],
body.page-id-53 .wpcf7 select,
body.page-id-53 .wpcf7 textarea {
	box-sizing: border-box;
	width: 100%;
	padding: 14px 16px;
	border: 1px solid #ccc;
	border-radius: 4px;
	background-color: #fff;
	color: #222;
	font-size: 16px;
	line-height: 1.6;
}

/* 入力欄選択時 */
body.page-id-53 .wpcf7 input[type="text"]:focus,
body.page-id-53 .wpcf7 input[type="email"]:focus,
body.page-id-53 .wpcf7 input[type="tel"]:focus,
body.page-id-53 .wpcf7 input[type="number"]:focus,
body.page-id-53 .wpcf7 select:focus,
body.page-id-53 .wpcf7 textarea:focus {
	border-color: #e6003d;
	outline: none;
	box-shadow: 0 0 0 1px #e6003d;
}

/* テキストエリア */
body.page-id-53 .wpcf7 textarea {
	min-height: 220px;
	resize: vertical;
}

/* チェックボックス全体 */
body.page-id-53 .wpcf7-checkbox {
	display: block;
}

/* チェックボックスを縦並び */
body.page-id-53 .wpcf7-checkbox .wpcf7-list-item {
	display: block;
	margin: 0 0 10px;
}

/* チェックボックスと文字の間隔 */
body.page-id-53 .wpcf7-checkbox input[type="checkbox"] {
	margin-right: 10px;
}

/* スーパー名の下余白 */
body.page-id-53 .cf7-supermarket {
	margin-bottom: 55px;
}

/* レシート添付欄 */
body.page-id-53 .wpcf7 input[type="file"] {
	box-sizing: border-box;
	width: 100%;
	padding: 20px;
	border: 1px solid #bbb;
	background-color: #fff;
}

/* 注意事項 */
body.page-id-53 .cf7-note {
	margin: -10px 0 45px;
	font-size: 15px;
	line-height: 1.8;
}

body.page-id-53 .cf7-note p {
	margin: 0;
}

/* 利用規約への同意 */
body.page-id-53 .cf7-agreement {
	margin: 55px 0 28px;
	text-align: center;
	font-size: 18px;
	font-weight: 700;
}

body.page-id-53 .cf7-agreement .wpcf7-list-item {
	margin: 0;
}

body.page-id-53 .cf7-agreement input[type="checkbox"] {
	margin-right: 14px;
	transform: scale(1.4);
}

/* プライバシーポリシー・利用規約 */
body.page-id-53 .cf7-links {
	width: 100%;
	margin: 25px 0 35px;
	text-align: center;
}

body.page-id-53 .cf7-links__inner {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 80px;
}

body.page-id-53 .cf7-links__inner p {
	margin: 0;
	padding: 0;
}

body.page-id-53 .cf7-links a {
	display: inline-block;
	color: #222;
	text-decoration: none;
	white-space: nowrap;
	font-size: 15px;
}

body.page-id-53 .cf7-links a:hover {
	text-decoration: underline;
}

/* 送信ボタン配置 */
body.page-id-53 .cf7-submit {
	margin-top: 45px;
	text-align: center;
}

/* 送信ボタン */
body.page-id-53 .cf7-submit .wpcf7-submit {
	box-sizing: border-box;
	width: 100%;
	max-width: 220px;
	min-height: 50px;
	padding: 10px 24px;
	border: none;
	border-radius: 25px;
	background-color: #000;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	cursor: pointer;
}

body.page-id-53 .cf7-submit .wpcf7-submit:hover {
	opacity: 0.8;
}

/* 送信中アイコン */
body.page-id-53 .cf7-submit .wpcf7-spinner {
	position: absolute;
	margin-left: 12px;
}

/* 入力エラー */
body.page-id-53 .wpcf7-not-valid-tip {
	margin-top: 8px;
	color: #e60012;
	font-size: 14px;
}

/* 送信結果メッセージ */
body.page-id-53 .wpcf7 form .wpcf7-response-output {
	margin: 30px 0 0;
	padding: 15px 20px;
}

/* ======================================
   スマートフォン
====================================== */

@media (max-width: 767px) {

	body.page-id-53 {
		background-attachment: scroll;
	}

	body.page-id-53 .wakuwaku-section {
		width: calc(100% - 24px);
		margin-top: 30px;
		margin-bottom: 50px;
		padding: 35px 20px 50px;
	}

	body.page-id-53 .wpcf7 {
		max-width: none;
	}

	body.page-id-53 .cf7-row {
		margin-bottom: 30px;
	}

	body.page-id-53 .cf7-label {
		margin-bottom: 12px;
		font-size: 17px;
	}

	body.page-id-53 .cf7-label::before {
		font-size: 17px;
	}

	body.page-id-53 .wpcf7 input[type="text"],
	body.page-id-53 .wpcf7 input[type="email"],
	body.page-id-53 .wpcf7 input[type="tel"],
	body.page-id-53 .wpcf7 input[type="number"],
	body.page-id-53 .wpcf7 select,
	body.page-id-53 .wpcf7 textarea {
		font-size: 16px;
	}

	body.page-id-53 .cf7-agreement {
		margin-top: 45px;
		font-size: 17px;
	}

	body.page-id-53 .cf7-links__inner {
		gap: 30px;
	}

	body.page-id-53 .cf7-submit .wpcf7-submit {
		max-width: 250px;
		font-size: 18px;
	}

}

/* ======================================
   TOP - 新着情報
====================================== */

.cgc-home-news-inner{
	box-sizing:border-box;
	width:calc(100% - 12px);
	max-width:var(--cgc-page-width);
	margin:0 auto;
}

.cgc-home-title {
	margin-bottom: 45px;
}

.cgc-home-title h2 {
	margin: 0;
	font-size: 40px;
	font-weight: 700;
	line-height: 1.2;
}

.cgc-home-title span {
	font-size: 28px;
	font-weight: 400;
}

.cgc-home-news-list {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: repeat(3, 320px);
	justify-content: center;
	gap: 40px 36px;

	width: calc(100% - 12px);
	max-width: var(--cgc-page-width);
	margin: 45px auto 0;
	padding: 35px;

	background: rgba(242, 5, 79, 0.22);
	border-radius: 8px;
}

.cgc-home-news-card a {
	display: block;
	box-sizing: border-box;
	height: 100%;
	padding: 18px;

	background-color: rgba(255, 255, 255, 0.96);
	border-radius: 8px;
	color: inherit;
	text-decoration: none;

	transition:
		opacity 0.25s ease,
		transform 0.25s ease;
}

.cgc-home-news-card a:hover {
	opacity: .85;
}

.cgc-home-news-thumb {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 8px;
	margin-bottom: 15px;
}

.cgc-home-news-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .3s;
}

.cgc-home-news-card:hover img {
	transform: scale(1.05);
}

.cgc-home-news-date {
	margin-bottom: 10px;
	font-size: 13px;
	color: #777;
}

.cgc-home-news-title {
	margin: 0;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.6;
}

.cgc-home-news-button {
	margin-top: 45px;
	text-align: center;
}

.cgc-home-news-button a {
	display: inline-block;
	padding: 14px 42px;
	background: #e6003d;
	color: #fff;
	text-decoration: none;
	border-radius: 999px;
	font-weight: 700;
	transition: .25s;
}

.cgc-home-news-button a:hover {
	background: #c50034;
}

@media (max-width: 991px) {

	.cgc-home-news-list {
		grid-template-columns: repeat(2, 1fr);
	}

}

@media (max-width: 767px) {

	.cgc-home-news-list {
		grid-template-columns: 1fr;
	}

	.cgc-home-title h2 {
		font-size: 30px;
	}

	.cgc-home-title span {
		font-size: 22px;
	}

}

/* TOP 新着情報タイトルバー */

.cgc-home .cgc-page-title {
	position: relative;
}

.cgc-home .cgc-page-title__button {
	position: absolute;
	top: 50%;
	right: 28px;
	transform: translateY(-50%);

	padding: 10px 22px;
	border-radius: 999px;

	background: #fff;
	color: #e6003d;

	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: .25s;
}

.cgc-home .cgc-page-title__button:hover {
	background: rgba(255,255,255,.9);
}

/* ======================================
   TOP 新着情報
====================================== */

.cgc-home-news {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	padding: 70px 0 90px;

	background-image: url("assets/images/news-bg.jpg");
	background-position: center top;
	background-repeat: repeat-y;
	background-size: 100% auto;
	background-attachment: fixed;
}

/* ======================================
   TOP 今月の推し・新商品
====================================== */

.cgc-home-feature {
	box-sizing: border-box;
	width: 100%;
	padding: 80px 0 100px;

	background-image:
		linear-gradient(
			rgba(242, 5, 79, 0.82),
			rgba(242, 5, 79, 0.82)
		),
		url("assets/images/news-bg.jpg");

	background-position: center top;
	background-repeat: repeat-y;
	background-size: 100% auto;
	background-attachment: fixed;
}

.cgc-home-feature-inner {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px;

	box-sizing: border-box;
	width: calc(100% - 48px);
	max-width: var(--cgc-page-width);
	margin: 0 auto;
}

.cgc-home-feature-card {
	min-width: 0;
}

.cgc-home-feature-heading {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;

	box-sizing: border-box;
	width: 100%;
	min-height: 70px;
	margin-bottom: 28px;
	padding: 18px 80px;

	background-color: #fff;
	color: #222;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.cgc-home-feature-heading__icon {
	position: absolute;
	top: 50%;
	left: 18px;

	display: block;
	width: 44px;
	height: 44px;
	object-fit: contain;

	transform: translateY(-50%);
}

.cgc-home-feature-heading__button {
	position: absolute;
	top: 50%;
	right: 12px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 60px;
	min-height: 38px;
	padding: 7px 14px;

	background-color: #f2054f;
	border-radius: 12px;
	color: #fff;

	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;

	transform: translateY(-50%);
	transition: opacity 0.25s ease;
}

.cgc-home-feature-heading__button:hover {
	color: #fff;
	opacity: 0.8;
}

.cgc-home-feature-frame {
	width: 100%;
	height: 400px;
	overflow: hidden;
	border: 3px solid #e6003d;
	background-color: #fff;
}

.cgc-home-feature-frame iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* タブレット */

@media screen and (max-width: 991px) {

	.cgc-home-feature-inner {
		gap: 22px;
		width: calc(100% - 36px);
	}

	.cgc-home-feature-heading {
		min-height: 82px;
		padding-right: 70px;
		padding-left: 70px;
		font-size: 18px;
	}

	.cgc-home-feature-heading__icon {
		left: 14px;
		width: 46px;
		height: 46px;
	}

	.cgc-home-feature-frame {
		height: 380px;
	}

}

/* スマートフォン */

@media screen and (max-width: 767px) {

	.cgc-home-feature {
		padding: 55px 0 70px;
	}

	.cgc-home-feature-inner {
		grid-template-columns: 1fr;
		gap: 45px;
		width: calc(100% - 30px);
	}

	.cgc-home-feature-heading {
		min-height: 76px;
		margin-bottom: 18px;
		padding: 14px 64px;
		font-size: 17px;
	}

	.cgc-home-feature-heading__icon {
		left: 12px;
		width: 42px;
		height: 42px;
	}

	.cgc-home-feature-heading__button {
		right: 10px;
		min-width: 54px;
		min-height: 34px;
		padding: 6px 11px;
		font-size: 12px;
	}

	.cgc-home-feature-frame {
		height: 430px;
	}

}

/* ======================================
   TOP 加盟店
====================================== */

.cgc-home-member {
	box-sizing: border-box;
	width: 100%;
	padding: 80px 0 100px;

	background-image:
		linear-gradient(
			rgba(255,255,255,0.85),
			rgba(255,255,255,0.85)
		),
		url("assets/images/news-bg.jpg");

	background-position: center top;
	background-repeat: repeat-y;
	background-size: 100% auto;
	background-attachment: fixed;
}

.cgc-home-member-inner {
	box-sizing: border-box;
	width: calc(100% - 12px);
	max-width: var(--cgc-page-width);
	margin: 0 auto;
}

.cgc-home-member-note {
	margin: -28px 8px 5px 0;
	color: #222;
	font-size: 14px;
	line-height: 1.6;
	text-align: right;
}

.cgc-home-member-list {
	box-sizing: border-box;
	width: 100%;
	padding: 0 35px;
}

.cgc-home-member-row {
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	align-items: center;
	column-gap: 50px;

	box-sizing: border-box;
	width: 100%;
	min-height: 170px;
	padding: 38px 35px;

	border-bottom: 2px dotted #999;
}

.cgc-home-member-row:last-child {
	border-bottom: 0;
}

/* 県名 */

.cgc-home-member-prefecture {
	display: flex;
	align-items: center;
	justify-content: center;

	box-sizing: border-box;
	width: 125px;
	min-height: 48px;
	padding: 8px 20px;

	background-color: #fff;
	border: 3px solid #f2054f;
	border-radius: 999px;
	box-shadow: 0 3px 7px rgba(0, 0, 0, 0.2);

	color: #222;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
}

/* ロゴ一覧：PCは4列 */

.cgc-home-member-logos {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: center;
	gap: 28px 32px;

	width: 100%;
	min-width: 0;
}

/* ロゴ1件 */

.cgc-home-member-logo {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: 100px;
}

.cgc-home-member-logo a {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	min-height: 75px;
	text-decoration: none;
	transition: opacity 0.25s ease;
}

.cgc-home-member-logo a:hover {
	opacity: 0.72;
}

.cgc-home-member-logo img {
	display: block;
	width: auto;
	max-width: 180px;
	height: auto;
	max-height: 75px;
	margin: 0 auto;
	object-fit: contain;
}

/* HPなしの「※」 */

.cgc-home-member-no-site {
	display: block;
	width: 100%;
	margin-top: 7px;

	color: #222;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

/* ======================================
   TOP 加盟店：タブレット
====================================== */

@media screen and (max-width: 991px) {

	.cgc-home-member-list {
		padding-right: 20px;
		padding-left: 20px;
	}

	.cgc-home-member-row {
		grid-template-columns: 120px minmax(0, 1fr);
		column-gap: 30px;
		padding-right: 20px;
		padding-left: 20px;
	}

	.cgc-home-member-prefecture {
		width: 115px;
	}

	.cgc-home-member-logos {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 25px 28px;
	}

	.cgc-home-member-logo img {
		max-width: 150px;
		max-height: 68px;
	}

}

/* ======================================
   TOP 加盟店：スマートフォン
====================================== */

@media screen and (max-width: 767px) {

	.cgc-home-member {
		padding: 55px 0 70px;
	}

	.cgc-home-member-note {
		margin: -18px 15px 25px;
		font-size: 12px;
	}

	.cgc-home-member-list {
		padding-right: 15px;
		padding-left: 15px;
	}

	.cgc-home-member-row {
		display: block;
		min-height: 0;
		padding: 30px 5px;
	}

	.cgc-home-member-prefecture {
		width: 115px;
		min-height: 42px;
		margin: 0 auto 28px;
		font-size: 15px;
	}

	.cgc-home-member-logos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 25px 20px;
	}

	.cgc-home-member-logo {
		min-height: 90px;
	}

	.cgc-home-member-logo img {
		max-width: 135px;
		max-height: 62px;
	}

}

/* ======================================
   TOP SNS
====================================== */

.cgc-home-sns {
	box-sizing: border-box;
	width: 100%;
	padding: 90px 0;

	background-image: url("assets/images/news-bg.jpg");
	background-position: center top;
	background-repeat: repeat-y;
	background-size: 100% auto;
	background-attachment: fixed;
}

.cgc-home-sns-inner {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 60px;

	box-sizing: border-box;
	width: calc(100% - 30px);
	max-width: var(--cgc-page-width);
	margin: 0 auto;
}

.cgc-home-sns-link {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 80px;
	height: 80px;

	text-decoration: none;
	transition:
		transform .25s ease,
		opacity .25s ease;
}

.cgc-home-sns-link:hover {
	transform: translateY(-4px);
	opacity: .8;
}

.cgc-home-sns-link img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 18px;
}

/* ======================================
   TOP SNS：スマートフォン
====================================== */

@media screen and (max-width: 767px) {

	.cgc-home-sns {
		padding: 60px 0 70px;
		background-attachment: scroll;
	}

	.cgc-home-sns-inner {
		gap: 20px;
	}

	.cgc-home-sns-link {
		width: 64px;
		height: 64px;
	}

}

/* ======================================
   TOP バナー
====================================== */

.cgc-home-banners {
	box-sizing: border-box;
	width: 100%;
	padding: 100px 0 120px;

	background-image:
		linear-gradient(
			rgba(242, 5, 79, 0.84),
			rgba(242, 5, 79, 0.84)
		),
		url("assets/images/news-bg.jpg");

	background-position: center top;
	background-repeat: repeat-y;
	background-size: 100% auto;
	background-attachment: fixed;
}

.cgc-home-banners-inner {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 62px 55px;

	box-sizing: border-box;
	width: calc(100% - 60px);
	max-width: var(--cgc-page-width);
	margin: 0 auto;
}

.cgc-home-banner {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
}

.cgc-home-banner a {
	display: block;
	width: 100%;
	text-decoration: none;
	transition:
		opacity 0.25s ease,
		transform 0.25s ease;
}

.cgc-home-banner a:hover {
	opacity: 0.82;
	transform: translateY(-3px);
}

.cgc-home-banner img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 125px;
	margin: 0 auto;
	object-fit: contain;
}

/*
バナーが5件の場合、
5件目を2段目の中央寄りに配置
*/
.cgc-home-banner:nth-child(5):last-child {
	grid-column: 2 / span 2;
	justify-self: center;
	width: 55%;
}

/* ======================================
   TOP バナー：タブレット
====================================== */

@media screen and (max-width: 991px) {

	.cgc-home-banners-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 45px 35px;
		width: calc(100% - 40px);
	}

	.cgc-home-banner:nth-child(5):last-child {
		grid-column: 1 / -1;
		width: 45%;
	}

}

/* ======================================
   TOP バナー：スマートフォン
====================================== */

@media screen and (max-width: 767px) {

	.cgc-home-banners {
		padding: 65px 0 80px;
		background-attachment: scroll;
	}

	.cgc-home-banners-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px 15px;
		width: calc(100% - 30px);
	}

	.cgc-home-banner {
		width: 100%;
	}

	.cgc-home-banner img {
		max-width: 360px;
		max-height: 120px;
	}

}

/* ======================================
   TOP メインビジュアル：加盟店マップ
====================================== */

.cgc-mainvisual {
	box-sizing: border-box;
	width: 100%;
	overflow: hidden;
	background-color: #fff;
}

.cgc-mainvisual-inner {
	box-sizing: border-box;
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 8px 0 0;
}

.cgc-mainvisual-note {
	position: relative;
	right: 110px;
	z-index: 3;
	width: calc(100% - 60px);
	max-width: 1240px;
	margin: 0 auto -20px;
	padding: 0;
	font-size: 13px;
	line-height: 1.5;
	text-align: right;
}

.cgc-mainvisual-viewport {
	position: relative;
	height: auto;
	overflow: hidden;
}

.cgc-mainvisual-map {
	position: relative;
	width: 100%;
	margin: 0 auto -340px;
}

.cgc-mainvisual-map__image {
	display: block;
	width: 125% !important;
	max-width: none;
	height: auto;
	margin: 0;

	position: relative;
	left: -10px;
	top: -140px;

	/* 下側だけ200px非表示 */
	clip-path: inset(0 0 200px 0);
}

/* 県別ボックス本体 */
.cgc-mainvisual-prefecture {
	position: absolute;
	z-index: 2;
	box-sizing: border-box;
	padding: 24px 24px 18px;
	border: 3px solid #f2054f;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.97);
	box-shadow: 4px 5px 4px rgba(0, 0, 0, 0.30);
}

.cgc-mainvisual-prefecture__name {
	position: absolute;
	top: -18px;
	left: 50%;
	min-width: 68px;
	padding: 7px 13px;
	border-radius: 11px;
	background: #f2054f;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
	transform: translateX(-50%);
}

.cgc-mainvisual-prefecture__logos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 13px 18px;
	align-items: center;
}

.cgc-mainvisual-logo {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 42px;
}

.cgc-mainvisual-logo a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	text-decoration: none;
}

.cgc-mainvisual-logo img {
	display: block;
	width: 100%;
	max-width: 120px;
	height: 52px;
	margin: 0 auto;
	object-fit: contain;
}

.cgc-mainvisual-logo__name {
	display: block;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}

.cgc-mainvisual-logo__no-site {
	position: static;
	display: block;
	width: 100%;
	margin-top: 2px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	transform: none;
}

/* Wixの地図配置を基準にした県別ボックス位置 */
.cgc-mainvisual-prefecture--shimane {
	top: 5%;
	left: 15%;
	width: 22%;
}

.cgc-mainvisual-prefecture--tottori {
	top: 5%;
	left: 60%;
	width: 22%;
}

.cgc-mainvisual-prefecture--okayama {
	top: 25%;
	left: 61%;
	width: 22%;
}

.cgc-mainvisual-prefecture--hiroshima {
	top: 34%;
	left: 38%;
	width: 22%;
}

.cgc-mainvisual-prefecture--yamaguchi {
	top: 38%;
	left: 15%;
	width: 22%;
}

/* 地図上の加盟企業タイトルバー */
.cgc-mainvisual-member {
	position: absolute;
	left: 50%;
	bottom: 340px;
	z-index: 10;

	box-sizing: border-box;
	width: 35%;
	min-width: 480px;
	margin: 0;
	padding: 15px 20px;

	background: #f2054f;
	color: #fff;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;

	transform: translateX(-50%);
}

/* タブレット */
@media screen and (max-width: 1100px) {

	.cgc-mainvisual-prefecture {
		padding: 19px 17px 14px;
		border-width: 2px;
	}

	.cgc-mainvisual-prefecture__name {
		top: -15px;
		min-width: 58px;
		padding: 6px 10px;
		font-size: 12px;
	}

	.cgc-mainvisual-prefecture__logos {
		gap: 8px 10px;
	}

	.cgc-mainvisual-logo {
		min-height: 34px;
	}

	.cgc-mainvisual-logo img {
		height: 42px;
	}

	.cgc-mainvisual-member {
		min-width: 420px;
		font-size: 15px;
	}
}

/* スマートフォン */
@media screen and (max-width: 767px) {

	.cgc-mainvisual-inner {
		padding-top: 14px;
	}

	.cgc-mainvisual-note {
		width: calc(100% - 30px);
		margin-bottom: 12px;
		font-size: 11px;
	}

	.cgc-mainvisual-map {
		display: grid;
		grid-template-columns: 1fr;
		gap: 16px;
		box-sizing: border-box;
		width: calc(100% - 30px);
		margin: 0 auto;
	}

	.cgc-mainvisual-map__image {
		grid-row: 1;
		margin-bottom: 8px;
		clip-path: none;
	}

	.cgc-mainvisual-prefecture {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		padding: 26px 18px 18px;
	}

	.cgc-mainvisual-prefecture__logos {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 14px;
	}

	.cgc-mainvisual-logo img {
		height: 48px;
	}

	.cgc-mainvisual-member {
		position: relative;
		left: auto;
		bottom: auto;
		width: 100%;
		min-width: 0;
		margin: 6px auto 0;
		padding: 13px 14px;
		font-size: 14px;
		transform: none;
	}
}

/* 島根県：上3列・下2列を強制 */
.cgc-mainvisual-prefecture--shimane .cgc-mainvisual-prefecture__logos {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 14px 18px !important;
	align-items: center !important;
	justify-items: center !important;
}

.cgc-mainvisual-prefecture--shimane .cgc-mainvisual-logo {
	width: 100% !important;
	min-width: 0 !important;
}

/* ======================================
   TOP メインビジュアル：スポットマーク
====================================== */

.cgc-mainvisual-spots {
	position: absolute;
	inset: 0;
	z-index: 4;
	pointer-events: none;
}

.cgc-mainvisual-spot {
	position: absolute;
	width: 34px;
	height: 41px;
	transform: translate(-50%, -100%);
}

.cgc-mainvisual-spot svg {
	display: block;
	width: 100%;
	height: 100%;
}

/* 島根県 */
.cgc-mainvisual-spot--shimane {
	left: 38.5%;
	top: 20.5%;
}

/* 鳥取県 */
.cgc-mainvisual-spot--tottori {
	left: 58.5%;
	top: 12.5%;
}

/* 岡山県 */
.cgc-mainvisual-spot--okayama {
	left: 59.5%;
	top: 28%;
}

/* 広島県 */
.cgc-mainvisual-spot--hiroshima {
	left: 44%;
	top: 33%;
}

/* 山口県 */
.cgc-mainvisual-spot--yamaguchi {
	left: 28.5%;
	top: 35.5%;
}

/* ======================================
   タブレット縦持ち時のヘッダー表示修正
====================================== */
@media screen and (max-width: 959px) {

	/* 1. ヘッダー自体の高さを適正にし、絶対配置要素の基準にする */
	#site-header-container.custom-site-header__container {
		min-height: 85px !important;
		height: auto !important;
		position: relative !important;
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}

	/* 2. 縦持ち時は横幅を取る「赤いキャッチコピーテキスト」を非表示にする */
		#site-header-container .header-red-text,
		#site-header-container p,
		#site-header-container span {
		display: none !important;
	}

	/* 3. ロゴのサイズ個別調整 */
	/* CGCグループロゴ（大きくする） */
	#site-header-container .custom-site-header__cgc-logo img,
	#site-header-container .cgc-logo img {
		height: 40px !important;     /* 大きくしたいサイズ */
		max-height: none !important;
		width: auto !important;
	}

	/* 株式会社中国シジシーロゴ（小さくする） */
	#site-header-container .custom-site-header__logo img,
	#site-header-container .site-logo img {
		height: 40px !important;     /* 小さくしたいサイズ */
		max-height: none !important;
		width: auto !important;
	}

	/* 4. メニューボタンの位置調整 */
	#site-header-container .menu-toggle,
	#site-header-container button,
	#site-header-container .drawer-trigger {
		position: absolute !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		right: 15px !important;
		left: auto !important;
		margin: 0 !important;
	}

	/* 5. 本文の余白調整 */
	body {
		padding-top: 65px !important;
	}

}

/* ======================================
   タブレット・スマホ
   TOP：メインビジュアル・加盟店を非表示
====================================== */

@media screen and (max-width: 1199px) {

	body.home .cgc-mainvisual,
	body.home .cgc-home-member {
		display: none !important;
	}

}

/* ======================================
   スマートフォン縦表示
   ヘッダーロゴ調整
====================================== */

@media screen and (max-width: 599px) and (orientation: portrait) {

	/* 株式会社中国シジシー
	   元画像の縦横比を維持して縮小 */
	#site-header-container
	.custom-site-header__logo
	img.custom-site-header__company-logo {
		width: 170px !important;
		max-width: 170px !important;
		height: auto !important;
		max-height: none !important;
	}

	/* CGCロゴと会社ロゴの間隔 */
	#site-header-container .custom-site-header__logo-link {
		grid-template-columns: 100px auto !important;
		gap: 0px !important;
	}

}

/* ======================================
   スマートフォン縦表示
   会社情報：沿革
====================================== */

@media screen and (max-width: 599px) and (orientation: portrait) {

	.company-history__row {
		display: block;
		padding: 20px 0;
	}

	.company-history__year {
		margin-bottom: 8px;
		white-space: normal;
	}

	.company-history__content {
		display: grid;
		grid-template-columns: 55px minmax(0, 1fr);
		column-gap: 12px;
		width: 100%;
	}

	.company-history__month {
		white-space: nowrap;
	}

	.company-history__text {
		min-width: 0;
		white-space: normal;
		word-break: normal;
		overflow-wrap: break-word;
	}

}

/* ======================================
   959px以下
   会社情報ページ レスポンシブ
====================================== */

@media screen and (max-width: 959px) {

	/* 社長メッセージ */
	.company-message {
		grid-template-columns: 1fr !important;
		gap: 25px;
	}

	.company-message__profile {
		max-width: 180px;
		margin-right: auto;
		margin-left: auto;
	}

	.company-message__photo {
		margin-right: auto;
		margin-left: auto;
	}

	/* 会社概要：説明文＋画像 */
	.company-overview-intro {
		grid-template-columns: 1fr !important;
		gap: 24px;
		margin-bottom: 30px;
	}

	.company-overview-intro__image {
		text-align: center;
	}

	.company-overview-intro__image img {
		max-width: 100%;
		margin-right: auto;
		margin-left: auto;
	}

	/* 会社概要の各項目 */
	.company-overview__row {
		grid-template-columns: 1fr !important;
		row-gap: 8px;
		padding: 18px 0;
	}

	/* 沿革 */
	.company-history__row {
		display: block;
		padding: 20px 0;
	}

	.company-history__year {
		margin-bottom: 8px;
		white-space: normal;
	}

	.company-history__content {
		display: grid;
		grid-template-columns: 55px minmax(0, 1fr);
		column-gap: 12px;
		width: 100%;
	}

	.company-history__text {
		min-width: 0;
		white-space: normal;
		word-break: normal;
		overflow-wrap: break-word;
	}

}

/* ======================================
   スマートフォン縦表示
   TOPバナー：奇数最後を同サイズで中央配置
====================================== */

@media screen and (max-width: 599px) and (orientation: portrait) {

	.cgc-home-banners-inner {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		column-gap: 15px;
		row-gap: 20px;
	}

	.cgc-home-banner {
		grid-column: span 2;
		width: 100%;
	}

	/* 奇数個の場合、最後だけ中央へ */
	.cgc-home-banner:last-child:nth-child(odd) {
		grid-column: 2 / span 2;
		width: 100%;
		justify-self: stretch;
	}

}

/* ======================================
   応募完了ページ
   固定ページID：485
====================================== */

/* ======================================
   ページ全体・背景
====================================== */

body.page-id-485 {
	background-color: #fff;
	background-image: url("assets/images/news-bg.jpg");
	background-position: center top;
	background-repeat: repeat-y;
	background-size: 100% auto;
	background-attachment: fixed;
}

/*
 * ヘッダー下～フッター上まで
 * 背景画像を画面幅いっぱいに表示
 */
body.page-id-485 .siteContent,
body.page-id-485 .site-content {
	width: 100%;
	max-width: none;
	background: transparent !important;
}

/*
 * Lightning側の中央コンテナは
 * 横幅制限だけ解除し、背景を透明にする
 */
body.page-id-485 .siteContent > .container,
body.page-id-485 .site-content > .container {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	background: transparent;
}

/* メイン領域も透明化 */
body.page-id-485 main,
body.page-id-485 .mainSection,
body.page-id-485 .main-section,
body.page-id-485 .entry-body,
body.page-id-485 .entry-content {
	background: transparent;
}

/* ======================================
   応募完了エリア
====================================== */

body.page-id-485 .cgc-application-complete {
	box-sizing: border-box;
	width: calc(100% - 40px);
	max-width: 1000px;
	margin: 30px auto 100px;
	padding: 0;
}

/* 半透明ボックス */
body.page-id-485 .cgc-application-complete__inner {
	box-sizing: border-box;
	width: 100%;
	padding: 70px 60px;

	background-color: rgba(255, 255, 255, 0.88);
	border-radius: 10px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);

	text-align: center;
}

/* キャンペーン名 */
body.page-id-485 .cgc-application-complete__campaign {
	margin: 0 0 35px;

	color: #222;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.6;
}

/* お礼メッセージ */
body.page-id-485 .cgc-application-complete__thanks {
	margin: 0 0 28px;

	color: #222;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.8;
}

/* 本文 */
body.page-id-485 .cgc-application-complete__message {
	margin: 0 0 20px;

	color: #222;
	font-size: 17px;
	font-weight: 400;
	line-height: 2;
}

/* ======================================
   トップページへ戻る
====================================== */

body.page-id-485 .cgc-application-complete__button {
	margin-top: 45px;
	text-align: center;
}

body.page-id-485 .cgc-application-complete__button a {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	box-sizing: border-box;
	min-width: 240px;
	min-height: 54px;
	padding: 14px 35px;

	background-color: #e6003d;
	border-radius: 30px;

	color: #fff;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;

	transition:
		opacity 0.2s ease,
		transform 0.2s ease;
}

body.page-id-485 .cgc-application-complete__button a:hover {
	color: #fff;
	opacity: 0.8;
	transform: translateY(-1px);
}

/* ======================================
   スマートフォン
====================================== */

@media screen and (max-width: 767px) {

	body.page-id-485 .siteContent,
	body.page-id-485 .site-content {
		background-size: 900px auto;
		background-attachment: scroll;
	}

	body.page-id-485 .cgc-application-complete {
		width: calc(100% - 24px);
		margin: 35px auto 65px;
	}

	body.page-id-485 .cgc-application-complete__inner {
		padding: 45px 22px;
		border-radius: 8px;
	}

	body.page-id-485 .cgc-application-complete__campaign {
		margin-bottom: 28px;
		font-size: 21px;
	}

	body.page-id-485 .cgc-application-complete__thanks {
		margin-bottom: 24px;
		font-size: 19px;
	}

	body.page-id-485 .cgc-application-complete__message {
		font-size: 15px;
		line-height: 1.9;
	}

	body.page-id-485 .cgc-application-complete__button {
		margin-top: 35px;
	}

	body.page-id-485 .cgc-application-complete__button a {
		width: 100%;
		max-width: 280px;
		min-height: 50px;
		font-size: 16px;
	}

}

/* ======================================
   ページトップへ戻るボタン
====================================== */

.page_top_btn {
	display: flex !important;
	align-items: center;
	justify-content: center;

	width: 52px !important;
	height: 52px !important;

	right: 300px !important;
	bottom: 50px !important;

	padding: 0 !important;

	background-color: #f2054f !important;
	border: none !important;
	border-radius: 50% !important;

	color: transparent !important;
	font-size: 0 !important;

	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);

	transition:
		opacity 0.2s ease,
		transform 0.2s ease;
}

/* Lightning標準の矢印を非表示 */
.page_top_btn i,
.page_top_btn svg {
	display: none !important;
}

/* Wix風の白い上向き三角 */
.page_top_btn::after {
	content: "";

	display: block;

	width: 0;
	height: 0;

	border-right: 7px solid transparent;
	border-bottom: 10px solid #fff;
	border-left: 7px solid transparent;

	transform: translateY(-1px);
}

/* マウスを乗せた時 */
.page_top_btn:hover {
	background-color: #f2054f !important;
	opacity: 0.85;
	transform: translateY(-2px);
}