@charset "utf-8";

/*
	* 顧客オリジナルスタイルシート
	* サイト全体に関するスタイル
	* ver1
	* Copyright (C) ●●など
	* 更新履歴
		└ 
*/
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	初期設定（不要なものは削除）
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ******************************************************************************************
	root設定（適宜修正）（フォントはベースフォント外を削除してください。）
****************************************************************************************** */
:root{
	--black: #222222;
	--mainColor: #006ebf;
	--gradient-blue: linear-gradient(to right, #f0f8fb, #ccdff9);

	/* ベース幅 */
	--vw-base: 1920;

	/* ベースフォントが16pxの場合 */
	--fontSize10: .625rem;
	--fontSize11: .687rem;
	--fontSize12: .75rem;
	--fontSize13: .812rem;
	--fontSize14: .875rem;
	--fontSize15: .937rem;
	--fontSize16: 1rem;
	--fontSize17: 1.062rem;
	--fontSize18: 1.125rem;
	--fontSize19: 1.187rem;
	--fontSize20: 1.25rem;
	--fontSize21: 1.312rem;
	--fontSize22: 1.375rem;
	--fontSize23: 1.437rem;
	--fontSize24: 1.5rem;
	--fontSize25: 1.562rem;
	--fontSize26: 1.625rem;
	--fontSize27: 1.687rem;
	--fontSize28: 1.75rem;
	--fontSize29: 1.812rem;
	--fontSize30: 1.875rem;
	--fontSize31: 1.937rem;
	--fontSize32: 2rem;
	--fontSize33: 2.062rem;
	--fontSize34: 2.125rem;
	--fontSize35: 2.187rem;
	--fontSize36: 2.25rem;
	--fontSize37: 2.312rem;
	--fontSize38: 2.375rem;
	--fontSize39: 2.437rem;
	--fontSize40: 2.5rem;
	--fontSize41: 2.562rem;
	--fontSize42: 2.625rem;
	--fontSize43: 2.687rem;
	--fontSize44: 2.75rem;
	--fontSize45: 2.812rem;
	--fontSize46: 2.875rem;
	--fontSize47: 2.937rem;
	--fontSize48: 3rem;
	--fontSize49: 3.062rem;
	--fontSize50: 3.125rem;
}
@media screen and (max-width:992px){
	:root{
		/* ベースフォントが14pxの場合 */
		--fontSize10: 0.714rem;   /* 10 ÷ 14 */
		--fontSize11: 0.786rem;
		--fontSize12: 0.857rem;
		--fontSize13: 0.929rem;
		--fontSize14: 1rem;
		--fontSize15: 1.071rem;
		--fontSize16: 1.143rem;
		--fontSize17: 1.214rem;
		--fontSize18: 1.286rem;
		--fontSize19: 1.357rem;
		--fontSize20: 1.429rem;
		--fontSize21: 1.5rem;
		--fontSize22: 1.571rem;
		--fontSize23: 1.643rem;
		--fontSize24: 1.714rem;
		--fontSize25: 1.786rem;
		--fontSize26: 1.857rem;
		--fontSize27: 1.929rem;
		--fontSize28: 2rem;
		--fontSize29: 2.071rem;
		--fontSize30: 2.143rem;
		--fontSize31: 2.214rem;
		--fontSize32: 2.286rem;
		--fontSize33: 2.357rem;
		--fontSize34: 2.429rem;
		--fontSize35: 2.5rem;
		--fontSize36: 2.571rem;
		--fontSize37: 2.643rem;
		--fontSize38: 2.714rem;
		--fontSize39: 2.786rem;
		--fontSize40: 2.857rem;
		--fontSize41: 2.929rem;
		--fontSize42: 3rem;
		--fontSize43: 3.071rem;
		--fontSize44: 3.143rem;
		--fontSize45: 3.214rem;
		--fontSize46: 3.286rem;
		--fontSize47: 3.357rem;
		--fontSize48: 3.429rem;
		--fontSize49: 3.5rem;
		--fontSize50: 3.571rem;
	}
}
/* ******************************************************************************************
	ベースフォント設定
****************************************************************************************** */
html{
	font-size: 16px;/* ベースフォント */
}
@media screen and (max-width:992px){
	html{
		font-size: 14px;/* ベースフォント */
	}
}
/* ******************************************************************************************
	body設定
****************************************************************************************** */
body{
	display: grid;/* フッター浮き上がり対策 */
	grid-template-rows: auto 1fr auto;/* フッター浮き上がり対策 */
	grid-template-columns: 100%;/* フッター浮き上がり対策 */
	min-height: 100vh;/* フッター浮き上がり対策 */
	background-color: #fff;
	color: var(--black);
	font-family: "BIZ UDPGothic", sans-serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 1px;
	-webkit-text-size-adjust: 100%;
	   -moz-text-size-adjust: 100%;
	    -ms-text-size-adjust: 100%;
	        text-size-adjust: 100%;
	position: relative;/* 追従サイドボタンの基準設定 */
}
/* ******************************************************************************************
	テキスト設定
****************************************************************************************** */
/* pの中にrubyがあれば余白をあける */
p:has(>ruby){
	line-height: 2;
}
p{
	line-height: 2;
}
/* ******************************************************************************************
	画像設定
****************************************************************************************** */
img{
	vertical-align: bottom;/* 余白防止 */
	max-width: 100%;/* 画像のデフォルトサイズ */
	height: auto;
	object-fit: cover;
}
/* ******************************************************************************************
	フォーム設定（適宜設定）
****************************************************************************************** */
select{
	-webkit-appearance: auto;
	appearance: auto; /* デフォルトの矢印を表示 */
}
select:hover{
	cursor: pointer;
}
input{
	border: 1px solid rgb(0 0 0 / 20%);
}
[type="button"], [type="reset"], [type="submit"]{
	padding: 0 .5em;
	border: none;
	background-color: var(--mainColor);
	color: var(--black);
	cursor: pointer;
}
/* ******************************************************************************************
	リンク設定
****************************************************************************************** */
a{
	display: inline-block;
	color: var(--black);
	/* text-decoration: underline;
	text-underline-offset: .2rem;
	text-decoration-thickness: 1px;
	text-decoration-skip-ink: none; */
}
a:hover, a:focus{
	/* text-underline-offset: .2rem; */
	opacity: .6;
}
/* ******************************************************************************************
	フォーカス設定
****************************************************************************************** */
a:focus-visible, button:focus-visible, input:focus-visible, input:focus-visible, button:focus-visible, select:focus-visible{
	outline: 3px solid #000;
}
/* ******************************************************************************************
	リスト設定
****************************************************************************************** */
ol{
	list-style: decimal;/* リセットCSS打ち消し */
}
/* ******************************************************************************************
	電話番号設定（576px以下タップ有効化）
****************************************************************************************** */
/* タップ電話 */
a[href^="tel:"]{
	display: inline-block;
	text-decoration: none;
	pointer-events: none;
}
@media screen and (max-width:576px){
	a[href^="tel:"]{
		/* text-decoration: underline; */
		cursor: pointer;
		pointer-events: auto;
		/* フォントサイズを変更する場合適宜修正 */
		/* font-size: 1.2rem; */
	}
}
/* ******************************************************************************************
	サイト幅設定（適宜設定）
****************************************************************************************** */
.ly_inner{
	width: 100%;
	max-width: 1300px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 20px;
	padding-left: 20px;
}
/* ******************************************************************************************
	サイト区切り設定（必要に応じて設定）
****************************************************************************************** */
.ly_section{
	padding-top: clamp(40px, calc(60 / var(--vw-base) * 100vw), 60px);/* 最小40px, 最大60px */
	/* clamp(最小px, calc(最大 / var(基準画面幅をrootに定義1920) * 100vw), 最大px); */;
	padding-bottom: clamp(60px, calc(126 / var(--vw-base) * 100vw), 126px);/* 最小60px, 最大126px */
	/* clamp(最小px, calc(最大 / var(基準画面幅をrootに定義1920) * 100vw), 最大px); */;
}
/* ******************************************************************************************
	見出し設定
****************************************************************************************** */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	英語・日本語見出し
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.el_englishJapaneseTitle{
	margin-bottom: clamp(20px, calc(30 / var(--vw-base) * 100vw), 30px);/* 最小20px, 最大30px */
}
.el_englishJapaneseTitle span{
	display: block;
}
.el_englishJapaneseTitle_english{
	/* display: block; */
	font-size: var(--fontSize20);
	font-family: "Cormorant Garamond", serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	position: relative;
	padding-left: 22px;
	margin-bottom: 10px;
}
.el_englishJapaneseTitle_english.el_englishJapaneseTitle_english__fontSize{
		font-size: clamp(16px, calc(24 / var(--vw-base) * 100vw), 24px);/* 最小16px, 最大24px */
		margin-bottom: 10px;
}
.el_englishJapaneseTitle_english::before{
	content: '';
	display: block;
	position: absolute;
	top: 8px;
	left: 0;
	width: 8px;
	height: 8px;
	background-color: var(--mainColor); /* 任意の色 */
	border-radius: 50%; /* 丸くする */
}
@media screen and (max-width:992px){
	.el_englishJapaneseTitle_english.el_englishJapaneseTitle_english__fontSize::before{
		top: 7px;
		left: 0;
		width: 6px;
		height: 6px;
	}
	.el_englishJapaneseTitle_english.el_englishJapaneseTitle_english__fontSize{
		padding-left: 15px;
	}
}
.el_englishJapaneseTitle_japanese{
	font-size: clamp(32px, calc(48 / var(--vw-base) * 100vw), 48px);/* 最小32px, 最大48px */;
	font-family: "Shippori Mincho", serif;
	font-weight: 700;
	font-style: normal;
	letter-spacing: 2px;
}
.el_englishJapaneseTitle_japanese.el_englishJapaneseTitle_japanese__fontSize{
	font-size: clamp(30px, calc(58 / var(--vw-base) * 100vw), 58px);/* 最小40px, 最大58px */;
}
/* ******************************************************************************************
	パーツ
****************************************************************************************** */
.el_baseBtn{
	background-color: var(--mainColor);
	padding: 18px 80px 18px 30px;
	border-radius: 50px;
	position: relative;
	font-weight: bold;
	color: #fff;
}
.el_baseBtn::after{
	content: '';
	display: block;
	background-image: url(../img/top/icon-arrow-white.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 35px;
	aspect-ratio: 35/24;
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
}
.el_baseBtn:hover,.el_baseBtn:focus{
	opacity: 1;
}
.el_baseBtn:hover::after,.el_baseBtn:focus::after{
	right: 13px;
	transition: all .2s;
}
/* ******************************************************************************************
	ヘルパー
****************************************************************************************** */
@media screen and (max-width:992px){
	.hp_sp_br_none{
		display: none;
	}
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	ヘッダー
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ******************************************************************************************
	包括
****************************************************************************************** */
.ly_header{
	display: flex;
	padding: 20px 35px;
	justify-content: space-between;
	align-items: center;
}
@media screen and (max-width:992px){
	.ly_header{
		padding: 10px calc(60px + 10px) 20px 20px;/* メニュー幅+余白 */
	}
}
/* ******************************************************************************************
	グローバルメニュー
****************************************************************************************** */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	全体
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.bl_gNavUnit{
	display: flex;
	justify-content: flex-end;
}
.bl_gNav_item+.bl_gNav_item{
	margin-left: 60px;
}
@media screen and (max-width:992px){
	.bl_gNav_area{
		position: fixed;
		top: 0;
		right: -100%;
		overflow: auto;
		transition: .4s;
		max-width: 300px;
		width: 100%;
		height: 100vh;
		visibility: hidden;
		z-index: 3;
		background: var(--gradient-blue);
	}
	.bl_gNav_area.is_active{
		right: 0;
		visibility: visible;
	}
	.bl_gNav.is_open{
		left: 0;
		transition: all .6s;
	}
	.bl_gNav{
		overflow-x: hidden;
		overflow-y: auto;
		transition: all .6s;
		width: 100%;
		padding: calc(60px + 1rem) 1rem 0;/* 60pxメニュー高さ分 */
	}
	.bl_gNavUnit{
		display: block;
	}
	.bl_gNav_item+.bl_gNav_item{
		margin-left: 0;
	}
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	個別
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ============================================================
	グローバルメニューのリスト
============================================================ */
.bl_gNav_link{
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all .3s;
	padding: 5px;
	/* color: var(--black); */
	font-weight: bold;
	letter-spacing: 2px;
	position: relative;
}
.bl_gNav_link::before{
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -5px;
	height: 2px;
	width: 0%;
	background-color: var(--mainColor);
	transition: width 0.4s ease;
}

.bl_gNav_link:hover::before,.bl_gNav_link:focus::before{
	width: 100%;
}
.bl_gNav_link:hover, .bl_gNav_link:focus{
	opacity: 1;
}
@media screen and (max-width:992px){
	.bl_gNav_item{
		width: 100%;
	}
	.bl_gNav_item + .bl_gNav_item::before{
		content: none;
	}

	.bl_gNav_link{
		position: relative;
		display: block;
		padding: 1rem;
		border-bottom: 1px solid #ccc;
	}
	.bl_gNav_link::after{
		content: "";
		position: absolute;
		top: 50%;
		right: 10px;
		transform: translateY(-50%);
		border: 3px solid transparent;
		border-left: 6px solid var(--mainColor);
		transition: .2s;
	}
	.bl_gNav_link:hover::after,.bl_gNav_link:focus::after{
		right: 7px;
		transition: .2s;
	}
	.bl_gNav_link::before{
		content: none;
	}
}
/* ============================================================
	ハンバーガーメニュー
============================================================ */
.el_trigger{
	display: none;
}
/* ハンバーガーメニューの場合のみ表示 */
#js_focusTrapFirst,#js_focusTrapEnd{
	display: none;
}
@media screen and (max-width:992px){
	.is_active #js_focusTrapFirst,.is_active #js_focusTrapEnd{
		display: block;
	}
	.el_trigger{
		display: block;
		position: absolute;
		top: 10px;
		right: 10px;
		transition: .2s;
		width: 50px;
		height: 50px;
		margin: 0;
		background-color: var(--mainColor);
		cursor: pointer;
		border-radius: 6px;
		z-index: 1000;
	}
	.el_trigger.is_active .el_trigger_line{
		background-color: transparent;
	}
	.el_trigger.is_active .el_trigger_line::before{
		top: 0;
		transform: rotate(45deg);
	}
	.el_trigger.is_active .el_trigger_line::after{
		top: 0;
		transform: rotate(-45deg);
	}
	/* .el_trigger.is_active .el_trigger_text::before{
		content: "閉じる";
	} */
	.el_trigger_line{
		display: block;
		position: absolute;
		top: 23px;
		left: 50%;
		transform: translateX(-50%);
		transition: .4s;
		width: 30px;
		height: 2px;
		border-radius: 5px;
		background-color: #fff;
	}
	.el_trigger_line::before, .el_trigger_line:after{
		content: "";
		display: block;
		position: absolute;
		transition: inherit;
		width: 100%;
		height: 100%;
		background-color: #fff;
	}
	.el_trigger_line::before{
		top: -10px;
	}
	.el_trigger_line:after{
		top: 10px;
	}
	.el_trigger_text{
		position: absolute;
		bottom: 6px;
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
		text-align: center;
	}
	/* .el_trigger_text::before{
		content: "メニュー";
		color: #fff;
		font-weight: bold;
		font-size: 13px;
	} */
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	メインビジュアル
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.ly_mv{
	padding: 0 30px 40px;
	position: relative;
}
.ly_mv::before{
	content: '';
	display: block;
	background-image: url(../img/top/bg-town.png);
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: contain;
	width: 50%;
	aspect-ratio: 849/238;
	position: absolute;
	bottom: 0;
	left: 0;
}
.bl_scrollImg{
	position: absolute;
	bottom: -30px;
	right: 50px;
}
.bl_mvWrap{
	display: flex;
	justify-content: end;
	gap: 30px;
}
.bl_catchphraseArea{
	padding-top: clamp(50px, calc(90 / var(--vw-base) * 100vw), 90px);/* 最小50px, 最大90px */
	align-self: flex-start;
	/* padding: 150px 70px 150px; */
	width: 40%;
}
.bl_catchphraseArea img{
	width: 100%;
	object-fit: contain;
}
.bl_mvImgArea{
	width: 60%;
}
.bl_mvImgArea img{
	width: 100%;
	object-fit: contain;
	border-radius: 10px;
}
@media screen and (max-width:992px){
	.ly_mv{
		padding-bottom: calc(100px - 50px);
		padding-left: 20px;
		padding-right: 20px;
		position: relative;
	}
	.ly_mv::before{
		width: 100%;
		position: absolute;
		/* top: 0; */
		left: 50%;
		transform: translateX(-50%);
		aspect-ratio: initial;
		height: 100px;
		background-repeat: repeat;
	}
	.bl_scrollImg{
		display: none;
	}
	.bl_mvWrap{
		display: block;
	}
	.bl_mvImgArea{
		max-width: 800px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.bl_catchphraseArea{
		max-width: 450px;
		width: 100%;
		padding: clamp(20px, calc(30 / var(--vw-base) * 100vw), 30px);/* 最小20px, 最大30px */
		padding: 20px 0;
		position: relative;
	}
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	事業案内
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.ly_business{
	padding-top: clamp(70px, calc(90 / var(--vw-base) * 100vw), 90px);/* 最小70px, 最大90px */
	padding-bottom: clamp(70px, calc(120 / var(--vw-base) * 100vw), 120px);/* 最小70px, 最大120px */
	background: var(--gradient-blue);
}
.el_englishJapaneseTitle.el_englishJapaneseTitle__business{
	font-size: clamp(30px, calc(40 / var(--vw-base) * 100vw), 40px);/* 最小30px, 最大40px */
}
.grid_3col{
	display: grid;
	grid-template-columns: repeat(3, 1fr); /* 3列（等幅） */
	gap: 30px 50px; /* アイテム間の余白 */
}
.bl_cardItem img{
	margin-bottom: 25px;
}
.bl_cardItem p{
	padding: 0 8px;
	position: relative;
	font-size: var(--fontSize20);
	font-weight: bold;
}
.bl_cardItem p::after{
	content: '';
	display: block;
	background-image: url(../img/top/icon-arrow-blue.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 65px;
	aspect-ratio: 65/45;
	position: absolute;
	top: 50%;
	right: 8px;
	transform: translateY(-50%);
}
.bl_cardItem:hover,.bl_cardItem:focus{
	opacity: 1;
}
.bl_cardItem:hover p::after,.bl_cardItem:focus p::after{
	right: 4px;
	transition: all .2s;
}
@media screen and (max-width:992px){
	.grid_3col{
		grid-template-columns: 1fr;
		max-width: 395px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.el_englishJapaneseTitle.el_englishJapaneseTitle__business{
		max-width: 395px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.bl_cardItem img{
		margin-bottom: 10px;
	}
	.bl_cardItem p{
		position: relative;
		font-size: var(--fontSize16);
		font-weight: bold;
	}
	.bl_cardItem p::after{
		width: 45px;
	}
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	採用情報
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.ly_recruit{
	padding: clamp(70px, calc(100 / var(--vw-base) * 100vw), 100px) 0;/* 最小50px, 最大100px */
}
.st_recruit .bl_imgTextArea{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}
.st_recruit .bl_imgArea{
	max-width: 570px;
	width: 100%;
}
.st_recruit .bl_textArea p{
	margin-bottom: clamp(20px, calc(40 / var(--vw-base) * 100vw), 40px);/* 最小20px, 最大40px */
}
@media screen and (max-width:992px){
	.st_recruit .bl_imgTextArea{
		flex-direction: column;
		gap: 20px;
		max-width: 395px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	会社案内
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.ly_company{
	padding-top: clamp(70px, calc(210 / var(--vw-base) * 100vw), 210px);/* 最小50px, 最大210px */
	padding-bottom: clamp(70px, calc(230 / var(--vw-base) * 100vw), 230px);/* 最小50px, 最大230px */
	position: relative;
}
.ly_company::after{
	content: '';
	display: block;
	background-image: url(../img/top/bg-circle.png);
	background-repeat: no-repeat;
	background-size: contain;
	max-width: 618px;
	width: 100%;
	aspect-ratio: 1/1;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
}
.st_company .bl_imgTextArea{
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	gap: 30px;
	align-items: center;
}
.st_company .bl_imgArea{
	max-width: 570px;
	width: 100%;
}
.st_company .bl_textArea p{
	margin-bottom: clamp(20px, calc(40 / var(--vw-base) * 100vw), 40px);/* 最小20px, 最大40px */
}
@media screen and (max-width:992px){
	.st_company .bl_imgTextArea{
		flex-direction: column;
		gap: 20px;
        max-width: 395px;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
	}
	.ly_company::after{
		width: 70%;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
	}
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	フッター
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.ly_footer{
	padding-top: clamp(70px, calc(100 / var(--vw-base) * 100vw), 100px);/* 最小50px, 最大100px */
	padding-bottom: clamp(35px, calc(50 / var(--vw-base) * 100vw), 50px);/* 最小50px, 最大50px */
	background: var(--gradient-blue);
}
.bl_footerLogo{
	margin-bottom: 20px;
}
.bl_footerWrap{
	display: flex;
	gap: 30px;
	margin-bottom: clamp(35px, calc(50 / var(--vw-base) * 100vw), 50px);/* 最小50px, 最大50px */
}
.bl_footerInfo{
	width: 65%;
}
.bl_footerTel_note{
	font-size: var(--fontSize12);
	letter-spacing: initial;
	font-weight: bold;
	margin-bottom: 10px;
}
.bl_footerTel{
	font-size: var(--fontSize22);
	font-weight: bold;
	padding-left: 45px;
	position: relative;
}
.bl_footerTel::before{
	content: '';
	background-image: url(../img/common/icon-telephone-call.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 27px;
	aspect-ratio: 27/26;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.bl_footerAddress{
	font-size: var(--fontSize14);
	margin-bottom: 30px;
	/* display: inline-block; */
}
.bl_footerTelArea{
	padding: 15px 20px 20px;
	border-top: 1px solid var(--mainColor);
	border-bottom: 1px solid var(--mainColor);
	display: inline-block;
	margin-bottom: 30px;
}
.bl_footerBnr_note{
	margin-bottom: 10px;
	font-size: var(--fontSize14);
}
.bl_footerBnr{
	display: flex;
	gap: 50px;
}
.bl_siteMapArea{
	width: 35%;
}
.grid_siteMap{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px 90px;
}
.bl_siteMap_item:nth-of-type(3) .bl_siteMap_itemTitle{
	margin-bottom: 15px;
}
.bl_siteMap_item span{
	font-size: var(--fontSize14);
    font-family: "Cormorant Garamond", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
	display: inline-block;
	margin-bottom: 5px;
}
.bl_siteMap_itemTitle{
	display: block;
	font-size: var(--fontSize20);
	font-family: "Shippori Mincho", serif;
    font-weight: 700;
    font-style: normal;
}
.bl_footerChildList li+li{
	margin-top: 15px;
}
.bl_footerChildList a{
	position: relative;
	padding-left: 20px;
	font-size: var(--fontSize13);
	font-weight: bold;
}
.bl_footerChildList a::before{
	content: '';
	display: block;
	width: 8px;
	height: 1px;
	background-color: var(--black);
	position: absolute;
	top: 50%;
	left: 7px;
	transform: translateY(-50%);
}
.bl_copyright{
	font-size: var(--fontSize12);
	text-align: right;
	padding-right: 70px;
}
.bl_pageTop{
	position: fixed;
    bottom: 13px;
    right: 13px;
    width: 65px;
    height: 65px;
    z-index: 1;
	transition: all .2s ease;
}
.bl_pageTop:is(:hover,:focus){
	opacity: 1;
	bottom: 16px;
}
@media screen and (max-width:992px){
	.bl_footerWrap{
		flex-direction: column;
		gap: 30px;
		max-width: 395px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.bl_footerInfo,.bl_siteMapArea{
		width: 100%;
	}
	.grid_siteMap{
		gap: 30px;
	}
	.bl_footerTelArea{
		display: block;
	}
	.bl_footerTelInner{
		display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
	}
}
@media screen and (max-width:576px){
	.bl_pageTop{
		width: 45px;
		height: 45px;
	}
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	固定ページ
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ******************************************************************************************
	サブビジュアル
****************************************************************************************** */
.ly_subVisual{
	padding: clamp(30px, calc(100 / var(--vw-base) * 100vw), 100px);/* 最小30px, 最大100px */
	background: var(--gradient-blue);
}
/* パンくず */
.bl_breadcrumb{
	padding: 10px 0;
	font-size: var(--fontSize14);
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	印刷用スタイル
//////////////////////////////////////////////////////////////////////////////////////////////////// */
@media print{
	body{
		/* 背景色反映のため */
		-webkit-print-color-adjust: exact;
	}
}