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

lower-parts.css　下層ページ部品css

********************************************************************************/

/*============================================================
 共通
*============================================================*/
.page-lower {
	--section-gap: 80px;
	--inner-gap: 40px;  
}

/* 余白個別設定
---------------------------------------- */
.page-lower .section .block {
	margin-bottom: var(--inner-gap);
}

/* 余白均等
---------------------------------------- */
.page-lower .layout-section {
	display: flex;
	flex-direction: column;
	gap: var(--section-gap);
}
.page-lower .layout-section .section {
	margin-bottom: 0;
}
.page-lower .layout-section .section .inner {
	display: flex;
	flex-direction: column;
	gap: var(--inner-gap);
}
.page-lower .layout-section .section .inner > * {
	margin-bottom: 0;
}

/*============================================================
 メインビジュアル
*============================================================*/
/* 通常パターン
---------------------------------------- */
.page-lower #mainvisual {
    background-color: var(--common-color-white);
    padding-top: calc( var(--common-header-height) + 56px);
	padding-bottom: 40px;
	margin-bottom: var(--section-gap);
}
.page-lower #mainvisual .page-title {
	font-size: 56px;
	font-weight: 600;
	line-height: 1.4;
}
.page-lower.single #mainvisual .page-title {
	font-size: 48px;
}

/* 画像あり
---------------------------------------- */
.page-lower #mainvisual.v2 {
	min-height: 480px;
	padding-top: 252px;
	padding-bottom: 88px;
	background-image: url(../images/lower-parts/mainvisual-bg.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
	color: #fff;
	position: relative;
}
.page-lower #mainvisual.v2::before {
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(87, 79, 69, 0.30);
	position: absolute;
	top: 0;
	left: 0;
}
.page-lower #mainvisual.v2 .mainvisual-wrap {
	position: relative;
	z-index: 20;
}
.page-lower #mainvisual.v2 .page-title {
	text-align: right;
	line-height: 1.8;
}
.page-lower #mainvisual.v2 #breadcrumb ul {
	justify-content: flex-end;
	margin-right: 6px;
}
.page-lower #mainvisual.v2 #breadcrumb .block-wscroll {
	width: 100%;
}
.page-lower #mainvisual.v2 #breadcrumb .block-wscroll .block-wscroll-inner {
	width: 100%;
	padding: 0;
}

/* 親ページの場合
---------------------------------------- */
.page-lower.page-parent #mainvisual {
	/* margin-bottom: 0; */
}

/* 詳細ページ
---------------------------------------- */
.page-lower.single #mainvisual .detail {
	margin-top: 20px;
	gap: 16px;
}
.page-lower.single #mainvisual .detail .cat {
	font-size: 10px;
	display: inline-block;
	padding: 8px 24px;
	line-height: 1;
	color: #fff;
	background: var(--common-color-main);
}
.page-lower.single #mainvisual .detail .date {
	font-size: 14px;
	color: #939393;
	position: relative;
	padding-left: 22px;
}
.page-lower.single #mainvisual .detail .date:before {
	content: "";
	position: absolute;
	background-image: url(../images/common/icon-post-date.svg);
	background-size: contain;
	background-repeat: no-repeat;
	width: 18px;
	height: 18px;
	top: 50%;
	transform: translatey(-50%);
	left: 0;
}

/*============================================================
 セクション共通
*============================================================*/
.page-lower .section {
	margin-bottom: var(--section-gap);
}
.page-lower .section:last-child {
	margin-bottom: 0;
}
.page-lower .section h2 {
	font-size: 36px;
	font-weight: 500;
	line-height: 1.6;
	margin-bottom: 24px;
}
.page-lower .section h3 {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 16px;
}
.page-lower .section p .accent {
	color: #B79069;
	font-weight: 600;
}
.page-lower .section p a {
	color: var(--common-color-main);
	text-decoration: underline;
}
.page-lower .section .accent-block {
	padding: 48px 56px;
	background-color: var(--common-color-background1);
}
.page-lower .section .accent-block p {
	font-size: 20px;
	font-weight: bold;
	color: var(--common-color-main);
	text-align: center;
}
.page-lower .section .mb-56 {
	margin-bottom: 56px;
}
.page-lower .section .mb-40 {
	margin-bottom: 40px;
}


/* リスト
---------------------------------------- */
.section ul.disc {
    padding: 0 24px;
	display: flex;
	flex-direction: column;
	gap: 8px;
    list-style-type: disc;
}
.section ul.disc li {
    list-style-type: disc;
}
.section ul.disc li::marker {
	color: var(--common-color-main);
}
.section ul.disc.lower li {
	font-weight: 500;
}
.section ul.disc.lower li {
	font-size: 14px;
}
.section ul.disc.lower li::marker {
	color: #A6A6A6;
}

/* テキスト大 */
.section ul[data-text-l] li {
    font-size: 20px;
	font-weight: 600;
}
.section ul[data-text-l].disc.lower li {
	font-size: 18px;
}

/* 背景色 */
.section ul[data-bg] {
	padding: 24px 64px;
}
.section ul[data-bg="white"] {
	background: rgba(255,255,255,0.7);
}

/* 横並び */
.section ul[data-flex] {
	--col: 2;
	--col-gap: 40px;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	gap: 16px var(--col-gap);
}
.section ul[data-flex][data-flex="3"] {
	--col: 3;
}
.section ul[data-flex] li {
	width: calc((100% - (var(--col-gap) * (var(--col) - 1))) / var(--col));
	color: var(--common-color-text);
}

/* リスト（数字）
---------------------------------------- */
.section ul.decimal {
	padding: 0 26px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.section ul.decimal li {
	list-style-type: decimal;
}
.section ul.decimal li::marker {
	color: var(--common-color-main);
}

/* リスト（注釈）
---------------------------------------- */
.section ul.notice {
	margin-left: 1.2em;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.section ul.notice li {
	position: relative;
}
.section ul.notice li::before {
	display: inline-block;
	content: "※";
	position: absolute;
	left: -1.2em;
}
.section ul.notice li::marker {
	display: none;
}

/*============================================================
 基本ブロック
*============================================================*/
/* 共通
---------------------------------------- */
.basic-block {
	display: flex;
	flex-wrap: wrap;
	gap: 24px 64px;
}
.basic-block > .image {
	width: 37%;
	margin-bottom: 0;
}
.basic-block > .image img {
	width: 100%;
}
.basic-block > .info {
	flex: 1;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 16px 0;
}
.basic-block > .info > :is(h2,h3,*) {
	margin-bottom: 0;
}

/* ラベル付き
---------------------------------------- */
.basic-block > .info .label {
	display: inline-block;
	font-size: 18px;
	line-height: 1;
	color: var(--common-color-main);
	text-align: center;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--common-color-main);
	margin-bottom: 12px;
}

/* リンク付き
---------------------------------------- */
.basic-block.link-arrow-anim .info .arrow-anim-label {
	margin-top: 16px;
}

/* 逆順
---------------------------------------- */
.basic-block[data-reverse] {
	flex-direction: row-reverse;
}

/* テレコ
---------------------------------------- */
.alternating:has(>.basic-block) {
	display: flex;
	flex-direction: column;
	gap: 40px;
}
.alternating .basic-block:nth-child(even) {
	flex-direction: row-reverse;
}


/*============================================================
 リストブロック
*============================================================*/
/* 画像なし＋縦並び
---------------------------------------- */
.list-block.style-1 {
	display: flex;
	flex-direction: column;
	gap: 40px;
}
.list-block.style-1>.item {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
}
.list-block.style-1>.item>.label {
	width: 224px;
}
.list-block.style-1>.item>.label p {
	color: var(--common-color-main);
	font-size: 20px;
	font-weight: 500;
	padding: 8px 0;
	border-bottom: 1px solid var(--common-color-main);
	text-align: center;
}
.list-block.style-1>.item>.info {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
}
.list-block.style-1>.item>.info h3 {
	font-size: 24px;
	line-height: 1.6;
	font-weight: 600;
	margin-bottom: 0;
}
.list-block.style-1>.item>.info>.data-list>.item>.label {
	font-weight: 500;
	line-height: 200%;
	color: var(--common-color-main);
}

/*============================================================
 データリスト
*============================================================*/
.data-list {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.data-list .data-header {
	padding: 16px;
	background-color: var(--common-color-background1);
	font-weight: 600;
	font-size: 20px;
	line-height: 140%;
	color: var(--common-color-main);
	text-align: center;
}
.data-list .data-notice {
}
.data-list .item {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	padding-bottom: 14px;
	border-bottom: 1px solid #D8C6B5;
}
.data-list .item .label {
	font-weight: 500;
	font-size: 14px;
	color: #908F8E;
	width: 240px;
}
.data-list[data-label-size="s"] .item .label {
	width: 120px;
}
.data-list[data-label-size="l"] .item .label {
	width: 360px;
}
.data-list[data-label-size="l2"] .item .label {
	width: 440px;
}
.data-list .item .data {
	flex: 1;
}
.data-list .item .data .num {
	font-size: 32px;
	font-weight: bold;
	color: var(--common-color-main);
	line-height: 1.4;
    text-align: right;
    width: 300px;
    margin: 0 auto;
}
.data-list .item .data .num .unit {
	font-size: 16px;
}

/*============================================================
 データテーブル
*============================================================*/
/* 基本
---------------------------------------- */
.data-table {
	--header-border: solid 2px #D3C8BD;	/* ヘッダー線 */
	--label-background-color: #FBF9F1;		/* ラベル背景色 */
	--cel-color: #B79069;					/* セルテキスト色 */
	--cell-border: solid 1px #FBF9F1;		/* セル線 */
}
.data-table table {
	table-layout: fixed;
	width: 100%;
}
.data-table thead {
	border-bottom: var(--header-border);
}
.data-table thead th {
	padding: 12px;
	background-color: var(--label-background-color);
	font-weight: 500;
	font-size: 20px;
	line-height: 140%;
	text-align: center;
	color: var(--cel-color);
}
.data-table tbody :is(th, td) {
	font-weight: 600;
	font-size: 20px;
	line-height: 140%;
	color: var(--cel-color);
	padding: 12px;
	border-bottom: var(--cell-border);
	vertical-align: middle;

}
.data-table tbody th {
	border-left: var(--cell-border);
}
.data-table tbody td {
	border-right: var(--cell-border);
	text-align: center;
}

/* ヘッダーラベルがない場合
---------------------------------------- */
.data-table :not(:has(thead)) tbody {
	border-top: var(--cell-border);
}

/* ラベル列あり
---------------------------------------- */
.data-table:has(tbody th) thead th:first-child {
	width: 188px;
}
.data-table tbody:has(th) th {
	background-color: var(--label-background-color);
	font-weight: 500;
	font-size: 16px;
	line-height: 140%;
	text-align: right;
	border-color: #fff;
}

/*============================================================
 CTA（メッセージ）
*============================================================*/
#sec-cta-message {
	background: url(../images/lower-parts/cta-message-bg.jpg) no-repeat center center / cover;
	position: relative;
	color: #fff;
	padding: 56px 0;
}
#sec-cta-message:has(.link-arrow-anim) {
	padding: 56px 0 32px 0;
}
#sec-cta-message:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: rgba(73,67,67,0.5);
}
#sec-cta-message .inner {
	position: relative;
}
#sec-cta-message h2 {
	max-width: 832px;
	font-size: 32px;
	font-weight: 500;
	text-align: center;
	margin: 0 auto;
}

/*============================================================
 カードブロック
*============================================================*/
/* テキスト＋矢印
---------------------------------------- */
.card-block-text.style-1 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	--col: 4;
	--col-gap: 56px;
	gap: var(--col-gap);
}
.card-block-text.style-1 .item {
	width: calc((100% - (var(--col-gap) * (var(--col) - 1))) / var(--col));
	/* text-align: center; */
}
.card-block-text.style-1 .item .title {
	aspect-ratio: 1;
	align-content: center;
	padding: 8px;
	background-color: var(--common-color-background1);
	margin-bottom: 24px;
	position: relative;
}
.card-block-text.style-1 .item .title h3 {
	font-size: 24px;
	line-height: 1.6;
	font-weight: bold;
	text-align: center;
	margin-bottom: 4px;
	color: var(--common-color-main);
}
.card-block-text.style-1 .item:not(:last-child) .title:before {
	content: "";
	position: absolute;
	background-image: url(../images/common/icon-list-arrow.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 24px;
	height: 16px;
	top: 50%;
	transform: translatey(-50%);
	left: calc(100% + 16px);
}
.card-block-text.style-1 .item .info {
}

/* 画像＋矢印
---------------------------------------- */
.card-block.style-1 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	--col: 4;
	--col-gap: 56px;
	gap: var(--col-gap);
}
.card-block.style-1 .item {
	width: calc((100% - (var(--col-gap) * (var(--col) - 1))) / var(--col));
	text-align: center;
}
.card-block.style-1 .item .image {
	margin-bottom: 24px;
	position: relative;
}
.card-block.style-1 .item:not(:last-child) .image:before {
	content: "";
	position: absolute;
	background-image: url(../images/common/icon-list-arrow.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 24px;
	height: 16px;
	top: 50%;
	transform: translatey(-50%);
	left: calc(100% + 16px);
}
.card-block.style-1 .item .info {
}
.card-block.style-1 .item .info h3 {
	font-size: 24px;
	line-height: 1.6;
	font-weight: bold;
	margin-bottom: 4px;
}

/* 画像
---------------------------------------- */
.card-block.style-2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	--col: 3;
	--col-gap: 56px;
	gap: var(--col-gap);
}
.card-block.style-2 .item {
	width: calc((100% - (var(--col-gap) * (var(--col) - 1))) / var(--col));
}
.card-block.style-2 .item .image {
	margin-bottom: 24px;
}
.card-block.style-2 .item .image img {
	width: 100%;
}

/* 画像＋見出しのみ
---------------------------------------- */
.card-block.style-3 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	--col: 4;
	--col-gap: 56px;
	gap: 40px var(--col-gap);
}
.card-block.style-3 .item {
	width: calc((100% - (var(--col-gap) * (var(--col) - 1))) / var(--col));
	text-align: center;
}
.card-block.style-3 .item .image {
	margin-bottom: 24px;
}
.card-block.style-3 .item h3 {
	margin-bottom: 0;
}

/* 画像+背景色テキスト
---------------------------------------- */
.card-block.style-4 {
	display: flex;
	flex-wrap: wrap;
	--col: 2;
	--col-gap: 64px;
	gap: 64px var(--col-gap);
}
.card-block.style-4 .item {
	width: calc((100% - (var(--col-gap) * (var(--col) - 1))) / var(--col));
	display: flex;
	flex-direction: column;
	gap: 32px;
}
.card-block.style-4 .item .image {
	text-align: center;
}
.card-block.style-4 .item .info {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.card-block.style-4 .item .info h3 {
	text-align: center;
	margin-bottom: 0;
}
.card-block.style-4 .item .info h3 + p {
	flex: 1;
}
.card-block.style-4 .item .info .bg-color {
	padding: 16px;
	background-color: var(--common-color-background1);
	color: var(--common-color-main);
	text-align: center;
}

/*============================================================
 背景テクスチャブロック
*============================================================*/
.bg-texture {
	padding: 48px 0;
	border-top: 1px solid var(--common-color-main);
	border-bottom: 1px solid var(--common-color-main);
	background: linear-gradient(0deg, rgba(152, 130, 104, 0.04) 0%, rgba(152, 130, 104, 0.04) 100%), url(../images/common/texture.jpg) lightgray 50% / cover no-repeat;
}
.bg-texture .inner {
	display: flex;
	flex-direction: column;
	gap: 56px;
}
.bg-texture .inner > * {
	margin-bottom: 0;
}
.bg-texture .block {
	display: flex;
	flex-direction: column;
	gap: var(--inner-gap);
}
.bg-texture .block > * {
	margin-bottom: 0;
}
.bg-texture h2 {
	color: var(--common-color-main);
	font-size: 32px;
	line-height: 1.6;
	text-align: center;
	font-weight: 500;
}
.bg-texture h3 {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.6;
	color: var(--common-color-main);
	text-align: center;
}
.bg-texture .inner *:last-child {
	margin-bottom: 0;
}

/*============================================================
 キャッチブロック
*============================================================*/
.catch-block {
	max-width: 800px;
	margin: 0 auto;
}
.catch-block .title {
	font-size: 24px;
	font-weight: 500;
	color: var(--common-color-main);
	padding-bottom: 12px;
	border-bottom: 1px solid var(--common-color-main);
	text-align: center;
	margin-bottom: 24px;
}

/*============================================================
 人物紹介ブロック
*============================================================*/
.alternating:has(>.person-block) {
	display: flex;
	flex-direction: column;
	gap: var(--section-gap);
}
.person-block {
	display: flex;
	flex-wrap: wrap;
	gap: 64px;
}
.alternating .person-block:nth-child(even) {
	flex-direction: row-reverse;
}
.person-block .image {
	width: 37%;
}
.person-block .info {
	flex: 1;
}
.person-block .info .lead {
	font-size: 24px;
	font-weight: 600;
	color: var(--common-color-main);
	margin-bottom: 24px;
	line-height: 1.4;
}
.person-block .info .position {
	font-size: 14px;
	color: #747474;
	margin-bottom: 12px;
}
.person-block .info .name {
	font-size: 28px;
	margin-bottom: 12px;
	line-height: 1;
}
.person-block .info .name-en {
	font-size: 14px;
	color: var(--common-color-main);
	padding-bottom: 4px;
	border-bottom: 1px solid var(--common-color-main);
	line-height: 1.4;
}
.person-block .info .career {
	margin-top: 16px;
}
.person-block .info .career .label {
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	margin-bottom: 12px;
}
.person-block .info .career .text {
	font-weight: 500;
}
.person-block .info .career dl {
	margin-top: 12px;
	font-size: 14px;
	line-height: 2;
}
.person-block .info .career dt {
	width: 132px;
	text-align: right;
	float: left;
}
.person-block .info .career dd {
	margin-left: 156px;
}

/*============================================================
 スライダーブロック
*============================================================*/
.slider-block {
	margin-bottom: 0;
}
.slider-block .item {
	width: 1080px;
}
.slider-block .item .layout {
	display: flex;
	flex-wrap: wrap;
	gap: 64px;
}
.slider-block .item .info {
	width: 39%;
}
.slider-block .item .image {
	flex: 1;
}
.slider-block .slick-prev {
	display: none;
}
.slider-block .slick-next {
	width: 64px;
	height: 64px;
	right: 8px;
}
.slider-block .slick-next:before {
	content: "";
	position: absolute;
	background: url(../images/common/icon-slider-arrow.svg);
	background-size: contain;
	background-repeat: no-repeat;
	width: 64px;
	height: 64px;
	top: 0;
	left: 0;
	opacity: 1;
}
.slider-block .slick-next:hover:before {
	opacity: 0.7;
}
.slider-block .slick-dots {
	width: 55%;
	right: 0;
	bottom: 24px;
}
.slider-block .slick-dots:not(:has(li:nth-child(2))) {
	display: none;
}
.slider-block .slick-dots li {
	width: 15px;
	height: 15px;
	background: #C4C4C4;
	border-radius: 50%;
	margin: 0 6px;
}
.slider-block .slick-dots li.slick-active {
	background: #3D342A;
}
.slider-block .slick-dots li button:before {
	display: none;
}

/*============================================================
 ページリンクブロック
*============================================================*/
.page-link-block .item {
	gap: 40px;
	border: 1px solid #D0BCA8;
	padding: 24px;
	transition: all .3s;
}
.page-link-block .item:hover {
	opacity: 0.7;
}
.page-link-block .item .image {
	width: 160px;
	height: 160px;
	overflow: hidden;
}
.page-link-block .item .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.page-link-block .item .info {
	width: calc(100% - 200px);
}
.page-link-block .item .info h3 {
	font-size: 20px;
	font-weight: 600;
	color: var(--common-color-main);
}
.page-link-block .item .info p {
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

/*============================================================
 ページインデックスブロック
*============================================================*/
.page-index-block {
    display: flex;
    flex-wrap: wrap;
    gap: 48px;
}
.page-index-block .item {
    width: calc((100% - 48px) / 2);
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}
.page-index-block .item .image {
    width: 35%;
    max-width: 180px;
}
.page-index-block .item .info {
    flex: 1;
	display: flex;
	flex-direction: column;
    position: relative;
}
.page-index-block .item .info .summary {
	flex: 1;
}
.page-index-block .item .info .summary .title {
    font-weight: 600;
    font-size: 24px;
    line-height: 160%;
    margin-bottom: 8px;
}
.page-index-block .item .info .summary .lead {
    font-weight: 400;
    font-size: 14px;
    line-height: 180%;
    margin-bottom: 16px;
}

/*============================================================
 アクセスブロック
*============================================================*/
.access-block {
    display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
    gap: 40px 64px;
}
.access-block .info {
	flex: 1;
}
.access-block .info .title {
	margin-bottom: 20px;
}
.access-block .info .addr {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-bottom: 20px;
}
.access-block .info .addr span {
	flex: 1;
}
.access-block .info .addr::before {
	display: block;
	content: "";
	width: 18px;
	height: 20px;
	background-image: url(../images/common/icon-pin.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px auto;
	margin-top: 4px;
}
.access-block .info .transportation {
	border-top: solid 1px var(--common-color-main);
	padding-top: 20px;
	font-size: 14px;
	line-height: 160%;
	color: var(--common-color-main);
	margin-bottom: 36px;
	gap: unset;
}
.access-block .map {
	width: 630px;
}
.access-block .map iframe {
}


/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 Tablet
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
@media screen and (max-width: 1127px) {
	/*============================================================
	 共通
	*============================================================*/
	.page-lower {
		--section-gap: 72px;
		--inner-gap: 32px;  
	}

	/* 余白均等
	---------------------------------------- */
	.page-lower .layout-section .section {
		margin-bottom: 0;
	}
	.page-lower .layout-section .section .inner > * {
		margin-bottom: 0;
	}


	/*============================================================
     メインビジュアル
    *============================================================*/
	/* 通常パターン
	---------------------------------------- */
	.page-lower #mainvisual .inner {
		max-width: 100%;
	}
	.page-lower #mainvisual .page-title {
		font-size: 40px;
	}
	.page-lower.single #mainvisual .page-title {
		font-size: 36px;
	} 

	/* 画像あり
	---------------------------------------- */
	.page-lower #mainvisual.v2 {
		min-height: 280px;
		padding-top: 128px;
		padding-bottom: 40px;
	}
    
	/*============================================================
	 セクション共通
	*============================================================*/
	.page-lower .section h2 {
		font-size: 32px;
	}
	.page-lower .section .mb-56 {
		margin-bottom: 48px;
	}
	.page-lower .section .mb-40 {
		margin-bottom: 32px;
	}
	.page-lower .section ul[data-text-l] li {
		font-size: 18px;
	}
	.page-lower .section ul[data-text-l].disc.lower li {
		font-size: 16px;
	}
	.page-lower .section ul.disc.bg-white {
		padding: 24px 40px;
	}
		
	/*============================================================
	 基本ブロック
	*============================================================*/
	.basic-block {
		flex-direction: column;
	}
	.basic-block > .image  {
		width: 100%;
	}

	/*============================================================
	 リストブロック
	*============================================================*/
	/* 画像なし＋縦並び
	---------------------------------------- */
	
	/*============================================================
	 データリスト
	*============================================================*/
	.data-list .data-header {
		font-size: 16px;
	}
	.data-list .item .data .num {
		font-size: 24px;
		width: 240px;
	}

	/*============================================================
	 データテーブル
	*============================================================*/
	/* 基本
	---------------------------------------- */
	.data-table thead th {
		font-size: 16px;
	}
	.data-table tbody td {
		font-size: 16px;
	}

	/* ラベル列あり
	---------------------------------------- */
	.data-table:has(tbody th) thead th:first-child {
		width: 140px;
	}
	.data-table tbody:has(th) th {
		font-size: 14px;
	}
	
	/*============================================================
	 CTA（メッセージ）
	*============================================================*/
	#sec-cta-message .inner {
		max-width: 100%;
	}
	#sec-cta-message h2 {
		font-size: 24px;
	}

	/*============================================================
	 カードブロック
	*============================================================*/
	/* テキスト＋矢印
	---------------------------------------- */
	.card-block-text.style-1 {
		--col: 2;
	}
	.card-block-text.style-1 .item:nth-child(even) .title:before {
		display: none!important;
	}
	
	/* 画像＋矢印
	---------------------------------------- */
	.card-block.style-1 {
		--col: 2;
	}
	.card-block.style-1 .item:nth-child(even) .image:before {
		display: none!important;
	}
	
	/* 画像
	---------------------------------------- */
	.card-block.style-2 {
		--col: 3;
		--col-gap: 32px;
	}
	.card-block.style-2 .item h3 {
		font-size: 18px;
	}
	
	/* 画像＋見出しのみ
	---------------------------------------- */
	.card-block.style-3 {
		--col: 4;
		--col-gap: 32px;
		gap:  var(--col-gap);
	}
	.card-block.style-3 .item .image {
		margin-bottom: 8px;
	}
	.card-block.style-3 .item h3 {
		font-size: 18px;
	}

	/* 画像+背景色テキスト
	---------------------------------------- */
	.card-block.style-4 {
		--col: 2;
		--col-gap: 32px;
		gap:  var(--col-gap);
	}
	.card-block.style-4 .item {
		gap: 16px;
	}
	.card-block.style-4 .item h3 {
		font-size: 18px;
	}
	

	/*============================================================
	 背景テクスチャブロック
	*============================================================*/
	.bg-texture .inner > * {
		margin-bottom: 0;
	}
	.bg-texture .block > * {
		margin-bottom: 0;
	}

	/*============================================================
	 キャッチブロック
	*============================================================*/

	/*============================================================
	 人物紹介ブロック
	*============================================================*/
	.person-block {
		gap: 40px;
	}
	.person-block .image {
		width: 34%;
	}
	.person-block .info .lead {
		font-size: 20px;
		margin-bottom: 16px;
	}
	.person-block .info .name {
		font-size: 24px;
	}
	.person-block .info .career .text {
		font-size: 14px;
	}
	
    /*============================================================
     スライダーブロック
    *============================================================*/
	.slider-block .slick-slide {
		height: auto !important;
	}
	.slider-block .slick-track {
		display: flex;
	}
	.slider-block .item .layout {
		height: 100%;
		flex-direction: column;
		justify-content: space-between;
		gap: 32px;
	}
	.slider-block .item .info {
		width: 100%;
	}
	.slider-block .item .image {
		flex: unset;
	}
	.slider-block .slick-dots {
		width: 100%;
	}
	.slider-block .slick-next {
		transform: none;
		top: auto;
		right: 12px;
		bottom: 27%;
		width: 48px;
		height: 48px;
	}
	.slider-block .slick-next:before {
		width: 48px;
		height: 48px;
	}

	/*============================================================
	 ページリンクブロック
	*============================================================*/

	/*============================================================
	 ページインデックスブロック
	*============================================================*/
    #page-clinic-menu .page-index-block {
        flex-direction: column;
        gap: 32px;
    }
    #page-clinic-menu .page-index-block .item {
        width: 100%;
        gap: 16px;
    }
    #page-clinic-menu .page-index-block .item .image {
        width: 25%;
    }

	/*============================================================
	 アクセスブロック
	*============================================================*/
	.access-block {
		flex-direction: column;
	}
	.access-block .info .link-arrow-anim {
		margin-left: auto;
		width: fit-content;
		display: block;
	}
	.access-block .map {
		width: 100%;
	}

}



/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 SP
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
@media screen and (max-width: 767px) {
	/*============================================================
	 共通
	*============================================================*/
	.page-lower {
		--section-gap: 56px;
		--inner-gap: 24px;  
	}

	/* 余白均等
	---------------------------------------- */
	.page-lower .layout-section .section {
		margin-bottom: 0;
	}
	.page-lower .layout-section .section .inner > * {
		margin-bottom: 0;
	}

    /*============================================================
     メインビジュアル
    *============================================================*/
	/* 通常パターン
	---------------------------------------- */
	.page-lower #mainvisual {
		padding-top: calc( var(--common-header-height) + 48px);
		padding-bottom: 32px;
	}
	.page-lower #mainvisual .page-title {
		font-size: 36px;
	}
	.page-lower.single #mainvisual .page-title {
		font-size: 28px;
	}

	/* 画像あり
	---------------------------------------- */
	.page-lower #mainvisual.v2 {
		min-height: 238px;
		padding-top: 128px;
		padding-bottom: 16px;
	}
	/* .page-lower #mainvisual.v2 .page-title[data-font-size="s"] {
		font-size: 28px;
	} */
	
	/*============================================================
	 セクション共通
	*============================================================*/
	.page-lower .section h2 {
		font-size: 24px;
		margin-bottom: 16px;
	}
	.page-lower .section h3 {
		font-size: 18px;
		margin-bottom: 16px;
	}
	.page-lower .section .accent-block {
		padding: 16px;
	}
	.page-lower .section .accent-block p {
		font-size: 24px;
		line-height: 1.5;
	}
	.page-lower .section .mb-56 {
		margin-bottom: 40px;
	}
	.page-lower .section .mb-40 {
		margin-bottom: 24px;
	}
	
	/* リスト
	---------------------------------------- */
	.section ul[data-text-l] li {
		font-size: 16px;
	}
	.section ul[data-text-l].disc.lower li {
		font-size: 14px;
	}
	.section ul.disc.bg-white {
		padding: 24px 40px;
	}
	.section ul[data-flex] {
		flex-direction: column;
	}
	.section ul[data-flex] li {
		width: 100%;
	}

	/*============================================================
	 基本ブロック
	*============================================================*/
	.basic-block .info .label {
		font-size: 14px;
		padding-bottom: 8px;
		margin-bottom: 10px;
	}
	
	/*============================================================
	 リストブロック
	*============================================================*/
	/* 画像なし＋縦並び
	---------------------------------------- */
	.list-block.style-1 {
		gap: 24px;
	}
	.list-block.style-1>.item {
		flex-direction: column;
		gap: 24px;
	}
	.list-block.style-1>.item>.label {
		width: 100%;
		max-width: 200px;
		margin: 0 auto;
	}
	.list-block.style-1>.item>.label p {
		padding: 4px 0;
	}
	.list-block.style-1>.item>.info {
		flex: unset;
	}
	.list-block.style-1>.item>.info h3 {
		font-size: 18px;
		text-align: center;
	}
	
	/*============================================================
	 データリスト
	*============================================================*/
	.data-list .item {
		gap: 8px;
	}
	.data-list .item .label,
	.data-list[data-label-size="s"] .item .label,
	.data-list[data-label-size="l"] .item .label,
	.data-list[data-label-size="l2"] .item .label {
		width: 100%;
	}
	.data-list .item .data {
		width: 100%;
	}
	
	/*============================================================
	 データテーブル
	*============================================================*/
	.data-table {
		overflow-x: scroll;
	}
	.data-table table {
		width: 767px;
	}
	.data-table table th:first-child {
		width: 90px;
		padding: 17px 16px 17px 0;
	}
	.data-table table tr:first-child th {
		font-size: 14px;
		padding: 4px 0;
	}
	
	/*============================================================
	 CTA（メッセージ）
	*============================================================*/
	#sec-cta-message {
		padding: 48px 0;
	}
	#sec-cta-message h2 {
		font-size: 16px;
	}
	
	/*============================================================
	 カードブロック
	*============================================================*/
	/* テキスト＋矢印
	---------------------------------------- */
	.card-block-text.style-1 {
		--col-gap: 40px;
		gap: 24px var(--col-gap);
	}
	.card-block-text.style-1 .item .title {
		margin-bottom: 16px;
	}
	.card-block-text.style-1 .item .title h3 {
		font-size: 16px;
	}
	.card-block-text.style-1 .item:not(:last-child) .title:before {
		width: 18px;
		left: calc(100% + 11px);
	}
	
	/* 画像＋矢印
	---------------------------------------- */
	.card-block.style-1 {
		--col-gap: 40px;
		gap: 24px var(--col-gap);
	}
	.card-block.style-1 .item .image {
		margin-bottom: 16px;
	}
	.card-block.style-1 .item:not(:last-child) .image:before {
		width: 18px;
		left: calc(100% + 11px);
	}
	.card-block.style-1 .item .info h3 {
		font-size: 16px;
	}
	
	/* 画像
	---------------------------------------- */
	.card-block.style-2 {
		--col: 2;
		--col-gap: 20px;
	}
	.card-block.style-2 .item .image {
		margin-bottom: 16px;
	}
	.card-block.style-2 .item h3 {
		font-size: 16px;
	}
	
	/* 画像＋見出しのみ
	---------------------------------------- */
	.card-block.style-3 {
		--col-gap: 24px;
	}
	.card-block.style-3 .item h3 {
		font-size: 16px;
	}
	
	/* 画像+背景色テキスト
	---------------------------------------- */
	.card-block.style-4 {
		flex-direction: column;
	}
	.card-block.style-4 .item {
		width: 100%;
	}
	.card-block.style-4 .item h3 {
		font-size: 16px;
	}
	
	/*============================================================
	 背景テクスチャブロック
	*============================================================*/
	.bg-texture .inner > * {
		margin-bottom: 0;
	}
	.bg-texture .block > * {
		margin-bottom: 0;
	}

	/*============================================================
	 キャッチブロック
	*============================================================*/
	.catch-block h3 {
		font-size: 20px;
	}
	
	/*============================================================
	 人物紹介ブロック
	*============================================================*/
	.person-block {
		flex-direction: column;
		max-width: 480px;
		margin: 0 auto;
		gap: 32px;
	}
	.person-block .image {
		width: 100%;
		text-align: center;
	}
	.person-block .image img {
		width: 70%;
	}
	.person-block .info {
		flex: unset;
	}
	.person-block .info .position {
		font-size: 10px;
		margin-bottom: 8px;
	}
	.person-block .info .name {
		font-size: 20px;
	}
	.person-block .info .name-en {
		font-size: 12px;
	}
	.person-block .info .career dt {
		font-size: 12px;
	}
	.person-block .info .career dd {
		font-size: 12px;
	}
	
	/*============================================================
	 スライダーブロック
	*============================================================*/
	.slider-block .item .layout {
		gap: 16px;
	}
	.slider-block .slick-next {
		width: 40px;
		height: 40px;
		bottom: 27%;
	}
	.slider-block .slick-next:before {
		width: 40px;
		height: 40px;
	}
	.slider-block .slick-dots li {
		width: 10px;
		height: 10px;
	}
	.slider-block .slick-dots {
		bottom: 3%;
	}

	/*============================================================
	 ページリンクブロック
	*============================================================*/
	.page-link-block .item  {
		gap: 16px;
		padding: 16px;
	}
	.page-link-block .item .image {
		width: 64px;
		height: 64px;
	}
	.page-link-block .item .info {
		width: calc(100% - 80px);
	}
	.page-link-block .item .info h3 {
		font-size: 16px;
		margin-bottom: 8px;
	}
	.page-link-block .item .info p {
		font-size: 12px;
	}
	
	/*============================================================
	 ページインデックスブロック
	*============================================================*/
	.page-index-block {
		gap: 32px;
	}

	/*============================================================
	 アクセスブロック
	*============================================================*/
	.access-block .map iframe {
		height: auto;
		aspect-ratio: 342 / 180;
	}

}

@media screen and (max-width: 480px) {
	.slider-block .slick-next {
		bottom: 23%;
	}
	
	.card-block.style-3 {
		--col: 3;
		--col-gap: 8px;
		gap: 16px var(--col-gap);
	}
}

