@charset "utf-8";
/* CSS Document */
/*--------------------------------------------------------
	共通
--------------------------------------------------------*/
* {
	margin: 0;
	padding: 0;
}
*,
*::before,
*::after {
	box-sizing: inherit;
}
html{
	scroll-behavior: smooth;
}
body {
	position: relative;
	width: 100%;
	overflow-x: hidden!important;
	box-sizing: border-box;
	font-family: "Noto Sans JP", sans-serif, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 400;
	font-size: clamp(15px,1.25vw,20px);
	-webkit-text-size-adjust: 100%;
	color: #3F4040;
	line-height: 1.8;
}
body.active{
	overflow: hidden;
}
img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}
a {
	color: #3F4040;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	cursor: pointer;
	word-wrap: break-word;
	text-decoration: none;
	transition: .6s;
}
a:hover {
	opacity: .7;
}
*:focus {
	outline: none;
}
@media (min-width: 1080px) {
	body{
		line-height: 2.5;
	}
}
/*---------------------------------------------------------------------
	見出し部分
---------------------------------------------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6{
	font-family: "trajan-pro-3", serif;
	font-weight: 500;
	font-style: normal;
	letter-spacing: 2px;
	line-height: 1.5;
	overflow-wrap: break-word;
}
/* 見出し１ */
h1.wp-block-heading,
.el_headLv1{
	font-size: clamp(43px,4vw,72px);
	font-weight: 600;
}
/* 見出し２ */
h2.wp-block-heading,
.el_headLv2{
	margin-bottom: 1rem;
	font-size: clamp(32px,2.5vw,48px);
}
/* 見出し３ */
h3.wp-block-heading,
.el_headLv3{
	font-size: clamp(24px,2vw,36px);
}
/* 見出し４ */
h4.wp-block-heading,
.el_headLv4{
	font-size: clamp(20px,1.5vw,26px);
}
/* 見出し５ */
h5.wp-block-heading,
.el_headLv5{
	font-size: clamp(16px,1.25vw,24px);
	line-height: 1.3;
}
h6.wp-block-heading,
.el_headLv6{
	font-size: clamp(14px,1vw,20px);
	line-height: 1.3;
}


/*---------------------------------------------------------------------
	見出し・キャッチコピー部分
---------------------------------------------------------------------*/
/* リスト */
ul{
	list-style: none;
	margin: 2rem auto;
}
ul.bl_list li,
.wp-block-list li{
	position: relative;
	padding-left: 1.125rem;
}
ul.bl_list li::before,
.wp-block-list li::before{
	position: absolute;
	top: 22px;
	left: 0;
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	background-color: #000;
	border-radius: 50%;
}
/* 数字リスト */
ol{
	counter-reset: item;
	list-style-type: none;
	padding-left: 0;
	margin: 2rem auto;
}
ol.bl_Nlist ol{
	margin-top: .5rem;
}
ol.bl_Nlist li{
	position: relative;
	padding-left: 1.125rem;
}
ol.bl_Nlist li::before{
	position: absolute;
	top: 0;
	left: 0;
	counter-increment: item;
	content: counter(item)'.';
}


/*---------------------------------------------------------------------
	テーブル
---------------------------------------------------------------------*/
.wp-block-table td, .wp-block-table th{
	border: none;
}
.wp-block-table.bl_table{
	margin: 5rem auto;
}
.bl_table,
.wp-block-table table,
.wp-block-table.bl_table table{
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
	word-wrap: break-word;
}
.wp-block-table th{
	text-align:left;
	border-bottom: 1px solid #3F4040!important;
}
.bl_table td,
.wp-block-table table td,
.wp-block-table.bl_table td,
.has-fixed-layout tr:last-child td {
	border-bottom: 1px solid #898989!important;
	padding: 8px 8px 20px!important;
	line-height: 1.7;
}
.bl_table td a,
.wp-block-table.bl_table td a{
	font-weight: 700;
	text-decoration: underline;
}
.bl_table td:first-child,
.wp-block-table.bl_table td:first-child{
	border: none!important;
	padding: 20px 8px 0!important;
	font-weight: 700;
}
@media (max-width:767px){
	.bl_table tr,
	.wp-block-table.bl_table tr{
		display: block;
	}
	.bl_table td:last-child,
	.wp-block-table.bl_table td:last-child{
		padding-bottom: 16px;
	}
	.bl_table td,
	.wp-block-table.bl_table td{
		display: block;
	}
}
@media (min-width:768px){
	.bl_table tr,
	.wp-block-table.bl_table tr{
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		flex-wrap: wrap;
	}
	.bl_table tr:first-child td:first-child,
	.wp-block-table.bl_table tr:first-child td:first-child{
		border-top: 1px solid #3F4040!important;
	}
	.bl_table tr:first-child td,
	.wp-block-table.bl_table tr:first-child td{
		border-top: 1px solid #898989!important;
	}
	.bl_table td,
	.wp-block-table.bl_table td{
		padding: 20px 10px!important;
		line-height: 2;
	}
	.wp-block-table th,
	.bl_table td:first-child,
	.wp-block-table.bl_table td:first-child{
		padding: 20px 10px!important;
		border-bottom: 1px solid #3F4040!important;
		width: 25%;
	}
	.bl_table td:last-child,
	.wp-block-table.bl_table td:last-child{
		width: 75%;
	}
}


/*--------------------------------------------------------
	ボタン
--------------------------------------------------------*/
/*共通ボタン＞黒*/
.el_btn{
	display: inline-block;
	padding: .5rem 2.5em;
	margin-bottom: 1rem;
	background: #2ea7e0;
	border: 1px solid #2ea7e0;
	border-radius: 60px;
	color: #fff;
	font-weight: 600;
	font-style: normal;
	line-height: 2;
}
.el_btn:hover,
a.wp-block-button__link.wp-element-button:hover{
	background: #fff;
	color: #2ea7e0;
	opacity: 1;
}
/*WPブロックボタンをリンクボタンに変更*/
.wp-block-buttons {
	margin: 0 auto;
	box-sizing: border-box;
}
.wp-block-buttons>.wp-block-button{
	position: relative;
	display: inline-block;
	margin: 0 auto;
	width: auto;
}
a.wp-block-button__link.wp-element-button{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 500px;
	padding: .5rem 3rem;
	margin: 0 auto!important;
	background-color: #2ea7e0!important;
	border: 1px solid #2ea7e0!important;
	border-radius: 60px!important;
	color: #fff!important;
	font-size: clamp(16px, 1.15vw, 18px);
	font-weight: bold;
	text-decoration: none;
	transition: 0.3s!important;
	background: #1A1311;
}
a.wp-block-button__link.wp-element-button:hover{
	background-color: #fff!important;
	color: #1A1311!important;
	opacity: 1!important;
}


/*--------------------------------------------------------
	ヘッダー
--------------------------------------------------------*/
.ly_header{
	position: fixed;
	top: 0;
	width: 100dvw;
	height: 60px;
	z-index: 1000;
	font-family: "trajan-pro-3", serif;
	font-weight: 600;
	font-style: normal;
}
/* スクロール後（背景白・文字黒） */
.ly_header.scrolled {
	background: #fff;
}
.bl_header{
	position: relative;
	display: flex;
	justify-content: space-between;
	width: 100%;
	height: 100%;
	padding: 0;
}
/* TOPページ以外 */
.un_sub.bl_header{
	background: #fff;
}
.bl_headerR{
	display: flex;
	margin-right:min(2.5vw,100px);
}
.bl_headerL{
	display: flex;
	align-items: center;
	margin-left:min(2.5vw,100px);
}
.bl_headerL h1{
	margin-bottom: 0;
}
.bl_headerL a img{
	height: min(6vw,30px);
	width: auto;
}
.ly_header .bl_headerL a img.js_scrollLogo{
	display: none;
}
.ly_header.scrolled .bl_headerL a img.js_mvLogo{
	display: none;
}
.ly_header.scrolled .bl_headerL a img.js_scrollLogo{
	display: block;
}
.bl_gnav ul{
	display: none;
}
/* ハンバーガーメニュー */
.bl_hm{
	position: relative;
	z-index: 9999;
	cursor: pointer;
	display: block;
	width: 30px;
	height: 20px;
	margin-top: 20px;
}
.el_hm__line{
	position: absolute;
	display: block;
	width: 100%;
	height: 2px;
	background: #fff;
	transition:transform .3s;
}
/* スクロール後（背景白・文字黒） */
.ly_header.scrolled .el_hm__line {
	background: #3F4040;
}
/* TOPページ以外 */
.un_sub .el_hm__line{
	background: #3F4040;
}
.el_hm__line.C{
	top: 9px;
}
.el_hm__line.B{
	bottom: 0;
}
.el_hm__line.T.active{
	top: 8px;
	transform: rotate(20deg);
}
.el_hm__line.C.active{
	transform:scaleX(0);
}
.el_hm__line.B.active{
	bottom: 10px;
	transform: rotate(-20deg);
}
/*ハンバーガー展開画面*/
.bl_hNav{
	position: fixed;
	top: 0;
	right: 0;
	z-index: 999;
	display: none;/*基本は見えないように処理*/
	width: 100vw;
	height: 100dvh;
	margin: 0 auto;
	background: #898989;
}
.bl_hNav__wrap{
	width: 85vw;
	height: 100%;
	margin: 18% auto 0;
}
.bl_hNav__wrap ul li{
	margin: 1rem;
}
.bl_hNav__wrap ul li a{
	font-size: clamp(22px,1.8vw,34px);
	color: #fff;
}
.bl_headerSns{
	display: flex;
	justify-content: center;
	align-items: center;
}
.bl_headerSns a{
	display: block;
	width: 30px;
	height: auto;
	margin: 0 10px;
}
@media (min-width: 1024px) {
	.ly_header{
		height: 100px;
	}
	/* スクロール後（背景白・文字黒） */
	.ly_header.scrolled .bl_headerR a,
	.ly_header.scrolled .bl_gnav ul li a {
		color: #3F4040;
	}
	.bl_headerL a img{
		height: 35px;
		width: auto;
	}
	.bl_hm,
	.bl_hNav,
	.bl_hNav__wrap{
		display: none;
	}
	.bl_gnav{
		display: flex;
		letter-spacing: 2px;
	}
	.bl_gnav ul{
		display: flex;
		align-items: center;
	}
	/* TOPページ*/
	.bl_gnav ul li a{
		font-size: clamp(14px,1vw,18px);
		padding-left: 20px;
	}
	/* TOPページ*/
	.un_index .bl_gnav ul li a{
		color: #fff;
	}
	/* サブページ*/
	.un_sub .bl_gnav ul li a{
		color: #3F4040;
	}
	.bl_gnav ul li a:hover{
		opacity: .7;
	}
	.bl_headerSns a{
		width: 50px;
		margin: 0 20px;
	}
}


/*--------------------------------------------------------
	【プラグイン】Gtranslate デザイン調整
--------------------------------------------------------*/
.gt_float_switcher{
	width: clamp(120px,13vw,160px)!important;
	margin-top: 15px;
	margin-right: 6px;
	color: #fff!important;
	font-family: "trajan-pro-3", serif!important;
	font-weight: 400!important;
	font-style: normal!important;
	box-shadow: none!important;
	background: none!important;
}
.gt_float_switcher .gt-selected{
	background: #2ea7e0!important;
	border-radius: 40px;
}
.gt_float_switcher .gt-selected .gt-current-lang{
	display: flex;
	justify-content: space-between;
	padding: 2px 10px!important;
	color: #fff!important;
}
.gt_float_switcher img{
	width: 16px!important;
}
.gt_float_switcher .gt_options a{
	color: #3F4040!important;
	background: #fff!important;
	font-weight: 400!important;
}
.gt_float_switcher .gt_options{
	max-width: 100%!important;
}
.gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow.gt_arrow_rotate {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 285 285'><path d='M282 76.5l-14.2-14.3a9 9 0 0 0-13.1 0L142.5 174.4 30.3 62.2a9 9 0 0 0-13.2 0L3 76.5a9 9 0 0 0 0 13.1l133 133a9 9 0 0 0 13.1 0l133-133a9 9 0 0 0 0-13z' style='fill:%23fff'/></svg>")!important;
	transform: rotate(-180deg)!important;
}
.gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 285 285'><path d='M282 76.5l-14.2-14.3a9 9 0 0 0-13.1 0L142.5 174.4 30.3 62.2a9 9 0 0 0-13.2 0L3 76.5a9 9 0 0 0 0 13.1l133 133a9 9 0 0 0 13.1 0l133-133a9 9 0 0 0 0-13z' style='fill:%23fff'/></svg>")!important;
	transform: rotate(0deg)!important;
}
/* 元の言語コードを非表示に */
.gt-current-lang .gt-lang-code {
	display: none !important;
}
/* 滞在中言語：親を相対配置にして基準点を作る */
.gt-current-lang {
	position: relative;
	display: inline-flex;
	align-items: center;
}
/* 滞在中言語：国旗画像の右側にラベルを追加する */
.gt-current-lang::before {
	position: absolute;
	left: 33px; /* 画像の右隣に配置 */
	top: 50%;
	transform: translateY(-50%);
	font-size: clamp(12px,.8vw,16px)!important;
	color: #fff; /* 任意の色 */
	white-space: nowrap;
	content: var(--gt-lang-label);
}
/* 滞在中言語：言語別に表示内容を切り替える（GTranslateはhtml langを切り替える） */
html[lang="ja"] .gt-current-lang::before { content: "日本語"; }
html[lang="en"] .gt-current-lang::before { content: "ENGLISH"; }
html[lang="zh-CN"] .gt-current-lang::before { content: "中文:簡体"; }
html[lang="zh-TW"] .gt-current-lang::before { content: "中文:繁体"; }
html[lang="ko"] .gt-current-lang::before { content: "한국어"; }
/* リスト内の元文字を非表示にして上書き */
.gt_options a {
	font-size: 0 !important;
}
/* プルダウン言語：各言語を任意の表記に置き換え */
.gt_options a[data-gt-lang="ja"]::after {
	content: "日本語";
}
.gt_options a[data-gt-lang="en"]::after {
	content: "ENGLISH";
}
.gt_options a[data-gt-lang="zh-CN"]::after {
	content: "中文:簡体";
}
.gt_options a[data-gt-lang="zh-TW"]::after {
	content: "中文:繁体";
}
.gt_options a[data-gt-lang="ko"]::after {
	content: "한국어";
}
/* プルダウン言語：表示の基本スタイル（文字サイズ・間隔など） */
.gt_options a::after {
	font-size: clamp(12px,.8vw,16px)!important;
	vertical-align: middle;
}
/* プルダウン言語：::afterがimg要素の横に自然に並ぶように */
.gt_options img {
	vertical-align: middle;
}
@media (min-width: 1024px) {
	.gt_float_switcher{
		margin-top: 30px;
		margin-right: 0;
		margin-left: 30px;
	}
	.gt_float_switcher .gt-selected .gt-current-lang{
		padding: 8px 15px!important;
	}
	.gt-current-lang::before {
		left: 40px; /* 画像の右隣に配置 */
	}
}


/*--------------------------------------------------------
	3カラムカード
--------------------------------------------------------*/
.bl_card{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	margin: 0 auto;
	gap: 3vw;
}
.bl_card::after {
	content: "";
	width: 30%; /* 3カラムなら1つ分の幅に */
}
.bl_cardCont{
	cursor: pointer;
	width: 48%;
	margin-bottom: 3rem;
	transition: .6s;
}
.bl_cardCont a figure {
	cursor: pointer;
	width: 100%;
	height: max(18vw,150px);
	overflow: hidden;
}
.bl_cardCont a figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}
.bl_cardCont:hover a{
	opacity: 1;
}
.bl_cardCont a:hover figure img {
	transform: scale(1.1);
}
.bl_cardCont__txt{
	margin-top: 1rem;
}
.bl_cardCont__txt .bl_flexCol{
	margin-top: .35em;
}
.bl_card .bl_cardCont p.bl_cardCont__txt{
	width: 100%;
	font-size: clamp(13px,1vw,16px);
	line-height: 1.6;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
@media (min-width: 950px) {
	.bl_cardCont{
		width: 30%;
		margin-bottom: 3vw;
	}
	.bl_cardCont:nth-last-child(-n+3) {
		padding-bottom: 0; /* 最後の3つ（最終行）だけ余白なし */
	}
}
@media screen and (max-width: 949px) {
	.bl_cardCont:nth-last-child(-n+2) {
		padding-bottom: 0; /* 最後の2つ（最終行）だけ余白なし */
	}
	.bl_card .bl_cardCont .bl_cardCont__txt h2{
		width: 100%;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}


/*--------------------------------------------------------
	TOP
--------------------------------------------------------*/
.bl_mv {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100dvh;
}
.bl_mv img{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.bl_mv::after {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 3;
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, .3);
}
.bl_mv p{
	position: absolute;
	top: 45%;
	left: max(40px,4vw);
	z-index: 4;
	font-family: "trajan-pro-3", serif;
	font-weight: 700;
	font-style: normal;
	letter-spacing: 6px;
	line-height: 1.5;
	font-size: clamp(34px,2.8vw,42px);
	color: #fff;
}
/*EXPERIENCE
 カテゴリーサブメニュー
.bl_categoryList{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	margin: 0 auto 	max(40px,4vw);
	font-family: "trajan-pro-3", serif;
	font-weight: 400;
	font-style: normal;
}
.bl_categoryList li{
	padding: 0 15px;
}*/
@media screen and (max-width: 949px) {
	.un_about.hp_txtCenter{
		text-align: inherit!important;
	}
}


/*--------------------------------------------------------
	各ページ共通コンテナ
--------------------------------------------------------*/
.bl_cont{
	width: 100%;
}
.bl_cont>figure img{
	width: 100dvw;
	margin: 0!important;
}
.B{
	background: #fbf7f0;
}
.bl_cont__box,
.bl_cont__box.SS,
.bl_cont__box.CC{
	width: 91vw;
	margin: 0 auto;
	padding: 2em 0 80px;
}
/*最初のコンテナ余白*/
.un_top{
	padding-top: max(80px,10vw)!important;
}
#sec01.un_top,
.un_top.un_single{
	padding-top: max(50px,5vw)!important;
}
/*ブログ一覧カテゴリ用余白*/
.bl_cont__box.CC{
	padding: 0 0 50px;
}
.bl_cont__box.category{
	padding: 2em 0 1.5em;
}
/*エクスペリエンス用余白*/
.bl_subHeader{
	width: 91vw;
	margin: 0 auto;
	padding-top:max(7vw,120px);
}
@media (min-width: 950px) {
	.bl_cont__box{
		width: 100%;
		padding: 0 5.5vw 10vw;
		margin: 0 auto;
	}
	.bl_cont__box.SS{
		max-width: 1440px;
		width: 86vw;
		padding: 0 5.5vw 10vw;
	}
	.bl_cont__box.CC{
		padding: 0 5.5vw 5vw;
	}
	.bl_cont__box.category{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		padding: 5vw 5.5vw ;
	}
	.bl_cont__box.category .el_headLv2{
		margin-right: 4rem;
	}
	.bl_subHeader{
		width: 100%;
		padding: 10vw 5.5vw 0;
	}
}


/*--------------------------------------------------------
	パンくずリスト
--------------------------------------------------------*/
.bl_breadcrumb {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;	/* ← 横に1列で並べる */
	align-items: center;
	overflow-x: auto;	 /* ← 横スクロール */
	overflow-y: hidden;
	margin: max(35px,3vw) 0 3vw;
	font-size: clamp(10px,.85vw,16px)!important;
	letter-spacing: 2px;
	/* スクロールバー非表示 */
	-ms-overflow-style: none; /* IE, Edge */
	scrollbar-width: none; /* Firefox */
}
.bl_breadcrumb::-webkit-scrollbar {
	display: none; /* Chrome, Safari */
}

.bl_breadcrumb > * {
	flex-shrink: 0;		/* ← 全要素が縮まないようにする（ここ重要） */
}
.bl_breadcrumb a {
	font-weight: 700;
	text-decoration: underline;
}
.bl_breadcrumb .breadcrumb-separator svg {
	width: 0.6em;
	height: 0.6em;
	margin: 0 0.5rem;
	vertical-align: middle;
	fill: #2EA7E0;
}
@media (min-width: 950px) {
	.bl_breadcrumb {
		justify-content: flex-end;
		overflow-x: inherit ;
		white-space: inherit;
	}
}

/*--------------------------------------------------------
	投稿ページ
--------------------------------------------------------*/
/* 前記事・次記事ボタン */
.bl_newsList_btn{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 1.5rem;
	margin: 7rem auto 1.5rem;
	border-bottom: 1px solid #898989;
}
.el_singleBtn a{
	display: inline-block;
	padding: 1rem 3rem;
	margin: 0 .25rem;
	background-color: #fff;
	border-radius: 5px;
	border: 1px solid #2ea7e0;
	color: #2ea7e0;
	font-size: clamp(13px,.729vw,16px)!important;
	line-height: 1;
	transition:.3s;
}
.el_singleBtn:hover a{
	border: 1px solid #2ea7e0;
	background: #2ea7e0;
	color: #fff;
	opacity: 1;
}
.el_singleBtn.top{
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 0 auto;
}
.el_singleBtn.top a{
	display: inline-block;
	padding: 1rem 3rem;
	margin: 0 .25rem;
	background-color: #2ea7e0;
	border-radius: 5px;
	border: 1px solid #2ea7e0;
	color: #fff;
	line-height: 1;
	transition:.3s;
}
.el_singleBtn.top:hover a{
	border: 1px solid #2ea7e0;
	background: #fff;
	color: #2ea7e0;
	opacity: 1;
}
/* カテゴリタブ */
.bl_achieveCat {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	width: 100%;
	padding-left: 0;
	margin:0 auto;
	list-style: none;
}
.bl_achieveCat li a {
	display: inline-flex;
	align-items: center;
	font-size: clamp(15px,1.15vw,18px);
	gap: 1.25rem;
	padding: .25rem 1.25rem;
	border-radius: 40px;
	background: #f0f0f0;
	line-height: 1.5;
	transition: all 0.2s ease;
}
.bl_achieveCat li a:hover,
.bl_achieveCat li.active a {
	background: #898989;
	color: #fff;
}
.bl_achieveCat .el_count {
	font-size: .85em;
	opacity: .5;
}

/* PC版タブ（既存） */
.bl_achieveCat {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	list-style: none;
	padding-left: 0;
	margin: 0 auto;
}
.bl_achieveCat li a {
	display: inline-flex;
	align-items: center;
	gap: 1.25rem;
	padding: .25rem 2rem;
	border-radius: 40px;
	background: #f0f0f0;
	line-height: 1.8;
	transition: all 0.2s ease;
}
.bl_achieveCat li a:hover,
.bl_achieveCat li.active a {
	background: #898989;
	color: #fff;
}
.bl_achieveCat .el_count {
	font-size: .85em;
	opacity: .5;
}
/* SP版 ドロップダウン風 */
@media screen and (max-width: 650px) {
	.bl_achieveCat {
		display: block;
		width: 100%;
		padding: 0;
	}
	/* 最初のタブは常に表示 */
	.bl_achieveCat li {
		display: none;
	}
	.bl_achieveCat li:first-child {
		display: block;
		cursor: pointer;
		border-radius: 40px;
	}
	/* メニューのスライド部分 */
	.bl_achieveCat li.show {
		display: block;
		animation: slideDown 0.3s ease forwards;
	}
	.bl_achieveCat li a {
		width: 100%;
		padding: .5rem 1rem;
		justify-content: space-between;
		border-radius: 0;
		background: #f0f0f0;
	}
	/* スライドアニメーション */
	@keyframes slideDown {
		0% {
			opacity: 0;
			transform: translateY(-10px);
		}
		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}
}
.bl_cardCont__catName {
	padding: 0.2em 0.6em;
	margin-right: 6px;
	background: #898989;
	color: #fff;
	letter-spacing: 1px;
	font-size: clamp(13px,.85vw,16px);
	border-radius: 4px;
}
/* EXPERIENCE　投稿記事 */
.bl_expMenu{
	display: none;
}
.bl_expMenu li{
	padding: .25em 0;
	font-size: clamp(15px,1.25vw,20px)!important;
	font-weight: 600;
}
#sec02,
#sec03,
#sec04{
	scroll-margin-top: 100px;
}
.bl_expImglist{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px;
	padding: 0;
	margin: 0 0 2rem;
}
.bl_expImglist li {
	width: 10.25vw;
}
.bl_expImglist img {
	display: block;
	width: 100%;
	height: auto;
}
@media (min-width: 950px) {
	.bl_expMenu{
		position: fixed;
		bottom: max(10vw,100px);
		z-index: 600;
		display: block;
		padding-left: 5.5vw ;
	}
	.bl_expCont {
		margin-left: max(10vw,250px);
	}
	.bl_expImglist{
		justify-content: flex-start;
	}
}
/* 画像一覧のデザインは任意 */
.bl_expImglist img {
	width: 100%;
	height: auto;
	cursor: pointer;
}
/* ポップアップ共通 */
.bl_popup {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100vw;
	height: 100vh;
	background: rgba(0,0,0,0.7);
	opacity: 0;
	visibility: hidden;
	transition: 0.3s ease;
}
/* :target で表示 */
.bl_popup:target {
	opacity: 1;
	visibility: visible;
}
/* 背景クリックで閉じる */
.bl_popup__bg {
	position: absolute;
	inset: 0;
	display: block;
}
/* 画像ラップ */
.bl_popup__imgwrap {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: 1440px;
	width: 86vw;
	margin: 0 auto;
}
.bl_popup__imgwrap img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 8px;
}
/* 閉じるボタン */
.bl_popup__close {
	position: absolute;
	top: -30px;
	right: -10px;
	font-size: 40px;
	color: white;
	text-decoration: none;
	font-weight: bold;
	line-height: 1;
}
/* WP初期設定変更 */
@media (max-width: 949px) {
	.wp-block-columns { 
		flex-wrap: wrap !important;
	}
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
		flex-basis: 100% !important;
	}
	.wp-block-columns p>br{
		display: none;
	}
}
/* CONSEPT */
:where(.wp-block-columns.is-layout-flex.un_gap0) {
	gap: 0;
}
/* single.php */
.un_single h1,
.un_single h2,
.un_single h3,
.un_single h4,
.un_single h5,
.un_single h6{
	margin-top: max(6.5vw,6rem);
}
.un_single p{
	margin-bottom: 2em;
}
.un_single figure img,
.un_single .wp-block-image figure{
	max-width: 1440px;
	width: 100%;
	margin:1.25em 0 max(3vw,4rem);
}
.un_single figure table{
	margin-bottom: max(2vw,3rem);
}
.un_single .wp-block-image img {
	max-width: 1440px;
	width: 100%;
}
.un_single a{
	text-decoration: underline;
	font-weight: 700;
}
.un_single iframe{
	width: 100%!important;
}
/*--------------------------------------------------------
	ページトップアイコン
--------------------------------------------------------*/
#bl_pageTop{
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 200;
	width: 60px;
	height: 60px;
	margin: auto;
	text-align: center;
	text-decoration: none;
}
#bl_pageTop a{
	display: block;
	width: 100%;
	height: 100%;
	padding-top: 8px;
	color: #fff;
	font-family: "trajan-pro-3", serif;
	font-style: normal;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.5;
	background-color: #3F4040;
	transition: .3s;
}


/*--------------------------------------------------------
	フッター
--------------------------------------------------------*/
.ly_footer{
	width: 100%;
	font-family: "trajan-pro-3", serif;
	font-weight: 400;
	font-style: normal;
	background: #3F4040;
}
.ly_footer_inner{
	width: 90vw;
	padding: max(60px,7vw) 30px;
	margin: 0 auto;
}
.bl_footerMenu{
	width: 100%;
	display:block; 
	margin: 0 auto 3rem;
}
.bl_footerMenu li{
	padding: 4px 0;
}
.bl_footerMenu a{
	color: #fff;
}
.el_footerLogo{
	display: block;
	margin: 5rem auto 3rem;
}
.el_footerLogo img{
	width: clamp(150px,65%,300px);
	height: auto;
}
.el_footerLogo:hover{
	opacity: 1;
}
.bl_footerSns{
	display: flex;
	justify-content: center;
	align-items: center;
}
.bl_footerSns a{
	display: block;
	width: 30px;
	height: auto;
	margin: 0 10px;
}
@media (min-width: 950px) {
	.bl_footerMenu{
		display: flex;
		justify-content: center;
	}
	.bl_footerMenu li{
		padding: 0 20px;
	}
	.bl_footerSns a{
		width: 50px;
		margin: 0 20px;
	}
}


/*--------------------------------------------------------
	並列ブロック .bl_flexCol
--------------------------------------------------------*/
.bl_flexCol{
	display:block; 
	margin: 0;
	align-items: center;
}
.bl_flexColRev { flex-direction: row-reverse!important; }

/* box揃え*/
.bl_flexColBet{ justify-content: space-between!important; }

@media (min-width: 950px) {
	.bl_flexCol{ display: flex; }
	/* box間 margin*/
	.bl_flexCol_marR{ margin-right: 10%!important; }
}


/*--------------------------------------------------------
	ヘルパー
--------------------------------------------------------*/
/* ページスクロールアンカー */
.hp_anchor{
	padding-top: 100px!important;
	margin-top: -100px!important;
}
/* media別表示 */
.hp_pcOnly { display: none !important; }
/* block */
.hp_block { display: block!important; }
/* フォントー*/
.fs_trajan{
	font-family: "trajan-pro-3", serif;
	font-weight: 400;
	font-style: normal;
}
/* フォントカラー*/
.hp_fcWhite{ color: #fff; }
.hp_fcSky{ color: #2ea7e0; }

/* フォントサイズ */
.hp_fsS{
	font-weight: 500;
	font-size: clamp(13px,.729vw,15px)!important;
}
.hp_fsM{
	font-weight: 500;
	font-size: clamp(20px,1.75vw,27px)!important;
}
.hp_fsL{
	font-weight: 500;
	font-size: clamp(27px,2.25vw,40px)!important;
}
.hp_fs2L{
	font-weight: 500;
	font-size: clamp(25px,4vw,52px)!important;
}
.hp_fs3L{
	font-weight: 500;
	font-size: clamp(32px,4.5vw,65px)!important;
}

/* フォント太字 */
.hp_fw700{ font-weight: 700; }
a.hp_ul{text-decoration: underline!important;}

/* テキスト寄せ */
.hp_txtCenter{ text-align: center!important; }
.hp_txtRight{ text-align: right!important; }
.hp_txtLeft{ text-align: left!important; }

/* マージン */
.hp_mt0{ margin-top: 0!important; }
.hp_mt5rem{ margin-top: 2.75rem!important; }
.hp_mt3rem{ margin-top: 1.75rem!important; }
.hp_mt2rem{ margin-top: 1rem!important; }
.hp_mt1rem{ margin-top: .75rem!important; }
.hp_mb5rem{ margin-bottom: 3.5rem!important; }
.hp_mb3rem{ margin-bottom: 1.75rem!important; }
.hp_mb2rem{ margin-bottom: 1rem!important; }
.hp_mb1rem{ margin-bottom: .5rem!important; }
.hp_mb0{ margin-bottom: 0!important; }
.hp_m1rem{ margin: .75rem auto!important; }

@media (min-width: 950px) {
	/* ページスクロールアンカー */
	.hp_anchor{
		padding-top: 150px!important;
		margin-top: -150px!important;
	}
	/* media別表示 */
	.hp_spOnly { display: none !important; }
	.hp_pcOnly { display:block !important; }
	
	/* マージン */
	.hp_mt5rem{ margin-top: max(4.5vw,5rem)!important; }
	.hp_mt3rem{ margin-top: 3rem!important; }
	.hp_mt2rem{ margin-top: 2rem!important; }
	.hp_mt1rem{ margin-top: 1rem!important; }
	.hp_mb5rem{ margin-bottom: 5rem!important; }
	.hp_mb3rem{ margin-bottom: 3rem!important; }
	.hp_mb2rem{ margin-bottom: 2rem!important; }
	.hp_mb1rem{ margin-bottom: 1rem!important; }
	.hp_m1rem{ margin: 1rem auto!important; }
}


/*--------------------------------------------------------
	ブロックエディタのカラーパレットを変更する
--------------------------------------------------------*/
/* 黒 */
.has-black-color {
	color: #3F4040!important;
}
.has-black-background-color {
	background: #3F4040!important;
}
/* 白 */
.has-white-color {
	color: #fff!important;
}
.has-white-background-color {
	background: #fff!important;
}
/* ベージュ */
.has-beige-color {
	color: #f0f0f0!important;
}
.has-beige-background-color {
	background: #f0f0f0!important;
}
/* グレー */
.has-gray-color {
	color: #898989!important;
}
.has-gray-background-color {
	background: #898989!important;
}
/* スカイブルー */
.has-blue-color {
	color: #2EA7E0!important;
}
.has-blue-background-color {
	background: #2EA7E0!important;
}