@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* =============== */
/* 汎用クラス */
/* =============== */
/* テキストのネイビー背景 */
.font-bg-navy {
	display: inline-block;
	background-color: #1C355D;
	color: #fff;
	padding: 0.2em 0.5em;
	line-height: 1.2;
}

/* テキストの青背景 */
.font-bg-blue {
	display: inline-block;
	background-color: #246aa5;
/* 	color: #fff; */
	padding: 0.2em 0.5em;
	line-height: 1.2;
}

/* テキストの白背景 */
.font-bg-white {
	display: inline-block;
	background-color: #fff;
	padding: 0 0.5em 0.2em 0.5em;
	line-height: 1.2;
}

/* テキストの上のオレンジのドット */
.font-dot-orange {
	position: relative;
	display: inline-block;
}

.font-dot-orange::before {
	content: "";
	position: absolute;
	top: -17px;
	left: 50%;
	transform: translateX(-50%);
	width: 10px;
	height: 10px;
	background-color: #FC7E31;
	border-radius: 50%;
}

/* 文字の太さ */
.font-weight-500 {
	font-weight: 500;
}

.font-weight-600 {
	font-weight: 600;
}

.font-weight-700 {
	font-weight: 700;
}

@media screen and (max-width: 959px) {
	.font-dot-orange::before {
		top: -12px;
		width: 7px;
		height: 7px;
	}

	.cta-btn-p a {
		padding: 1.5rem 1.5rem !important;
	}
}

/* 改行させない */
.no-wrap {
	white-space: nowrap;
}

/* =============== */
/* ファーストビュー */
/* =============== */
/* PC */
.fv-diagonal {
	position: relative;
	height: auto;
	min-height: unset;
	background: #fff;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
}

.fv-diagonal::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: #246AA5;
	/* 斜めにカット */
	clip-path: polygon(30% 0%, 100% 0%, 100% 100%, 20% 100%);
	z-index: 0;
}

@media screen and (max-width: 959px) {
	/* SP */
	.fv-diagonal-sp {
		position: relative;
		height: auto;
		min-height: unset;
		background: #fff;
		overflow: hidden;
		display: flex;
		align-items: flex-start;
		padding-top: 40px !important;
	}

	.fv-diagonal-sp::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #246AA5;
		/* 斜めにカット */
		clip-path: polygon(0 0, 100% 0, 100% 47%, 0 57%);
		z-index: 0;
	}
}

/* 香川の土地探しから住宅会社選び、完成まで */
.kagawa-lead {
	display: flex;
	align-items: center;
	position: relative;
	gap: 0;
}

/* 「香川の」 */
.kagawa-lead__pref {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1px;
	width: 84px;
	height: 84px;
	border-radius: 50%;
	border: 2px solid #fff;
	background: #FFB24D;
	color: #fff;
	font-weight: 700;
	position: relative;
	z-index: 2;
	text-shadow: 0px 0px 15px rgba(230, 60, 0, 1);
	text-shadow:
		0 0 8px rgba(255, 80, 0, 1),
		0 0 18px rgba(255, 60, 0, 0.9);
	box-shadow:
		inset 0 6px 14px rgba(254, 100, 0, 0.75),
		inset 0 -5px 12px rgba(255, 255, 255, 0.4);
}

/* 「香川」 */
.kagawa-lead__kagawa {
	font-size: 1.5rem;
	font-weight: 800;
}

.kagawa-lead__no {
	position: relative;
	top: 4px;
}

/* グラデ背景 */
.kagawa-lead__body {
	position: relative;
	margin-left: -50px;
	padding: 6px 16px 7px 60px; 
	border-radius: 999px;
	background: linear-gradient(to bottom, #FFE26F 0%, #FFDB4C 50%, #F6A800 100%);
	z-index: 1;
}

/* 文字を斜めに */
.kagawa-lead__skew {
	display: inline-block;
	transform: skew(-12deg);
	color: #1C355D;
	font-weight: 700;
	text-shadow:
		1px 1px 0 #fff,
		-1px 1px 0 #fff,
		1px -1px 0 #fff,
		-1px -1px 0 #fff,
		2px 0 0 #fff,
		-2px 0 0 #fff,
		0 2px 0 #fff,
		0 -2px 0 #fff,
		0 6px 12px rgba(0, 0, 0, 0.25);
}

/* 強調 */
.kagawa-lead__em {
	font-size: 1.25rem;
	font-weight: 800;
}

@media screen and (max-width: 959px) {
	.kagawa-lead {
		margin: 0 auto 10px auto !important;
	}
	
	/* 「香川の」背景丸サイズ */
	.kagawa-lead__pref {
		width: clamp(10px, 15vw, 84px);
		height: clamp(10px, 15vw, 84px);
	}

	/* 「香川」 */
	.kagawa-lead__kagawa {
		font-size: clamp(7px, 4.3vw, 20px);
	}

	/* 「の」 */
	.kagawa-lead__no {
		font-size: clamp(7px, 3vw, 14px);
		top: 2px; /* 少しだけ位置調整 */
	}

	/* 土地探し / 住宅会社選び / 完成 */
	.kagawa-lead__em {
		font-size: clamp(7px, 4.2vw, 18px);
	}

	/* から / 、 / まで。 */
	.kagawa-lead__skew {
		font-size: clamp(7px, 3vw, 14px);
	}

	/* バランス調整 */
	.kagawa-lead__pref {
		flex: 0 0 auto;
		flex-shrink: 0;
		width: clamp(52px, 15.9vw, 84px);
		height: clamp(52px, 15.9vw, 84px);
	}

	/* グラデ背景を全幅に */
	.kagawa-lead__body {
		min-width: 0;
		width: 100%;
		max-width: 422px;
		margin-left: -24px;
		padding: 6px 0px 6px 14px;
		box-sizing: border-box;
		
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
	}
	
	.fv-margin-b {
		margin-bottom: 7px !important;
	}
}

/* 実績メダル */
.text-with-crown {
	display: inline-block;
}

.text-with-crown::before {
	content: "";
	display: inline-block;
	width: 75px;
	height: 69px;
	margin-right: 8px;

	background-image: url("https://greenstyle.info/bucchake-housing/wp-content/uploads/2026/02/crown.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;

	vertical-align: -26px;
}

.text-with-youtube {
	display: inline-block;
}

.text-with-youtube::before {
	content: "";
	display: inline-block;
	width: 75px;
	height: 69px;
	margin-right: 8px;

	background-image: url("https://greenstyle.info/bucchake-housing/wp-content/uploads/2026/02/youtube_medal.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;

	vertical-align: -26px;
}

@media screen and (max-width: 959px) {
	.text-with-crown::before {
		width: 60px;
		height: 55px;
		vertical-align: -20px;
	}

	.text-with-youtube::before {
		width: 60px;
		height: 55px;
		vertical-align: -20px;
	}
}

.medal-bg-sp {
	background-color: #1C3E5D;
	padding: 8px 6px;
	box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);
}


.photo-base {
	position: relative !important;
}
/* 共通：角丸なし・影・左辺を揃える */
.profile-badge__label,
.profile-badge__namebox {
	border-radius: 0;
	box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);
	display: flex;
	justify-content: center; /* 横中央 */
	align-items: center;     /* 縦中央 */
	text-align: center;
	font-weight: 600;
}

/* 上：代表設計士 */
.profile-badge__label {
	position: absolute;
	width: 120px;
	height: 50px;
	left: 200px;
	top: 400px;
	background: #246AA5;
	color: #fff;
	font-size: 1rem;
	white-space: nowrap;
}

/* 下：かな＋漢字（同じ1つの四角） */
.profile-badge__namebox {
	position: absolute;
	width: 190px;
	height: 70px;
	left: 200px; /* 左の辺を代表設計士と揃える */
	top: 450px;  /* 代表設計士の下に来るように調整 */
	background: #fff;
	color: #246AA5;
	/* 縦に2行並べる */
	flex-direction: column;
	gap: 4px; /* 行間微調整 */
}

/* かな */
.profile-badge__kana {
	font-size: 1rem;
	line-height: 1.2;
}

/* 漢字 */
.profile-badge__name {
	font-size: 1.25rem;
	line-height: 1.2;
}

@media screen and (max-width: 959px) {
	/* 上：代表設計士 */
	.profile-badge__label {
/* 		width: 100px; */
		width: clamp(5px, 30%, 160px);
		height: 35px;
		left: 10%;
		top: 58.5%;
		font-size: 1rem;
	}

	/* 下：かな＋漢字（同じ1つの四角） */
	.profile-badge__namebox {
/* 		width: 150px; */
		width: clamp(10px, 40%, 240px);
		height: 55px;
		left: 10%; /* 左の辺を代表設計士と揃える */
		top: 70%;  /* 代表設計士の下に来るように調整 */
		gap: 0; /* 行間微調整 */
	}

	/* かな */
	.profile-badge__kana {
		font-size: 1rem;
		line-height: 1.2;
	}

	/* 漢字 */
	.profile-badge__name {
		font-size: 1.25rem;
		line-height: 1.2;
	}
}

/* =============== */
/* 家づくり、こんな悩みありませんか？ */
/* =============== */
.worries-list {
	width: 100%;
	max-width: 570px;
	margin: 0 auto; 
}

.worries-list-last {
	border-bottom: none !important;
}

.worries-box {
	background-color: #FFFFFF;
	border: 4px solid #246AA5;
	padding: 20px 20px 5px 20px;
}

/* =============== */
/* CTAエリア1（現役設計士のケイタが本音でサポート） */
/* =============== */
.cta-area {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-weight: 700;
	margin-bottom: 0 !important;
}

.circle-yellow {
	display: inline-flex;
	align-items: center;
	gap: 0;
}

.circle-yellow-char {
	position: relative;
	display: inline-flex;
	align-items: flex-end;
	justify-content: center;
	width: 1.5em;
	height: 1.5em;
	font-size: 2rem;
	line-height: 1; /* 行の余白を消す */
	padding-bottom: 0.3em; /* 下に寄せる調整 */
	color: #000;
	margin-left: -0.25em;
	z-index: 1;
}

.cta-right {
	margin-left: -60px !important;
}
.circle-yellow-char::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: #FFDB4C;
	z-index: -1;
}

.circle-yellow-char:first-child {
	margin-left: 0;
}

.circle-yellow-no {
	font-size: 1.5rem;
	display: inline-flex;
	align-items: flex-end;
}

/* =============== */
/* ぶっちゃけハウジングの3つの特徴 */
/* =============== */

/* 「3」の上のオレンジのドット */
.font-dot-orange-three {
	position: relative;
	display: inline-block;
}

.font-dot-orange-three::before {
	content: "";
	position: absolute;
	top: -8px;
	left: 50%;
	transform: translateX(-50%);
	width: 10px;
	height: 10px;
	background-color: #FC7E31;
	border-radius: 50%;
}

@media screen and (max-width: 959px) {
	.font-dot-orange-three::before {
		top: 1px;
		width: 7px;
		height: 7px;
	}
}

.font-dot-orange-tsu {
	position: relative;
	display: inline-block;
}

.font-dot-orange-tsu::before {
	content: "";
	position: absolute;
	top: -16px;
	left: 50%;
	transform: translateX(-50%);
	width: 10px;
	height: 10px;
	background-color: #FC7E31;
	border-radius: 50%;
}

@media screen and (max-width: 959px) {
	.font-dot-orange-tsu::before {
		top: -7px;
		width: 7px;
		height: 7px;
	}
	
	.header-margin-top {
		margin-top: 10px;	
	}
}

/* テキストの白背景 */
.font-bg-white-three {
	display: inline-block;
	background-color: #fff;
	padding: 0 0.5em 0.25em 0.5em;
	line-height: 1.2;
}

@media screen and (max-width: 959px) {
	.font-bg-white-three {
		padding: 0 0.5em 0.1em 0.5em;
	}
}

/* ボックス */
/* PCのみ高さを揃える */
@media (min-width: 600px) {
	/* カラム行をフレックス化して、列の高さを揃える */
	.equal-emboss > .swell-block-columns__inner {
		display: flex;
		align-items: stretch;
	}

	/* 各列も伸びるように */
	.equal-emboss .swell-block-column {
		display: flex;
	}

	/* 装飾ボックス（エンボス）を列いっぱいの高さにする */
	.equal-emboss .swell-block-column > .wp-block-group.is-style-emboss_box {
		flex: 1;
		display: flex;
		flex-direction: column;
	}

	/* 中身コンテナも縦に伸びるように */
	.equal-emboss .wp-block-group.is-style-emboss_box > .wp-block-group__inner-container {
		flex: 1;
		display: flex;
		flex-direction: column;
	}
}

.img-responsive img {
	width: 100%;
	aspect-ratio: 310 / 180;
	height: auto;
	object-fit: cover;
	display: block;
}

/*文字が横に流れる*/
/*ul*/
.flows-text {
	display: flex;
	list-style: none;
	overflow: hidden;
/* 	gap: 40px; */
}
/*li*/
.flows-text li {
	color:#fff;/*文字の色*/
	font-size: 50px;/*スマホの文字サイズ*/
	font-weight: bold;/*太文字に*/
	white-space: nowrap;
	animation: flows-left 10s linear infinite;/*秒数を変えて流れるスピードを変更*/
}
/*PCの時のフォントサイズ*/
@media (min-width: 600px) {
	.flows-text li {
		font-size: 70px;
	}
}
/*アニメーション*/
@keyframes flows-left {
	100% {
	transform: translateX(-100%);
	}
}

/* =============== */
/* ぶっちゃけ、ここまで0円でやります */
/* =============== */

.zeroyen {
	line-height: 3.0;
}

/* テキストの上のオレンジのドット */
.font-dot-orange-zeroyen {
	position: relative;
	display: inline-block;
}

.font-dot-orange-zeroyen::before {
	content: "";
	position: absolute;
	top: -17px;
	left: 50%;
	transform: translateX(-50%);
	width: 10px;
	height: 10px;
	background-color: #FC7E31;
	border-radius: 50%;
}

@media screen and (max-width: 959px) {
	.font-dot-orange-zeroyen::before {
		top: -5px;
		width: 7px;
		height: 7px;
	}
}

.img-circle-bg {
	position: relative;
	z-index: 1;
	margin-bottom: 20px !important;
}

.img-circle-bg::before {
	content: "";
	position: absolute;
	width: 78px;
	height: 78px;
	background: #E6F4FF;
	border-radius: 50%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
}

.icon-column {
	padding: 25px 2px 10px 2px !important;
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1.4;
}

.post_content .icon-column p {
	margin-top: auto;
	margin-bottom: auto !important;
}

@media screen and (max-width: 959px) {
	.icon-column {
		font-size: 0.95rem !important;
	}
}

/* =============== */
/* 特別プラン */
/* =============== */

.photo-column-all {
	width: 700px;
	margin: 0 auto;
}

/* 写真の周りの余白なくす(PC) */
.photo-column {
	padding: 0 0 1rem 0 !important;	
}

/* 黄色枠 */
.special-plan {
	background-color: #FFFBEC;
	border: 5px solid #FFDB4C;
	padding: 30px 20px;
}

/* sp */
.special-plan-box {
	box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);
/* 	width: 340px; */
	margin-bottom: 2rem;
}

/* 白ボックス(sp) */
.white-box {
	background-color: #fff;
/* 	box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25); */
/* 	width: 340px; */
	margin-left: auto;
	margin-right: auto;
	margin-top: 0;
	padding-top: 1.0rem;
	padding-bottom: 1.0rem;
}

/* =============== */
/* 正直に比較しちゃいます！ */
/* =============== */
.comparison-photo {
	position: relative;
	margin-bottom: -80px !important;
	z-index: -1;
}

.no-border-corner table tr:first-child th:first-child,
.no-border-corner table tr:first-child td:first-child {
	border-top: none;
	border-left: none;
}

.custom-table table th,
.custom-table table td {
/* 	padding: 3px; */
}

.custom-table table tr {
	height: 60px;
}

@media screen and (max-width: 959px) {
	.comparison-photo {
		margin-bottom: -16px !important;
	}
	
	.custom-table table th,
	.custom-table table td {
		padding: 3px;
	}

	.custom-table table tr {
		height: 60px;
	}
}

.custom-table .swl-cell-bg[data-icon="doubleCircle"] {
    --cell-icon-color: #FF6000;
}

.custom-table .swl-cell-bg[data-icon="circle"] {
    --cell-icon-color: #5DA0F1;
}

.swl-cell-bg[data-icon="close"] {
    --cell-icon-color: #5DA0F1;
}

.swl-cell-bg[data-icon="triangle"] {
    --cell-icon-color: #5DA0F1;
}

/* =============== */
/* 代表・増田圭太からのメッセージ */
/* =============== */
.hr-black {
	width: 100%;
	border: none;
	border-top: 2px solid #000 !important;
	margin: 16px 0;
}

.message-lh {
	line-height: 2.7;
}

@media screen and (max-width: 959px) {
	.message-lh {
		line-height: 2.4;
	}
}
	
/* =============== */
/* プロフィール */
/* =============== */

.prof-lh {
	font-size: 1.5rem;
	line-height: 1.4;
}

@media screen and (max-width: 959px) {
	.prof-lh {
		font-size: 1.25rem;
		line-height: 1.4;
	}
}

/* =============== */
/* 安心おまかせ6ステップ */
/* =============== */

.flow-cta-lh {
	line-height: 1.2;
}

/* =============== */
/* YouTube */
/* =============== */
.youtube-icon-before {
	position: relative;
	padding-left: 108px;
}

.youtube-icon-before::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 104px;
	height: 89px;
	background-image: url("https://greenstyle.info/bucchake-housing/wp-content/uploads/2026/03/yt_icon_red_digital.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* SP */
@media screen and (max-width: 959px) {
	.youtube-icon-before {
		padding-left: 80px;
	}

	.youtube-icon-before::before {
		width: 79px;
		height: 68px;
	}
}

.yrl-yt-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

@media screen and (max-width: 959px) {
	.yrl-yt-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

/* カード全体 */
.yrl-yt-card {
	display: block;
	text-decoration: none;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 4px 10px rgba(0,0,0,0.08);
	max-width: 500px;
}

@media screen and (max-width: 959px) {
	.yrl-yt-card {
		margin-right: auto;
		margin-left: auto;
	}
}

/* サムネ枠 */
.yrl-yt-thumb {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

/* YouTubeアイコン */
.yrl-yt-thumb::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 94px;
	height: 79px;

	background-image: url("https://greenstyle.info/bucchake-housing/wp-content/uploads/2026/03/yt_icon_red_digital.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	opacity: 0.8;

	pointer-events: none; /* クリック邪魔しない */
}

.yrl-yt-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;

	transform: translateZ(0); /* 描画安定化 */
	transition: transform 0.4s ease;
}

.yrl-yt-card:hover .yrl-yt-thumb img {
	transform: scale(1.05);
}

/* タイトル */
.yrl-yt-title {
    margin-top: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    padding: 3px 10px;
    box-sizing: border-box;
    color: #111;
    font-size: 0.85rem;
    line-height: 1.4;
    word-break: break-word;
}

/* =============== */
/* プレゼント */
/* =============== */
/* プレゼントボックスのイラスト */
.present-before {
	position: relative;
	padding-left: 108px;
}

.present-before::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%) translateY(-8px);
	width: 104px;
	height: 89px;
	background-image: url("https://greenstyle.info/bucchake-housing/wp-content/uploads/2026/03/present-box-scaled.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* SP */
@media screen and (max-width: 959px) {
	.present-before {
		padding-left: 80px;
	}

	.present-before::before {
		width: 79px;
		height: 68px;
	}
}

/* 黄色ボックス */
.present-yellow-box {
	border: 3px solid #FE7100;
}

/* 白ボックス */
.present-white-box {
	position: relative;
	background-color: #fff;
	border-radius: 23px;
	box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);
	padding: 15px;
	width: 55%;
	max-width: 600px;
	min-width: 500px;
	min-height: 163px;
	margin-top: 30px;
	margin-bottom: 30px;
	margin-left: auto;
	margin-right: auto;
	transform: translateX(40px);
	
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	height: 100%;
}

/* オレンジ丸 */
.present-badge {
	position: absolute;
	left: -70px;
	top: 50%;
	transform: translateY(-50%);
	width: 118px;
	height: 118px;
	background: #FC7E31;
	border-radius: 50%;

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

	color: #fff;
	line-height: 1.2;
	z-index: 2;
}

/* 特典 */
.present-badge__text {
	font-size: 1.5rem;
}

/* 1 */
.present-badge__num {
	font-size: 2.25rem;
}

/* LINEアイコン */
.line-icon-before {
	position: relative;
	padding-left: 45px;
	line-height: 2.2;
}

.line-icon-before::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 36px;
	height: 36px;
	background-image: url("https://greenstyle.info/bucchake-housing/wp-content/uploads/2026/03/LINE_APP_iOS.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* 家づくりチェックシートプレゼント */
.present-checksheet {
	line-height: 1.2;
}

/* 行間調整 */
.font-line-height {
	line-height: 1.4;
}

@media screen and (max-width: 959px) {
	/* 黄色ボックス */
	.present-yellow-box {
		padding-top: 0;
	}
	
	/* 白ボックス */
	.present-white-box {
		width: min(100%, 600px);
		min-width: 0;
		transform: none;
		margin-top: 100px;
		margin-bottom: 30px;
		padding: 5px;
	}
	
	.post_content .present-white-box:first-child {
		margin-top: 100px !important;
	}

	/* オレンジ丸 */
	.present-badge {
		left: 50%;
		top: 0;
		transform: translate(-50%, -87%); /* 上に少し出して重ねる */
		width: 92px;
		height: 92px;
	}

	/* 文字サイズ */
	.present-badge__text {
		font-size: 1.25rem;
	}

	.present-badge__num {
		font-size: 2rem;
	}
}

/* =============== */
/* フッター */
/* =============== */
/* SNSアイコン横並び */
.sns-icons {
	display: flex;
	gap: 16px;
	align-items: center;
	justify-content: center;
}

/* アイコンリンク */
.sns-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff !important;
	font-size: 24px; /* サイズ調整可 */
	text-decoration: none;
	transition: opacity .25s ease;
}

/* ホバーで少し薄く */
.sns-icon:hover {
	opacity: 0.6;
}

/* フッターメニュー(PC) */
.footer-menu__nav {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 0.8rem;
}

.footer-menu__link {
	text-decoration: none;
	position: relative;
	padding: 0 1em;
}

/* 区切り線 */
.footer-menu__link:not(:last-child)::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 1.4em;
	background: #fff;
}

/* ホバー */
.footer-menu__link:hover {
	text-decoration: underline;
}

/* フッターメニュー(SP) */
.footer-menu-sp {
  text-align: center;
}

.footer-menu-sp ul,
.footer-menu-sp ol {
  display: inline-block;
  text-align: left;
  margin: 0 auto;
}

/* ウィジェットフッターボックス */
.w-footer__box {
	padding-bottom: 0 !important;
}

/* フッターウィジェットエリア */
.l-footer__widgetArea {
	padding-bottom: 0 !important;
}

@media screen and (max-width: 959px) {
	/* フッターウィジェットエリア */
	.l-footer__widgetArea {
		padding-bottom: 1em !important;
	}
}

/* =============== */
/* 追従CTAボタン*/
/* =============== */
.floating-cta {
	position: fixed;
	left: 50%;
	bottom: 16px;
	transform: translate(-50%, 20px);
	z-index: 9999;

	display: block;
	width: 421px;
	height: 129px;

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

	background: transparent;

	/* フェードアウト後にvisibilityを切り替える */
	transition:
		opacity 0.4s ease,
		transform 0.4s ease,
		visibility 0s linear 0.4s;
}

.floating-cta.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate(-50%, 0);

	/* 表示時はvisibilityを即反映 */
	transition:
		opacity 0.4s ease,
		transform 0.4s ease,
		visibility 0s;
}

.floating-cta img {
	display: block;
	width: 100%;
	height: 100%;
	background: transparent;
}

/* 画面が狭いときははみ出し防止 */
@media screen and (max-width: 480px) {
	.floating-cta {
		width: min(421px, calc(100vw - 24px));
		height: auto;
	}
	.floating-cta img {
		height: auto;
	}
}