@charset "UTF-8";
/*
Template: arkhe
Theme Name: Arkhe Child
Theme URI: https://arkhe-theme.com/ja/
Description: Arkhe用子テーマ
Version: 1.0.0
Text Domain: arkhe
License: GNU General Public License
License URI: http://www.gnu.org/licenses/gpl.html
*/

/* フォント */
body {
	font-family: "Shippori Mincho", serif;
	font-style: normal;
}

/* ここからヘッダー
 * ====================================================*/

/* ヘッダーメニューのフォント */
.c-gnav .__mainText {
	font-size: 16px;
	font-weight: 600;
}

/* ドロワーアンダーレイヤーの色 */
[data-header-above] .p-drawerUnderlayer {
	background: #bce1ea !important;
}

/* Arkheのドロワーナビ内のみ適用 */
/* ドロワーナビ下部の再利用ブロックに余白を付ける */
.p-drawer__nav + .c-reuseBlock {
	margin-top: 1.5rem; /* 適度な上余白 */
}

/* 必要に応じて中央寄せ */
.p-drawer__nav + .c-reuseBlock {
	text-align: center;
}

/* ヘッダー全幅時の左右余白 */
.l-header__body {
	padding: 0 2vw;
}

.header__contact-button {
	padding-left: 10px;
}

/* ここからサイドCTAボタン
 * ====================================================*/
/* --- 全体を中央固定配置 --- */
.follow-banner {
	position: fixed;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	z-index: 100;
	display: flex;
	flex-direction: column;
	gap: 10px; /* ボタン間の余白 */
}

/* --- 各ボタン共通スタイル --- */
.follow-banner a {
	display: flex;
	align-items: center;
	justify-content: center;
	writing-mode: vertical-rl;
	text-orientation: upright;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.1em;
	padding: 1.5em 1em;
	border-radius: 10px 0 0 10px;
	text-decoration: none;
	transition: opacity 0.25s;
	width: 48px;
	height: auto;
	box-shadow: 0 0 10px rgba(255, 255, 255, 255.5);
}

/* --- 各ボタンの個別カラー（任意で調整）--- */
.follow-banner-web a {
	background-color: var(
		--wp--preset--color--arkb-accent-color
	);
}

.follow-banner-tel a {
	background-color: var(
		--wp--preset--color--arkb-main-color
	);
}

.follow-banner a:hover {
	opacity: 0.75;
}

/* --- モバイル非表示 --- */
@media screen and (max-width: 999px) {
	.follow-banner {
		display: none;
	}
}

/* ここからトップへ戻るボタン
 * ====================================================*/
/* トップへ戻るボタンのカラーを変更 */
.c-fixBtn {
	background-color: #5480ae !important;
	opacity: 1;
	border-radius: 50%; /* 丸ボタンに */
	width: 50px;
	height: 50px;
	box-shadow: 0 0 10px rgba(255, 255, 255, 255.5);
}

/* トップへ戻るボタンの矢印カラーを変更 */
.c-fixBtn__icon {
	color: #fff !important;
}

/* トップへ戻るボタンの位置調整 */
.p-fixBtnWrap {
	bottom: 16%;
}
@media screen and (max-width: 999px) {
	.p-fixBtnWrap {
		display: none;
	}
}

/* ここからコピーライト
 * ====================================================*/
/* コピーライトカスタム */
.custom-copyright {
	color: #ffffff;
	font-size: 14px;
	text-align: center;
	padding: 10px 0;
	width: 100%;
	display: block;
}
.recaptcha-text {
	font-size: 11px;
}

/* TOPページ・下層ページ
 * ====================================================*/
/* プロフィール */
.clip-image img {
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600"><path d="M300,40 C470,60 560,240 530,400 C500,560 100,560 70,400 C40,240 130,60 300,40 Z"/></svg>');
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600"><path d="M300,40 C470,60 560,240 530,400 C500,560 100,560 70,400 C40,240 130,60 300,40 Z"/></svg>');
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 781px) {
	.column-reverse {
		flex-direction: column-reverse !important;
	}
}

/* カード */
.my-cord,
.my-step {
	background-color: #fff;
	padding: 1em;
	height: 100%;
	border-radius: 10px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
}

.my-cord {
	border: solid 2px #b48c32;
}

.my-about-cord {
	background-color: #f0fafc;
	padding: 1em;
	border-radius: 10px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
}

.my-cord-number {
    display: grid;
    margin-top: -80px !important;
    width: 90px;
    text-align: center;
    justify-content: center;
    background-color: #fff;
    padding: 10px 0;
    border-radius: 999px;
    border: 2px solid #b48c32;
}

.ark-block-step.is-style-default .ark-block-step__number {
	background-color: var(
		--wp--preset--color--arkb-main-color
	);
}

.my-step {
	background-color: #fff;
}

/* リスト */
.my-list {
	border: 2px solid #c9b26b;
}

[class*=is-style-ark-list-icon]>li:before {
    background-color: #5480ae;
    content: "\00a0";
    display: block;
    height: auto;
    left: .25em;
    -webkit-mask: var(--arkb-list-icon_url, unset) no-repeat center center / contain;
    mask: var(--arkb-list-icon_url, unset) no-repeat center center / contain;
    position: absolute;
    top: 0;
    width: 1em;
}

/* ご予約についての Arkhe Notice（注意ボックス）の色調整 */
.ark-block-notice.-point {
	--arkb-notice_text: #27201e;
	--arkb-notice_bg: #fffdf9; /* ほんのりベージュ寄りの白 */
	--arkb-notice_border: #f1e7d6;
	--arkb-notice_icon: #c9b26b; /* ゴールド寄りの落ち着いた色 */
}

.my-button-cord.wp-block-columns {
	align-items: stretch;
}

.my-button-cord .wp-block-column {
	display: flex;
	flex-direction: column;
	align-self: auto;
	border: solid 2px #b48c32;
	padding: 1rem;
	margin-bottom: 1.5rem;
	border-radius: 10px;
}

.my-button-cord .ark-block-buttons {
	margin-top: auto;
}

/* ボタン
 * ====================================================*/
/* スマホ時に中央 */
@media (max-width: 768px) {
	.ark-block-button {
		display: flex;
		justify-content: center !important;
	}
}

/* 投稿一覧
 * ====================================================*/
/* 記事サムネイルの角丸 */
.c-postThumb {
	border-radius: 10px;
	box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.2);
}

/* サイドバー
 * ====================================================*/
/* サイドバーのテキスト（リンク） */
.l-sidebar .p-postList__title {
	font-weight: 500 !important;
	font-size: 15px !important;
}

/* サイドバーの見出し */
#sidebar .wp-block-heading {
	position: relative;
	font-size: 1.1rem;
	font-weight: 600;
	padding-left: 0.8em;
	border-left: 3px solid
		var(--wp--preset--color--arkb-main-color);
	margin-bottom: 1em;
}

/* サイドバーのリスト内border */
#sidebar ul.p-postList.-type-simple,
#sidebar a.p-postList__link {
	border: none !important;
}

/* 投稿内
 * ====================================================*/
/* 投稿ページコンテンツ内とサイドバーの背景と余白 */
.single .l-main,
.single .l-sidebar {
	background-color: var(--wp--preset--color--white);
	padding: 20px;
}

/* セクション見出し */
.ark-block-heading .ark-block-heading__line:before {
	content: "";
	display: block;
	width: 400px;
	height: 15px;
	background-image: url("../arkhe_child/img/separator-line.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	background-color: transparent !important; /* 元のラインを打ち消し */
}

/* 見出し2 */
.single .c-postContent h2.wp-block-heading {
	position: relative;
	font-size: 1.5rem;
	font-weight: 600;
	padding-left: 1em;
	margin: 2.5em 0 1.2em;
	border-left: 4px solid
		var(--wp--preset--color--arkb-main-color);
	line-height: 1.6;
}

/* 見出し3 */
.single .c-postContent h3.wp-block-heading {
	font-size: 1.25rem;
	font-weight: 600;
	margin: 2em 0 1em;
	padding-bottom: 0.3em;
	border-bottom: 2px solid
		var(--wp--preset--color--arkb-accent-color-blue);
}

/* 見出し4 */
.single .c-postContent h4.wp-block-heading {
	font-size: 1.1rem;
	font-weight: 600;
	margin: 1.5em 0 0.8em;
	border-bottom: 1px solid
		var(--wp--preset--color--arkb-accent-color-blue);
}

/* リスト */
.single .p-entry__content ul {
	padding-left: 1.2em;
	margin: 1.2em 0;
	list-style: none;
	border-top: dotted 1px
		var(--wp--preset--color--arkb-accent-color-blue);
	border-bottom: dotted 1px
		var(--wp--preset--color--arkb-accent-color-blue);
}

.single .p-entry__content ul li {
	position: relative;
	padding-left: 1em;
	margin-bottom: 0.5em;
}

.single .p-entry__content ul li::before {
	content: "●";
	position: absolute;
	left: 0;
	top: 5.5px;
	color: var(--wp--preset--color--arkb-main-color);
	font-size: 0.6em;
	line-height: 1.8;
}

/* アイキャッチ */
.p-entry__thumb img {
	border-radius: 10px;
	box-shadow: 0px 5px 10px 0px rgba(54, 54, 54, 0.2);
}

/* 引用 */
.single blockquote {
	position: relative;
	padding: 5px 10px 5px 32px;
	box-sizing: border-box;
	font-style: italic;
	background: var(--ark-color--gray);
	box-shadow: 0 3px 4px rgba(0, 0, 0, 0.15);
}

.single blockquote:before {
	display: inline-block;
	position: absolute;
	top: 10px;
	left: -15px;
	width: 40px;
	height: 30px;
	text-align: center;
	content: "\f10d";
	font-family: FontAwesome;
	color: var(--ark-color--bg);
	font-size: 18px;
	line-height: 30px;
	background: var(--wp--preset--color--arkb-main-color);
	box-shadow: 0 2px 2px rgba(26, 26, 26, 0.14);
	font-weight: 900;
}

.single blockquote:after {
	position: absolute;
	content: "";
	top: 40px;
	left: -15px;
	border: none;
	border-bottom: solid 8px transparent;
	border-right: solid 15px
		var(--wp--preset--color--arkb-main-color);
}

.single blockquote p {
	position: relative;
	padding: 0;
	margin: 10px 0;
	z-index: 3;
	line-height: 1.7;
}

.single blockquote cite {
	display: block;
	text-align: right;
	color: var(--ark-color--gray);
	font-size: 0.9em;
}

/* お問い合わせフォーム
 * ====================================================*/
/* テーブル全体の雰囲気をやわらげる */
.cf7-wrap {
	padding: 40px 20px;
	background-color: #fff;
	border: 1px solid #b48c32;
	border-radius: 10px;
}

input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea {
	display: block;
	width: 100%;
	height: 45px;
	margin-bottom: 0;
	padding: 0 12px;
	border: 0;
	border-radius: 3px;
	border: 1px solid #b48c32;
	box-shadow: none;
	color: #5c6b80;
	font-size: 14px;
	line-height: 45px;
}
textarea {
	max-width: 100%;
	min-height: 120px;
	line-height: 1.5em;
	padding: 0.8em;
	overflow: auto;
}
@media (max-width: 599px) {
	.inquiry td,
	.inquiry th {
		display: block !important;
		width: 100% !important;
		border-top: none !important;
		-webkit-box-sizing: border-box !important;
		-moz-box-sizing: border-box !important;
		box-sizing: border-box !important;
	}

	.inquiry tr:first-child th {
		border-top: 1px solid #ddd !important;
	}
}
.inquiry th {
	text-align: left;
	font-size: 16px;
	color: #333;
	padding-right: 5px;
	width: 30%;
	background: #fffdf9;
}
.inquiry td {
	font-size: 16px;
}

.req {
	/* 必須 */
	font-size: 12px;
	padding: 5px;
	color: #e44141;
	margin-right: 5px;
	position: relative;
	bottom: 1px;
}

.verticallist .wpcf7-list-item {
	display: block;
}
th {
	font-weight: 400;
	text-transform: uppercase;
	padding: 13px;
}
td {
	padding: 12px;
}
input,
select,
textarea {
	letter-spacing: 1px;
	margin: 0;
	max-width: 100%;
	resize: none;
}
.text-center {
	text-align: center;
}

.wpcf7-submit {
	display: block;
	border: none;
	width: 350px;
	margin: 25px auto 0;
	padding: 15px;
	cursor: pointer;
	font-size: 18px;
	background-color: var(
		--wp--preset--color--arkb-main-color
	);
	color: #fff;
	font-weight: 700;
	border-radius: 50px;
	transition: box-shadow 0.25s;
}
.wpcf7-submit:hover {
	box-shadow: 0 4px 12px rgb(0 0 0 / 10%),
		0 12px 24px -12px rgb(0 0 0 / 20%);
	opacity: 1;
}

/* コンタクトフォーム7 プライバシーポリシー同意 */
.privacy-consent {
	text-align: center;
	margin-top: 20px;
}
.wpcf7-submit:disabled {
	background-color: #999;
}

.p-voice__text {
	line-height: 2;
	overflow-wrap: anywhere;
	word-break: normal;
	line-break: strict;
}

.p-voice__text br {
	display: block !important;
	content: "";
	margin-bottom: 1em;
}

/* 余白
 * ====================================================*/

/* セクション幅 */
.my-inner-narrow {
	max-width: 800px;
	margin: 0 auto;
	padding: 40px 20px;
}

.my-inner-medium {
	max-width: 960px;
	margin: 0 auto;
}

/* セクション見出しのマージン */
.ark-block-heading {
	margin-top: 4rem !important;
	margin-bottom: 3rem;
}

/* セクション自体の上下パディング（Arkhe Blocks） */
.ark-block-section {
	--arkb-padding: 2rem 0;
}

/* フッター直前ウィジェットのマージン打ち消し */
.w-before-footer .c-widget + .c-widget {
	margin-top: 0; /* 余白を打ち消す */
}

/* 固定ページのフッターCTA直前の余白を打ち消し */
.page .l-content__body {
	margin-top: 3rem;
	margin-bottom: 0;
}

/* 最大幅800の1カラムテンプレート
 * ====================================================*/
/* ナロー ページ 1カラム */
.page-template-one-column-narrow
	.l-content__body.l-container {
	max-width: 800px !important;
}
