@charset "UTF-8";

/*
	Reset CSS
-----------------------------------------------------------------------------------------------*/
/***
    The new CSS reset - version 1.7.3 (last updated 7.8.2022)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)){
	all: unset;
	display: revert;
}
*,*::before,*::after{
	box-sizing: border-box;
}
a, button{
	cursor: revert;
}
ol, ul, menu{
	list-style: none;
}
img{
	vertical-align: top;
}
table{
	border-collapse: collapse;
	border-spacing: 0;
}
input, textarea{
	-webkit-user-select: auto;
	user-select: auto;
}
textarea{
	white-space: revert;
}
meter{
	-webkit-appearance: revert;
	appearance: revert;
}
::placeholder{
	color: unset;
}
:where([hidden]){
	display: none;
}
:where([contenteditable]:not([contenteditable="false"])){
	-moz-user-modify: read-write;
	-webkit-user-modify: read-write;
	overflow-wrap: break-word;
	-webkit-line-break: after-white-space;
	line-break: after-white-space;
	-webkit-user-select: auto;
	user-select: auto;
}
:where([draggable="true"]){
	-webkit-user-drag: element;
}

/*
	Setting CSS
-----------------------------------------------------------------------------------------------*/
html{
	font-size: 62.5%;
}
body{
	font-family: YakuHanJP, 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', 'Meiryo', 'Hiragino Kaku Gothic ProN', sans-serif;
	font-size: 1.4em;
	font-weight: 400;
	letter-spacing: 0.1rem;
	font-feature-settings: 'palt';
	overflow-wrap: break-word;
}
p{
	line-height: 2.0;
}
a{
	color: var(--color-natural-grey-900);
	text-decoration: none;
	transition: all 0.4s;
}
a:link{
	color: var(--color-natural-grey-900);
}
a:visited{
	color: var(--color-natural-grey-900);
}
a:hover{
	text-decoration: none;
}
@media (any-hover: hover){
	a:hover {
		text-decoration: none;
		opacity: 0.5;
	}	
}

@media print, screen and (min-width:813px){
	/* iPad背景切れ対策 */
	body{
		min-width:1200px;
	}
	/* tel pcのみ無効 */
	a[href^="tel:"]{
		pointer-events: none;
	}
}

/* 表示切替 */
.switch{
	visibility: hidden;
}
.sp{
	display: none;
}

/* button初期化 */
button{
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	font-family: inherit;
	background: none;
	border: none;
	outline: none;
}
@media (any-hover: hover){
	button:hover{
		cursor: pointer;
	}
}


/*
	base
-----------------------------------------------------------------------------------------------*/
/* 変数 */
:root{
	/* color */
	--color-primary-red-default:#DD1521;
	--color-primary-red-light:#F1C1BB;
	--color-primary-red-dark:#9E2517;
	--color-primary-red-background:#FCF3F1;

	--color-point-gold:#B3863C;

	--color-natural-grey-25:#F8F8F8;
	--color-natural-grey-50:#F2F2F2;
	--color-natural-grey-100:#E6E6E6;
	--color-natural-grey-200:#CCCCCC;
	--color-natural-grey-300:#B3B3B3;
	--color-natural-grey-400:#999999;
	--color-natural-grey-500:#7F7F7F;
	--color-natural-grey-600:#666666;
	--color-natural-grey-700:#4D4D4D;
	--color-natural-grey-800:#333333;
	--color-natural-grey-900:#1A1A1A;

	--color-news-category01:#00AED1;
	--color-news-category02:#38A259;
	--color-news-category03:#9B3EB7;

	/* gradation */
	--gradation-primary-red: linear-gradient(90deg, var(--color-primary-red-default) 40%, var(--color-primary-red-light) 100%);

	/* width */
	--width-base: 1200px;
	--width-900: 970px;
	--width-800: 800px;

	/* height */
	--height-header: 80px;

	/* font-family */
	--font-family-en: avenir-lt-pro, "Figtree", sans-serif;

	/* border-radius */
	--border-radius-2: 2px;
	--border-radius-5: 5px;

	/* 背景 */
	--background-noise: url("../images/bg_noise.png") repeat center center / 300px auto;
	--background-dots: url("../images/bg_dots.svg") repeat center center / 10px auto;
}

/* wrapper
============================== */
#wrapper{
	padding-top: 80px;
	position:relative;
}

/* ctsWrapper
============================== */
#ctsWrapper{
	padding-bottom: 100px;
}

/* ctsArea
============================== */
.ctsArea{
	width: var(--width-base);
	margin: 0 auto;
	padding-inline: 35px;
}
/* width900 */
.width900{
	width: var(--width-900);
}

/* スラッシュパーツ
============================== */
[class*="itemSlash"]{
	position: relative;
}
[class*="itemSlash"]::after{
	content: "";
	display: inline-block;
	width: 150px;
	height: 143px;
	clip-path: polygon(79.143% 0%, 0% 100%, 20.857% 100%, 100% 0%);
	background: var(--gradation-primary-red);
	position: absolute;
	top: -75px;
}
/* 左配置 */
.itemSlashLeft::after{
	left: 30px;
}
/* 右配置 */
.itemSlashRight::after{
	right: 30px;
}
/* anm */
[class*="itemSlash"].jsAnmStart{
	animation: anmFadeIn 0.4s ease 0.5s forwards;
}
[class*="itemSlash"].jsAnmStart::after{
	animation: anmItemSlash 0.4s ease 0.5s forwards, anmFadeIn 0.4s ease 0.5s forwards;
}
@keyframes anmItemSlash{
	0%{
		clip-path: polygon(
			79.143% 0%,
			79.143% 0%,
			100% 0%,
			100% 0%
		);
	}
	100%{
		clip-path: polygon(
			79.143% 0%,
			0% 100%,
			20.857% 100%,
			100% 0%
		);
	}
}

/* ノイズ
============================== */
.bgNoise{
	position: relative;
}
.bgNoise::before{
	content: "";
	width: 100%;
	height: 100%;
	background: var(--background-noise);
	position: absolute;
	inset: 0;
	z-index: 0;
}


/*
	ボタン
-----------------------------------------------------------------------------------------------*/
/* base
============================== */
.btnArea{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
	width: 100%;
}
a[class^="btnBase"],
button[class^="btnBase"]{
	display: flex;
	align-items: center;
	width: clamp(250px, 100%, 300px);
	min-height: 60px;
	padding-inline: 20px 55px;
	font-size: 1.6rem;
	font-weight: 600;
	color: #fff;
	background-color: var(--color-primary-red-default);
	border-radius: var(--border-radius-5);
	position: relative;
}
/* 矢印 */
a[class^="btnBase"]::after,
button[class^="btnBase"]::after{
	content: "";
	width: 26px;
	aspect-ratio: 1/1;
	background-color: #fff;
	background-image: none;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 8px auto;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%) scale(0.23);
	transition: all 0.4s;
}
/* window */
a[class^="btnBase"] .window,
button[class^="btnBase"] .window{
	position: relative;
}
a[class^="btnBase"] .window::after,
button[class^="btnBase"] .window::after{
	content: " ";
	display: inline-block;
	width: 15px;
	aspect-ratio: 1/1;
	margin-left: 5px;
	background: url("../images/ico_window.svg") no-repeat center center / 100%;
}
@media (any-hover: hover){
	a[class^="btnBase"]:hover::after,
	button[class^="btnBase"]:hover::after{
		background-image: url("../images/ico_arrow_bk.svg");
		transform: translateY(-50%) scale(1);
	}
	a[class^="btnBase"]:hover,
	button[class^="btnBase"]:hover{
		background-color: var(--color-natural-grey-900);
		opacity: 1;
	}
}
/* ゴールド */
a.btnBaseGold,
button.btnBaseGold{
	background-color: var(--color-point-gold);
}
/* ブラック */
a.btnBaseBlack,
button.btnBaseBlack{
	background-color: var(--color-natural-grey-900);
}
/* ダークグレー */
a.btnBaseDarkgrey,
button.btnBaseDarkgrey{
	background-color: var(--color-natural-grey-700);
}

/* small
============================== */
a[class^="btnBase"].btnSmall,
button[class^="btnBase"].btnSmall{
	min-height: 40px;
	padding-inline: 20px 45px;
	font-size: 1.3rem;
}
/* 矢印 */
a[class^="btnBase"].btnSmall::after,
button[class^="btnBase"].btnSmall::after{
	width: 20px;
	right: 12px;
}
/* window */
a[class^="btnBase"].btnSmall .window::after,
button[class^="btnBase"].btnSmall .window::after{
	width: 12px;
	margin-left: 4px;
}


/*
	header
-----------------------------------------------------------------------------------------------*/
#headerWrapper{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	min-width: var(--width-base);
	height: var(--height-header);
	background-color: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(5px);
	position: fixed;
	top: 0;
	z-index: 1000;
}
.headerArea{
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: calc(100% - 120px);
	height: 100%;
	padding-inline: 35px;
}

/* ヘッダーロゴ
============================== */
.headerLogo a{
	display: block;
}

/* ヘッダーメニュー
============================== */
.listHeaderMenu{
	display: flex;
	gap: 30px;
	font-weight: 600;
}

/* お問い合わせボタン
============================== */
a#btnContact{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 100%;
	color: #fff;
	background-color: var(--color-point-gold);
}
@media (any-hover: hover){
	a#btnContact:hover{
		opacity: 1;
		background-color: var(--color-natural-grey-900);
	}	
}


/*
	パンくず
-----------------------------------------------------------------------------------------------*/
#olistPan{
    display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: var(--width-base);
	margin: 0 auto 80px;
	padding-inline: 35px;
	font-size: 1.3rem;
	font-weight: 500;
}
#olistPan > li{
	display: flex;
	align-items: center;
	/* white-space: nowrap; */
}
#olistPan > li:not(:last-of-type)::after{
	content: "ー";
	margin-inline: 10px;
	color: var(--color-natural-grey-900);
}
#olistPan a{
	color: var(--color-primary-red-default);
	transition: all 0.5s;
}
@media (any-hover: hover){
	#olistPan a:hover{
		color: var(--color-natural-grey-900);
		opacity: 1;
	}
}
#olistPan > li:last-of-type a{
	color: var(--color-natural-grey-500);
	pointer-events: none;
}


/*
	追従メニュー
-----------------------------------------------------------------------------------------------*/
#floatingCtaWrapper{
	position: fixed;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	z-index: 900;
}
a[id^="btnCta"]{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	aspect-ratio: 1/1;
	font-size: 1.0rem;
	color: #fff;
}
#btnCtaContact{
	background-color: var(--color-point-gold);
	border-radius: 5px 0 0 0;
}
#btnCtaDownload{
	background-color: var(--color-natural-grey-700);
	border-radius: 0 0 0 5px;
}
@media (any-hover: hover){
	#btnCtaContact:hover,
	#btnCtaDownload:hover{
		opacity: 1;
		background-color: var(--color-natural-grey-900);
	}
}


/*
	お問い合わせ
-----------------------------------------------------------------------------------------------*/
#contactWrapper{
	background: var(--color-natural-grey-900);
}
#contactWrapper .ctsArea{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 30px;
	padding-block: 100px;
}

/* スラッシュタイトル
============================== */
/* タイトル */
#contactWrapper .cmnTitSlashArea .tit .en,
#contactWrapper .cmnTitSlashArea .tit .jp,
#contactWrapper .cmnTitSlashArea .txt{
	color: #fff;
}


/*
	お知らせ一覧
-----------------------------------------------------------------------------------------------*/
.cmnListNewsWrapper{
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.cmnListNews{
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--color-natural-grey-100);
}
.cmnListNews > li{
	border-bottom: 1px solid var(--color-natural-grey-100);
}
.cmnListNews > li a{
	display: flex;
	align-items: center;
	gap: 30px;
	min-height: 70px;
	padding: 20px 60px 20px 20px;
	position: relative;
}
.cmnListNews > li a::after{
	content: "";
	width: 26px;
	aspect-ratio: 1/1;
	background-color: var(--color-primary-red-default);
	background-image: none;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 8px auto;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%) scale(0.23);
	transition: all 0.4s;
}
@media (any-hover: hover){
	.cmnListNews > li a:hover{
		opacity: 1;
		background-color: var(--color-natural-grey-25);
	}
	.cmnListNews > li a:hover::after{
		background-image: url("../images/ico_arrow_wh.svg");
		transform: translateY(-50%) scale(1);
	}
}
.cmnListNews > li .dateArea{
	display: flex;
	align-items: center;
	gap: 20px;
}
/* 日付 */
.cmnListNews > li .date{
	font-size: 1.4rem;
	font-weight: 600;
}
/* カテゴリ */
.cmnListNews > li [class^="category"]{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 22px;
	font-size: 1.0rem;
	color: #fff;
	line-height: 1.0;
	border-radius: 11px;
}
.category01{
	background-color: var(--color-news-category01);
}
.category02{
	background-color: var(--color-news-category02);
}
.category03{
	background-color: var(--color-news-category03);
}
/* 記事タイトル */
.cmnListNews > li .tit{
	text-align: justify;
}
/* リンクなし */
.cmnListNews > li .noLink{
	pointer-events: none;
}
.cmnListNews > li .noLink::after{
	display: none;
}


/*
	footer
-----------------------------------------------------------------------------------------------*/
#footerWrapper{
	display: flex;
	height: 70px;
	background-color: #fff;
}
.footerArea{
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: calc(100% - 70px);
	padding-inline: 35px;
}

/* フッターメニュー
============================== */
.listFooterMenu{
	display: flex;
	gap: 20px;
	font-size: 1.3rem;
}

/* コピーライト
============================== */
.copyright{
	font-size: 1.2rem;
	color: var(--color-natural-grey-500);
}

/* ページトップ
============================== */
#pageTop{
	display: block;
	width: 70px;
	aspect-ratio: 1/1;
	background-color: var(--color-primary-red-default);
	position: relative;
}
#pageTop::before,
#pageTop::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
}
#pageTop::before{
	width: 12px;
	aspect-ratio: 1/1;	
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translate(-50%, -50%) rotate(-45deg);
}
#pageTop::after{
	width: 2px;
	height: 15px;
	background-color: #fff;
	transform: translate(-50%, -50%);
}
@media (any-hover: hover){
	#pageTop:hover{
		opacity: 1;
		background-color: var(--color-natural-grey-900);
	}
}


/*
	共通 下層ページ
-----------------------------------------------------------------------------------------------*/
#cmnPageTitWrapper{
	margin-bottom: 30px;
	position: relative;
}
#cmnPageTitWrapper::before{
	content: "";
	width: 100%;
	height: 100%;
	background: var(--background-dots);
	position: absolute;
	inset: 0;
	opacity: 0.3;
}

/* ページタイトル
============================== */
.cmnPageTitArea{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 20px;
	width: var(--width-base);
	min-height: 300px;
	margin: 0 auto;
	padding: 30px;
	position: relative;
}
.cmnPageTit{
	font-size: 4.0rem;
	font-weight: 600;
	color: #fff;
}
/* 英語タイトル */
.cmnPageTitEn{
	font-family: var(--font-family-en);
	font-size: 12.0rem;
	font-weight: 800;
	color: #FFF;
	line-height: 1.0;
	text-shadow: 1px 1px 0 var(--color-natural-grey-200), -1px -1px 0 var(--color-natural-grey-200), -1px 1px 0 var(--color-natural-grey-200),
				1px -1px 0 var(--color-natural-grey-200), 1px 0 0 var(--color-natural-grey-200), -1px 0 0 var(--color-natural-grey-200),
				0 1px 0 var(--color-natural-grey-200), 0 -1px 0 var(--color-natural-grey-200);
	mix-blend-mode: multiply;
	position: absolute;
	right: 0;
	bottom: -60px;
	z-index: 1;
}
/* テキスト */
.cmnPageTxt{
	font-size: 2.0rem;
	color: #fff;
	font-weight: 600;
	line-height: 1.5;
}
/* タグ */
.cmnPageTag{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 30px;
	padding: 5px 20px;
	font-size: 2.0rem;
	color: #fff;
	font-weight: 600;
	line-height: 1.0;
	background-color: var(--color-primary-red-default);
	border-radius: 15px;
}

/* kv
============================== */
.cmnPageKv{
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	object-fit: cover;
	z-index: -1;
}

/* Slash
============================== */
.cmnPageSlash{
	display: inline-block;
	width: 150px;
	height: 143px;
	clip-path: polygon(79.143% 0%, 0% 100%, 20.857% 100%, 100% 0%);
	background: var(--gradation-primary-red);
	position: absolute;
	right: 60px;
	bottom: -75px;
}
/* anm */
.cmnPageSlash.jsAnmStart{
	animation: anmItemSlash 0.4s ease 0.5s forwards, anmFadeIn 0.4s ease 0.5s forwards;
}
@keyframes anmItemSlash{
	0%{
		clip-path: polygon(
			79.143% 0%,
			79.143% 0%,
			100% 0%,
			100% 0%
		);
	}
	100%{
		clip-path: polygon(
			79.143% 0%,
			0% 100%,
			20.857% 100%,
			100% 0%
		);
	}
}


@media screen and (max-width:812px){
	body{
		-webkit-text-size-adjust: 100%;
	}
	img{
		width:100%;
	}
	p{
		line-height: 1.8;
	}	
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	br.sp{
		display:inline-block;
	}


	/*
		base
	-----------------------------------------------------------------------------------------------*/
	/* 変数 */
	:root{
		/* width */
		--width-base: 100%;
		--width-900: 100%;
		--width-800: 100%;

		/* height */
		--height-header: 60px;

		/* 背景 */
		--background-noise: url("../images/bg_noise.png") repeat center center / 300px auto;
	}

	/* wrapper
	============================== */
	#wrapper{
		padding-top: 60px;
	}

	/* ctsWrapper
	============================== */
	#ctsWrapper{
		padding-bottom: 50px;
	}

	/* ctsArea
	============================== */
	.ctsArea{
		max-width: 500px;
		padding-inline: 20px;
	}

	/* スラッシュパーツ
	============================== */
	[class*="itemSlash"]::after{
		width: 80px;
		height: 76px;
		top: -38px;
	}
	/* 左配置 */
	.itemSlashLeft::after{
		left: 15px;
	}
	/* 右配置 */
	.itemSlashRight::after{
		right: 15px;
	}


	/*
		ボタン
	-----------------------------------------------------------------------------------------------*/
	/* base
	============================== */
	.btnArea{
		gap: 10px;
	}
	a[class^="btnBase"],
	button[class^="btnBase"]{
		min-height: 55px;
		font-size: 1.4rem;
	}
	a[class^="btnBase"]::after,
	button[class^="btnBase"]::after{
		background-image: url("../images/ico_arrow_bk.svg");
		transform: translateY(-50%) scale(1);
	}

	/* small
	============================== */
	a[class^="btnBase"].btnSmall,
	button[class^="btnBase"].btnSmall{
		min-height: 35px;
		padding-inline: 16px 38px;
		font-size: 1.2rem;
	}
	
	
	/*
		header
	-----------------------------------------------------------------------------------------------*/
	#headerWrapper{
		width: 100%;
	}
	.headerArea{
		width: calc(100% - 150px);
		padding-inline: 20px;
	}

	/* ヘッダーロゴ
	============================== */
	.headerLogo{
		width: 130px;
	}

	/* ヘッダーメニュー
	============================== */
	#listHeaderMenuWrapper{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		height: calc(100vh - 60px);
		padding: 30px;
		background-color: var(--color-natural-grey-900);
		position: fixed;
		inset: 0;
		top: 60px;
		z-index: -1;
		overflow-y: scroll;
		opacity: 0;
		pointer-events: none;
		transition: all 0.4s;
	}
	#listHeaderMenuWrapper::before{
		content: "";
		width: 100%;
		height: 100%;
		background: var(--background-noise);
		position: absolute;
		inset: 0;
		z-index: -1;
	}
	/* 展開時 */
	#listHeaderMenuWrapper.jsOpen{
		opacity: 1;
		pointer-events: all;
	}

	.listHeaderMenu{
		flex-direction: column;
		gap: 15px;
		width: 100%;
		max-width: 350px;
	}
	.listHeaderMenu > li a{
		display: flex;
		align-items: center;
		width: 100%;
		min-height: 55px;
		padding-inline: 20px 55px;
		font-size: 1.4rem;
		font-weight: 600;
		color: #fff;
		background-color: var(--color-primary-red-default);
		border-radius: var(--border-radius-5);
		position: relative;
	}
	.listHeaderMenu > li a::after{
		content: "";
		width: 26px;
		aspect-ratio: 1/1;
		background: #fff url("../images/ico_arrow_bk.svg") no-repeat center / 8px auto;
		border-radius: 50%;
		position: absolute;
		top: 50%;
		right: 15px;
		transform: translateY(-50%);
		transition: all 0.4s;
	}
	
	/* メニュー展開時背景スクロール禁止 */
	body.jsScrollLock{
		overflow: hidden;
	}

	/* お問い合わせボタン
	============================== */
	a#btnContact{
		width: 90px;
		font-size: 1.0rem;
	}

	/* メニューボタン
	============================== */
	.btnMenu{
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 6px;
		width: var(--height-header);
		aspect-ratio: 1/1;
	}
	.btnMenu span,
	.btnMenu::before,
	.btnMenu::after{
		display: block;
		width: 20px;
		height: 1px;
		background-color: var(--color-natural-grey-900);
		transition: all 0.4s;
	}
	.btnMenu::before,
	.btnMenu::after{
		content: " ";
	}
	@media (any-hover: hover){
		.btnMenu:hover{
			cursor: pointer;
		}
	}
	/* 展開時 */
	.btnMenu.jsOpen{
		gap: 0;
	}
	.btnMenu.jsOpen span{
		display: none;
	}
	.btnMenu.jsOpen::before,
	.btnMenu.jsOpen::after{
		position: absolute;
		top: 50%;
		background-color: var(--color-natural-grey-900);
	}
	.btnMenu.jsOpen::before{
		rotate: 45deg;
		background-color: var(--color-natural-grey-900);
	}
	.btnMenu.jsOpen::after{
		rotate: -45deg;
		background-color: var(--color-natural-grey-900);
	}


	/*
		パンくず
	-----------------------------------------------------------------------------------------------*/
	#olistPan{
		gap: 5px 0;
		margin: 0 auto 50px;
		padding-inline: 20px;
		font-size: 1.2rem;
	}


	/*
		追従メニュー
	-----------------------------------------------------------------------------------------------*/
	a[id^="btnCta"]{
		width: 60px;
	}
	#btnCtaContact{
		border-radius: 3px 0 0 0;
	}
	#btnCtaDownload{
		border-radius: 0 0 0 3px;
	}


	/*
		お問い合わせ
	-----------------------------------------------------------------------------------------------*/
	#contactWrapper .ctsArea{
		padding-block: 60px;
	}


	/*
		お知らせ一覧
	-----------------------------------------------------------------------------------------------*/
	.cmnListNewsWrapper{
		display: flex;
		flex-direction: column;
		gap: 30px;
		width: 100%;
	}
	.cmnListNews > li a{
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		min-height: 100px;
		padding: 15px;
	}
	.cmnListNews > li a::after{
		display: none;
	}
	.cmnListNews > li .dateArea{
		gap: 10px;
	}
	/* 日付 */
	.cmnListNews > li .date{
		font-size: 1.2rem;
	}
	/* カテゴリ */
	.cmnListNews > li [class^="category"]{
		width: 70px;
		height: 20px;
		font-size: 0.9rem;
	}


	/*
		footer
	-----------------------------------------------------------------------------------------------*/
	.footerArea{
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		padding-inline: 15px;
		gap: 5px;
	}

	/* コピーライト
	============================== */
	.copyright{
		font-size: 1.0rem;
	}


	/*
		共通 下層ページ
	-----------------------------------------------------------------------------------------------*/
	/* ページタイトル
	============================== */
	.cmnPageTitArea{
		gap: 10px;
		min-height: 250px;
		padding: 20px;
	}
	.cmnPageTit{
		font-size: 2.0rem;
	}
	/* 英語タイトル */
	.cmnPageTitEn{
		font-size: 4.0rem;
		right: 15px;
		bottom: -20px;
	}
	/* テキスト */
	.cmnPageTxt{
		font-size: 1.2rem;
		text-align: center;
	}
	/* タグ */
	.cmnPageTag{
		min-height: 20px;
		padding: 5px 15px;
		font-size: 1.2rem;
	}

	/* Slash
	============================== */
	.cmnPageSlash{
		width: 80px;
		height: 76px;
		right: 20px;
		bottom: -38px;
	}
}