/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jul 28 2026 | 16:55:48 */
/* 共通 */

/* フォント */
body,
p,
h1, h2, h3, h4, h5, h6,
ul, ol, li,
table, th, td,
input, textarea, select, button,
label,
a,
blockquote,
figcaption,
dl, dt, dd,
header, nav, section, article, aside, footer {
  font-family: 'Noto Serif JP', sans-serif;
}

/* ヘルパー */
.box-shadow {
	box-shadow: 0 2px 4px rgba(0,0,0,.05),0 4px 4px -4px rgba(0,0,0,.1);
}
@media (max-width: 959px) {
	.only-pc {
		display: none!important;
	}
}
@media (max-width: 599px) {
	.only-pc-tab {
		display: none!important;
	}
}
@media (min-width: 600px) {
	.only-sp {
		display: none!important;
	}
}
@media (min-width: 960px) {
	.only-sp-tab {
		display: none!important;
	}
}

/* ボタン */
.swell-block-button.blue_.is-style-btn_line a {
	background-color: #fff;
	transition: .3s;
}
.swell-block-button.blue_.is-style-btn_line a:hover {
    background: linear-gradient(90deg, #1d47a4 0%, #3a6fd1 100%);
}
.swell-block-button.is-style-btn_normal a {
	font-weight: 500;
}
.swell-block-button.blue_.is-style-btn_normal a {
	transition: .3s;
	border: 1px solid var(--color_main);
	box-shadow: none;
}
.swell-block-button.blue_.is-style-btn_normal a:hover {
	background: #fff;
	box-shadow: none;
	color: var(--color_main);
	border: 1px solid var(--color_main);
}
.swell-block-button.red_.is-style-btn_normal a {
	transition: .3s;
	box-shadow: none;
	border: 1px solid var(--color_deep04);
}
.swell-block-button.red_.is-style-btn_normal a:hover {
	background: #fff;
	box-shadow: none;
	color: var(--color_deep04);
	border: 1px solid var(--color_deep04);
}

/* メニュー */
#gnav a span {
	letter-spacing: .1em;
}

/* スマホメニュー */
.c-widget__title.-spmenu {
	background: linear-gradient(90deg, #b96f89 0%, #d89aab 100%);
}

/* 下層ページ */
.c-pageTitle {
	color: var(--color_main);
	text-align: center;
	font-weight: 500;
	letter-spacing: .1em;
}
.c-pageTitle__subTitle {
	display: none;
}

/* 投稿タイトル */
.l-topTitleArea__body {
	color: #333!important;
}
.l-topTitleArea .c-categoryList__link {
	color: #333!important;
	text-shadow: none!important;
	border-color: #333!important;
}
.c-postTitle__ttl {
	font-weight: 500!important;
}
.c-postTitle__date {
    border-color: #333!important;
}
.l-topTitleArea .c-categoryList,
.l-topTitleArea .c-tagList,
.l-topTitleArea .c-postTimes__modified:before,
.l-topTitleArea .c-postTimes__posted:before {
    color: #888;
}

/* お問い合わせボタン */
.contact-btn a {
	background: linear-gradient(90deg, #1d47a4 0%, #3a6fd1 100%);
	border: 1px solid var(--color_deep01);
	padding: 15px 30px;
	color: #fff;
	transition: .3s;
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
}
@media (hover: hover) {
	.contact-btn a:hover {
		background: #fff;
		color: var(--color_deep01);
	}
}
.contact-btn a .en,
.contact-btn a .jp {
	line-height: 1.2;
}
.contact-btn a .en {
	font-size: 16px;
	font-weight: bold;
	letter-spacing: .15em;
}
.contact-btn a .jp {
	font-size: 12px;
	letter-spacing: .1em;
}
.contact-btn a.line {
	padding-left: 120px;
	align-items: flex-start;
}
/* LINEアイコン */
.contact-btn a.line .icon-line {
	position: absolute;
	top: 50%;
	left: 75px;
	font-size: 30px;
	line-height: 1;
	transform: translateY(-50%);
	color: #fff;
}

/* ホバー時 */
@media (hover: hover) {
	.contact-btn a:hover .icon-line {
		color: var(--color_main);
	}
}

/* 見出し */
.midashi span {
	font-size: 36px;
	letter-spacing: .1em;
	font-weight: 500;
}
@media (max-width: 959px) {
	.midashi span {
		font-size: 24px;
	}	
}
.midashi-mid span {
	position: relative;
	font-size: 30px;
	letter-spacing: .1em;
	font-weight: 500;
	display: block;
}
@media (max-width: 959px) {
	.midashi-mid span {
		font-size: 24px;
	}	
}
.midashi-mid span::before {
	position: absolute;
	content: "";
	bottom: -20px;
	left: 50%;
	transform: translatex(-50%);
	width: 80px;
	height: 1px;
	background-color: var(--color_deep04);
}
@media (max-width: 959px) {
	.midashi span {
		font-size: 24px;
	}	
}
.midashi-en span {
	position: relative;
	padding-left: 60px;
	padding-right: 60px;
	font-size: 24px;
	font-weight: 300;
}
@media (max-width: 959px) {
.midashi-en span {
		padding-left: 40px;
		padding-right: 40px;
		font-size: 16px;
	}	
}
.midashi-en span::before,
.midashi-en span::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 50px;
	height: 1px;
	background: currentColor;
	transform: translateY(-50%);
}
@media (max-width: 959px) {
	.midashi-en span::before,
	.midashi-en span::after {
		width: 30px;
	}
}
.midashi-en span::before {
	left: 0;
}
.midashi-en span::after {
	right: 0;
}

/* リードテキスト */
.lead-text {
	font-size: 18px;
	letter-spacing: .05em;
}
@media (max-width: 599px) {
	.lead-text {
		font-size: 16px;
	}
}

/* CTA */
.cta .content {
	padding: 80px 40px;
	position: relative;
}
@media (max-width: 599px) {
	.cta .content {
		padding: 60px 40px;
	}	
}
.cta h2 span {
	font-size: 26px;
	letter-spacing: .1em;
	font-weight: 500;
	position: relative;
}
@media (max-width: 599px) {
	.cta h2 span {
		font-size: 20px;
	}	
}
.cta h2 span::before {
	position: absolute;
	content: "";
	bottom: -15px;
	left: 50%;
	transform: translatex(-50%);
	width: 100px;
	height: 1px;
	background-color: var(--color_deep04);
}
.cta .content::before {
	content: "";
	position: absolute;
	inset: 16px;
	padding: 1px;
	background: linear-gradient(
		135deg,
		#b8a46a 0%,
		#d8c68a 35%,
		#eee4bd 50%,
		#c4ad68 75%,
		#a08b55 100%
	);
	pointer-events: none;

	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
}
.cta .illust-left {
	position: absolute;
	bottom: -10px;
	left: 0;
	width: 160px;
	z-index: -1;
}
.cta .illust-right {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 160px;
	z-index: -1;
}
@media (max-width: 599px) {
	.cta .illust-left,
	.cta .illust-right {
		width: 100px;
	}
	.cta .swell-block-button a {
		width: 100%;
	}	
}

/* フッター */
@media (max-width: 959px) {
	.footer .logo {
		width: min(100%, 400px);
	}
}
.footer .icon {
	width: 30px;
}
.footer .icon.mail {
	width: 40px;
}
.footer [class*="item-"] {
	position: relative;
}
@media (max-width: 959px) {
	.footer .item-1 {
		padding-bottom: 20px;
		border-bottom: 1px solid #ddd;
	}
	.footer .item-4 {
		padding-top: 20px;
		border-top: 1px solid #ddd;
	}
}
@media (min-width: 960px) {
	.footer .item-1::before,
	.footer .item-3::before {
		position: absolute;
		content: "";
		width: 1px;
		height: 100%;
		right: -20px;
		top: 0;
		background-color: #ddd;
	}
}
.footer .menu-title span {
	font-weight: 600;
	letter-spacing: .05em;
}
.footer .menu-link a {
	color: #333;
	font-size: 14px;
}
@media (max-width: 599px) {
	.footer .menu-link {
		padding-left: 10px;
		margin-bottom: 5px;
	}
}
.footer .tel-link a {
	font-size: 26px;
	letter-spacing: .1em;
}
.footer .btn-contact a,
.footer .btn-LINE a {
	min-width: 250px;
	height: 50px;
	font-size: 14px;
}
@media (max-width: 599px) {
	.footer .btn-contact,
	.footer .btn-LINE {
		text-align: center;
	}
}