@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
*/

/* -------------------
 * header 
--------------------*/

/* ヘッダーナビテキストスタイル */
.c-gnav>.menu-item>a .ttl {
	font-family: "Shippori Mincho B1";
	font-weight: 400;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #63585B;
}

/* ヘッダーナビテキスト余白 */
.c-gnav>.menu-item>a {
	padding: 0 20px;
}

/* ヘッダーロゴ */
.l-header__logo {
	width: 290px;
	padding: 21px 0 !important;
	transition:0.3s;
}
.l-fixHeader__logo{
	transition:0.3s;
}
.l-fixHeader__logo:hover{
	opacity:0.5;
}
.l-header__logo:hover{
	opacity:0.5;
}

/* ヘッダーロゴ余白 */

.c-headLogo,
.l-header__logo,
.l-fixHeader__logo{
	margin-right: 0 !important;
}

/* 追従ヘッダーロゴ */
.l-fixHeader__logo {
	width: 290px;
}

.l-fixHeader__logo .c-headLogo {
	height: auto;
}

/* お問い合わせボタン左余白 */
.w-header {
	margin-left: 0 !important;
}

/* ヘッダー要素配置 */
.l-header__inner {
	justify-content: space-between;
}

/* 追従ヘッダーアイテム配置 */
.l-fixHeader__inner {
	justify-content: space-between;
	max-width: 100%;
}



/* ------------ホバーアニメーション ------------------------*/

/* 既存スタイル削除 */
.c-gnav>li:hover>a,
.c-gnav>.-current>a {
	background-color: transparent;
	background: transparent;
}

/* 基準点作成 */
.c-gnav>.menu-item>a>span {
	position: relative;
}

/* アニメーション中身 */
.c-gnav>.menu-item>a>span::after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #63585B;
	top: -8px;
	/*アンダーラインがaタグの下端から現れる*/
	transform: scale(0, 1);
	/*アンダーラインの縮尺比率。ホバー前はx方向に0*/
	transform-origin: left top;
	/*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
	transition: transform 0.3s;
	/*変形の時間*/
}

.c-gnav>.menu-item:hover>a>span::after {
	transform: scale(1, 1);
	/*ホバー後、x軸方向に1（相対値）伸長*/
}

/* ------------ホバーアニメーション ここまで------------------------*/

/* ドロップダウンメニューの矢印 */
.c-gnav>.drop-menu>a>span::before {
	position: absolute;
	content: "";
	background-image: url(/rikon/wp-content/uploads/2026/02/keyboard_arrow_down.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 8px;
	height: 4px;
	left: 50%;
	bottom: -15px;
	translate: -50%;
}

/* ドロップダウンメニュー幅 */
.c-gnav .sub-menu {
	width: max-content;
	background: #EE99AA;
	min-width: 280px;
}

/* ドロップダウンメニューテキスト */
.c-gnav .sub-menu .ttl {
	font-family: "Shippori Mincho B1";
	font-weight: 400;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #FFFFFF;
}

/* ドロップダウンメニュースタイル */
.c-gnav .sub-menu li {
	padding: 8px 30px 8px 4px;
	border-bottom: 1px solid #FFFFFF;
	position: relative;
	background: #EE99AA;
}

.c-gnav .sub-menu li::before {
	position: absolute;
	content: "";
	background-image: url(/rikon/wp-content/uploads/2026/02/chevron_forward.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 5px;
	height: 8px;
	right: 16px;
	top: 50%;
	translate: 0 -50%;
}

.sub-menu li:last-of-type {
	border-bottom: none;
}

/* ドロップダウンメニューホバー時 */
.c-gnav .sub-menu a:hover {
	background-color: transparent;
}

.c-gnav .sub-menu li:hover {
	background: #E07C8F;
}

@media (max-width:1299px) {

	/* ヘッダーナビテキストスタイル */
	.c-gnav>.menu-item>a .ttl {
		font-size: 14px;
	}

	/* ヘッダーナビテキスト余白 */
	.c-gnav>.menu-item>a {
		padding: 0 10px;
	}

	/* ヘッダーロゴ */
	.l-header__logo,
	.l-fixHeader__logo{
		width: 220px;
	}
}

@media (max-width:959px) {

	/* ヘッダー左右余白 */
	.l-header__inner {
		padding: 0 16px;
	}

	/* ヘッダーロゴ */
	.l-header__logo {
		width: 200px;
		padding: 6px 0 !important;
	}

	.c-headLogo {
		height: auto;
	}
}

/* -------------------
 * ハンバーガーメニュー
--------------------*/
/* ハンバーガーメニュー アイコン*/
.icon-menu-thin:before {
	color: #63585B;
}

/* ハンバーガーメニュー アイコンテキスト*/
.c-iconBtn__label {
	color: #63585B;
	font-family: "Shippori Mincho B1";
	font-weight: 400;
	font-size: 10px;
	line-height: 1;
	letter-spacing: 0.04em;
}

/* 上部余白確保 */
.p-spMenu__inner {
	padding-top: 62px;
}

/* ハンバーガーメニューサイトアイコン */
.p-spMenu__inner::after {
	content: "";
	position: absolute;
	top: 10px;
	left: 12px;
	background-image: url(/rikon/wp-content/uploads/2026/02/Frame-96.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 193px;
	aspect-ratio: 193/56;
}

/* 閉じるボタンサイズ */
.p-spMenu__closeBtn .c-iconBtn__icon {
	font-size: 30px;
}

/* 閉じるボタン位置 */
.-right .p-spMenu__closeBtn {
	right: 10px;
}

/* 上部背景色 */
.p-spMenu__inner::before {
	background: #fff;
}

.p-spMenu__closeBtn::before {
	content: "close";
	position: absolute;
	bottom: 0;
	left: 50%;
	translate: -50%;
	font-family: "Shippori Mincho B1";
	font-weight: 400;
	font-size: 10px;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #63585B;

}

/*ナビ部分 */
.p-spMenu__body {
	padding-top: 25px;
	background: #F2F1F1;
}

.c-widget__title.-spmenu {
	display: none;
}

/* 開閉クリックエリアを全体に */
.c-submenuToggleBtn {
	width: 100%;
	height: 100%;
}

/* 開閉アイコン 閉じてるとき*/
.c-submenuToggleBtn:before {
	content: "\e91c";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	color: #63585B;
}

/* 開閉アイコン 開いてるとき*/
.c-submenuToggleBtn.is-opened:before {
	content: "\e919";
	transform: rotate(-180deg) translateY(50%);
	color: #63585B;
}

/* 開閉アイコン既存スタイル削除 */
.c-submenuToggleBtn:after {
	border: none;
}

.c-spnav a {
	font-family: "Shippori Mincho B1";
	font-weight: 400;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #63585B;
	padding: 16px;
}

.c-spnav .sub-menu a {
	font-family: "Shippori Mincho B1";
	font-weight: 400;
	font-size: 14px;
	line-height: 1.71;
	letter-spacing: 0.03em;
	color: #63585B;
	border-bottom: none;
	padding: 8px 40px;
}

.sub-menu.is-opened {
	padding: 16px 0;
}

#custom_html-3 .wp-block-image {
	margin-bottom: 8px;
}

/* -------------------
 * footer 
--------------------*/
/* フッター前ウィジェット余白削除 */
#before_footer_widget {
	margin: 0 !important;
}

.l-footer {
	background-color: transparent;
	z-index: 1;
	/* 追従バナーを表示させるため */
}

.l-footer__foot {
	display: none;
}

.footer-top {
	background: linear-gradient(to bottom,
			rgba(255, 236, 210, 0.4),
			rgba(252, 182, 159, 0.4));
	padding: 140px 20px 88px 20px;

}

.footer-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	max-width: 1140px;
	margin: 0 auto;
	gap: 40px;
}

.footer-left {
	max-width: 460px;
}

.footer-icon {
	display: block;
	width: 100%;
	aspect-ratio: 460/100;
	margin-bottom: 16px;
	transition:0.3s;
}
.footer-icon:hover{
	opacity:0.5;
}

.footer-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.footer-info {
	font-family: "Shippori Mincho B1";
	font-weight: 400;
	font-size: 16px;
	line-height: 2.09;
	letter-spacing: 0.03em;
	color: #63585B;
	margin-bottom: 16px;
}

.footer-map {
	width: 100%;
	height: 239px;
	margin-bottom: 16px;
}

.footer-map iframe {
	width: 100%;
	height: 100%;
}

.footer-contact {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 32px;
}

.footer-tel {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 16px;

}

.footer-tel img {
	display: block;
	width: 21px;
	height: 21px;
	object-fit: contain;
}

.footer-num {
	font-family: "Shippori Mincho B1";
	font-weight: 500;
	font-size: 28px;
	line-height: 1.57;
	letter-spacing: 0.02em;
	color: #63585B;
}

.footer-sns {
	display: flex;
	gap: 16px;
}

.footer-sns img {
	display: block;
	width: 30px;
	height: 30px;
	object-fit: contain;
}

.footer-right {
	max-width: 560px;
}

.footer-link {
	width: 100%;
	margin-bottom: 40px;
}

.footer-item {
	font-family: "Shippori Mincho B1";
	font-weight: 500;
	font-size: 34px;
	line-height: 1.53;
	letter-spacing: 0.02em;
	color: #63585B;
	margin-bottom: 24px;
}

.footer-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	/* 2列 */
	grid-template-rows: repeat(3, auto);
	/* 3行 */
	row-gap: 32px;
	column-gap: 47px;
}

.footer-list-item {
	position: relative;
	
	width:fit-content;
}

/* ホバーアニメーション */
.footer-list-item::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 1px;
background: #63585B;
top:-6px;               /*アンダーラインがaタグの下端から現れる*/
transform: scale(0, 1);     /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
transform-origin: left top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
transition: transform 0.3s; /*変形の時間*/
}

.footer-list-item:hover::after {
transform: scale(1, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
}

.footer-list-item a {
	display: block;
	font-family: "Shippori Mincho B1";
	font-weight: 400;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.03em;
	color: #63585B;
	text-indent: -.6em;
	padding-left: .6em;
}

.footer-bottom {
	width: 100%;
	background: linear-gradient(to right, #FF9A9E 0%, #FAD0C4 85%, #FAD0C4 100%);

}

.footer-bottom-wrapper {
	display: flex;
	padding: 16px 0;
	justify-content: center;
	align-items: center;
	gap: 24px;
}

.footer-bottom-link {
	font-family: "Shippori Mincho B1";
	font-weight: 400;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #fff !important;
	transition:0.3s;
}

.footer-bottom-link:hover{
	opacity:0.5;
}
.footer-div {
	display: block;
	width: 1px;
	height: 12px;
	background-color: #fff;
}

.footer-bottom small {
	font-family: "Shippori Mincho B1";
	font-weight: 400;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #fff;
}

@media (max-width:959px) {
	.footer-top {
		padding: 60px 24px 32px 24px;

	}

	.footer-wrapper {
		flex-direction: column;
	}

	.footer-left {
		width: 100%;
		max-width: 550px;
		margin: 0 auto;
	}

	.footer-right {
		width: 100%;
		max-width: 550px;
		margin: 0 auto;
	}

	.border-top {
		border-top: 1px solid #63585B;
		padding-top: 16px;
		padding-bottom: 16px;
		border-bottom: none;

		background: linear-gradient(to right, #63585B 50%, transparent 50%) bottom / 8px 2px repeat-x;
		margin-bottom: 0;
	}

	.border-bot {
		border-bottom: 1px solid #63585B;
		padding-bottom: 16px;
		padding-top: 16px;
		margin-bottom: 0;
	}


	.footer-list {
		row-gap: 12px;
		column-gap: 25px;
	}

	.footer-item {
		font-size: 20px;
		line-height: 1.6;
		letter-spacing: 0.025em;
		margin-bottom: 16px;
	}
	.footer-list-item::after{
		top:-4px;
	}
	.footer-list-item a {
		font-size: 12px;
		line-height: 1.67;
		letter-spacing: 0.04em;
		text-indent: -.7em;
		padding-left: .7em;
	}

	.footer-map {
		height: 217px;
		margin-top: 16px;
		margin-bottom: 16px;
	}

	.footer-num {
		font-size: 24px;
		line-height: 1.67;
		letter-spacing: 0.025em;
	}

	.footer-contact {
		justify-content: space-between;
		gap: 16px;
	}


	.footer-bottom-link {
		font-size: 12px;
		letter-spacing: 0.04em;
	}

	.footer-bottom small {
		font-size: 12px;
		letter-spacing: 0.04em;
	}

	.footer-bottom-wrapper {
		max-width: 230px;
		margin: 0 auto;
		flex-wrap: wrap;
		gap: 8px;
	}

}



/* google-recaptcha */
.grecaptcha-badge {
    visibility: hidden;
}