@charset "UTF-8";
/********************************************************************************

common-sp.css

********************************************************************************/
/*============================================================
 css変数
*============================================================*/
:root {
	--common-inner-max-width: 528px;           /* 通常サイト幅 */
	--common-inner-max-width-wide: 100%;      /* ワイドサイト幅 */
	--common-inner-padding: 24px;               /* 通常サイト幅内余白 */
	--common-inner-padding-wide: 16px;          /* ワイドサイト幅内余白 */
}

/*============================================================
 system
*============================================================*/
/* pc-sp display switch
---------------------------------------- */
.forPC {
    display: none;
}
.forSP {
    display: inherit;
}

/*============================================================
 format
*============================================================*/
/* コンテンツ内
---------------------------------------- */
body {
	font-size: 14px;
	line-height: 1.8;
}

main .inner > *:not(h1, h2, h3, h4) {
	margin-bottom: 24px;
}
main .block > *:not(h1, h2, h3, h4) {
	margin-bottom: 24px;
}

h1.page-title {
	font-size: 28px;
}
h2.sec-title {
	font-size: 24px;
}
h3.block-title {
	font-size: 18px;
}

#main-contents {
	padding-bottom: 64px;
}

.page-lower #mainvisual {
	margin: 48px 0;
}
.page-lower #mainvisual.indiv {
	margin-bottom: 24px;
}
.page-lower #mainvisual.indiv .page-title {
	margin-top: 32px;
}
.page-lower #mainvisual.indiv .image {
	max-height: 480px;
	overflow: hidden;
}
.page-lower #mainvisual.indiv .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.page-lower .basic-block h2 {
	font-size: 28px;
	line-height: 1.8;
}
.page-lower .basic-block .info {
	order: 1;
	width: 100%;
}
.page-lower .basic-block .image {
	order: 2;
	width: 100%;
}


/*============================================================
 コンテンツ共通
*============================================================*/
/* 要素幅超スクロール
---------------------------------------- */
.block-wscroll-sp {
    width: calc(100vw - ((100vw - 100%) / 2));
    overflow-x: auto;
}
.block-wscroll-sp .block-wscroll-inner {
    width: max-content;
    padding: 0 var(--inner-padding) 16px 0;
}
.block-wscroll-sp .block-wscroll-inner > * {
    width: auto;
    white-space: nowrap;
}

/* カード
---------------------------------------- */
.block-card {
	gap: 32px 16px;
}
.block-card .item {
	width: calc((100% - 16px) / 2);
}

.block-collection {
    --gap: 16px;
    --col: 2;
}
.block-collection .item .info {
	padding: 0 12px;
	bottom: 16px;
}
.block-collection .item .info .title {
	font-size: 20px;
}

/*============================================================
 CTA
*============================================================*/
/* お問い合わせ
---------------------------------------- */

/*============================================================
 記事本文ブロック
*============================================================*/
/* 見出し
---------------------------------------- */
.block-post-content h2 {
	font-size: 24px;
	margin-bottom: 16px;
}
.block-post-content h3 {
	font-size: 20px;
	margin-bottom: 16px;
}

/*============================================================
 footer
*============================================================*/
#site-footer {
	padding: 64px 0 48px;
}

#site-footer .block {
	flex-direction: column;
	gap: 48px;
	margin-bottom: 32px;
}
#site-footer .block .left {
	text-align: center;
}

/* メニューリスト
---------------------------------------- */
#site-footer #fnav .menu-list {
	max-width: 225px;
	margin: 0 auto 32px;
	gap: 0;
	flex-direction: column;
}
#site-footer #fnav .menu-list > li {
	padding-left: 40px;
	position: relative;
}
#site-footer #fnav .menu-list > li:before {
	content: "";
	position: absolute;
	width: 30px;
	height: 1px;
	background: #fff;
	top: 20px;
	left: 0;
}
#site-footer #fnav .insta {
	width: 48px;
	text-align: center;
	margin: 0 auto 16px;
}
#site-footer #fnav .sub-menu-list {
	padding-top: 16px;
	justify-content: center;
	border-top: 1px solid #fff;
}