@charset "utf-8";

/*
	* 顧客オリジナルスタイルシート
	* サイト全体に関するスタイル
	* ver1
	* Copyright (C) ●●など
	* 更新履歴
		└ 
*/
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	初期設定（不要なものは削除）
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ******************************************************************************************
	root設定（適宜修正）（フォントはベースフォント外を削除してください。）
****************************************************************************************** */
:root{
	--black: #0b0b0b;
	--mainColor: #0047AA;
	--mainColorRed: #900809;
	--accentColor: #E3EEFA;
	--accentColorRed: #f4e6e6;

	/* ベースフォントが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;
	
	/* 基準幅設定 */
	--vw-base: 1920;

}
@media screen and (max-width:992px){
	:root{
		/* ベースフォントが14pxの場合 */
		--fontSize10: 0.714rem;
		--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);
	line-height: 2;
	letter-spacing: 2px;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: normal;
	font-style: normal;
	position: relative;/* 追従サイドボタンの基準設定 */
}
/* ******************************************************************************************
	テキスト設定
****************************************************************************************** */
/* pの中にrubyがあれば余白をあける */
p:has(>ruby){
	line-height: 2;
}
/* ******************************************************************************************
	画像設定
****************************************************************************************** */
img{
	vertical-align: bottom;/* 余白防止 */
	max-width: 100%;/* 画像のデフォルトサイズ */
	height: auto;
	object-fit: cover;
}
/* ******************************************************************************************
	フォーム設定（適宜設定）
****************************************************************************************** */
select{
	-webkit-appearance: auto;
	appearance: auto; /* デフォルトの矢印を表示 */
	border: 1px solid rgb(0 0 0 / 20%);
}
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;
}
/* Web予約ページで文中にリンクがある場合はinlineにする */
.st_yoyaku p a{
	display: inline;
}
/* ******************************************************************************************
	フォーカス設定
****************************************************************************************** */
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; */
	}
}
/* ******************************************************************************************
	サイト幅設定（適宜設定）
****************************************************************************************** */
.ly_inner{
	width: 100%;
	max-width: calc(1000px + 40px);/* 基準幅 + 両padding余白分 */
	margin-right: auto;
	margin-left: auto;
	padding-right: 20px;
	padding-left: 20px;
}
/* ******************************************************************************************
	サイト区切り設定（必要に応じて設定）
****************************************************************************************** */
.ly_section{
	padding-top: 3rem;
	padding-bottom: 3rem;
}
/* ******************************************************************************************
	見出し設定
****************************************************************************************** */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	英語・日本語見出し
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.el_englishJapaneseTitle{
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
    font-weight: 600;
	font-style: normal;
	text-align: center;
	margin-bottom: clamp(30px, calc(40 / var(--vw-base) * 100vw), 40px);/* 最小30px, 最大40px */
}
.el_englishJapaneseTitle_english{
	font-size: var(--fontSize15);
	display: block;
	line-height: 1;
}
.el_englishJapaneseTitle_japanese{
	display: block;
	font-size: var(--fontSize32);
}
@media screen and (max-width:992px){
	.el_englishJapaneseTitle_japanese {
		font-size: clamp(28px, calc(32 / var(--vw-base) * 100vw), 32px);/* 最小28px, 最大32px */
	}
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	カラーライン見出し
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.el_colorLineTitle{
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	margin-bottom: 50px;
}
.el_colorLineTitle_title{
	position: relative;
	padding: 0 30px;/* 見出しと線の余白 */
	background-color: var(--white);
	font-weight: bold;
	font-size: var(--fontSize21);
	text-align: center;
	z-index: 2;
	font-size: var(--fontSize32);
}
.el_colorLineTitle_line{
	display: inline-block;
	position: relative;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 500px;
	height: 2px;
	opacity: .5;
	border-radius: var(--borderRadius3);
	background-color: var(--purple);
	z-index: 1;
}
.el_colorLineTitle_line::after, .el_colorLineTitle_line::before{
	content: "";
	display: block;
	position: absolute;
	transform: translate(-50%, -50%);
	width: 500px;
	height: 2px;
}
.el_colorLineTitle_line::before{
	top: calc(50% - 8px);
	left: calc(50% + 10px );
	background-color: var(--pink);
}
.el_colorLineTitle_line::after{
	top: calc(50% + 8px);
	left: calc(50% + 20px );
	background-color: var(--green);
}
/* ******************************************************************************************
	ボタン
****************************************************************************************** */
.el_btn_base{
	padding: 12px 60px 12px 30px;
	position: relative;
	background-color: var(--mainColor);
	color: #fff;
	text-decoration: none;
	box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.4);
	font-size: var(--fontSize18);
	font-weight: 500;
	transition: all .2s ease;
}
.el_btn_base::before{
    content: '';
    display: block;
    width: 20px;
    height: 5px;
    border-right: 2px solid #fff;
    border-bottom: 1px solid #fff;
	position: absolute;
	top: calc(50% - 3px);
	right: 15px;
	transform: skew(45deg);
	transition: all .2s ease;
}
.el_btn_base:hover,.el_btn_base:focus{
	opacity: 1;
	transform: translateX(1px);
	box-shadow: none;
}
.el_btn_base:hover::before,.el_btn_base:focus::before{
		right: 13px;
}
@media screen and (max-width:992px){
	.el_btn_base{
		padding: 8px 45px 8px 20px;
		font-size: var(--fontSize16);
	}
}
/* ******************************************************************************************
	ヘルパー
****************************************************************************************** */
@media screen and (max-width:992px){
	.hp_sp_br_none{
		display: none;
	}
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	ヘッダー
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.ly_header{
	box-shadow: 2px 2px 6px rgba(0,0,0,0.16);
	position: relative;
}
.ly_headerInner{
	max-width: 1220px;
	width: 100%;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-left: 10px;
	padding-right: 10px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
}
@media screen and (max-width:992px){
	.ly_header{
		padding-right: calc(50px + 10px + 10px);/* ハンバーガーメニュー幅分 + 移動距離 + 余白 */
		gap: 0;
	}
}
/* ******************************************************************************************
	ロゴ
****************************************************************************************** */
.bl_companyLogoArea{
	position: relative;
	z-index: 10000;
}
.bl_visuallyHidden{
	/* アクセシビリティ対策 */
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
/* ******************************************************************************************
	グローバルメニュー
****************************************************************************************** */
/* アクセシビリティ対応 */
#js_focusTrapFirst,#js_focusTrapEnd{
	display: none;
}
.is_active #js_focusTrapFirst,.is_active #js_focusTrapEnd{
	display: block;
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	全体
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.bl_gNav{
	display: flex;
	gap: 20px;
	/* flex-direction: row-reverse; */
}
.bl_gNavUnit{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 30px;
}
@media screen and (max-width:1200px){
	.bl_gNav{
		flex-direction: column;
		gap: 10px;
	}
}
@media screen and (max-width:992px){
	.bl_gNav_area{
		position: fixed;
		top: 0;
		right: -100%;
		overflow: auto;
		transition: .4s;
		/* max-width: 320px; */
		width: 100%;
		height: 100vh;
		visibility: hidden;
		z-index: 3;
		background-color: var(--accentColor);
		padding-top: calc(50px + 10px + 20px);/* ハンバーガーメニュー高さ + 移動距離 + 余白 */
		padding-right: 10px;
		/* スマホ検索窓UI対策 */
		padding-bottom: 20px;
		padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px));
		padding-bottom: calc(20px + constant(safe-area-inset-bottom, 0px));
		padding-left: 10px;
	}
	.is_active .bl_gNav_area{
		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: 0 10px;
		gap: 0;
	}
	.bl_gNavUnit{
		display: block;
		margin-bottom: 2rem;
	}
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	個別
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ============================================================
	グローバルメニューのリスト
============================================================ */
.bl_gNav_item{
	position: relative;
}
.bl_gNav_link{
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all .3s;
	font-size: var(--fontSize16);
	color: var(--black);
	font-weight: bold;
	letter-spacing: 2px;
	text-decoration: none;
	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%;
}
.is_active .bl_gNav_link::before{
	content: none;
}

.bl_gNav_link:hover, .bl_gNav_link:focus{
	opacity: 1;
}
/* ============================================================
	グローバルメニューのお問い合わせエリア
============================================================ */
.bl_contactArea{
	display: flex;
}
.bl_contactTelArea{
	display: flex;
	background-color: #E3EEFA;
	padding: 5px 20px;
	gap: 40px;
}
.bl_contactTel_note{
	font-size: var(--fontSize12);
	font-weight: 500;
	display: flex;
    align-items: center;
	position: relative;
	line-height: 1.3;
}
.bl_contactTel_note::after{
	content: '';
	display: block;
	width: 1px;
	height: 21px;
	position: absolute;
	top: 50%;
	right: -20px;
	transform: translateY(-50%);
	background-color: #4A90E2;
}
.bl_contactTel a{
	font-size: var(--fontSize18);
	padding-left: 20px;
	display: block;
	position: relative;
	font-weight: bold;
	line-height: 1.2;
}
.bl_contactTel a::before{
    content: '';
    display: block;
    background-image: url(../img/common/icon-tel1.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 16px;
    aspect-ratio: 1 / 1;
    position: absolute;
    top: 4px;
    left: 0px;
}
.bl_contactTel p{
	font-size: var(--fontSize14);
	font-weight: bold;
	color: #686868;
	padding-left: 20px;
	line-height: 1.2;
}
.bl_contactMailBtn{
	background-color: var(--mainColor);
	/* width: 133px; */
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	color: #fff;
	padding: 0px 20px 0px 50px;
	position: relative;
	box-shadow: 1px 1px 3px rgba(0,0,0,0.5);
	transition: all 0.2s ease;
}
.bl_contactMailBtn:hover,.bl_contactMailBtn:focus{
	transform: translate(1px, 1px); /* 少し右下に移動 */
	box-shadow: none;              /* シャドウを消す */
	box-shadow: 1px 1px 3px rgba(0,0,0,0.16);
	opacity: 1;
}
.bl_contactMailBtn::before{
	content: '';
	display: block;
	background-image: url(../img/common/icon-calendar-40.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 20px;
	aspect-ratio: 1/1;
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
}
@media screen and (max-width:1200px){
	.bl_contactMailBtn{
		width: calc(100% - 300px);
	}
}
@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: 5px solid transparent;
		border-left: 8px solid var(--mainColor);
		transition: .2s;
	}
	.bl_gNav_link:hover::after,.bl_gNav_link:focus::after{
		right: 7px;
		transition: .2s;
	}
	.bl_contactArea{
		flex-direction: column;
		gap: 20px;
	}
	.bl_contactMailBtn{
		width: 100%;
		max-width: 180px;
		padding: 17px 0 17px 20px;
		max-width: 300px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		font-size: var(--fontSize18);
	}
	.bl_contactMailBtn::before{
		position: absolute;
		top: 50%;
		left: calc(50% - 60px);
		transform: translate(-50%, -50%);
	}
	.bl_contactTelArea{
		justify-content: space-between;
		padding: 15px 15px 15px 15px;
		border: 1px solid var(--mainColor);
		max-width: 300px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		gap: 20px;
		background-color: #fff;
	}
	.bl_contactTel a{
		font-size: var(--fontSize20);
		margin-bottom: 8px;
	}
	.bl_contactTel_note{
		font-size: var(--fontSize14);
	}
	.bl_contactTel_note::after{
		right: -14px;
	}
}
/* ============================================================
	ハンバーガーメニュー
============================================================ */
.el_trigger{
	display: none;
}
@media screen and (max-width:992px){
	.el_trigger{
		display: block;
		position: absolute;
		top: 10px;
		right: 10px;
		transition: .2s;
		width: 50px;
		height: 50px;
		margin: 0;
		background-color: var(--mainColor);
		cursor: pointer;
		z-index: 1000;
	}
	.is_active .el_trigger .el_trigger_line{
		background-color: transparent;
	}
	.is_active .el_trigger .el_trigger_line::before{
		top: 0;
		transform: rotate(45deg);
	}
	.is_active .el_trigger .el_trigger_line::after{
		top: 0;
		transform: rotate(-45deg);
	}
	.is_active .el_trigger .el_trigger_text::before{
		content: "閉じる";
	}
	.el_trigger_line{
		display: block;
		position: absolute;
		top: 18px;
		left: 50%;
		transform: translateX(-50%);
		transition: .4s;
		width: 25px;
		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: -7px;
	}
	.el_trigger_line:after{
		top: 7px;
	}
	.el_trigger_text{
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
		text-align: center;
	}
	.el_trigger_text::before{
		content: "MENU";
		color: #fff;
		font-weight: bold;
		font-size: var(--fontSize10);
	}
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	メインスライダー
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ******************************************************************************************
	全体
****************************************************************************************** */
.splide__track{
	padding: 5px 0;/* フォーカス枠見切れ対策 */
}
.splide__slide{
	border: 1px solid var(--mainColor);
	box-shadow: 2px 2px 6px rgba(0,0,0,0.16);
}
.splide{
	background: linear-gradient(to top, #fff, #E8F1FC);
	padding-top: 30px;
}
/* .splide__list {
	transition: none;
  }
  .splide.is-initialized .splide__list {
	transition: transform 1.5s ease;
  } */
/* ******************************************************************************************
	画像比率設定
****************************************************************************************** */
.st_splideMain img{
	aspect-ratio: 16/9;
}
/* ******************************************************************************************
	規定枚数より少ない場合は、矢印、再生・停止ボタン非表示
****************************************************************************************** */
.splide:not(.is-overflow) .splide__arrow,.splide:not(.is-overflow) .splide__controls{
	/* display: none; */
}
/* ******************************************************************************************
	停止・再生ボタン、ページャー包括
****************************************************************************************** */
.splide__controls{
	display: flex;
	justify-content: center;
	gap: 10px;
	align-items: center;
	height: 30px;
	margin: 1rem 0;
	padding: 0 20px;
}
/* ******************************************************************************************
	矢印
****************************************************************************************** */
.splide__arrow{
	position: absolute;
	top: calc(50% - 30px);/* 中央 - 停止ボタンエリア高さ */
	transform: translateY(-50%);
	width: 45px;
	height: 45px;
	background-color: #fff;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #ccc;
}
.splide__arrow svg{
	width: 18px;
	height: 18px;
}
.splide__arrow--prev{
	left: 0;
	transform: translateY(-50%) rotateY(180deg);
}
.splide__arrow--next{
	right: 0;
}
@media screen and (max-width:576px){
	.splide__arrow{
		width: 30px;
		height: 30px;
	}
	.splide__arrow svg{
		width: 20px;
		height: 20px;
	}
}
/* ******************************************************************************************
	ページャー
****************************************************************************************** */
.splide__pagination__page{
	width: 15px;
	height: 15px;
	border-radius: 15px;
	background-color: #ccc;
	padding: initial;
}
.splide__pagination__page{
	margin: 10px 5px;
}
.splide__pagination__page.is-active{
	background-color: #707070;
}
/* ******************************************************************************************
	停止・再生ボタン
****************************************************************************************** */
.splide__toggle{
	position: relative;
	border: 1px solid #ccc;
	border-radius: var(--borderRadius3);
	background-color: transparent;
	font-size: var(--fontSize14);
	line-height: 1;
	padding: 4px 5px;
}
.splide__toggle::before{
	content: "\f04b";
	color: var(--mainColor);
	font-weight: bold;
	font-size: 14px;
	line-height: 1;
	font-family: "Font Awesome 5 Free";
	display: inline-block;
	margin-right: 5px;
}
.splide__toggle.is-active::before{
	content: "\f04c";
	/* color: var(--darkGray); */
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	キャッチコピーエリア
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ******************************************************************************************
	共通
****************************************************************************************** */
.ly_about{
	position: relative;
	max-width: calc(1000px + 40px);/* 設定したい基準幅 + 余白分 */
	width: 100%;
	padding-right: 20px;
	padding-left: 20px;
	margin-right: auto;
	margin-left: auto;
	padding-top: clamp(40px, calc(60 / var(--vw-base) * 100vw), 60px);/* 最小40px, 最大60px */
	padding-bottom: clamp(60px, calc(100 / var(--vw-base) * 100vw), 100px);/* 最小40px, 最大100px */
}

.ly_about::before,.ly_about::after{
	content: '';
	display: block;
	aspect-ratio: 1/1;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	z-index: -1;
}
.ly_about::before{
	width: 300px;
	background-image: url(../img/common/bg-circle-1.png);
	top: 0;
	left: 0;
}
.ly_about::after{
	width: 124px;
	background-image: url(../img/common/bg-circle-1.png);
	bottom: 10px;
	right: 10px;
}
/* ******************************************************************************************
	キャッチコピー
****************************************************************************************** */
.ly_catchphraseInner{
	max-width: 670px;/* 設定したい基準幅 + 余白分 */
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}
.bl_catchphraseArea{
	position: relative;
	text-align: center;
	padding: 30px 0;
	margin-bottom: clamp(30px, calc(40 / var(--vw-base) * 100vw), 40px);/* 最小30px, 最大40px */
}
.bl_catchphraseArea::before,.bl_catchphraseArea::after{
	content: '';
	display: block;
	max-width: 350px;
	width: 100%;
	height: 1px;
	background-color: var(--mainColor);
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.bl_catchphraseArea::after{
	top: initial;
	bottom: 0;
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	相談内容から探す
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.ly_case{
	position: relative;
	padding-top: clamp(70px, calc(100 / var(--vw-base) * 100vw), 100px);/* 最小70px, 最大100px */
	padding-bottom: clamp(70px, calc(100 / var(--vw-base) * 100vw), 100px);/* 最小70px, 最大100px */
}
.ly_case::before{
	content: '';
	display: block;
	width: 100%;
	background-image: url(../img/top/bg-kikagakumoyo.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	opacity: 0.2;
	/* aspect-ratio: 2000/1414; */
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0; /* → inset: 0; でもOK */
	z-index: -1;
}
.bl_case_text{
	text-align: center;
	margin-bottom: 30px;
}
.grid_case_card{
	display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px 30px;
	margin-bottom: 40px;
}
.bl_case_card_item{
	display: flex;
	box-shadow: 2px 2px 6px rgba(0,0,0,0.16);
	text-decoration: none;
	transition: all 0.2s ease;
}
.bl_case_card_item:hover,.bl_case_card_item:focus{
	/* transform: translate(1px, 1px); */
		  transform: translateX(1px);
	box-shadow: none;
	box-shadow: 1px 1px 1px rgba(0,0,0,0.16);
	box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.5);;
	
	opacity: 1;
}
.bl_case_card_item img{
	width: 105px;
	aspect-ratio: 1/1;
}
.bl_case_card_item p{
	font-weight: 500;
	font-size: var(--fontSize20);
	line-height: 1.3;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	background-color: #fff;
}
@media screen and (max-width:992px){
	.grid_case_card{
		grid-template-columns: repeat(2, 1fr);
	}
	.bl_case_text{
		text-align: initial;
	}
}
@media screen and (max-width:576px){
	.ly_case::before {
		opacity: 0.5;
	}
	.grid_case_card{
		gap: 10px 10px;
	}
	.bl_case_card_item img{
		width: 50px;
	}
	.bl_case_card_item p{
		font-size: var(--fontSize14);
	}
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	案内
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.ly_guide{
	padding-top: clamp(100px, calc(140 / var(--vw-base) * 100vw), 140px);/* 最小100px, 最大140px */
	padding-bottom: clamp(100px, calc(140 / var(--vw-base) * 100vw), 140px);/* 最小100px, 最大140px */
	background-color: #F9F9F9;
}
.ly_innerWide{
	max-width: calc(1460px + 40px);/* 設定したい基準幅 + 余白分 */
	width: 100%;
	padding-right: 20px;
	padding-left: 20px;
	margin-right: auto;
	margin-left: auto;
}
.bl_guideImgTextWrap{
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.16);
	background-color: #fff;
}
.bl_guideImgTextWrap:nth-of-type(2n){
		flex-direction: row-reverse;
}
.bl_guideImgTextWrap+.bl_guideImgTextWrap{
	margin-top: 100px;
}
.bl_guideImg{
	width: calc(100% - 760px);
	min-width: 400px;/* 最小幅400px */
	height: auto; /* ← 親と同じ高さに広げる */
	overflow: hidden; /* ← はみ出し防止 */
}
.bl_guideImg img {
	height: 467px;
}

.bl_guideTextArea{
	display: flex;
	flex-direction: column;
	max-width: 760px;
	width: 100%;
	/* width: calc(100% - 700px); */
}
.st_guideTextInner{
		padding: 30px 60px;
}
.st_guideTextInner h2{
	font-size: var(--fontSize28);
	font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
	line-height: 1.5;
	margin-bottom: 30px;
}
.st_guideTextInner h3{
	font-size: var(--fontSize24);
	position: relative;
	padding-left: 30px;
	margin-bottom: 30px;
}
.st_guideTextInner h3::before{
	content: '';
	display: block;
	width: 20px;
	height: 2px;
	background-color: var(--mainColor);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.st_guideTextInner p{
	margin-bottom: 30px;
}
@media screen and (max-width:1200px){
	.bl_guideImgTextWrap{
		flex-direction: column;
		align-items: center;
		/* width: fit-content; */
		margin: auto;
		max-width: 700px;
        width: 100%;
	}
	.bl_guideImgTextWrap:nth-of-type(2n){
		flex-direction: column;
	}
	.bl_guideImg{
		min-width: initial;
        max-width: 100%;
        width: initial;
	}
	.bl_guideImg img {
		height: 100%;
		height: initial;
	}
	.st_guideTextInner{
		padding: 30px 20px;
	}
}
@media screen and (max-width:576px){
	.st_guideTextInner h2{
		font-size: var(--fontSize20);
	}
	.st_guideTextInner h3{
		font-size: var(--fontSize18);
	}
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	新着情報
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ******************************************************************************************
	全体
****************************************************************************************** */
.ly_news{
	padding-top: clamp(100px, calc(140 / var(--vw-base) * 100vw), 140px);
	padding-bottom: clamp(50px, calc(70 / var(--vw-base) * 100vw), 70px);
	/* background-image: url(../img/top/bg-badge.png); */
	background-image:
    	linear-gradient(rgba(255,255,255,0.3), rgba(255,255,255,0.3)),
    	url(../img/top/bg-himawari.png);
	background-repeat: no-repeat;
	background-position: bottom left;
	background-size: 40% auto;
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	中身
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.bl_informationInner{
	padding: 30px 16px;
	background-color: #fff;
}
@media screen and (max-width:576px){
	.bl_informationInner{
		padding: 0;
	}
}
/* ======================================================================
	タブの選択によって出し分け
====================================================================== */
.bl_informationUnit[aria-hidden="true"]{
	display: none;
}
.bl_informationUnit[aria-hidden="false"]{
	display: block;
}
/* ******************************************************************************************
	個別
****************************************************************************************** */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	イベントPickupエリア
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.bl_eventPickupArea{
	display: flex;
	gap: 45px;
	align-items: center;
	margin-bottom: clamp(30px, calc(80 / var(--vw-base) * 100vw), 80px);
}
.bl_eventPickup_title{
	color: var(--mainColor);
	font-size: var(--fontSize22);
	font-weight: 900;
	white-space: nowrap;
	font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
}
.bl_eventPickup_wrap{
	border-top: 2px solid var(--mainColor);
	border-bottom: 2px solid var(--mainColor);
	width: 100%;
}
.bl_eventPickup_list+.bl_eventPickup_list{
	border-top: 1px dotted #6D6D6D;
}
.bl_eventPickup_link{
	padding: 20px 20px;
	display: block;
}
@media screen and (max-width:992px){
	.bl_eventPickupArea{
		flex-direction: column;
		gap: 10px;
	}
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	タブボタン
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ======================================================================
	グリッド・エリア定義
====================================================================== */
.bl_tabList{
    display: flex;
    gap: 0px 16px;
    padding: 0 16px;
    border-bottom: 1px solid #A8A8A8;
}
@media screen and (max-width:576px){
	.bl_tabList{
		padding: 0;
		gap: 0;
	}
}
/* ======================================================================
	タブボタンスタイル
====================================================================== */
.el_btn_tab{
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	bottom: -1px;
	padding: 10px 10px;
	width: 125px;
	height: 45px;
	border-top: 3px solid #A8A8A8;
	border-right: 1px solid #A8A8A8;
	border-left: 1px solid #A8A8A8;
	border-bottom: 1px solid #A8A8A8;
	background-color: #F6F6F6;
	font-weight: bold;
	text-align: center;
}
.el_btn_tab:hover, .el_btn_tab:focus{
	background-color: #fff;
}
.el_btn_tab[aria-selected="true"]{
	border-top: 3px solid var(--mainColor);
	border-bottom: none;
	background-color: #fff;
}
@media screen and (max-width:576px){
	.el_btn_tab{
		font-size: var(--fontSize12);
		padding: 10px 5px;
	}
	.el_btn_tab:nth-of-type(1){
		width: 20%;
	}
	.el_btn_tab:nth-of-type(2){
		width: 30%;
	}
	.el_btn_tab:nth-of-type(3){
		width: 25%;
	}
	.el_btn_tab:nth-of-type(4){
		width: 25%;
	}
	.el_btn_tab+.el_btn_tab {
		border-left-width: 0;
	}
}
/* ======================================================================
	日付、カテゴリ、タイトルリンク
====================================================================== */
/* ------------------------------------------------------------
	グリッド・エリア定義
------------------------------------------------------------ */
.grid_informationUnit_item{
	display: grid;
	grid-template-rows: 1fr;
	grid-template-columns: auto 115px 1fr;
	grid-template-areas: " area_informationUnit_item_date area_informationUnit_item_cat area_informationUnit_item_cont";
	gap: 20px;
	align-items: center;
}
@media screen and (max-width:768px){
	.grid_informationUnit_item{
		grid-template-rows: 1fr auto;
		grid-template-columns: auto 1fr;
		grid-template-areas: 
		"area_informationUnit_item_date area_informationUnit_item_cat"
		"area_informationUnit_item_cont area_informationUnit_item_cont";
		gap: 5px 0;
	}
}
.area_informationUnit_item_date{
	grid-area: area_informationUnit_item_date;
}
.area_informationUnit_item_cat{
	grid-area: area_informationUnit_item_cat;
}
.area_informationUnit_item_cont{
	grid-area: area_informationUnit_item_cont;
}
/* ------------------------------------------------------------
	全体
------------------------------------------------------------ */
.bl_informationUnit_item{
	padding: 20px 16px;
}
.bl_informationUnit_item + .bl_informationUnit_item{
	border-top: 1px dotted #6D6D6D;
}
@media screen and (max-width:768px){
	.bl_informationUnit_item{
		padding: 20px 0 20px 0;
	}
}
/* ------------------------------------------------------------
	日付
------------------------------------------------------------ */
.bl_informationUnit_item_date{
	display: flex;
	align-items: center;
	width: 130px;
	/* padding: 1rem 0; */
	white-space: nowrap;
}
@media screen and (max-width:576px){
	.bl_informationUnit_item_date{
		width: 100%;
		max-width: 140px;
		margin-right: 10px;
	}
}
/* ------------------------------------------------------------
	カテゴリ
------------------------------------------------------------ */
.bl_informationUnit_item_cat{
	display: inline-block;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.el_cat{
    max-width: 110px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2px 5px;
	background-color: var(--accentColor);
    font-weight: 500;
    font-size: var(--fontSize13);
    text-decoration: none;
}
@media screen and (max-width:576px){
	.el_cat{
		max-width: 100px;
		font-size: var(--fontSize12);
		line-height: 1.5;
	}
}
/* ------------------------------------------------------------
	タイトルリンク
------------------------------------------------------------ */
.bl_informationUnit_item_cont > a{
	display: inline-block;
}
.bl_eventStatus{
	/* 終了フラグが付与された場合 */
	color: #919191;
}
@media screen and (max-width:768px){
	.bl_informationUnit_item_cont > a{
		padding: 0;
	}
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	情報発信
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.ly_info{
	padding-top: clamp(70px, calc(100 / var(--vw-base) * 100vw), 100px);
	padding-bottom: clamp(70px, calc(100 / var(--vw-base) * 100vw), 100px);
	background-size: auto auto;
	background-color: rgba(255, 255, 255, 1);
	background-image: repeating-linear-gradient(135deg, transparent, transparent 5px, rgba(244, 247, 251, 1) 5px, rgba(244, 247, 251, 1) 10px );
}
.grid_InfoCard{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 300px));
    gap: 50px;
}
.bl_InfoCard_link{
	box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.16);
	transition: all .2s ease;
}
.bl_InfoCard_link:hover,.bl_InfoCard_link:focus{
	opacity: 1;
	transform: translateX(1px);
	box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.16);
}
@media screen and (max-width:576px){
	.grid_InfoCard {
		grid-template-columns: max-content;/* 子要素の最小幅に合わせる */
		justify-content: center;
		gap: 30px;
	}
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	弁護士を探す
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.ly_Lawyers{
	padding-top: clamp(70px, calc(100 / var(--vw-base) * 100vw), 100px);
	padding-bottom: clamp(70px, calc(100 / var(--vw-base) * 100vw), 100px);
	background-image:
	linear-gradient(rgba(255,255,255,0.9), rgba(255,255,255,0.8)),
	url(../img/top/bg-tembin.png);
	background-repeat: no-repeat;
	background-position: bottom 0px right 0;
	background-size: 40% auto;
	position: relative;
}
.bl_LawyersText{
	text-align: center;
	margin-bottom: clamp(30px, calc(40 / var(--vw-base) * 100vw), 40px);/* 最小30px, 最大40px */
}
.grid_LawyersCard{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 300px));
    gap: 20px;
	margin-bottom: clamp(30px, calc(40 / var(--vw-base) * 100vw), 40px);/* 最小30px, 最大40px */
	justify-content: center;
}
.bl_LawyersCard_link{
	text-decoration: none;
	border: 1px solid var(--mainColor);
	padding: 14px 15px 14px 55px;
	background-color: #fff;
	position: relative;
	font-size: var(--fontSize18);
	font-weight: 500;
	box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.16);
	transition: all .2s ease;
}
.bl_LawyersCard_link:hover,.bl_LawyersCard_link:focus{
	opacity: 1;
    transform: translateX(1px);
    box-shadow: none;
}
.bl_LawyersCard_link::before{
	content: '';
	display: block;
	width: 32px;
	height: 32px;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translateY(-50%);
}
.bl_LawyersCard_link.bl_LawyersCard_link__iconMan::before{
	background-image: url(../img/top/icon-man.png);
}
.bl_LawyersCard_link.bl_LawyersCard_link__iconNote::before{
	background-image: url(../img/top/icon-note.png);
}
.bl_LawyersCard_link.bl_LawyersCard_link__iconPin::before{
	background-image: url(../img/top/icon-pin.png);
}
.bl_LawyersCard_link.bl_LawyersCard_link__iconSearch::before{
	background-image: url(../img/top/icon-search.png);
	width: 25px;
	height: 25px;
}
.bl_LawyersCard_link.bl_LawyersCard_link__iconSearch{
	padding-left: 52px;
}
.bl_LawyersNoteArea{
	padding: 40px;
	background-color: #F2F8FF;
	margin-top: clamp(30px, calc(40 / var(--vw-base) * 100vw), 40px);/* 最小30px, 最大40px */
}
.bl_LawyersNote_title{
	font-size: var(--fontSize20);
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
}
.bl_LawyersNote_title::before{
	content: '';
    display: block;
    width: 15px;
    height: 2px;
    background-color: var(--mainColor);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
@media screen and (max-width:992px){
	.ly_Lawyers {
		background-position: top 20px right -70px;
		background-size: 60% auto;
	}
	.grid_LawyersCard{
		grid-template-columns: repeat(2, minmax(0, 300px));
	    gap: 10px;
	}
	.bl_LawyersCard_link{
		font-size: var(--fontSize14);
		padding: 55px 10px 10px;
		text-align: center;
	}
	.bl_LawyersCard_link.bl_LawyersCard_link__iconSearch {
		padding-left: 10px;
	}
	.bl_LawyersCard_link::before {
		position: absolute;
		top: 18px;
		left: 50%;
		transform: translateX(-50%);
	}
	.bl_LawyersCard_link.bl_LawyersCard_link__iconSearch::before {
		width: 30px;
		height: 30px;
		top: 20px;
	}
	.bl_LawyersNoteArea{
		padding: 30px 20px;
	}
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	リンク
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.ly_link{
	padding-top: clamp(70px, calc(100 / var(--vw-base) * 100vw), 100px);
	padding-bottom: clamp(70px, calc(100 / var(--vw-base) * 100vw), 100px);
	background-color: #F9F9F9;
}
.ly_inner.ly_inner__880{
	max-width: calc(880px + 40px);
}
.grid_Link{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 211px));
	gap: 12px 12px;
}
@media screen and (max-width:768px){
	.grid_Link {
		grid-template-columns: repeat(2, minmax(0, 211px));
		justify-content: center;
	}
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	お問い合わせ
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ******************************************************************************************
	全体
****************************************************************************************** */
.ly_contact{
	padding-top: clamp(70px, calc(100 / var(--vw-base) * 100vw), 100px);
	padding-bottom: clamp(70px, calc(100 / var(--vw-base) * 100vw), 100px);
	background-image: linear-gradient(rgba(0, 71, 170, 0.5), rgba(0, 71, 170, 0.5)), url(../img/top/bg-contact.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top 100% left 50%;
}
@media screen and (max-width:992px){
	.ly_contact{
		background-image: linear-gradient(rgba(0, 71, 170, 0.5), rgba(0, 71, 170, 0.5)), url(../img/top/pixta_50782141_M.jpg);
		background-position: top 100% right 75%;
	}
}
/* ******************************************************************************************
	個別
****************************************************************************************** */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	タイトル
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.st_contact .el_englishJapaneseTitle_japanese br{
	display: none;
}
@media screen and (max-width:576px) {
	.st_contact .el_englishJapaneseTitle_english{
		margin-bottom: 5px;
	}
	.st_contact .el_englishJapaneseTitle_japanese {
		line-height: 1.5;
	}
	.st_contact .el_englishJapaneseTitle_japanese br {
		display: block;
	}
	.st_contact .un_dotNone{
		display: none;
	}
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	導入文
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.bl_contact_text{
	color: #fff;
	text-align: center;
	padding-bottom: clamp(30px, calc(40 / var(--vw-base) * 100vw), 40px);
}
.bl_contact_text br{
	display: none;
}
@media screen and (max-width:576px){
	.bl_contact_text br {
		display: block;
	}
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	電話番号・予約ボタン
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.bl_contact_infoArea{
	padding: 50px clamp(30px, calc(100 / var(--vw-base) * 100vw), 100px);
	background-color: #fff;
	display: flex;
	gap: 140px;
}
@media screen and (max-width:992px){
	.bl_contact_infoArea {
		flex-direction: column;
		gap: 60px;
	}
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	電話番号エリア
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.bl_contact_infoArea_tel{
	width: 50%;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.bl_contact_infoArea_tel::after{
	content: '';
	display: block;
	width: 2px;
	height: 50px;
	position: absolute;
	top: 50%;
	right: -71px;
	transform: translateY(-50%);
	background-color: var(--mainColor);
}
.bl_contact_infoArea_tel a{
	font-size: var(--fontSize38);
	font-weight: 700;
	display: block;
	line-height: 1;
	position: relative;
	padding-left: 37px;
	margin-bottom: 12px;
}
.bl_contact_infoArea_tel a::before{
	content: '';
	display: block;
	width: 32px;
	aspect-ratio: 1/1;
	background-image: url(../img/common/icon-tel1.png);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: calc(50% + 3px);
	left: 0;
	transform: translateY(-50%);
}
.bl_contact_infoArea_tel span{
	font-size: var(--fontSize18);
	color: #686868;
	font-weight: 700;
	line-height: 1;
	padding-left: 37px;
}
@media screen and (max-width:992px){
	.bl_contact_infoArea_tel{
		max-width: 275px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.bl_contact_infoArea_tel::after {
		width: 50px;
		height: 2px;
		top: initial;
		bottom: -30px;
		left: 50%;
		transform: translateX(-50%);
	}
	.bl_contact_infoArea_tel a {
		font-size: var(--fontSize32);
	}
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	予約ボタンエリア
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.bl_contact_infoArea_formBtn{
	width: 50%;
}
.bl_contact_infoArea_formBtn a{
	padding: 10px 60px 10px 60px;
	padding-left: calc(0px + 45px + 35px + 15px);
	position: relative;
	background-color: var(--mainColor);
	color: #fff;
	text-decoration: none;
	box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.4);
	font-size: var(--fontSize30);
	font-weight: 400;
	transition: all .2s ease;
	width: 100%;
	height: 100%;
}
.bl_contact_infoArea_formBtn a::before{
	content: '';
	display: block;
	width: 35px;
	aspect-ratio: 1/1;
	background-image: url(../img/common/icon-calendar-40.png);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: calc(0px + 45px);
	transform: translateY(-50%);
}
.bl_contact_infoArea_formBtn a::after{
	content: '';
	display: block;
	width: 40px;
	height: 6px;
	border-right: 2px solid #fff;
	border-bottom: 1px solid #fff;
	position: absolute;
	top: calc(50% - 3px);
	right: 20px;
	transform: skew(45deg);
	transition: all .2s ease;
}
.bl_contact_infoArea_formBtn a:hover,.bl_contact_infoArea_formBtn a:focus{
		opacity: 1;
		transform: translateX(1px);
		box-shadow: none;
}
@media screen and (max-width:992px) {
	.bl_contact_infoArea_formBtn {
		max-width: 300px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.bl_contact_infoArea_formBtn a{
		font-size: var(--fontSize25);
		padding-left: calc(0px + 45px + 25px + 10px);
	}
	.bl_contact_infoArea_formBtn a::before{
		width: 25px;
	}
	.bl_contact_infoArea_formBtn a::after {
		width: 30px;
	}
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	フッター
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ******************************************************************************************
	全体
****************************************************************************************** */
.ly_footer{
	padding-top: clamp(30px, calc(100 / var(--vw-base) * 100vw), 70px);
	padding-bottom: clamp(10px, calc(100 / var(--vw-base) * 100vw), 30px);
	background-color: #F9F9F9;
}
.bl_footerWrap{
	display: flex;
	justify-content: space-between;
	/* gap: 210px; */
}
@media screen and (max-width:992px){
	.bl_footerWrap {
		display: flex;
		justify-content: space-between;
		flex-direction: column;
	}
	.ly_footer{
		padding-bottom: 10px;
	}
}
/* ******************************************************************************************
	個別
****************************************************************************************** */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	会社情報
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.bl_companyName{
	font-size: var(--fontSize24);
	font-weight: 600;
	letter-spacing: initial;
	line-height: 1;
	margin-bottom: 15px;
}
.bl_companyInfoArea{
	width: 340px;
	display: flex;/* コピーライト最下部配置の為 */
	flex-direction: column;
}
.bl_companyInfo_text:nth-last-of-type(1){
	margin-bottom: 30px;
}
.bl_companyInfo_list_item{
	padding-left: 22px;
	position: relative;
}
.bl_companyInfo_list_item::before{
	content: '';
	display: block;
	width: 12px;
	height: 2px;
	position: absolute;
	top: 18px;
	left: 0;
	background-color: var(--mainColor);
}
.bl_companyInfo_list_item a{
	font-size: var(--fontSize14);
}
.bl_copyright {
	font-size: var(--fontSize12);
	text-align: center;
	margin-top: auto;/* 最下部配置のため */
}
@media screen and (max-width:992px){
	.bl_companyInfoArea {
		width: 100%;
		display: initial;
		margin-bottom: 30px;
	}
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	googlemap
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.bl_footerGoogleMapArea{
	border: 1px solid var(--mainColor);
	border-bottom-width: 2px;/* 下線見切れ防止 */
	width: calc(100% - 340px - 60px);/* 100% - 会社情報の幅 - gap分 */
	max-width: 600px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.bl_footerGoogleMapArea iframe {
	width: 100%;
	/* height: 100%; */
	aspect-ratio: 4/3;
}
@media screen and (max-width:992px){
	.bl_footerGoogleMapArea {
		max-width: initial;
		margin-bottom: 30px;
	}
	.bl_footerGoogleMapArea iframe {
		width: 100%;
		/* height: 100%; */
		aspect-ratio: 16/9;
	}
}
/* ******************************************************************************************
	スマホ > 電話、予約フォーム追従ボタン
****************************************************************************************** */
.ly_footerFixedBtnArea{
	display: none;
}
@media screen and (max-width:576px){
	.ly_footerFixedBtnArea{
		display: block;
		position: fixed;
		bottom: 0;
		width: 100%;
		background-color: #fff;
	}
	.bl_footerFixedBtn_title{
		background-color: var(--accentColor);
		text-align: center;
		padding: 5px 10px;
	}
	.bl_footerFixedBtn_wrap{
		display: flex;
		gap: 0 0;
	}
	.bl_footerFixedBtn_btn{
		text-align: center;
		width: 50%;
		font-weight: 500;
		padding: 5px 10px 5px 10px;
		font-size: var(--fontSize16);
		text-decoration: none;
	}
	.bl_footerFixedBtn_btn.bl_footerFixedBtn_btn__tel{
		border: 2px solid var(--mainColor);
		background-color: #fff;
	}
	.bl_footerFixedBtn_btn.bl_footerFixedBtn_btn__tel span{
		padding-left: calc(20px + 3px);/* アイコン幅 + 余白 */
	}
	.bl_footerFixedBtn_btn.bl_footerFixedBtn_btn__yoyaku{
		background-color: var(--mainColor);
		color: #fff;
	}
	.bl_footerFixedBtn_btn.bl_footerFixedBtn_btn__yoyaku span{
		padding-left: calc(20px + 10px);/* アイコン幅 + 余白 */
	}
	.bl_footerFixedBtn_btn span{
		display: inline-block;
		position: relative;
	}
	.bl_footerFixedBtn_btn span::before{
		content: '';
		display: block;
		width: 20px;
		aspect-ratio: 1/1;
		background-repeat: no-repeat;
		background-size: contain;
		position: absolute;
	}
	.bl_footerFixedBtn_btn.bl_footerFixedBtn_btn__tel span::before{
		background-image: url(../img/common/icon-tel1.png);
		top: 8px;
		left: 0;
	}
	.bl_footerFixedBtn_btn.bl_footerFixedBtn_btn__yoyaku span::before{
		background-image: url(../img/common/icon-calendar-40.png);
		top: 7px;
		left: 0;
	}
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	弁護士会 会員名簿
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ******************************************************************************************
	検索ページ
****************************************************************************************** */
.page-id-4129 .st_editor a{
	display: inline-block!important;
	position: relative;
	font-size: 1.1rem;
	padding: 0.5rem 0;
	padding-left: calc(16px + 5px);/* アイコン分 + 余白 */
}
.page-id-4129 .st_editor a::before{
	content: '\f138';
	font-family: "Font Awesome 5 Free";
	font-size: 16px;
	padding-right: 0.5rem;
	color: var(--mainColor);
	font-weight: bold;
	position: absolute;
	left: 0;
	top: calc(50% + 2px);
	transform: translateY(-50%);
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	地域別一覧
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.bl_taxonomyList{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	検索部分
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.grid_search{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	grid-template-areas:
	"area_keyWord area_keyWord"
	"area_area area_sex";
	gap: 0px;
}
.area_keyWord{
	grid-area: area_keyWord;
	border: 1px solid #999;
	border-bottom-width: 0;
}
.area_area{
	grid-area: area_area;
	border: 1px solid #999;
	border-right-width: 0;
}
.area_sex{
	grid-area: area_sex;
	border: 1px solid #999;
}
/* タイトル */
.bl_searchTitle{
	width: 130px;
	/* height: 50px; */
	background-color: #F2F2F2;
	display: inline-block;
	text-align: center;
	padding: 10px 10px;
	border-right: 1px solid #999;
	font-weight: 500;
}
/* フリーワード検索 */
.grid_search .feas_archive_freeword{
	border: 1px solid rgba(0,0,0,0.2);
	width: calc(100% - 130px - 40px - 10px);
	margin: 0 20px 3px 20px;
	display: inline-block;
	padding: 0 5px;
}
/* 地域・性別検索 */
.grid_search .feas_term_dropdown{
	border: 1px solid rgba(0, 0, 0, 0.2);
	padding: 2px 5px;
	margin-left: 20px;
}
/* 検索ボタン */
.el_btn_base.el_btn_base__submit{
	max-width: 182px;
	width: 100%;
	padding: 0;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
}
.st_lawyerSearchBtn .feas-submit-button{
	width: 100%;
	padding: 7px 60px 7px 30px;
	color: #fff;
}
@media screen and (max-width:768px){
	.bl_searchTitle {
		width: 100%;
		padding: 10px 10px;
		border-right: 0;
		border-bottom: 1px solid #999;
		font-weight: 500;
	}
	.grid_search .feas_archive_freeword {
		max-width: 300px;
		width: 100%;
		margin: 10px auto 10px;
		display: block;
		padding: 0 5px;
	}
	.grid_search .feas_term_dropdown{
		display: block;
		margin: 10px auto;
	}
}
/* ******************************************************************************************
	検索一覧
****************************************************************************************** */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	レイアウト
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.grid_lawyerList{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 50px 40px;
}
.grid_lawyerList_item{
	display: flex;
	flex-direction: column;
	padding-bottom: 30px;
	border-bottom: 2px dotted #ccc;
}
.grid_lawyerList_item > *:last-child{
	margin-top: auto;
}
@media screen and (max-width:768px){
	.grid_lawyerList{
		grid-template-columns: 1fr;
		gap: 50px 40px;
		max-width: 320px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	中身
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ふりがな */
.bl_lawyerList_kana{
	font-size: var(--fontSize14);
	font-weight: 500;
	letter-spacing: 1px;
}
/* 事務所名 */
.bl_lawyerList_office{
	padding: 0 8px;
	background-color: var(--accentColor);
	font-size: var(--fontSize14);
	font-weight: 500;
	align-self: flex-start;/* 横いっぱいに広がるのを防止（親がflexのため） */
	margin-bottom: 20px;
}
/* 住所 */
.bl_lawyerList_address{
	line-height: 1.5;
	margin-bottom: 20px;
}
/* 電話 */
.bl_lawyerList_tel{
	margin-bottom: 20px;
}
/* ボタン */
.el_btn_base.el_btn_base__lawyerBtn{
	padding: 3px 35px 3px 20px;
	font-size: var(--fontSize16);
	max-width: 160px;
	width: 100%;
	margin-left: auto;
	display: block;
}
/* ******************************************************************************************
	弁護士詳細ページ
****************************************************************************************** */
.st_lawyerContent a{
	color: #003399;/* 未訪問リンク */
	text-decoration: underline;
	position: relative;/* pdf等アイコンの基準設定 */
}
.st_lawyerContent a:visited {
    color: #800080; /* 訪問済みリンク */
}
.st_lawyerContent a:hover {
    color: #0000CC; /* ホバー */
}
.st_lawyerContent a:active {
    color: #FF0000; /* クリック中 */
}
.st_lawyerContent td,.st_lawyerContent th{
	padding: 1em;
	border: 1px solid #999;
}
.st_lawyerContent thead{
	border-bottom: 1px solid var(--black);
}
.st_lawyerContent tfoot{
	border-top: 1px solid var(--black);
}
.st_lawyerContent tfoot td{
	background-color: #efefef;
}
.st_lawyerContent{
	background-color: #fff;
}
.st_lawyerContent table{
	width: 100%;
	margin-bottom: var(--cmsSpace_medium);/* editor.css定義 */
}
.st_lawyerContent th{
	vertical-align: middle;
	padding: 15px;
	background-color: var(--accentColor);
	font-weight: bold;
	text-align: center;
	width: 30%;
}
.st_lawyerContent td{
	vertical-align: middle;
	padding: 15px;
	width: 70%;
}
@media screen and (max-width: 768px){
	.st_lawyerContent th{
		width: 100%;
		display: block;
	}
	.st_lawyerContent td{
		width: 100%;
		display: block;
	}
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	カスタム投稿タイプ詳細ページ
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ******************************************************************************************
	日付、カテゴリ
****************************************************************************************** */
.bl_newsInfoMeta{
	display: flex;
	justify-content: flex-end;
	gap: 20px;
	margin-bottom: 30px;
}
.bl_newsInfoCat{
	background-color: var(--accentColor);
	padding: 0 5px;
	display: flex;
	justify-content: center;
	align-items: center;
}
/* ******************************************************************************************
	投稿タイプイベント > 終了フラグ
****************************************************************************************** */
.bl_eventStatusText{
	padding: 10px;
	border: 2px solid var(--mainColor);
	text-align: center;
	font-weight: bold;
}
/* ******************************************************************************************
	投稿タイプ会長声明・決議・意見書 > 署名欄
****************************************************************************************** */
.bl_presidentSignature{
	margin-top: var(--cmsSpace_medium);
	text-align: right;
}
.bl_presidentSignature p{
	margin-bottom: 0!important;
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	CMS出力画面 > サイドバー
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ******************************************************************************************
	レイアウト
****************************************************************************************** */
.bl_contentWrap{
	display: flex;
	gap: 50px;
}
.bl_mainContent:has(+ .bl_sidebar){
	width: 70%;
}
.bl_sidebar{
	width: 30%;
}
.bl_sidebar > div:last-child{
	margin-bottom: 0;
}
@media screen and (max-width:768px){
	.bl_contentWrap{
		display: flex;
		flex-direction: column;
	}
	.bl_mainContent:has(+ .bl_sidebar){
		width: 100%;
	}
	.bl_sidebar{
		width: 100%;
	}
}
/* ******************************************************************************************
	子ページリストエリア
****************************************************************************************** */
.bl_sidebarChildLinkArea{
	background-color: #F8F8F8;
	padding: 30px 15px;
	margin-bottom: 40px;
}
/* 見出し */
.bl_sidebarChildLink_title{
	position: relative;
	padding: 10px 5px 10px 40px;
	font-size: var(--fontSize18);
	border-bottom: 2px solid var(--mainColor);
	font-weight: 500;
	margin-bottom: 25px;
}
.bl_sidebarChildLink_title::before,.bl_sidebarChildLink_title::after{
		content: "";
		position: absolute;
}
.bl_sidebarChildLink_title::before{
	top: 15px;
	left: 5px;
	width: 22px;
	height: 22px;
	background-color: rgba(0,71,170,0.5);
}
.bl_sidebarChildLink_title::after{
	top: 26px;
	left: 16px;
	width: 16px;
	height: 16px;
	background-color: rgba(0, 71, 170, 0.3);
}
/* 選択中ページ */
.bl_sidebarChildLink_childPage_item.is-current > a,
.bl_sidebarChildLink_grandchildPage_item.is-current > a{
	background-color: var(--accentColor);
}
/* 親リスト */
.bl_sidebarChildLink_childPage_item {
	margin-bottom: 10px;
}
.bl_sidebarChildLink_childPage > .bl_sidebarChildLink_childPage_item > a{
	padding: 0 0 0 10px;
	line-height: 1.5;
	border-left: 2px solid var(--mainColor);
	font-size: var(--fontSize14);
	font-weight: 500;
}

.bl_sidebarChildLink_grandchildPage_item > a{
	padding-left: 17px;
	line-height: 1.5;
	font-size: var(--fontSize13);
	font-weight: 500;
	position: relative;
}
.bl_sidebarChildLink_grandchildPage_item>a::before{
	content: '';
	display: block;
	width: 10px;
	height: 1px;
	position: absolute;
	top: 11px;
	left: 0;
	background-color: var(--mainColor);
}
/* 年別アーカイブ */
.st_archiveListLink .bl_sidebarChildLink_childPage{
	display: flex;
	flex-wrap: wrap;
}
.st_archiveListLink .bl_sidebarChildLink_childPage_item{
	width: 50%;
}
.bl_sidebarChildLink_subTitle{
	margin-top: 30px;
	font-weight: 700;
}
.bl_sidebarChildLink_subTitle:first-of-type{
	margin-top: 0;
}
/* カテゴリ別 */
.bl_sidebarChildLink_subTitleSmall{
	padding-left: 22px;
    line-height: 1.5;
    /* font-size: var(--fontSize13); */
    font-weight: 500;
    position: relative;
	/* margin-top: 10px; */
}
.bl_sidebarChildLink_subTitleSmall::before{
	content: '';
    display: block;
    width: 15px;
    height: 2px;
    position: absolute;
    top: 12px;
    left: 0;
    background-color: var(--mainColor);
}
/* ******************************************************************************************
	バナーリストエリア
****************************************************************************************** */
.bl_sidebarBannerList{
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.bl_sidebarBannerList_Link{
	position: relative;
	width: 100%;
	min-height: 80px;
	border: 1px solid var(--mainColor);
	padding-left: calc(80px + 14px);/* アイコン領域確保分 + 余白 */
	text-decoration: none;
	display: flex;
	align-items: center;
	font-weight: 500;
	box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
	transition: all .2s ease;
}
.bl_sidebarBannerList_Link:hover,.bl_sidebarBannerList_Link:focus{
	transform: translateX(1px);
	opacity: 1;
}
.bl_sidebarBannerList_Link::before{
	content: '';
	display: block;
	width: 1px;
	height: 35px;
	background-color: var(--mainColor);
	position: absolute;
	top: 50%;
	left: 80px;
	transform: translateY(-50%);
}
.bl_sidebarBannerList_Link span{
	font-size: var(--fontSize12);
	/* display: block; */
}
.bl_sidebarBannerList_Link p{
	line-height: 1.3;
}
/* アイコン */
.bl_sidebarBannerList_Link::after{
	content: '';
	display: block;
	width: 80px;
	aspect-ratio: 1/1;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.bl_sidebarBannerList_Link.bl_sidebarBannerList_item__iconLawyer::after{
	background-image: url(../img/common/icon-lawyer.png);
}
.bl_sidebarBannerList_Link.bl_sidebarBannerList_item__iconFlag::after{
	background-image: url(../img/common/icon-flag.png);
}
.bl_sidebarBannerList_Link.bl_sidebarBannerList_item__iconMegaphonel::after{
	background-image: url(../img/common/icon-megaphonel.png);
}
.bl_sidebarBannerList_Link.bl_sidebarBannerList_item__iconMoney::after{
	background-image: url(../img/common/icon-money.png);
}
.bl_sidebarBannerList_Link.bl_sidebarBannerList_item__iconMic::after{
	background-image: url(../img/common/icon-mic.png);
}
.bl_sidebarBannerList_Link.bl_sidebarBannerList_item__iconX::after{
	background-image: url(../img/common/icon-x.png);
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	会員専用サイト
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ******************************************************************************************
	ヘッダー
****************************************************************************************** */
.bl_memberHeader{
	border-top: 5px solid var(--mainColorRed);
	border-bottom: 5px solid var(--mainColorRed);
}
.ly_memberHeaderInner{
	max-width: 1220px;
    width: 100%;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
    padding-right: 10px;
    margin-left: auto;
    margin-right: auto;
}
.bl_memberHeaderWrap{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
/* タイトル */
.bl_memberTitleArea{
	text-decoration: none;
	padding: 10px 10px 10px 80px;
	background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)), url(../img/top/bg-tembin.png);
    background-repeat: no-repeat;
    background-position: bottom 0px left 0px;
    background-size: contain;
}
.bl_memberTitle_main{
	display: block;
	font-size: var(--fontSize25);
	font-weight: bold;
	margin-bottom: 5px;
	line-height: 1;
}
.bl_memberTitle_sub{
	display: block;
	font-size: var(--fontSize14);
	letter-spacing: 1px;
	line-height: 1;
}
@media screen and (max-width:768px){
	.bl_memberHeaderWrap{
		flex-direction: column;
		gap: 20px;
	}
	.bl_memberTitle_main{
		font-size: var(--fontSize20);
	}
	.bl_memberTitle_sub{
		font-size: var(--fontSize11);
	}
}
@media screen and (max-width:576px){
	.bl_memberTitle_main{
		font-size: var(--fontSize20);
		text-align: center;
	}
	.bl_memberTitle_sub{
		font-size: var(--fontSize11);
		text-align: center;
	}
	.bl_memberTitleArea{
		background-image: none;
		background-repeat: initial;
		background-position: initial;
		background-size: initial;
		padding-left: 0;
	}
	.bl_memberHeader{
		background-image: linear-gradient(rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)), url(../img/top/bg-tembin.png);
		background-repeat: no-repeat;
		background-position: bottom 0px left 0px;
		background-size: contain;
	}
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	検索フォーム
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.bl_memberInfoSearchWrap{
	display: flex;
	flex-direction: column;
}
.bl_memberFormArea form{
	display: flex;
}
.bl_memberFormArea form input{
	padding: 0 5px;
	background-color: #fff;
	border-bottom-width: 0;
}
.bl_memberFormArea form input[type="submit"]{
	padding: 0 20px;
	background-color: var(--mainColorRed);
	color: #fff;
}
@media screen and (max-width:576px){
	.bl_memberFormArea form{
		justify-content: center;
	}
}
/* ******************************************************************************************
	フッター
****************************************************************************************** */
.bl_memberFooterArea{
	padding: 5px;
	background-color: var(--mainColorRed);
}
.bl_memberFooterArea .bl_copyright{
	color: #fff;
}
/* ******************************************************************************************
	別枠表示
****************************************************************************************** */
.ly_otherBox{
	margin: 50px 0;
}
.ly_otherBox h2{
	padding-left: calc(15px + 8px + 10px);/* アイコン幅 + アイコン移動距離 + 余白 */
	position: relative;
	font-size: var(--fontSize18);
	font-weight: bold;
	margin-top: 10px;
}
.ly_otherBox h2::before{
	content: '';
	display: block;
	width: 15px;
	height: 15px;
	background-color: var(--mainColorRed);
	border-radius: 100px;
	position: absolute;
	top: 12px;
	left: 8px;
}
.bl_otherBoxInner{
	border-top: 2px solid var(--mainColorRed);
	border-bottom: 2px solid var(--mainColorRed);
	border-left: none;
	border-right: none;
}
.bl_otherBoxInner > .bl_newsTitleOnly{
	padding: 20px;
}
/* ******************************************************************************************
	各色赤に変更
****************************************************************************************** */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	見出し
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ======================================================================
	H1
====================================================================== */
.st_memberStyle .st_editor h1{
	background-color: var(--mainColorRed);
}
/* ======================================================================
	H2
====================================================================== */
.st_memberStyle .st_editor h2{
	border-bottom: 3px solid #E2E2E2;
}
.st_memberStyle .st_editor h2::before{
	border-bottom: 3px solid var(--mainColorRed);
}
/* ======================================================================
	H3
====================================================================== */
.st_memberStyle .st_editor h3{
	border-bottom: 3px solid #E2E2E2;
}
/* ======================================================================
	H4
====================================================================== */
.st_memberStyle .st_editor h4{
	border-left: 3px solid var(--mainColorRed);
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	リスト
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.st_memberStyle .st_editor ul > li::marker{
	color: var(--mainColorRed);
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	リンク
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.st_memberStyle .st_editor .only-link::before{
	color: var(--mainColorRed);
}

.st_memberStyle .st_editor a[href$=".pdf"]:before{
	color: #ff2116;
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	カテゴリ付きで表示される年別アーカイブ一覧ページと詳細ページのカテゴリ部分の色
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* 年別アーカイブ一覧 */
.st_memberStyle .el_cat{
	background-color: var(--accentColorRed);
	padding: 2px 0 2px 2px;
	letter-spacing: 0;
}
/* 詳細ページ */
.st_memberStyle .bl_newsInfoCat{
	background-color: var(--accentColorRed);
	padding: 0;
}
/* 詳細ページのカテゴリスタイル修正 */
.st_memberStyle .st_editor ul{
	margin-bottom: 0;
	/* padding: 0; */
}
.st_memberStyle .st_editor .member-cat-tree > ul{
	padding: 0 20px 0 30px;
}
.st_memberStyle .st_editor .member-cat-tree > ul li ul{
	padding: 0;
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	サイドバー
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* 見出し */
.st_memberStyle .bl_sidebarChildLink_title{
	border-bottom: 2px solid var(--mainColorRed);
}
.st_memberStyle .bl_sidebarChildLink_title::before{
    background-color: rgb(144 8 9 / 50%);
}
.st_memberStyle .bl_sidebarChildLink_title::after{
	background-color: rgb(144 8 9 / 30%);
}
/* 子ページリンク */
.st_memberStyle .bl_sidebarChildLink_childPage > .bl_sidebarChildLink_childPage_item > a{
	border-left: 2px solid var(--mainColorRed);
}
.st_memberStyle .bl_sidebarChildLink_grandchildPage_item>a::before{
	background-color: var(--mainColorRed);
}
/* 該当ページだったら */
.st_memberStyle .bl_sidebarChildLink_childPage_item.is-current > a,
.st_memberStyle .bl_sidebarChildLink_grandchildPage_item.is-current > a{
	background-color: var(--accentColorRed);
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	ページ内子ページ出力部分
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.st_memberStyle .grid_shortCodeChildPagesList a::before{
    background-color: var(--mainColorRed);
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	ヘルパー
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.el_memberImportant{
	padding: 15px;
	background-color: var(--accentColorRed);
}
/* 重要にチェックが入っていた場合の行頭【重要】のスタイル */
.el_importantIcon{
	font-weight: bold;
	color: #cf2e2e;
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	各見出し
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.st_memberStyle .el_mainTitleH1{
	background-color: var(--mainColorRed);
}
/* ******************************************************************************************
	お知らせ
****************************************************************************************** */
.el_memberImportant+.ly_memberNews{
	margin-top: 30px;
}
.bl_memberInformationInner{
	padding: 30px;
	border: 2px solid var(--mainColorRed);
}
.bl_memberInformationTitle{
	background-color: var(--mainColorRed);
	color: #fff;
	padding: 10px 30px;
	font-size: var(--fontSize20);
	font-weight: bold;
	letter-spacing: 1px;/* トップの見出し[相談割当表で、自分の担当割当を1ページで全て確認する方法]のカラム落ち防止  */
}
/* ボタン */
.bl_memberMoreBtn{
	padding: 5px 40px 5px 20px;
    position: relative;
    background-color: var(--mainColorRed);
    color: #fff;
    text-decoration: none;
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.4);
    font-weight: 500;
    transition: all .2s ease;
}
.bl_memberMoreBtn::before{
	content: '';
    display: block;
    width: 20px;
    height: 5px;
    border-right: 2px solid #fff;
    border-bottom: 1px solid #fff;
    position: absolute;
    top: calc(50% - 3px);
    right: 15px;
    transform: skew(45deg);
    transition: all .2s ease;
}
/* ******************************************************************************************
	ページ > 各種担当・名簿、すべての割当表
****************************************************************************************** */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	表内検索
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.st_editor .bl_tantoSearchArea{
	display: flex;
	margin-bottom: 10px;
}
@media screen and (max-width:576px){
	.st_editor .bl_tantoSearchArea{
		flex-direction: column;
	}	
}
.st_editor .bl_tantoSearchArea .bl_tantoSearchTitle{/* クラスレベルを上げるため.bl_tantoSearchAreaも付与 */
	margin-bottom: 0;
}
.bl_tantoSearchTitle{
	padding-left: calc(30px + 5px);
	position: relative;
	margin-right: 10px;
}
.bl_tantoSearchTitle::before{
	content: '\f002';
    font-family: "Font Awesome 5 Free";
    font-size: 16px;
    /* padding-right: 0.5rem; */
	width: 30px;
	height: 30px;
    color: #fff;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0;
	color: var(--mainColor);
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 100px;
}
.bl_tantoSearchArea input{
	padding: 0 10px;
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	表スタイル
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.st_tanto_tableArea{
	/* スクロール */
	overflow-x: auto;
}
.st_tanto_tableArea table tr:first-of-type td{
	background-color: var(--accentColorRed);
	font-weight: bold;
	text-align: center;
}
.st_editor .st_tanto_tableArea table td{
	padding: 0 10px;
	white-space: nowrap;
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	一覧系 > インクルードスタイル
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ******************************************************************************************
	loop-news-title-only.php
****************************************************************************************** */
.bl_newsTitleOnly{
	padding: 10px 0 10px 10px;
}
.bl_newsTitleOnly+.bl_newsTitleOnly{
	border-top: 1px dotted #6D6D6D;
}
/* ******************************************************************************************
	loop-news-date-title.php
****************************************************************************************** */
.bl_newsDateTitleWrap{
	display: grid;
	grid-template-columns: 145px 1fr;
	gap: 10px;
	padding: 10px 0 10px 10px;
}
.bl_newsDateTitle+.bl_newsDateTitle{
	border-top: 1px dotted #6D6D6D;
}
.bl_newsDateTitle_date time{
	white-space: nowrap;
}
@media screen and (max-width:768px){
	.bl_newsDateTitleWrap{
		grid-template-columns: 1fr;
		grid-template-rows: 1fr 1fr;
		gap: 0;
	}
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	印刷用スタイル
//////////////////////////////////////////////////////////////////////////////////////////////////// */
@media print{
	body{
		/* 背景色反映のため */
		-webkit-print-color-adjust: exact;
	}
	/* 非表示 */
	.ly_header{
		display: none;
	}
	.ly_breadcrumbsInner{
		display: none;
	}
	.bl_sidebar{
		display: none;
	}
	footer{
		display: none;
	}

	.bl_contentWrap{
		display: block;
	}
	.bl_mainContent:has(+ .bl_sidebar){
		width: 100%;
	}
}