@charset "utf-8";

html {
	font-size: min(max(20px, 4vw), max(20px, 2.1vw, 2.1vh));
	text-align: justify;
	scroll-behavior: smooth;
	scroll-padding-top: 4rem;
}

body {
	width: max(300px, 100%);
	background-color: #000;
	font-family: "Noto Serif JP", serif;
}

img {
	max-width: 100%;
	height: auto;
}

input {
	width: 10%;
}

textarea {
	width: 10%;
}

/***********************************　header.a01　*/
.a01 {
	z-index: 100;
	/* 自要素を固定 */
	position: fixed;
	top: 0;
	left: 0;
	/* 子要素を横並び、左右位置を両端揃え、上下位置を中央揃え  */
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 0.3rem 0 0.3rem 0.5rem;
	background-color: #000;
	color: #ffffff;
}

/***********************************　header.a01 > h1.b01 */
.a01 .b01 {
	width: 7rem;
	height: fit-content;
	margin-right: 0.5rem;
	line-height: 1.3;
	/* 改行禁止 */
	white-space: nowrap;
}

/***********************************　header.a01 > h1.b01 > a.c01 */
.a01 .b01 .c01 {
	/* 子要素の2つ上下入れ替え */
	display: grid;
	text-align: justify;
}

/***********************************　header.a01 > h1.b01 > a.c01 > strong.d01 */
.a01 .b01 .c01 .d01 {
	width: 100%;
	display: block;
	order: 2;
	/* 両端揃え */
	text-align-last: justify;
}

/***********************************　header.a01 > h1.b01 > a.c01 > strong.d01 > mark */
.a01 .b01 .c01 .d01 mark {
	display: inline-block;
	color: #ff0000;
	text-shadow: #000 0.05rem 0.05rem 0.2rem;
}

/***********************************　header.a01 > h1.b01 > a.c01 > em.d02 */
.a01 .b01 .c01 .d02 {
	padding: 0 0.1rem 0 0;
	display: block;
	order: 1;
	font-size: 0.6rem;
	text-align-last: justify;
	/* 改行させない */
	white-space: nowrap;
}

/***********************************　header.a01 > nav.b02 */
.a01 .b02 {
	margin: 0;
	height: fit-content;
	/* 横スクロール */
	overflow: scroll;
	/* 横スクロールバー非表示　*/
	scrollbar-width: none;
	/* 横スクロールバー非表示 マイクロソフトのブラウザ　*/
	-ms-overflow-style: none;
}

.a01 .b02::-webkit-scrollbar {
	/* 横スクロールバー非表示 マイクロソフト以外のブラウザ　*/
	display: none;
}

/***********************************　header.a01 > nav.b02 > ul */
.a01 .b02 ul {
	/* 子要素を横並び、上下の中央配置 */
	display: flex;
	align-items: center;
	/* 幅　各liの合計に合わせる */
	width: fit-content;
}

/***********************************　header.a01 > nav.b02 > ul > li */
.a01 .b02 ul li {
	margin: 0 0.3rem 0 0;
	/* 英語を大文字 */
	text-transform: uppercase;
}

.a01 .b02 ul li:last-child {
	margin: 0 0.5rem 0 0;
}

/***********************************　header.a01 > nav.b02 > ul > li > a */
.a01 .b02 ul li a {
	/* インラインをブロックに変換 */
	display: block;
	width: fit-content;
	padding: 0.1rem 0.2rem;
	border-top: 0.05rem solid #fff;
	border-bottom: 0.05rem solid #fff;
	text-align: center;
	font-family: "Anton";
	font-style: normal;
}

/***********************************　header.a01 > nav.b02 > ul > li > a > mark */
.a01 .b02 ul li a mark {
	/* 親要素から自要素を改行 */
	display: block;
	font-family: "Noto Serif JP", serif;
	font-size: 0.65rem;
	color: #ffffff;
	/* 改行させない */
	white-space: nowrap;
}

/***********************************　aside.bg（opening animation css + js） */
@keyframes bgAnime {
	0% {
		opacity: 1;
	}

	100% {
		opacity: 0;
		display: none;
		pointer-events: none;
		z-index: -100;
	}
}

.bg {
	position: fixed;
	z-index: 1000;
	inset: 0;
	/* 子要素を上下・左右の中央配置 */
	display: grid;
	justify-content: center;
	align-content: center;
	background: #000;
	animation: bgAnime 0.3s linear 5.2s forwards;
}

/***********************************　aside.bg > h2.text */
@keyframes textAnime1 {
	0% {
		opacity: 0;
	}

	10% {
		opacity: 0;
	}

	35% {
		opacity: 1;
	}

	80% {
		opacity: 1;
	}

	100% {
		opacity: 0;
		visibility: hidden;
		display: none;
		pointer-events: none;
		z-index: -100;
	}
}

/***********************************　aside.bg > h2.text　及び　p.text */
.bg .text {
	width: 10.5rem;
	color: #fff;
	text-align-last: justify;
	font-weight: 500;
	line-height: 1.3;
	animation: textAnime1 5s linear forwards;
}

/***********************************　aside.bg > h2.text */
.bg h2 {
	order: 2;
	padding: 0.3rem 0 0 0;
	font-size: 1.5rem;
}

/***********************************　aside.bg > h2 > em > mark */
.bg h2 em mark {
	/* インラインをインラインブロックに変換 */
	display: inline-block;
	color: #ff0000;
	text-shadow: #000 0.05rem 0.05rem 0.2rem;
}

/***********************************　aside.bg > p */
.bg p {
	order: 1;
	padding: 0 0.1rem 0 0.1rem;
	font-size: 0.9rem;
}

/***********************************　main.a02　*/
.a02 {
	margin: 2.75rem 0 0;
}

/***********************************　main.a02::before 薄暗い森 */
.a02::before {
	content: "";
	position: fixed;
	top: 2.75rem;
	left: 0;
	z-index: -100;
	width: 100%;
	height: calc(100vh - 2.75rem);
	/* 薄暗い森 */
	background-image: url(../img/a02_img01.jpg);
	background-size: cover;
	background-position: center bottom;
	background-repeat: no-repeat;
}

/***********************************　main.a02::after 霧のようなアニメーション */
/* 
    @keyframes wave-animation {
    0% {
        background-color: rgba(255, 255, 255, 0);
        box-shadow: 0 0 1vh 1vh rgba(255, 255, 255, 0);
    }

    10% {
        background-color: rgba(255, 255, 255, 0.2);
        box-shadow: 0 0 40vh 40vh rgba(255, 255, 255, 0.2);
    }

    20% {
        background-color: rgba(255, 255, 255, 0.45);
        box-shadow: 0 0 30vh 30vh rgba(255, 255, 255, 0.45);
    }

    30% {
        background-color: rgba(255, 255, 255, 0.5);
        box-shadow: 0 0 50vh 50vh rgba(255, 255, 255, 0.5);
    }

    40% {
        background-color: rgba(255, 255, 255, 0.3);
        box-shadow: 0 0 55vh 55vh rgba(255, 255, 255, 0.3);
    }

    50% {
        background-color: rgba(255, 255, 255, 0.1);
        box-shadow: 0 0 80vh 80vh rgba(255, 255, 255, 0.1);
    }

    60% {
        background-color: rgba(255, 255, 255, 0.4);
        box-shadow: 0 0 90vh 90vh rgba(255, 255, 255, 0.4);
    }

    70% {
        background-color: rgba(255, 255, 255, 0.3);
        box-shadow: 0 0 100vh 100vh rgba(255, 255, 255, 0.3);
    }

    80% {
        background-color: rgba(255, 255, 255, 0.5);
        box-shadow: 0 0 90vh 90vh rgba(255, 255, 255, 0.5);
    }

    90% {
        background-color: rgba(255, 255, 255, 0.2);
        box-shadow: 0 0 70vh 70vh rgba(255, 255, 255, 0.2);
    }

    95% {
        background-color: rgba(255, 255, 255, 0);
        box-shadow: 0 0 100vh 100vh rgba(255, 255, 255, 0);
    }

    100% {
        background-color: rgba(255, 255, 255, 0);
        box-shadow: 0 0 100vh 100vh rgba(255, 255, 255, 0); 
    }
} */

.a02::after {
	/* content: ""; */
	position: sticky;
	bottom: 0;
	display: block;
	z-index: -99;
	width: 100%;
	height: 10vh;
	animation: wave-animation 20s ease-in-out infinite;
}

/***********************************　main.a02 > section.b01～section.b08 */
.a02 .b01,
.a02 .b02,
.a02 .b03,
.a02 .b04,
.a02 .b05,
.a02 .b06,
.a02 .b07,
.a02 .b08 {
	margin: 0 0 20rem;
	width: 100%;
	padding: 0 0.5rem 0;
}

/***********************************　main.a02 > section.b02～section.b08 > h2 */
.a02 .b02 h2,
.a02 .b03 h2,
.a02 .b04 h2,
.a02 .b05 h2,
.a02 .b06 h2,
.a02 .b07 h2,
.a02 .b08 h2 {
	position: relative;
	/* 自要素の左右位置を中央揃え */
	justify-content: center;
	/* 自要素に左右の線を配置する為のフレックスボックス　子要素 */
	display: flex;
	/* 左右の線 上下中央配置（横線も） */
	align-items: center;
	margin: 0 0 0.5rem;
	width: 100%;
	padding: 0 0 0.5rem;
	font-size: 3rem;
	color: rgba(255, 255, 255, 0.85);
	text-shadow: #777777 0.05rem 0.05rem 0.1rem;
	font-family: "Anton";
	text-align: center;
	/* 大文字の表示 */
	text-transform: uppercase;
}

/***********************************　main.a02 > section.b02～section.b08 > h2::before */
.a02 .b02 h2:before,
.a02 .b03 h2:before,
.a02 .b04 h2:before,
.a02 .b05 h2:before,
.a02 .b06 h2:before,
.a02 .b07 h2:before,
.a02 .b08 h2:before {
	content: "";
	/* 余白外側　h2の右側 */
	margin: 0 1rem 0 0;
	width: 1rem;
	/* 左右の線 四角形の縦の辺の長さ（線の太さを表す効果） */
	height: 0.1rem;
	/* 左右の線 四角形の背景色 */
	background-color: rgba(228, 228, 228, 0.6);
	box-shadow: 0 0 0.01rem 0.01rem rgba(0, 0, 0, 0.4);
}

/***********************************　main.a02 > section.b02～section.b08 > h2::after */
.a02 .b02 h2:after,
.a02 .b03 h2:after,
.a02 .b04 h2:after,
.a02 .b05 h2:after,
.a02 .b06 h2:after,
.a02 .b07 h2:after,
.a02 .b08 h2:after {
	content: "";
	/* 余白外側　h2の右側 */
	margin: 0 0 0 1rem;
	width: 1rem;
	/* 左右の線 四角形の縦の辺の長さ（線の太さを表す効果） */
	height: 0.1rem;
	/* 左右の線 四角形の背景色 */
	background-color: rgba(228, 228, 228, 0.6);
	box-shadow: 0 0 0.01rem 0.01rem rgba(0, 0, 0, 0.4);
}

/***********************************　main.a02 > section.b02～section.b08 > h2 > mark　*/
.a02 .b02 h2 mark,
.a02 .b03 h2 mark,
.a02 .b04 h2 mark,
.a02 .b05 h2 mark,
.a02 .b06 h2 mark,
.a02 .b07 h2 mark,
.a02 .b08 h2 mark {
	/* 改行効果 */
	display: block;
	/* 配置基準は親要素　*/
	position: absolute;
	bottom: 0.4rem;
	left: 50%;
	transform: translate(-50%, 0%);
	font-size: 1.1rem;
	font-weight: bold;
	color: #000;
	font-family: "Noto Serif JP", serif;
}

/***********************************　main.a02 > section.b01　メインビジュアル　雪山　*/
.a02 .b01 {
	/* 子要素の上下位置と左右位置の中央揃え　*/
	display: grid;
	align-content: center;
	justify-content: center;
	z-index: 1;
	/* 子要素の配置基準 */
	position: relative;
	width: 100vw;
	height: calc(100svh - 2.75rem);
	min-height: max(345px, 39vw, 39vh);
	/* 背景　雪山 */
	background-image: url(../img/a02b01_img01.jpg);
	background-size: cover;
	background-position: right bottom;
	background-repeat: no-repeat;
	container-type: inline-size;
}

@media (orientation:landscape) {
	.a02 .b01 {
		height: calc(100vh - 2.75rem);
	}
}


/***********************************　main.a02 > section.b01 > h2.c01 キーメッセージ　*/
.a02 .b01 .c01 {
	z-index: 1;
	width: fit-content;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.6) 20%, rgba(255, 255, 255, 0.65) 50%, rgba(255, 255, 255, 0.6) 80%);
	box-shadow: 0 0 0.5rem 0.5rem rgba(228, 228, 228, 0.7);
	font-weight: 100;
	color: #215474;
	text-shadow: 0 0 0.1rem 0.1rem rgba(255, 255, 255, 0.6);
	text-align: right;
	font-weight: 900;
	font-size: 1.1rem;
	letter-spacing: 0.05rem;
}

/***********************************　main.a02 > section.b01 > h2.c01 > strong　*/
.a02 .b01 .c01 strong {
	position: relative;
	display: block;
	width: fit-content;
	padding: 0 1.7rem 0 0;
	margin: 0 0 0.2rem 0;
	font-weight: 900;
}

/***********************************　main.a02 > section.b01 > h2.c01 > strong　*/
.a02 .b01 .c01 strong::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	margin-block: auto;
	right: 0.3rem;
	display: block;
	width: 1.2rem;
	height: 0.05rem;
	background-color: #215474;
}

/***********************************　main.a02 > section.b01 > p.c02 メインビジュアル クマ　*/
.a02 .b01 .c02 {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 3;
	width: max(27cqw, 25cqh);
	max-width: 80%;
	height: max(29cqw, 40cqh);
	min-height: 40%;
}

/***********************************　main.a02 > section.b01 > p.c02 > img　*/
.a02 .b01 .c02 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: right top;
}

/***********************************　main.a02 > section.b01 > p.c03 メインビジュアル 猟師　*/
.a02 .b01 .c03 {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 3;
	width: max(27cqw, 24cqh);
	max-width: 95%;
	min-width: 30%;
	height: max(29cqw, 40cqh);
	min-height: 43%;
}

/***********************************　main.a02 > section.b01 > p.c03 > img　*/
.a02 .b01 .c03 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: left bottom;
}

/***********************************　main.a02 > section.b02（STORY 悲しい過去）　*/
.a02 .b02 {
	z-index: 1;
	position: relative;
	margin-inline: auto;
	width: max(520px, 80vw);
	max-width: 100%;
	/* 霧のような演出 */
	background-color: rgba(0, 0, 0, 1);
	box-shadow: 0em 0em 3rem 3rem rgba(0, 0, 0, 1);
	color: #fff;
}

.a02 .b02::after {
	content: "";
	/* 擬似要素の規定値インラインをブロックに変換 */
	display: block;
	position: sticky;
	bottom: 0;
	left: 0;
	z-index: 10;
	grid-column: 1/3;
	width: 100%;
	height: 5rem;
	background-image: linear-gradient(0deg, rgba(0, 0, 0, 1) 1%, rgba(0, 0, 0, 0.85) 50%, rgba(0, 0, 0, 0.7) 75%, rgba(0, 0, 0, 0.01) 95%);
}

.a02 .b02 #progress-bar {
	position: sticky;
	bottom: 0.5rem;
	z-index: 100;
	width: 100%;
	height: 0.1rem;
	background-color: rgba(255, 0, 0, 0.7);
}

/***********************************　main.a02 > section.b02 > h2 */
.a02 .b02 h2 {
	position: sticky;
	top: 2.75rem;
	padding: 0 0 0.5rem;
	z-index: 8;
	/* 既述の指定を打ち消し */
	margin-bottom: 0;
	width: 100%;
	background-image: linear-gradient(180deg, rgba(0, 0, 0, 1) 1%, rgba(0, 0, 0, 0.85) 50%, rgba(0, 0, 0, 0.7) 75%, rgba(0, 0, 0, 0.01) 95%);
}

/***********************************　main.a02 > section.b02 > h2 > mark　*/
.a02 .b02 h2 mark {
	z-index: 9;
	color: #ff0000;
	text-shadow: #000 0.05rem 0.05rem 0.2rem;
}

/***********************************　main.a02 > section.b02 > section.c01 */
.a02 .b02 .c01 {
	z-index: 4;
	/* 子要素　配置指定 */
	display: grid;
	grid-template-columns: 1rem 1fr 1fr;
	grid-template-rows: auto auto auto;
	column-gap: 0.5rem;
	padding: 0 0.5rem;
}

/***********************************　main.a02 > section.b02 > section.c01 > h3.d01 */
.a02 .b02 .c01 .d01 {
	z-index: 5;
	position: sticky;
	top: 6.7rem;
	grid-column: 1/2;
	grid-row: 1/1;
	height: fit-content;
	margin-top: 10rem;
	/* #の挿入スペース確保 */
	padding-top: 1rem;
	color: #ff0000;
	text-shadow: 0 0 0.3rem rgba(255, 255, 255, 0.5);
	/* 文字の向き　縦　*/
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: vertical-rl;
	/* 数字の向き　縦　*/
	text-orientation: upright;
}

/***********************************　main.a02 > section.b02 > section.c01 > h3.d01::before */
.a02 .b02 .c01 .d01::before {
	content: "#";
	position: absolute;
	top: 0;
	left: 0;
	width: 1rem;
}

/***********************************　main.a02 > section.b02 > section.c01 > p.d02 */
.a02 .b02 .c01 .d02 {
	z-index: 5;
	position: sticky;
	top: 6.7rem;
	grid-column: 2/3;
	grid-row: 2/3;
	margin-bottom: 5rem;
	height: fit-content;
}

@media screen and (max-width:650px) {
	.a02 .b02 .c01 .d02 {
		grid-column: 2/4;
	}
}

@media screen and (max-aspect-ratio:7/10) {
	.a02 .b02 .c01 .d02 {
		grid-column: 2/4;
	}
}

/***********************************　main.a02 > section.b02 > section.c01 > p.d02 > img */
.a02 .b02 .c01 .d02 img {
	width: 100%;
	display: block;
}

/***********************************　main.a02 > section.b02 > section.c01 > div.d03 */
.a02 .b02 .c01 .d03 {
	z-index: 6;
	grid-column: 3/4;
	grid-row: 3/4;
	margin-bottom: 10rem;
	height: fit-content;
}

@media screen and (max-width:650px) {
	.a02 .b02 .c01 .d03 {
		grid-column: 2/4;
	}
}

@media screen and (max-aspect-ratio:7/10) {
	.a02 .b02 .c01 .d03 {
		grid-column: 2/4;
	}
}

/***********************************　main.a02 > section.b02 > section.c01 > div.d03 > p */
.a02 .b02 .c01 .d03 p {
	position: relative;
	margin-bottom: 2.5rem;
	/* "#"の挿入スペース */
	padding-left: 0.8rem;
	background-color: rgba(0, 0, 0, 0.7);
	box-shadow: 0 0 0.3rem 0.3rem rgba(0, 0, 0, 0.7);
	backdrop-filter: blur(1px);
	-webkit-backdrop-filter: blur(1px);
	font-size: 0.9rem;
	line-height: 1.5;
}

@media screen and (max-width:650px) {
	.a02 .b02 .c01 .d03 p {
		padding: 0.8rem;
	}
}

@media screen and (max-aspect-ratio:7/10) {
	.a02 .b02 .c01 .d03 p {
		padding: 0.8rem;
	}
}

.a02 .b02 .c01 .d03 p:last-child {
	margin-bottom: 0;
}

.a02 .b02 .c01 .d03 p::before {
	content: "#";
	position: absolute;
	left: 0;
	top: 0;
	font-weight: bold;
	color: #ff0000;
	text-shadow: 0 0 0.1rem rgba(0, 0, 0, 0.5);
	line-height: 1.5;
}

@media screen and (max-width:650px) {
	.a02 .b02 .c01 .d03 p::before {
		top: 0.8rem;
	}
}

@media screen and (max-aspect-ratio:7/10) {
	.a02 .b02 .c01 .d03 p::before {
		top: 0.8rem;
	}
}

/***********************************　main.a02 > section.b02 > section.c02 */
.a02 .b02 .c02 {
	z-index: 4;
	/* 子要素　配置指定 */
	display: grid;
	grid-template-columns: 1fr 1fr 1rem;
	grid-template-rows: auto auto auto;
	column-gap: 0.5rem;
	padding: 0 0.5rem;
}

/***********************************　main.a02 > section.b02 > section.c02 > h3.d01 */
.a02 .b02 .c02 .d01 {
	z-index: 5;
	position: sticky;
	top: 6.7rem;
	grid-column: 3/4;
	grid-row: 1/1;
	height: fit-content;
	margin-top: 10rem;
	/* #の挿入スペース確保 */
	padding-top: 1rem;
	color: #ff0000;
	text-shadow: 0 0 0.3rem rgba(255, 255, 255, 0.5);
	/* 文字の向き　縦　*/
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: vertical-rl;
	/* 数字の向き　縦　*/
	text-orientation: upright;
}

/***********************************　main.a02 > section.b02 > section.c02 > h3.d01::before */
.a02 .b02 .c02 .d01::before {
	content: "#";
	position: absolute;
	top: 0;
	left: 0;
	width: 1rem;
}

/***********************************　main.a02 > section.b02 > section.c02 > p.d02 */
.a02 .b02 .c02 .d02 {
	z-index: 5;
	position: sticky;
	top: 6.7rem;
	grid-column: 2/3;
	grid-row: 2/3;
	margin-bottom: 5rem;
	height: fit-content;
}

@media screen and (max-width:650px) {
	.a02 .b02 .c02 .d02 {
		grid-column: 1/3;
	}
}

@media screen and (max-aspect-ratio:7/10) {
	.a02 .b02 .c02 .d02 {
		grid-column: 1/3;
	}
}

/***********************************　main.a02 > section.b02 > section.c02 > p.d02 > img */
.a02 .b02 .c02 .d02 img {
	width: 100%;
	display: block;
}

/***********************************　main.a02 > section.b02 > section.c02 > div.d03 */
.a02 .b02 .c02 .d03 {
	z-index: 6;
	grid-column: 1/2;
	grid-row: 3/4;
	margin-bottom: 10rem;
	height: fit-content;
}

@media screen and (max-width:650px) {
	.a02 .b02 .c02 .d03 {
		grid-column: 1/3;
	}
}

@media screen and (max-aspect-ratio:7/10) {
	.a02 .b02 .c02 .d03 {
		grid-column: 1/3;
	}
}

/***********************************　main.a02 > section.b02 > section.c02 > div.d03 > p */
.a02 .b02 .c02 .d03 p {
	position: relative;
	margin-bottom: 2.5rem;
	/* "#"の挿入スペース */
	padding-left: 0.8rem;
	background-color: rgba(0, 0, 0, 0.7);
	box-shadow: 0 0 0.3rem 0.3rem rgba(0, 0, 0, 0.7);
	backdrop-filter: blur(1px);
	-webkit-backdrop-filter: blur(1px);
	font-size: 0.9rem;
	line-height: 1.5;
}

@media screen and (max-width:650px) {
	.a02 .b02 .c02 .d03 p {
		padding: 0.8rem;
	}
}

@media screen and (max-aspect-ratio:7/10) {
	.a02 .b02 .c02 .d03 p {
		padding: 0.8rem;
	}
}

.a02 .b02 .c02 .d03 p:last-child {
	margin-bottom: 0;
}

.a02 .b02 .c02 .d03 p::before {
	content: "#";
	position: absolute;
	left: 0;
	top: 0;
	font-weight: bold;
	color: #ff0000;
	text-shadow: 0 0 0.1rem rgba(0, 0, 0, 0.5);
	line-height: 1.5;
}

@media screen and (max-width:650px) {
	.a02 .b02 .c02 .d03 p::before {
		top: 0.8rem;
	}
}

@media screen and (max-aspect-ratio:7/10) {
	.a02 .b02 .c02 .d03 p::before {
		top: 0.8rem;
	}
}

/***********************************　main.a02 > section.b02 > section.c03 */
.a02 .b02 .c03 {
	z-index: 4;
	/* 子要素　配置指定 */
	display: grid;
	grid-template-columns: 1rem 1fr 1fr;
	grid-template-rows: auto auto auto;
	column-gap: 0.5rem;
	padding: 0 0.5rem;
}

/***********************************　main.a02 > section.b02 > section.c03 > h3.d01 */
.a02 .b02 .c03 .d01 {
	z-index: 5;
	position: sticky;
	top: 6.7rem;
	grid-column: 1/2;
	grid-row: 1/1;
	height: fit-content;
	margin-top: 10rem;
	/* #の挿入スペース確保 */
	padding-top: 1rem;
	color: #ff0000;
	text-shadow: 0 0 0.3rem rgba(255, 255, 255, 0.5);
	/* 文字の向き　縦　*/
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: vertical-rl;
	/* 数字の向き　縦　*/
	text-orientation: upright;
}

/***********************************　main.a02 > section.b02 > section.c03 > h3.d01::before */
.a02 .b02 .c03 .d01::before {
	content: "#";
	position: absolute;
	top: 0;
	left: 0;
	width: 1rem;
}

/***********************************　main.a02 > section.b02 > section.c03 > p.d02 */
.a02 .b02 .c03 .d02 {
	z-index: 5;
	position: sticky;
	top: 6.7rem;
	grid-column: 2/3;
	grid-row: 2/3;
	margin-bottom: 5rem;
	height: fit-content;
}

@media screen and (max-width:650px) {
	.a02 .b02 .c03 .d02 {
		grid-column: 2/4;
	}
}

@media screen and (max-aspect-ratio:7/10) {
	.a02 .b02 .c03 .d02 {
		grid-column: 2/4;
	}
}

/***********************************　main.a02 > section.b02 > section.c03 > p.d02 > img */
.a02 .b02 .c03 .d02 img {
	width: 100%;
	display: block;
}

/***********************************　main.a02 > section.b02 > section.c03 > div.d03 */
.a02 .b02 .c03 .d03 {
	z-index: 6;
	grid-column: 3/4;
	grid-row: 3/4;
	margin-bottom: 10rem;
	height: fit-content;
}

@media screen and (max-width:650px) {
	.a02 .b02 .c03 .d03 {
		grid-column: 2/4;
	}
}

@media screen and (max-aspect-ratio:7/10) {
	.a02 .b02 .c03 .d03 {
		grid-column: 2/4;
	}
}

/***********************************　main.a02 > section.b02 > section.c03 > div.d03 > p */
.a02 .b02 .c03 .d03 p {
	position: relative;
	margin-bottom: 2.5rem;
	/* "#"の挿入スペース */
	padding-left: 0.8rem;
	background-color: rgba(0, 0, 0, 0.7);
	box-shadow: 0 0 0.3rem 0.3rem rgba(0, 0, 0, 0.7);
	backdrop-filter: blur(1px);
	-webkit-backdrop-filter: blur(1px);
	font-size: 0.9rem;
	line-height: 1.5;
}

@media screen and (max-width:650px) {
	.a02 .b02 .c03 .d03 p {
		padding: 0.8rem;
	}
}

@media screen and (max-aspect-ratio:7/10) {
	.a02 .b02 .c03 .d03 p {
		padding: 0.8rem;
	}
}

.a02 .b02 .c03 .d03 p:last-child {
	margin-bottom: 0;
}

.a02 .b02 .c03 .d03 p::before {
	content: "#";
	position: absolute;
	left: 0;
	top: 0;
	font-weight: bold;
	color: #ff0000;
	text-shadow: 0 0 0.1rem rgba(0, 0, 0, 0.5);
	line-height: 1.5;
}

@media screen and (max-width:650px) {
	.a02 .b02 .c03 .d03 p::before {
		top: 0.8rem;
	}
}

@media screen and (max-aspect-ratio:7/10) {
	.a02 .b02 .c03 .d03 p::before {
		top: 0.8rem;
	}
}

/***********************************　main.a02 > section.b02 > section.c04 */
.a02 .b02 .c04 {
	z-index: 4;
	/* 子要素　配置指定 */
	display: grid;
	grid-template-columns: 1fr 1fr 1rem;
	grid-template-rows: auto auto auto;
	column-gap: 0.5rem;
	padding: 0 0.5rem;
}

/***********************************　main.a02 > section.b02 > section.c04 > h3.d01 */
.a02 .b02 .c04 .d01 {
	z-index: 5;
	position: sticky;
	top: 6.7rem;
	grid-column: 3/4;
	grid-row: 1/1;
	height: fit-content;
	margin-top: 10rem;
	/* #の挿入スペース確保 */
	padding-top: 1rem;
	color: #ff0000;
	text-shadow: 0 0 0.3rem rgba(255, 255, 255, 0.5);
	/* 文字の向き　縦　*/
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: vertical-rl;
	/* 数字の向き　縦　*/
	text-orientation: upright;
}

/***********************************　main.a02 > section.b02 > section.c04 > h3.d01::before */
.a02 .b02 .c04 .d01::before {
	content: "#";
	position: absolute;
	top: 0;
	left: 0;
	width: 1rem;
}

/***********************************　main.a02 > section.b02 > section.c04 > p.d02 */
.a02 .b02 .c04 .d02 {
	z-index: 5;
	position: sticky;
	top: 6.7rem;
	grid-column: 2/3;
	grid-row: 2/3;
	margin-bottom: 5rem;
	height: fit-content;
}

@media screen and (max-width:650px) {
	.a02 .b02 .c04 .d02 {
		grid-column: 1/3;
	}
}

@media screen and (max-aspect-ratio:7/10) {
	.a02 .b02 .c04 .d02 {
		grid-column: 1/3;
	}
}

/***********************************　main.a02 > section.b02 > section.c04 > p.d02 > img */
.a02 .b02 .c04 .d02 img {
	width: 100%;
	display: block;
}

/***********************************　main.a02 > section.b02 > section.c04 > div.d03 */
.a02 .b02 .c04 .d03 {
	z-index: 6;
	grid-column: 1/2;
	grid-row: 3/4;
	margin-bottom: 10rem;
	height: fit-content;
}

@media screen and (max-width:650px) {
	.a02 .b02 .c04 .d03 {
		grid-column: 1/3;
	}
}

@media screen and (max-aspect-ratio:7/10) {
	.a02 .b02 .c04 .d03 {
		grid-column: 1/3;
	}
}

/***********************************　main.a02 > section.b02 > section.c04 > div.d03 > p */
.a02 .b02 .c04 .d03 p {
	position: relative;
	margin-bottom: 2.5rem;
	/* "#"の挿入スペース */
	padding-left: 0.8rem;
	background-color: rgba(0, 0, 0, 0.7);
	box-shadow: 0 0 0.3rem 0.3rem rgba(0, 0, 0, 0.7);
	backdrop-filter: blur(1px);
	-webkit-backdrop-filter: blur(1px);
	font-size: 0.9rem;
	line-height: 1.5;
}

@media screen and (max-width:650px) {
	.a02 .b02 .c04 .d03 p {
		padding: 0.8rem;
	}
}

@media screen and (max-aspect-ratio:7/10) {
	.a02 .b02 .c04 .d03 p {
		padding: 0.8rem;
	}
}

.a02 .b02 .c04 .d03 p:last-child {
	margin-bottom: 0;
}

.a02 .b02 .c04 .d03 p::before {
	content: "#";
	position: absolute;
	left: 0;
	top: 0;
	font-weight: bold;
	color: #ff0000;
	text-shadow: 0 0 0.1rem rgba(0, 0, 0, 0.5);
	line-height: 1.5;
}

@media screen and (max-width:650px) {
	.a02 .b02 .c04 .d03 p::before {
		top: 0.8rem;
	}
}

@media screen and (max-aspect-ratio:7/10) {
	.a02 .b02 .c04 .d03 p::before {
		top: 0.8rem;
	}
}

/***********************************　main.a02 > section.b02 > section.c05 */
.a02 .b02 .c05 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: repeat(49, 1fr);
	z-index: 2;
	/* 子要素配置基準 */
	position: relative;
	width: 100%;
	padding: 0 0.5rem;
	container-type: inline-size;
}

.a02 .b02 .c05::before {
	content: "";
	position: sticky;
	top: 2.75rem;
	left: 0;
	right: 0;
	/* 自要素配置 */
	grid-column: 1/5;
	grid-row: 1/10;
	z-index: -1;
	width: 100%;
	height: calc(100vh - 2.75rem - 2rem);
	background-image: url(../img/a02b04_img10.jpg);
	background-repeat: no-repeat;
	background-position: bottom 0.1rem center;
	background-size: cover;
}

.a02 .b02 .c05::after {
	content: "";
	top: 0;
	left: 0;
	right: 0;
	/* 自要素配置 */
	grid-column: 1/5;
	grid-row: 1/10;
	/* z-index: -1; */
	width: 100%;
	background-color: #000;
}

/***********************************　main.a02 > section.b02 > section.c05 > p */
.a02 .b02 .c05 p {
	/* 子要素（アイテム）指定 */
	display: grid;
	align-content: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	text-align: center;
	color: #fff;
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_01 */
.a02 .b02 .c05 .d02_01 {
	grid-column: 1/3;
	grid-row: 10/11;
	display: grid;
	align-content: flex-start;
	justify-content: center;
	width: 100%;
	background-color: #000;
	font-size: min(5cqw, 1rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_02 */
.a02 .b02 .c05 .d02_02 {
	grid-column: 3/5;
	grid-row: 10/11;
	display: grid;
	align-content: center;
	justify-content: center;
	width: 100%;
	background-color: #000;
	font-size: min(6cqw, 1.2rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_03 */
.a02 .b02 .c05 .d02_03 {
	grid-column: 1/2;
	grid-row: 11/13;
	display: grid;
	align-content: flex-start;
	justify-content: flex-start;
	background-color: #000;
	font-size: min(4cqw, 0.8rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_04 */
.a02 .b02 .c05 .d02_04 {
	grid-column: 2/3;
	grid-row: 11/13;
	display: grid;
	align-content: center;
	justify-content: center;
	background-color: #000;
	font-size: min(4.5cqw, 0.9rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_05 */
.a02 .b02 .c05 .d02_05 {
	grid-column: 3/5;
	grid-row: 11/12;
	display: grid;
	align-content: center;
	justify-content: flex-end;
	background-color: #000;
	font-size: min(4cqw, 0.8rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_06 */
.a02 .b02 .c05 .d02_06 {
	grid-column: 3/5;
	grid-row: 12/13;
	display: grid;
	align-content: center;
	justify-content: flex-start;
	background-color: #000;
	font-size: min(5cqw, 1rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_07 */
.a02 .b02 .c05 .d02_07 {
	grid-column: 1/2;
	grid-row: 13/14;
	display: grid;
	align-content: center;
	justify-content: center;
	background-color: #000;
	font-size: min(3.5cqw, 0.7rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_08 */
.a02 .b02 .c05 .d02_08 {
	grid-column: 2/5;
	grid-row: 13/14;
	display: grid;
	align-content: flex-start;
	justify-content: flex-end;
	background-color: #000;
	font-size: min(4.3cqw, 0.86rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_09 */
.a02 .b02 .c05 .d02_09 {
	grid-column: 1/3;
	grid-row: 14/15;
	display: grid;
	align-content: center;
	justify-content: center;
	background-color: #000;
	font-size: min(4.3cqw, 0.86rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_10 */
.a02 .b02 .c05 .d02_10 {
	grid-column: 3/5;
	grid-row: 14/15;
	display: grid;
	align-content: flex-end;
	justify-content: center;
	background-color: #000;
	font-size: min(4.3cqw, 0.86rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > h4.d01_01 */
.a02 .b02 .c05 .d01_01 {
	grid-column: 1/5;
	grid-row: 15/17;
	display: grid;
	align-content: center;
	justify-content: flex-start;
	background-color: #000;
	/* background-image: radial-gradient(min(18.75cqw, 3.75rem) min(12.5cqw, 2.5rem) at 30% 50%, transparent, rgba(0, 0, 0, 1)); */
	font-size: min(6.25cqw, 1.25rem);
	text-align: left;
	/* text-shadow: 0px 0px 3px #E93F33, 0px 0px 8px #E93F33, 0px 0px 10px #E93F33, 0px 15px 10px red, 0px 30px 15px red; */
	text-shadow: 0px 0px 0.06rem #E93F33, 0px 0px 0.16rem #E93F33, 0px 0px 0.2rem #E93F33, 0px 0.3rem 0.2rem red, 0px 0.6rem 0.3rem red;
	color: #fff;
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_11 */
.a02 .b02 .c05 .d02_11 {
	grid-column: 1/3;
	grid-row: 17/18;
	display: grid;
	align-content: flex-start;
	justify-content: center;
	background-color: #000;
	font-size: min(3.6cqw, 0.72rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_12 */
.a02 .b02 .c05 .d02_12 {
	grid-column: 3/5;
	grid-row: 17/18;
	display: grid;
	align-content: flex-end;
	justify-content: flex-end;
	background-color: #000;
	font-size: min(3.6cqw, 0.72rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_13 */
.a02 .b02 .c05 .d02_13 {
	grid-column: 1/2;
	grid-row: 18/20;
	display: grid;
	align-content: flex-start;
	justify-content: flex-start;
	background-color: #000;
	font-size: min(6cqw, 1.2rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_14 */
.a02 .b02 .c05 .d02_14 {
	grid-column: 2/3;
	grid-row: 18/20;
	display: grid;
	align-content: center;
	justify-content: center;
	background-color: #000;
	font-size: min(4.5cqw, 0.9rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_15 */
.a02 .b02 .c05 .d02_15 {
	grid-column: 3/5;
	grid-row: 18/20;
	display: grid;
	align-content: flex-end;
	justify-content: flex-start;
	background-color: #000;
	font-size: min(4.5cqw, 0.9rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_16 */
.a02 .b02 .c05 .d02_16 {
	grid-column: 3/5;
	grid-row: 20/21;
	display: grid;
	align-content: center;
	justify-content: flex-end;
	background-color: #000;
	font-size: min(4.25cqw, 0.85rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_17 */
.a02 .b02 .c05 .d02_17 {
	grid-column: 3/5;
	grid-row: 21/22;
	display: grid;
	align-content: flex-start;
	justify-content: center;
	background-color: #000;
	font-size: min(4.25cqw, 0.85rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_18 */
.a02 .b02 .c05 .d02_18 {
	grid-column: 1/3;
	grid-row: 20/21;
	display: grid;
	align-content: flex-start;
	justify-content: center;
	background-color: #000;
	font-size: min(4.25cqw, 0.85rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_19 */
.a02 .b02 .c05 .d02_19 {
	grid-column: 1/3;
	grid-row: 21/22;
	display: grid;
	align-content: center;
	justify-content: flex-end;
	background-color: #000;
	font-size: min(4.25cqw, 0.85rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_20 */
.a02 .b02 .c05 .d02_20 {
	grid-column: 1/3;
	grid-row: 22/23;
	display: grid;
	align-content: center;
	justify-content: flex-start;
	background-color: #000;
	font-size: min(5cqw, 1rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_21 */
.a02 .b02 .c05 .d02_21 {
	grid-column: 3/5;
	grid-row: 22/23;
	display: grid;
	align-content: flex-start;
	justify-content: flex-start;
	background-color: #000;
	font-size: min(5cqw, 1rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > h4.d01_02 */
.a02 .b02 .c05 .d01_02 {
	grid-column: 1/5;
	grid-row: 23/25;
	display: grid;
	align-content: center;
	justify-content: flex-end;
	background-color: #000;
	/* background-image: radial-gradient(min(22.5cqw, 4.5rem) min(15cqw, 3rem) at 70% 50%, transparent, rgba(0, 0, 0, 1)); */
	font-size: min(7.5cqw, 1.5rem);
	text-align: right;
	/* text-shadow: 0px 0px 4px #E93F33, 0px 0px 8px #E93F33, 0px 0px 10px #E93F33, 0px 15px 10px red, 0px 30px 15px red; */
	text-shadow: 0px 0px 0.08rem #E93F33, 0px 0px 0.16rem #E93F33, 0px 0px 0.2rem #E93F33, 0px 0.3rem 0.2rem red, 0px 0.6rem 0.3rem red;
	color: #fff;
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_22 */
.a02 .b02 .c05 .d02_22 {
	grid-column: 1/4;
	grid-row: 25/26;
	display: grid;
	align-content: flex-start;
	justify-content: center;
	background-color: #000;
	font-size: min(4cqw, 0.8rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_23 */
.a02 .b02 .c05 .d02_23 {
	grid-column: 4/5;
	grid-row: 25/26;
	display: grid;
	align-content: center;
	justify-content: center;
	background-color: #000;
	font-size: min(3.5cqw, 0.7rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_24 */
.a02 .b02 .c05 .d02_24 {
	grid-column: 3/5;
	grid-row: 26/27;
	display: grid;
	align-content: flex-start;
	justify-content: center;
	background-color: #000;
	font-size: min(4cqw, 0.8rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_25 */
.a02 .b02 .c05 .d02_25 {
	grid-column: 1/3;
	grid-row: 26/27;
	display: grid;
	align-content: center;
	justify-content: flex-end;
	background-color: #000;
	font-size: min(3.6cqw, 0.72rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_26 */
.a02 .b02 .c05 .d02_26 {
	grid-column: 1/3;
	grid-row: 27/28;
	display: grid;
	align-content: flex-start;
	justify-content: flex-start;
	background-color: #000;
	font-size: min(3.5cqw, 0.7rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_27 */
.a02 .b02 .c05 .d02_27 {
	grid-column: 3/4;
	grid-row: 27/28;
	display: grid;
	align-content: center;
	justify-content: center;
	background-color: #000;
	font-size: min(3.6cqw, 0.72rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_28 */
.a02 .b02 .c05 .d02_28 {
	grid-column: 4/5;
	grid-row: 27/28;
	display: grid;
	align-content: flex-end;
	justify-content: center;
	background-color: #000;
	font-size: min(3.6cqw, 0.72rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_29 */
.a02 .b02 .c05 .d02_29 {
	grid-column: 3/5;
	grid-row: 28/29;
	display: grid;
	align-content: center;
	justify-content: center;
	background-color: #000;
	font-size: min(4.5cqw, 0.9rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_30 */
.a02 .b02 .c05 .d02_30 {
	grid-column: 1/3;
	grid-row: 28/29;
	display: grid;
	align-content: flex-end;
	justify-content: center;
	background-color: #000;
	font-size: min(4.5cqw, 0.9rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_31 */
.a02 .b02 .c05 .d02_31 {
	grid-column: 1/3;
	grid-row: 29/30;
	display: grid;
	align-content: center;
	justify-content: flex-end;
	background-color: #000;
	font-size: min(4.5cqw, 0.9rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_32 */
.a02 .b02 .c05 .d02_32 {
	grid-column: 3/5;
	grid-row: 29/30;
	display: grid;
	align-content: flex-end;
	justify-content: flex-end;
	background-color: #000;
	font-size: min(4.5cqw, 0.9rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > p.d02_33 */
.a02 .b02 .c05 .d02_33 {
	grid-column: 1/5;
	grid-row: 30/31;
	display: grid;
	align-content: center;
	justify-content: flex-start;
	background-color: #000;
	font-size: min(5cqw, 1rem);
}

/***********************************　main.a02 > section.b02 > section.c05 > h4.d01_03 */
.a02 .b02 .c05 .d01_03 {
	grid-column: 1/5;
	grid-row: 31/50;
	display: grid;
	align-content: center;
	justify-content: center;
	background-image: radial-gradient(min(69cqw, 12.3rem) min(46cqw, 8.2rem) at 50% 50%, transparent, rgba(0, 0, 0, 1));
	font-size: min(11.5cqw, 2.3rem);
	/* text-shadow: 0px 0px 4px #E93F33, 0px 0px 8px #E93F33, 0px 0px 10px #E93F33, 0px 15px 10px red, 0px 30px 15px red; */
	text-shadow: 0px 0px 0.12rem #E93F33, 0px 0px 0.24rem #E93F33, 0px 0px 0.3rem #E93F33, 0px 0.45rem 0.3rem red, 0px 0.9rem 0.45rem red;
	color: #fff;
	font-feature-settings: "palt";
}

.glitch {
	position: relative;
	font-weight: bold;
	/* letter-spacing: 3px; */
	z-index: 1;
}

.glitch:before {
	content: attr(data-text);
	position: absolute;
	top: 0;
	left: -2px;
	width: 100%;
	/* color: 50px; */
	overflow: hidden;
	clip: rect(0, 900px, 0, 0);
	animation: noise-before 3s infinite linear alternate-reverse;
}

.glitch:after {
	content: attr(data-text);
	position: absolute;
	top: 0;
	left: 2px;
	width: 100%;
	/* color: 50px; */
	background-color: #000000;
	overflow: hidden;
	clip: rect(0, 900px, 0, 0);
	animation: noise-after 2s infinite linear alternate-reverse;
}

@keyframes noise-before {
	0% {
		clip: rect(61px, 9999px, 52px, 0);
	}

	5% {
		clip: rect(33px, 9999px, 144px, 0);
	}

	10% {
		clip: rect(121px, 9999px, 115px, 0);
	}

	15% {
		clip: rect(144px, 9999px, 162px, 0);
	}

	20% {
		clip: rect(62px, 9999px, 180px, 0);
	}

	25% {
		clip: rect(34px, 9999px, 42px, 0);
	}

	30% {
		clip: rect(147px, 9999px, 179px, 0);
	}

	35% {
		clip: rect(99px, 9999px, 63px, 0);
	}

	40% {
		clip: rect(188px, 9999px, 122px, 0);
	}

	45% {
		clip: rect(154px, 9999px, 14px, 0);
	}

	50% {
		clip: rect(63px, 9999px, 37px, 0);
	}

	55% {
		clip: rect(161px, 9999px, 147px, 0);
	}

	60% {
		clip: rect(109px, 9999px, 175px, 0);
	}

	65% {
		clip: rect(157px, 9999px, 88px, 0);
	}

	70% {
		clip: rect(173px, 9999px, 131px, 0);
	}

	75% {
		clip: rect(62px, 9999px, 70px, 0);
	}

	80% {
		clip: rect(24px, 9999px, 153px, 0);
	}

	85% {
		clip: rect(138px, 9999px, 40px, 0);
	}

	90% {
		clip: rect(79px, 9999px, 136px, 0);
	}

	95% {
		clip: rect(25px, 9999px, 34px, 0);
	}

	100% {
		clip: rect(173px, 9999px, 166px, 0);
	}

}

@keyframes noise-after {
	0% {
		clip: rect(26px, 9999px, 33px, 0);
	}

	5% {
		clip: rect(140px, 9999px, 198px, 0);
	}

	10% {
		clip: rect(184px, 9999px, 89px, 0);
	}

	15% {
		clip: rect(121px, 9999px, 6px, 0);
	}

	20% {
		clip: rect(181px, 9999px, 99px, 0);
	}

	25% {
		clip: rect(154px, 9999px, 133px, 0);
	}

	30% {
		clip: rect(134px, 9999px, 169px, 0);
	}

	35% {
		clip: rect(26px, 9999px, 187px, 0);
	}

	40% {
		clip: rect(147px, 9999px, 137px, 0);
	}

	45% {
		clip: rect(31px, 9999px, 52px, 0);
	}

	50% {
		clip: rect(191px, 9999px, 109px, 0);
	}

	55% {
		clip: rect(74px, 9999px, 54px, 0);
	}

	60% {
		clip: rect(145px, 9999px, 75px, 0);
	}

	65% {
		clip: rect(153px, 9999px, 198px, 0);
	}

	70% {
		clip: rect(99px, 9999px, 136px, 0);
	}

	75% {
		clip: rect(118px, 9999px, 192px, 0);
	}

	80% {
		clip: rect(1px, 9999px, 83px, 0);
	}

	85% {
		clip: rect(145px, 9999px, 98px, 0);
	}

	90% {
		clip: rect(121px, 9999px, 154px, 0);
	}

	95% {
		clip: rect(156px, 9999px, 44px, 0);
	}

	100% {
		clip: rect(67px, 9999px, 122px, 0);
	}
}

/***********************************　ぼかし */
.blur {
	transition: all 0.75s;
	filter: blur(0.5rem);
	background-color: #000;
}

.blur.scrollin {
	filter: blur(0);
	background-color: transparent;
}

/***********************************　モーダル */
.js-modal-open {
	cursor: pointer;
}

.js-modal {
	z-index: 200;
	/* 自要素を上下・左右の中央配置 */
	position: fixed;
	inset: 0;
	width: 100%;
	overflow: auto;
	background: rgba(0, 0, 0, 0.7);
	cursor: pointer;
	visibility: hidden;
	opacity: 0;
	transition: 0.7s;
}

.js-modal.is-active {
	position: fixed;
	z-index: 300;
	opacity: 1;
	visibility: visible;
}

.js-modal.is-active .js-modal-close {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.7s, visibility 0.7s;
	/* visibleに遷移 */
}

.js-modal-close {

	/* 「.modal_content　z-index」よりも上に配置 */
	z-index: 500;
	/* ボタンの表示位置 */
	position: fixed;
	top: 1%;
	right: 1%;
	width: 2.5rem;
	height: 2.5rem;
	background-image: url(../img/a02b03_img00.png);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	border-radius: 50%;
	cursor: pointer;
	/* 初期状態で非表示 */
	opacity: 0;
	visibility: hidden;
	/* visibilityの遅延を設定 */
	/* transition: opacity 0.3s, visibility 0s 0.3s; */
}

.js-modal-close::before {

	/* z-index: 600; */

	/* content: ""; */

	/* position: absolute; */

	/* inset: 0; */

	/* margin: auto; */

	/* width: 100%; */

	/* height: 100%; */

	/* background-image: url(../img/a02b03_img00.png); */

	/* background-position: center center; */

	/* background-size: contain; */

	/* background-repeat: no-repeat; */
}

.js-no-scroll {
	overflow: hidden;
	touch-action: none;
}

/***********************************　main.a02 > section.b03（BEAR クマのこと）　*/
.a02 .b03 {
	/* 既定の余白を0 */
	padding: 0;
}

@media screen and (max-width:650px) {
	.a02 .b03 {
		padding: 0;
	}
}

@media screen and (max-height:500px) {
	.a02 .b03 {
		padding: 0;
	}
}

/***********************************　main.a02 > section.b03 > h2.c01 */

/***********************************　main.a02 > section.b03 > dl.c02 */
.a02 .b03 .c02 {
	/* 子要素を横並び　改行あり */
	display: grid;
	/* 縦列 */
	grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
	gap: 0.5rem;
	padding: 0 0.5rem;
}

@media screen and (max-width:650px) {
	.a02 .b03 .c02 {
		/* 「子要素を横並び　改行あり」を解除、「子要素を横並び　改行なし」 */
		/* 縦列 */
		grid-template-columns: unset;
		grid-template-columns: repeat(8, min(65vw, 65vh));
		/* 子要素のオーバーフロー */
		/* overflow: scroll; */
		overflow-x: auto;
		/* scroll-snap-type: x mandatory; */
		/* スクロールバーとの重複回避 */
		padding-bottom: max(3vh, 3vw);
	}
}

@media screen and (max-height:500px) {
	.a02 .b03 .c02 {
		/* 「子要素を横並び　改行あり」を解除、「子要素を横並び　改行なし」 */
		/* 縦列 */
		grid-template-columns: unset;
		grid-template-columns: repeat(8, min(50vw, 50vh));
		/* 子要素のオーバーフロー */
		/* overflow: scroll; */
		overflow-x: auto;
		/* scroll-snap-type: x mandatory; */
		/* スクロールバーとの重複回避 */
		padding-bottom: max(3vh, 3vw);
	}
}

/***********************************　main.a02 > section.b03 > dl.c01 > dt.d01 */
.a02 .b03 .c02 .d01 {
	/* 子要素の配置位置・表示順番変更　*/
	display: grid;
	/* グリッドアイテムごと左右位置の中央 */
	justify-content: center;
	/* グリッドアイテムごと上下位置の上部 */
	align-content: start;
	/* 自要素（カード型レイアウト）の縦横比 */
	aspect-ratio: 3 / 4.2;
	height: auto;
	background-color: rgba(255, 255, 255, 0.6);
	backdrop-filter: blur(0.5rem);
	-webkit-backdrop-filter: blur(0.5rem);
	container-type: inline-size;
}

.a02 .b03 .c02 .d01:hover {
	opacity: 0.9;
}

/***********************************　main.a02 > section.b03 > dl.c01 > dt.d01 > p.e01 */
.a02 .b03 .c02 .d01 .e01 {
	/* 順番変更 */
	order: 2;
	padding: 1.5cqw;
	font-size: 9cqw;
	color: #ff0000;
	line-height: 1.3;
}

/***********************************　main.a02 > section.b03 > dl.c01 > dt.d01 > p.e02 */
.a02 .b03 .c02 .d01 .e02 {
	/* 順番変更 */
	order: 1;
}

/***********************************　main.a02 > section.b03 > dl.c01 > dt.d01 > p.e02 > img */
.a02 .b03 .c02 .d01 .e02 img {
	/* インラインをブロック化 */
	display: block;
	object-fit: cover;
	width: 100%;
	min-width: 10vh;
}

/***********************************　main.a02 > section.b03 > dl.c01 > dt.d01 > p.e03 */
.a02 .b03 .c02 .d01 .e03 {
	/* 順番変更 */
	order: 3;
	height: 100%;
	padding: 1.5cqw;
	overflow: hidden;
	font-size: 6.5cqw;
	line-height: 1.3;
}

/***********************************　main.a02 > section.b03 > dl.c01 > dd.d02 */
.a02 .b03 .c02 .d02 {
	/* z-index →　js-modalに指定*/
}

/***********************************　main.a02 > section.b03 > dl.c01 > dd.d02 > h3.e01 */
.a02 .b03 .c02 .d02 .e01 {
	z-index: 500;
	margin: 5rem 0 0;
	position: sticky;
	top: 0;
	margin-inline: auto;
	width: max(590px, 80vw);
	padding: 0.5rem;
	background-color: #000;
	color: #fff;
	font-weight: 900;
	font-size: 1.1rem;
	cursor: default;
}

@media screen and (max-width:610px) {
	.a02 .b03 .c02 .d02 .e01 {
		width: 100%;
	}
}

/***********************************　main.a02 > section.b03 > dl.c01 > dd.d02 > dl.e02 */
.a02 .b03 .c02 .d02 .e02 {
	z-index: 400;
	margin: 0 auto 3.5rem;
	width: max(590px, 80vw);
	padding: 2rem 0.5rem 0;
	background-color: #fff;
	cursor: default;
}

@media screen and (max-width:610px) {
	.a02 .b03 .c02 .d02 .e02 {
		width: 100%;
	}
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dt.f01 */
.a02 .b03 .c02 .d02 .e02 .f01 {
	margin: auto;
	position: relative;
	padding-bottom: 0.75rem;
	width: fit-content;
	font-size: 1.3rem;
	font-weight: 500;
	text-align: center;
	text-wrap: balance;
	word-break: auto-phrase;
}

.a02 .b03 .c02 .d02 .e02 .f01::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 3rem;
	height: 0.1rem;
	background-color: #000;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 */
.a02 .b03 .c02 .d02 .e02 .f02 {
	margin: auto;
	width: max(531px, 90%);
	padding: 0 0 3rem;
	margin-top: 1rem;
}

@media screen and (max-width:555px) {
	.a02 .b03 .c02 .d02 .e02 .f02 {
		width: 100%;
	}
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > dl.g01*/
.a02 .b03 .c02 .d02 .e02 .f02 .g01 {
	display: grid;
	grid-template-columns: max(8.5rem, 30%) max(8.5rem, 70%);
	padding: 0 0 1rem;
	overflow-x: scroll;
	scrollbar-width: thin;
	font-size: 0.9rem;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > dl.g01 > dt.h01 */
.a02 .b03 .c02 .d02 .e02 .f02 .g01 .h01 {
	grid-column: 1/2;
	padding: 1rem 0.5rem 0.5rem 1rem;
	border-top: solid #ababab 0.035rem;
	font-weight: 500;
}

.a02 .b03 .c02 .d02 .e02 .f02 .g01 .h01:first-of-type {
	border-top: unset;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > dl.g01 > dd.h02_01 */
.a02 .b03 .c02 .d02 .e02 .f02 .g01 .h02_01 {
	grid-column: 2/3;
	padding: 1rem 0.5rem 1rem;
	border-top: solid #ababab 0.035rem;
}

.a02 .b03 .c02 .d02 .e02 .f02 .g01 .h02_01:first-of-type {
	border-top: unset;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > dl.g01 > dd.h02_02 */
.a02 .b03 .c02 .d02 .e02 .f02 .g01 .h02_02 {
	grid-column: 2/3;
	padding: 1rem 0.5rem 0;
	border-top: solid #ababab 0.035rem;
}

.a02 .b03 .c02 .d02 .e02 .f02 .g01 .h02_02:first-of-type {
	border-top: unset;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > dl.g01 > dd.h02 > dl > dd */
.a02 .b03 .c02 .d02 .e02 .f02 .g01 .h02_02 dl dd {
	padding-left: 1rem;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > dl.g01 > dd.h03 */
.a02 .b03 .c02 .d02 .e02 .f02 .g01 .h03 {
	position: relative;
	grid-column: 2/3;
	padding: 0 0.5rem 0.5rem 1.5rem;
	font-size: 0.8rem;
}

.a02 .b03 .c02 .d02 .e02 .f02 .g01 .h03::before {
	content: "※";
	position: absolute;
	left: 0.5rem;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > dl.g02 */
.a02 .b03 .c02 .d02 .e02 .f02 .g02 {
	display: grid;
	grid-template-columns: 5rem 1fr;
	row-gap: 1rem;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > dl.g02 > dt.h01 */
.a02 .b03 .c02 .d02 .e02 .f02 .g02 .h01 {
	position: relative;
	/* 自要素配置 */
	grid-column: 1/2;
	font-weight: 900;
	text-transform: uppercase;
}

.a02 .b03 .c02 .d02 .e02 .f02 .g02 .h01::after {
	content: "▼";
	position: absolute;
	right: 0;
	left: 1rem;
	top: 1.2rem;
	font-weight: 900;
}

.a02 .b03 .c02 .d02 .e02 .f02 .g02 .h01:last-of-type::after {
	content: unset;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 */

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 > j01 */
.a02 .b03 .c02 .d02 .e02 .f02 .g02 .h02 .i01 .j01 {
	font-weight: 500;
	text-wrap: balance;
	text-align: left;
	word-break: auto-phrase;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 > j02 */
.a02 .b03 .c02 .d02 .e02 .f02 .g02 .h02 .i01 .j02 {
	font-size: 0.8rem;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > ol.g03 */
.a02 .b03 .c02 .d02 .e02 .f02 .g03 {}

.a02 .b03 .c02 .d02 .e02 .f02 .g03:last-child {
	padding-bottom: 0;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > ol.g03 > li.h01_01 */
.a02 .b03 .c02 .d02 .e02 .f02 .g03 .h01_01 {
	position: relative;
	margin-top: 1rem;
	padding: 0.175rem 0 0 0.8rem;
	font-weight: 400;
	line-height: 1.5;
}

.a02 .b03 .c02 .d02 .e02 .f02 .g03 .h01_01::before {
	content: '';
	position: absolute;
	left: -0.1rem;
	top: 0.6rem;
	width: 0.5rem;
	aspect-ratio: 1/1;
	border-bottom: 0.2rem solid #000000;
	border-right: 0.2rem solid #000000;
	transform: rotate(-45deg);
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > ol.g03 > li.h01_02 */
.a02 .b03 .c02 .d02 .e02 .f02 .g03 .h01_02 {
	position: relative;
	padding: 0.38rem 0 0 0.8rem;
	margin-top: 1rem;
	font-weight: 400;
	line-height: 1.5;
}

.a02 .b03 .c02 .d02 .e02 .f02 .g03 .h01_02::before {
	content: '→';
	position: absolute;
	left: -0.2rem;
	top: 0.65rem;
	display: grid;
	place-items: center;
	width: 0.8rem;
	height: 0.8rem;
	background-color: #000000;
	border-radius: 50%;
	color: #fff;
	font-size: 0.56rem;
	font-weight: 900;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > ol.g03 > li.h01_03 */
.a02 .b03 .c02 .d02 .e02 .f02 .g03 .h01_03 {
	position: relative;
	padding: 0.175rem 0 0 0.8rem;
	margin-top: 1rem;
	font-weight: 400;
	line-height: 1.5;
}

.a02 .b03 .c02 .d02 .e02 .f02 .g03 .h01_03::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.5rem;
	width: 0.35rem;
	aspect-ratio: 1/2;
	border-bottom: 0.175rem solid #000000;
	border-right: 0.175rem solid #000000;
	transform: rotate(45deg) translateY(-1.5px);
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > p.g04 */
.a02 .b03 .c02 .d02 .e02 .f02 .g04 {
	margin-bottom: 0.5rem;
	line-height: 1.5;
	text-indent: 1rem;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > ul.g05 */
.a02 .b03 .c02 .d02 .e02 .f02 .g05 {
	line-height: 1.5;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > ul.g05 > li.h01 */
.a02 .b03 .c02 .d02 .e02 .f02 .g05 .h01 {
	position: relative;
	margin: 0 0 0.5rem 1rem;
	list-style-type: initial;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > dl.g06 */
.a02 .b03 .c02 .d02 .e02 .f02 .g06 {
	line-height: 1.5;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > dl.g06 > dt.h01 */
.a02 .b03 .c02 .d02 .e02 .f02 .g06 .h01 {
	position: relative;
	margin-bottom: 0.5rem;
	padding-left: 1rem;
}

.a02 .b03 .c02 .d02 .e02 .f02 .g06 .h01::before {
	/* 自要素 */
	position: absolute;
	content: "▶︎";
	left: 0;
	top: 0;
	bottom: 0;
	margin-block: auto;
	/* 子要素 */
	display: grid;
	place-items: center;
	width: 1rem;
	height: 100%;
	font-size: 0.7rem;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > dl.g06 > dd.h02 */
.a02 .b03 .c02 .d02 .e02 .f02 .g06 .h02 {
	margin-bottom: 0.5rem;
	padding-left: 1.5rem;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > dl.g02*/
.a02 .b03 .c02 .d02 .e02 .f02 .g07 {
	display: grid;
	grid-template-columns: 5rem 1fr;
	row-gap: 1rem;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > dl.g02 > dt.h01 */
.a02 .b03 .c02 .d02 .e02 .f02 .g07 .h01 {
	position: relative;
	/* 自要素配置 */
	grid-column: 1/2;
	font-weight: 900;
	text-transform: uppercase;
}

.a02 .b03 .c02 .d02 .e02 .f02 .g07 .h01::after {
	content: "▼";
	position: absolute;
	right: 0;
	left: 1rem;
	top: 1.2rem;
	font-weight: 900;
}

.a02 .b03 .c02 .d02 .e02 .f02 .g07 .h01:last-of-type::after {
	content: unset;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 */

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 > j01 */
.a02 .b03 .c02 .d02 .e02 .f02 .g07 .h02 .i01 .j01 {
	font-weight: 500;
	text-wrap: balance;
	text-align: left;
	word-break: auto-phrase;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 > j02 */
.a02 .b03 .c02 .d02 .e02 .f02 .g07 .h02 .i01 .j02 {
	font-size: 0.8rem;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > details.g08 */

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > details.g08 > summary */

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e02 > dd.f02 > details.g08 */

.accordion-css {
	margin: 0 0 1rem;
	border: 0.05rem solid #000;
}

.accordion-css summary {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.5rem 2.5rem;
	color: #333333;
	font-weight: 400;
	cursor: pointer;
	user-select: none;
}

.accordion-css summary::before {
	content: "Q.";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	display: grid;
	align-items: start;
	justify-content: center;
	width: 2rem;
	padding-top: 0.3rem;
	font-weight: 500;
	font-size: 1.2rem;
}

.accordion-css summary::-webkit-details-marker {
	display: none;
}

.accordion-css summary::after {
	content: '';
	position: absolute;
	right: 0.75rem;
	width: 0.75rem;
	aspect-ratio: 1/1;
	border-bottom: 0.1rem solid #000;
	border-right: 0.1rem solid #000;
	transform: translateY(-25%) rotate(45deg);
	transition: transform 0.3s;
}

.accordion-css[open] summary::after {
	transform: rotate(225deg);
}

.accordion-css p {
	position: relative;
	margin: 0;
	padding: 1rem 2.5rem;
	border-top: solid #ababab 0.035rem;
	color: #333333;
	font-size: 0.9rem;
	line-height: 1.5;
}

.accordion-css[open] p {

}

.accordion-css p::before {
	content: "A.";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	display: grid;
	align-items: start;
	justify-content: center;
	width: 2rem;
	padding-top: 0.7rem;
	font-weight: 500;
	font-size: 1.2rem;
}

/***********************************　main.a02 > section.b04（SHARE ヒトもクマも） */
.a02 .b04 {
	/* 既定の左右の余白を0に。marginの突き抜け防止に0.1px */
	padding: 0.1px 0;
}

/***********************************　main.a02 > section.b04 > h2.c01 */
.a02 .b04 .c01 {
	position: sticky;
	top: 2.75rem;
	z-index: 4;
}

/***********************************　main.a02 > section.b04 > h3.c02 */
.a02 .b04 .c02 {
	position: sticky;
	top: 2.67rem;
	z-index: 1;
	width: 100%;
	height: calc(100vh - 2.67rem);
}

/***********************************　main.a02 > section.b04 > h3.c02 > img.d01 */
.a02 .b04 .c02 .d01 {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center bottom;
}

/***********************************　main.a02 > section.b04 > h3.c02 > img.d02 */
.a02 .b04 .c02 .d02 {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center bottom;
}

/***********************************　main.a02 > section.b04 > h3.c02 > img.d02 */
.a02 .b04 .c02 .d03 {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 20% center;
}

/***********************************　main.a02 > section.b03 > dl.c03 */
.a02 .b04 .c03 {
	z-index: 400;
	/* z-indexを有効にする為のposition:relative */
	position: relative;
	z-index: 3;
	padding: 2rem 1rem;
	width: max(579.5px, 80vw);
	margin-inline: auto;
	margin-bottom: calc(100svh - 2.67rem);
	background-color: rgba(255, 255, 255, 0.95);
	box-shadow: 0 0 1rem 1rem rgba(255, 255, 255, 0.95);
	/* border-radius: 2rem; */
	cursor: default;
}

@media screen and (max-width:610px) {
	.a02 .b04 .c03 {
		width: 95%;
	}
}

/***********************************　main.a02 > section.b03 > dl.c03 > dt.d01 */
.a02 .b04 .c03 .d01 {
	margin-right: auto;
	position: relative;
	padding-bottom: 0.75rem;
	width: fit-content;
	font-size: 1.3rem;
	font-weight: 700;
	/* text-align: center; */
	text-wrap: balance;
	word-break: auto-phrase;
}

.a02 .b04 .c03 .d01::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin-right: auto;
	width: 2rem;
	height: 0.1rem;
	background-color: #000;
}

/***********************************　main.a02 > section.b03 > dl.c03 > dd.d02 */
.a02 .b04 .c03 .d02 {
	width: 100%;
	padding: 0 0 3rem;
	margin-top: 1rem;
}

.a02 .b04 .c03 .d02:last-of-type {
	padding: 0 0 0;
}

/***********************************　main.a02 > section.b03 > dl.c03 > dd.d02 > p.e01 */
.a02 .b04 .c03 .d02 .e01 {
	margin-bottom: 0.5rem;
	line-height: 1.5;
	text-indent: 1rem;
}

/***********************************　main.a02 > section.b03 > dl.c03 > dd.d02 > dl.e02 */
.a02 .b04 .c03 .d02 .e02 {
	display: grid;
	grid-template-columns: max(8.5rem, 30%) max(8.5rem, 70%);
	padding: 0 0 1rem;
	overflow-x: scroll;
	scrollbar-width: thin;
	font-size: 0.9rem;
}

/***********************************　main.a02 > section.b03 > dl.c03 > dd.d02 > dl.e02 > dt.h01 */
.a02 .b04 .c03 .d02 .e02 .f01 {
	grid-column: 1/2;
	padding: 1rem 0.5rem 0.5rem 1rem;
	border-top: solid #ababab 0.035rem;
	font-weight: 500;
}

.a02 .b04 .c03 .d02 .e02 .f01:first-of-type {
	border-top: unset;
}

/***********************************　main.a02 > section.b03 > dl.c03 > dd.d02 > dl.e02 > dd.h02_01 */
.a02 .b04 .c03 .d02 .e02 .f02_01 {
	grid-column: 2/3;
	padding: 1rem 0.5rem 1rem;
	border-top: solid #ababab 0.035rem;
}

.a02 .b04 .c03 .d02 .e02 .f02_01:first-of-type {
	border-top: unset;
}

/***********************************　main.a02 > section.b03 > dl.c03 > dd.d02 > dl.e02 > dd.h02_02 */
.a02 .b04 .c03 .d02 .e02 .f02_02 {
	grid-column: 2/3;
	padding: 1rem 0.5rem 0;
	border-top: solid #ababab 0.035rem;
}

.a02 .b04 .c03 .d02 .e02 .f02_02:first-of-type {
	border-top: unset;
}

/***********************************　main.a02 > section.b03 > dl.c03 > dd.d02 > dl.e02 > dd.f03 */
.a02 .b04 .c03 .d02 .e02 .f03 {
	position: relative;
	grid-column: 2/3;
	padding: 0 0.5rem 0.5rem 1.5rem;
	font-size: 0.8rem;
}

.a02 .b04 .c03 .d02 .e02 .f03::before {
	content: "※";
	position: absolute;
	left: 0.5rem;
}

/***********************************　main.a02 > section.b03 > dl.c03 > dd.d02 > ul.e03 */
.a02 .b04 .c03 .d02 .e03 {
	line-height: 1.5;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e03 > dd.f01 */
.a02 .b04 .c03 .d02 .e03 .f01 {
	position: relative;
	margin: 0 0 0.5rem 1rem;
	list-style-type: initial;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e04 */
.a02 .b04 .c03 .d02 .e04 {
	line-height: 1.5;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e04 > dt.f01 */
.a02 .b04 .c03 .d02 .e04 .f01 {
	position: relative;
	margin-top: 1rem;
	padding-left: 1rem;
	font-weight: 700;
}

.a02 .b04 .c03 .d02 .e04 .f01:first-of-type {
	margin-top: 0;
}

.a02 .b04 .c03 .d02 .e04 .f01::before {
	/* 自要素 */
	position: absolute;
	/* content: "▶︎"; */
	left: 0;
	top: 0;
	bottom: 0;
	margin-block: auto;
	/* 子要素 */
	display: grid;
	place-items: center;
	width: 1rem;
	height: 100%;
	font-size: 0.7rem;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e04 > dd.f02 */
.a02 .b04 .c03 .d02 .e04 .f02 {
	margin-bottom: 0.5rem;
	padding-left: 1.5rem;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e05 */
.a02 .b04 .c03 .d02 .e05 {
	display: grid;
	grid-template-columns: 6rem 1fr;
	row-gap: 1rem;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e05 > dt.f01 */
.a02 .b04 .c03 .d02 .e05 .f01 {
	position: relative;
	/* 自要素配置 */
	grid-column: 1/2;
	font-weight: 900;
	text-transform: uppercase;
}

.a02 .b04 .c03 .d02 .e05 .f01::after {
	content: "▼";
	position: absolute;
	right: 0;
	left: 0.6rem;
	top: 1.2rem;
	font-weight: 900;
	font-size: 0.8rem;
}

.a02 .b04 .c03 .d02 .e05 .f01:last-of-type::after {
	content: unset;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e05 > dd.f02 > dl.g01 > dt.h01 */
.a02 .b04 .c03 .d02 .e05 .f02 .g01 .h01 {
	font-weight: 500;
	text-wrap: balance;
	text-align: left;
	word-break: auto-phrase;
}

/***********************************　main.a02 > section.b04 > dl.c01 > dd.d02 > dl.e05 > dd.f02 > dl.g01 > dd.h02 */
.a02 .b04 .c03 .d02 .e05 .f02 .g01 .h02 {
	padding-left: 0.5rem;
	font-size: 0.8rem;
	font-weight: 300;
	line-height: 1.5;
}

/***********************************　main.a02 > section.b05（guard　被害を防ごう）*/

/***********************************　main.a02 > section.b05 > p.c02 */
.a02 .b05 .c02 {
	position: relative;
	/* 左右位置の中央揃え */
	margin: 0 auto;
	width: max(590px, 80vw);
	padding: 0 0 0 2rem;
	font-size: 0.8rem;
	line-height: 1.5;
	color: #f00;
	/* text-shadow: 0 0 0.5rem rgba(255, 255, 255, 0.8); */
	text-shadow: 0 0 0.6rem rgba(0, 0, 0, 0.9);
}

@media screen and (max-width:610px) {
	.a02 .b05 .c02 {
		width: 100%;
	}
}

/***********************************　main.a02 > section.b05 > p.c02::before */
.a02 .b05 .c02::before {
	content: "（注）";
	position: absolute;
	top: 0;
	left: 0;
	width: 2rem;
	height: 100%;
	line-height: 1.5;
}

/***********************************　Java script アコーディオン02 .js-details-summary */

/***********************************　main.a02 > section.b05 > details.c03 */
.a02 .b05 .c03 {
	margin: 1rem auto 0;
	width: max(590px, 80vw);
	border: 0.1rem solid #000;
}

@media screen and (max-width:610px) {
	.a02 .b05 .c03 {
		width: 100%;
	}
}

/***********************************　main.a02 > section.b05 > details.c03 > summary.d01_01 */
.a02 .b05 .c03 .d01_01 {
	/* 子要素の配置基準 */
	position: relative;
	/* ブロック要素にして三角形アイコンを非表示 */
	display: block;
	padding: 1.2rem 2.8rem 1.2rem 4.5rem;
	background-color: rgba(0, 0, 0, 0.7);
	color: #ffffff;
	font-size: 0.8rem;
	line-height: 1.2;
	text-align: left;
	/* 改行関連 */
	word-break: keep-all;
	word-break: break-all;
	word-break: auto-phrase;
	word-wrap: break-word;
	overflow-wrap: anywhere;
	cursor: pointer;
}

.a02 .b05 .c03 .d01_01::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	margin-block: auto;
	left: 0;
	width: 4rem;
	height: 100%;
	background-image: url(../img/a02b05_img02.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

/***********************************　main.a02 > section.b05 > details.c03 > summary.d01_02 */
.a02 .b05 .c03 .d01_02 {
	/* 子要素の配置基準 */
	position: relative;
	/* ブロック要素にして三角形アイコンを非表示 */
	display: block;
	padding: 1.2rem 2.8rem 1.2rem 4.5rem;
	background-color: rgba(0, 0, 0, 0.85);
	color: #ffffff;
	font-size: 0.8rem;
	line-height: 1.2;
	text-align: left;
	/* 改行関連 */
	word-break: keep-all;
	word-break: break-all;
	word-break: auto-phrase;
	word-wrap: break-word;
	overflow-wrap: anywhere;
	cursor: pointer;
}

.a02 .b05 .c03 .d01_02::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	margin-block: auto;
	left: 0;
	width: 4rem;
	height: 100%;
	background-image: url(../img/a02b05_img03.png);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 92%;
}

/***********************************　main.a02 > section.b05 > details.c03 > summary.d01_03 */
.a02 .b05 .c03 .d01_03 {
	/* 子要素の配置基準 */
	position: relative;
	/* ブロック要素にして三角形アイコンを非表示 */
	display: block;
	padding: 1.2rem 2.8rem 1.2rem 4.5rem;
	background-color: rgba(0, 0, 0, 1);
	color: #ffffff;
	font-size: 0.8rem;
	line-height: 1.2;
	text-align: left;
	/* 改行関連 */
	word-break: keep-all;
	word-break: break-all;
	word-break: auto-phrase;
	word-wrap: break-word;
	overflow-wrap: anywhere;
	cursor: pointer;
}

.a02 .b05 .c03 .d01_03::before {
	content: "";
	position: absolute;
	top: -0.5rem;
	left: -2rem;
	width: 6rem;
	height: 140%;
	overflow: hidden;
	background-image: url(../img/a02b05_img04.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

.a02 .b05 .c03 .d01_01 strong,
.a02 .b05 .c03 .d01_02 strong,
.a02 .b05 .c03 .d01_03 strong {
	display: inline-block;
	width: 6.5rem;
	padding: 0 0.2rem;
	font-size: 1.2rem;
	color: #D42C26;
	text-shadow: 0.1rem 0.1rem 0.3rem rgba(0, 0, 0, 0.9);
	/* 両端揃え */
	text-align-last: justify;
}

.a02 .b05 .c03 .d01_01::after,
.a02 .b05 .c03 .d01_02::after,
.a02 .b05 .c03 .d01_03::after {
	content: "";
	/* 絶対配置 右寄せ */
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 1;
	/* 上下中央寄せ */
	margin-block: auto;
	transform-origin: center center;
	width: 2.8rem;
	height: 2.8rem;
	display: block;
	background-image: url(../img/a02b05_img01.png);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	border-radius: 50%;
	transition-duration: 0.3s;
}

.a02 .b05 .c03 .is-active.d01_01::after,
.a02 .b05 .c03 .is-active.d01_02::after,
.a02 .b05 .c03 .is-active.d01_03::after {
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
}

.a02 .b05 .c03 .d01_01::-webkit-details-marker,
.a02 .b05 .c03 .d01_02::-webkit-details-marker,
.a02 .b05 .c03 .d01_03::-webkit-details-marker {
	/* safariでデフォルト表示の三角形アイコンを非表示 */
	display: none;
}

/***********************************　main.a02 > section.b05 > details.c03 > div.d02 */
.a02 .b05 .c03 .d02 {
	/* z-index →　js-modalに指定*/
}

/***********************************　main.a02 > section.b05 > details.c03 > div.d02 > dl.e02 */
.a02 .b05 .c03 .d02 .e01 {
	z-index: 400;
	width: 100%;
	margin: 0;
	padding: 2rem 0.5rem 0;
	background-color: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(0.5rem);
	-webkit-backdrop-filter: blur(0.5rem);
	cursor: default;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dt.f01 */
.a02 .b05 .c03 .d02 .e01 .f01 {
	margin: auto;
	position: relative;
	padding-bottom: 0.75rem;
	width: fit-content;
	font-size: 1.3rem;
	font-weight: 500;
	text-align: center;
	text-wrap: balance;
	word-break: auto-phrase;
}

.a02 .b05 .c03 .d02 .e01 .f01::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 3rem;
	height: 0.1rem;
	background-color: #000;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 */
.a02 .b05 .c03 .d02 .e01 .f02 {
	margin: auto;
	/* width: max(531px, 90%); */
	width: 90%;
	padding: 0 0 3rem;
	margin-top: 1rem;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > dl.g01*/
.a02 .b05 .c03 .d02 .e01 .f02 .g01 {
	display: grid;
	grid-template-columns: max(8.5rem, 30%) max(8.5rem, 70%);
	padding: 0 0 1rem;
	overflow-x: scroll;
	scrollbar-width: thin;
	font-size: 0.9rem;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > dl.g01 > dt.h01 */
.a02 .b05 .c03 .d02 .e01 .f02 .g01 .h01 {
	grid-column: 1/2;
	padding: 1rem 0.5rem 0.5rem 1rem;
	border-top: solid #ababab 0.035rem;
	font-weight: 500;
}

.a02 .b05 .c03 .d02 .e01 .f02 .g01 .h01:first-of-type {
	border-top: unset;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > dl.g01 > dd.h02_01 */
.a02 .b05 .c03 .d02 .e01 .f02 .g01 .h02_01 {
	grid-column: 2/3;
	padding: 1rem 0.5rem 1rem;
	border-top: solid #ababab 0.035rem;
}

.a02 .b05 .c03 .d02 .e01 .f02 .g01 .h02_01:first-of-type {
	border-top: unset;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > dl.g01 > dd.h02_02 */
.a02 .b05 .c03 .d02 .e01 .f02 .g01 .h02_02 {
	grid-column: 2/3;
	padding: 1rem 0.5rem 0;
	border-top: solid #ababab 0.035rem;
}

.a02 .b05 .c03 .d02 .e01 .f02 .g01 .h02_02:first-of-type {
	border-top: unset;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > dl.g01 > dd.h02 > dl > dd*/
.a02 .b05 .c03 .d02 .e01 .f02 .g01 .h02_02 dl dd {
	padding-left: 1rem;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > dl.g01 > dd.h03 */
.a02 .b05 .c03 .d02 .e01 .f02 .g01 .h03 {
	position: relative;
	grid-column: 2/3;
	padding: 0 0.5rem 0.5rem 1.5rem;
	font-size: 0.8rem;
}

.a02 .b05 .c03 .d02 .e01 .f02 .g01 .h03::before {
	content: "※";
	position: absolute;
	left: 0.5rem;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > dl.g02 */
.a02 .b05 .c03 .d02 .e01 .f02 .g02 {
	display: grid;
	grid-template-columns: 5rem 1fr;
	row-gap: 1rem;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > dl.g02 > dt.h01 */
.a02 .b05 .c03 .d02 .e01 .f02 .g02 .h01 {
	position: relative;
	/* 自要素配置 */
	grid-column: 1/2;
	font-weight: 900;
	text-transform: uppercase;
}

.a02 .b05 .c03 .d02 .e01 .f02 .g02 .h01::after {
	content: "▼";
	position: absolute;
	right: 0;
	left: 1rem;
	top: 1.2rem;
	font-weight: 900;
}

.a02 .b05 .c03 .d02 .e01 .f02 .g02 .h01:last-of-type::after {
	content: unset;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 */

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 > j01 */
.a02 .b05 .c03 .d02 .e01 .f02 .g02 .h02 .i01 .j01 {
	font-weight: 500;
	text-wrap: balance;
	text-align: left;
	word-break: auto-phrase;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 > j02 */
.a02 .b05 .c03 .d02 .e01 .f02 .g02 .h02 .i01 .j02 {
	font-size: 0.8rem;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > ol.g03 */
.a02 .b05 .c03 .d02 .e01 .f02 .g03 {}

.a02 .b05 .c03 .d02 .e01 .f02 .g03:last-child {
	padding-bottom: 0;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > ol.g03 > li.h01_01 */
.a02 .b05 .c03 .d02 .e01 .f02 .g03 .h01_01 {
	position: relative;
	margin-top: 1rem;
	padding: 0.175rem 0 0 0.8rem;
	font-weight: 400;
	line-height: 1.5;
}

.a02 .b05 .c03 .d02 .e01 .f02 .g03 .h01_01::before {
	content: '';
	position: absolute;
	left: -0.1rem;
	top: 0.6rem;
	width: 0.5rem;
	aspect-ratio: 1/1;
	border-bottom: 0.2rem solid #000000;
	border-right: 0.2rem solid #000000;
	transform: rotate(-45deg);
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > ol.g03 > li.h01_02 */
.a02 .b05 .c03 .d02 .e01 .f02 .g03 .h01_02 {
	position: relative;
	padding: 0.38rem 0 0 0.8rem;
	margin-top: 1rem;
	font-weight: 400;
	line-height: 1.5;
}

.a02 .b05 .c03 .d02 .e01 .f02 .g03 .h01_02::before {
	content: '→';
	position: absolute;
	left: -0.2rem;
	top: 0.65rem;
	display: grid;
	place-items: center;
	width: 0.8rem;
	height: 0.8rem;
	background-color: #000000;
	border-radius: 50%;
	color: #fff;
	font-size: 0.56rem;
	font-weight: 900;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > ol.g03 > li.h01_01 */
.a02 .b05 .c03 .d02 .e01 .f02 .g03 .h01_03 {
	position: relative;
	padding: 0.175rem 0 0 0.8rem;
	margin-top: 1rem;
	font-weight: 400;
	line-height: 1.5;
}

.a02 .b05 .c03 .d02 .e01 .f02 .g03 .h01_03::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.5rem;
	width: 0.35rem;
	aspect-ratio: 1/2;
	border-bottom: 0.175rem solid #000000;
	border-right: 0.175rem solid #000000;
	transform: rotate(45deg) translateY(-1.5px);
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > p.g04 */
.a02 .b05 .c03 .d02 .e01 .f02 .g04 {
	margin-bottom: 0.5rem;
	line-height: 1.5;
	text-indent: 1rem;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > ul.g05 */
.a02 .b05 .c03 .d02 .e01 .f02 .g05 {
	line-height: 1.5;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > ul.g05 > li.h01 */
.a02 .b05 .c03 .d02 .e01 .f02 .g05 .h01 {
	position: relative;
	margin: 0 0 0.5rem 1rem;
	list-style-type: initial;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > dl.g06 */
.a02 .b05 .c03 .d02 .e01 .f02 .g06 {
	line-height: 1.5;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > dl.g06 > dt.h01 */
.a02 .b05 .c03 .d02 .e01 .f02 .g06 .h01 {
	position: relative;
	margin-bottom: 0.5rem;
	padding-left: 1rem;
}

.a02 .b05 .c03 .d02 .e01 .f02 .g06 .h01::before {

	/* 自要素 */
	position: absolute;
	content: "▶︎";
	left: 0;
	top: 0;
	bottom: 0;
	margin-block: auto;
	/* 子要素 */
	display: grid;
	place-items: center;
	width: 1rem;
	height: 100%;
	font-size: 0.7rem;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > dl.g06 > dd.h02 */
.a02 .b05 .c03 .d02 .e01 .f02 .g06 .h02 {
	margin-bottom: 0.5rem;
	padding-left: 1.5rem;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > dl.g07*/
.a02 .b05 .c03 .d02 .e01 .f02 .g07 {
	display: grid;
	grid-template-columns: 5rem 1fr;
	row-gap: 1rem;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > dl.g07 > dt.h01 */
.a02 .b05 .c03 .d02 .e01 .f02 .g07 .h01 {
	position: relative;
	/* 自要素配置 */
	grid-column: 1/2;
	font-weight: 900;
	text-transform: uppercase;
}

.a02 .b05 .c03 .d02 .e01 .f02 .g07 .h01::after {
	content: "▼";
	position: absolute;
	right: 0;
	left: 1rem;
	top: 1.2rem;
	font-weight: 900;
}

.a02 .b05 .c03 .d02 .e01 .f02 .g07 .h01:last-of-type::after {
	content: unset;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > dl.g07 > dd.h02 > dl.i01 */

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > dl.g07 > dd.h02 > dl.i01 > j01 */
.a02 .b05 .c03 .d02 .e01 .f02 .g07 .h02 .i01 .j01 {
	font-weight: 500;
	text-wrap: balance;
	text-align: left;
	word-break: auto-phrase;
}

/***********************************　main.a02 > section.b05 > dl.c01 > div.d02 > dl.e02 > dd.f02 > dl.g07 > dd.h02 > dl.i01 > j02 */
.a02 .b05 .c03 .d02 .e01 .f02 .g07 .h02 .i01 .j02 {
	font-size: 0.8rem;
}

/***********************************　main.a02 > section.b06(about 自己紹介) */

/***********************************　main.a02 > section.b06 > h2.c01 */

/***********************************　main.a02 > section.b06 > dl.c02 */
.a02 .b06 .c02 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 1rem;
	grid-template-rows: 1fr;
	padding: 0;
}

/***********************************　main.a02 > section.b06 > dl.c02 > dt.d01_01 */
.a02 .b06 .c02 .d01_01 {
	position: relative;
	/* 自要素の配置 */
	grid-column: 1/2;
	/* grid-row: 1/2; */

	/* 子要素（ここではテキスト） */
	display: grid;
	grid-template-columns: 1fr 1fr;
	/* 自要素の縦横比 */
	aspect-ratio: 3 / 1;
	background-color: #000000;
	color: #fff;
	container-type: inline-size;
}

@media screen and (max-width:610px) {
	.a02 .b06 .c02 .d01_01 {
		grid-column: 1/3;
		margin-bottom: 1rem;
	}
}

.a02 .b06 .c02 .d01_01::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	margin: 1.5cqw;
	border: 0.5cqw solid #fff;
}

.a02 .b06 .c02 .d01_01::after {
	content: "";
	/* 自要素の配置 */
	grid-column: 1/2;
	grid-row: 1/2;
	background-image: url(../img/a02b06_img01.png);
	background-repeat: no-repeat;
	background-size: 90%;
	background-position: center left;
	color: #fff;
	container-type: inline-size;
}

/***********************************　main.a02 > section.b06 > dl.c02 > dt.d01_01 > p.e01 */
.a02 .b06 .c02 .d01_01 .e01 {
	position: relative;
	/* 自要素の配置 */
	grid-column: 2/3;
	grid-row: 1/2;
	justify-self: center;
	align-self: center;
	width: fit-content;
	text-align: center;
	font-size: 5cqw;
}

.a02 .b06 .c02 .d01_01 .e01::after {
	content: "";
	position: absolute;
	bottom: -2cqw;
	left: 0;
	right: 0;
	margin-inline: auto;
	width: 10cqw;
	height: 0.5cqw;
	background-color: #fff;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > h3.e01 */
.a02 .b06 .c02 .d01_02 .e01 {
	z-index: 500;
	margin: 5rem 0 0;
	position: sticky;
	top: 0;
	margin-inline: auto;
	width: max(590px, 80vw);
	padding: 0.5rem;
	background-color: #000;
	color: #fff;
	font-weight: 900;
	font-size: 1.1rem;
	cursor: default;
}

@media screen and (max-width:610px) {
	.a02 .b06 .c02 .d01_02 .e01 {
		width: 100%;
	}
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 */
.a02 .b06 .c02 .d01_02 .e02 {
	z-index: 400;
	margin: 0 auto 3.5rem;
	width: max(590px, 80vw);
	padding: 2rem 0.5rem 0;
	background-color: #fff;
	cursor: default;
}

@media screen and (max-width:610px) {
	.a02 .b06 .c02 .d01_02 .e02 {
		width: 100%;
	}
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dt.f01 */
.a02 .b06 .c02 .d01_02 .e02 .f01 {
	margin: auto;
	position: relative;
	padding-bottom: 0.75rem;
	width: fit-content;
	font-size: 1.3rem;
	font-weight: 500;
	text-align: center;
	text-wrap: balance;
	word-break: auto-phrase;
}

.a02 .b06 .c02 .d01_02 .e02 .f01::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 3rem;
	height: 0.1rem;
	background-color: #000;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 */
.a02 .b06 .c02 .d01_02 .e02 .f02 {
	margin: auto;
	width: max(531px, 90%);
	padding: 0 0 3rem;
	margin-top: 1rem;
}

@media screen and (max-width:555px) {
	.a02 .b06 .c02 .d01_02 .e02 .f02 {
		width: 100%;
	}
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > dl.g01 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g01 {
	display: grid;
	grid-template-columns: max(8.5rem, 30%) max(8.5rem, 70%);
	padding: 0 0 1rem;
	overflow-x: scroll;
	scrollbar-width: thin;
	font-size: 0.9rem;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > dl.g01 > dt.h01 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g01 .h01 {
	grid-column: 1/2;
	padding: 1rem 0.5rem 0.5rem 1rem;
	border-top: solid #ababab 0.035rem;
	font-weight: 500;
}

.a02 .b06 .c02 .d01_02 .e02 .f02 .g01 .h01:first-of-type {
	border-top: unset;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > dl.g01 > dd.h02_01 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g01 .h02_01 {
	grid-column: 2/3;
	padding: 1rem 0.5rem 1rem;
	border-top: solid #ababab 0.035rem;
}

.a02 .b06 .c02 .d01_02 .e02 .f02 .g01 .h02_01:first-of-type {
	border-top: unset;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > dl.g01 > dd.h02_02 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g01 .h02_02 {
	grid-column: 2/3;
	padding: 1rem 0.5rem 0;
	border-top: solid #ababab 0.035rem;
}

.a02 .b06 .c02 .d01_02 .e02 .f02 .g01 .h02_02:first-of-type {
	border-top: unset;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > dl.g01 > dd.h02 > dl > dd */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g01 .h02_02 dl dd {
	padding-left: 1rem;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > dl.g01 > dd.h03 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g01 .h03 {
	position: relative;
	grid-column: 2/3;
	padding: 0 0.5rem 0.5rem 1.5rem;
	font-size: 0.8rem;
}

.a02 .b06 .c02 .d01_02 .e02 .f02 .g01 .h03::before {
	content: "※";
	position: absolute;
	left: 0.5rem;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > dl.g02 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g02 {
	display: grid;
	grid-template-columns: 5rem 1fr;
	row-gap: 1rem;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > dl.g02 > dt.h01 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g02 .h01 {
	position: relative;
	/* 自要素配置 */
	grid-column: 1/2;
	font-weight: 900;
	text-transform: uppercase;
}

.a02 .b06 .c02 .d01_02 .e02 .f02 .g02 .h01::after {
	content: "▼";
	position: absolute;
	right: 0;
	left: 1rem;
	top: 1.2rem;
	font-weight: 900;
}

.a02 .b06 .c02 .d01_02 .e02 .f02 .g02 .h01:last-of-type::after {
	content: unset;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 */

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 > j01 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g02 .h02 .i01 .j01 {
	font-weight: 500;
	text-wrap: balance;
	text-align: left;
	word-break: auto-phrase;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 > j02 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g02 .h02 .i01 .j02 {
	font-size: 0.8rem;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > ol.g03 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g03 {}

.a02 .b06 .c02 .d01_02 .e02 .f02 .g03:last-child {
	padding-bottom: 0;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > ol.g03 > li.h01_01 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g03 .h01_01 {
	position: relative;
	margin-top: 1rem;
	padding: 0.175rem 0 0 0.8rem;
	font-weight: 400;
	line-height: 1.5;
}

.a02 .b06 .c02 .d01_02 .e02 .f02 .g03 .h01_01::before {
	content: '';
	position: absolute;
	left: -0.1rem;
	top: 0.6rem;
	width: 0.5rem;
	aspect-ratio: 1/1;
	border-bottom: 0.2rem solid #000000;
	border-right: 0.2rem solid #000000;
	transform: rotate(-45deg);
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > ol.g03 > li.h01_02 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g03 .h01_02 {
	position: relative;
	padding: 0.38rem 0 0 0.8rem;
	margin-top: 1rem;
	font-weight: 400;
	line-height: 1.5;
}

.a02 .b06 .c02 .d01_02 .e02 .f02 .g03 .h01_02::before {
	content: '→';
	position: absolute;
	left: -0.2rem;
	top: 0.65rem;
	display: grid;
	place-items: center;
	width: 0.8rem;
	height: 0.8rem;
	background-color: #000000;
	border-radius: 50%;
	color: #fff;
	font-size: 0.56rem;
	font-weight: 900;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > ol.g03 > li.h01_01 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g03 .h01_03 {
	position: relative;
	padding: 0.175rem 0 0 0.8rem;
	margin-top: 1rem;
	font-weight: 400;
	line-height: 1.5;
}

.a02 .b06 .c02 .d01_02 .e02 .f02 .g03 .h01_03::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.5rem;
	width: 0.35rem;
	aspect-ratio: 1/2;
	border-bottom: 0.175rem solid #000000;
	border-right: 0.175rem solid #000000;
	transform: rotate(45deg) translateY(-1.5px);
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > p.g04 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g04 {
	margin-bottom: 0.5rem;
	line-height: 1.5;
	text-indent: 1rem;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > ul.g05 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g05 {
	line-height: 1.5;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > ul.g05 > li.h01 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g05 .h01 {
	position: relative;
	margin: 0 0 0.5rem 1rem;
	list-style-type: initial;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > dl.g06 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g06 {
	line-height: 1.5;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > dl.g06 > dt.h01 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g06 .h01 {
	position: relative;
	margin-bottom: 0.5rem;
	padding-left: 1rem;
}

.a02 .b06 .c02 .d01_02 .e02 .f02 .g06 .h01::before {

	/* 自要素 */
	position: absolute;
	content: "▶︎";
	left: 0;
	top: 0;
	bottom: 0;
	margin-block: auto;
	/* 子要素 */
	display: grid;
	place-items: center;
	width: 1rem;
	height: 100%;
	font-size: 0.7rem;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > dl.g06 > dd.h02 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g06 .h02 {
	margin-bottom: 0.5rem;
	padding-left: 1.5rem;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > dl.g02 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g07 {
	display: grid;
	grid-template-columns: 5rem 1fr;
	row-gap: 1rem;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > dl.g02 > dt.h01 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g07 .h01 {
	position: relative;
	/* 自要素配置 */
	grid-column: 1/2;
	font-weight: 900;
	text-transform: uppercase;
}

.a02 .b06 .c02 .d01_02 .e02 .f02 .g07 .h01::after {
	content: "▼";
	position: absolute;
	right: 0;
	left: 1rem;
	top: 1.2rem;
	font-weight: 900;
}

.a02 .b06 .c02 .d01_02 .e02 .f02 .g07 .h01:last-of-type::after {
	content: unset;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 */

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 > j01 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g07 .h02 .i01 .j01 {
	font-weight: 500;
	text-wrap: balance;
	text-align: left;
	word-break: auto-phrase;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d01_02 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 > j02 */
.a02 .b06 .c02 .d01_02 .e02 .f02 .g07 .h02 .i01 .j02 {
	font-size: 0.8rem;
}

/***********************************　main.a02 > section.b06 > dl.c02 > dt.d02_01 */
.a02 .b06 .c02 .d02_01 {
	position: relative;
	/* 自要素の配置 */
	grid-column: 2/3;
	/* 子要素（ここではテキスト） */
	display: grid;
	justify-content: center;
	align-content: center;
	/* 自要素の縦横比 */
	aspect-ratio: 3 / 1;
	background-color: #fff;
	color: #fff;
	container-type: inline-size;
}

@media screen and (max-width:610px) {
	.a02 .b06 .c02 .d02_01 {


		grid-column: 1/3;
	}

}

.a02 .b06 .c02 .d02_01::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	margin: 1.5cqw;
	border: 0.5cqw solid #000;
}

.a02 .b06 .c02 .d02_01::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url(../img/a02b06_img02.png);
	background-repeat: no-repeat;
	background-size: 90cqw;
	background-position: 50% 70%;
	container-type: inline-size;
}

/***********************************　main.a02 > section.b06 > dl.c02 > dt.d02_01 > p.e01 */
.a02 .b06 .c02 .d02_01 .e01 {
	position: relative;
	z-index: 2;
	text-align: center;
	font-size: 5cqw;
	color: #000;
}

/***********************************　main.a02 > section.b06 > dl.c02 > dt.d02_01 > p.e01 > mark */
.a02 .b06 .c02 .d02_01 .e01 mark {
	display: block;
	margin-top: 10cqw;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > h3.e01 */
.a02 .b06 .c02 .d02_02 .e01 {
	z-index: 500;
	margin: 5rem 0 0;
	position: sticky;
	top: 0;
	margin-inline: auto;
	width: max(590px, 80vw);
	padding: 0.5rem;
	background-color: #000;
	color: #fff;
	font-weight: 900;
	font-size: 1.1rem;
	cursor: default;
}

@media screen and (max-width:610px) {
	.a02 .b06 .c02 .d02_02 .e01 {


		width: 100%;
	}

}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 */
.a02 .b06 .c02 .d02_02 .e02 {
	z-index: 400;
	margin: 0 auto 3.5rem;
	width: max(590px, 80vw);
	padding: 2rem 0.5rem 0;
	background-color: #fff;
	cursor: default;
}

@media screen and (max-width:610px) {
	.a02 .b06 .c02 .d02_02 .e02 {


		width: 100%;
	}

}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dt.f01 */
.a02 .b06 .c02 .d02_02 .e02 .f01 {
	margin: auto;
	position: relative;
	padding-bottom: 0.75rem;
	width: fit-content;
	font-size: 1.3rem;
	font-weight: 500;
	text-align: center;
	text-wrap: balance;
	word-break: auto-phrase;
}

.a02 .b06 .c02 .d02_02 .e02 .f01::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 3rem;
	height: 0.1rem;
	background-color: #000;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 */
.a02 .b06 .c02 .d02_02 .e02 .f02 {
	margin: auto;
	width: max(531px, 90%);
	padding: 0 0 3rem;
	margin-top: 1rem;
}

@media screen and (max-width:555px) {
	.a02 .b06 .c02 .d02_02 .e02 .f02 {


		width: 100%;
	}

}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > dl.g01 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g01 {
	display: grid;
	grid-template-columns: max(8.5rem, 30%) max(8.5rem, 70%);
	padding: 0 0 1rem;
	overflow-x: scroll;
	scrollbar-width: thin;
	font-size: 0.9rem;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > dl.g01 > dt.h01 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g01 .h01 {
	grid-column: 1/2;
	padding: 1rem 0.5rem 0.5rem 1rem;
	border-top: solid #ababab 0.035rem;
	font-weight: 500;
}

.a02 .b06 .c02 .d02_02 .e02 .f02 .g01 .h01:first-of-type {
	border-top: unset;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > dl.g01 > dd.h02_01 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g01 .h02_01 {
	grid-column: 2/3;
	padding: 1rem 0.5rem 1rem;
	border-top: solid #ababab 0.035rem;
}

.a02 .b06 .c02 .d02_02 .e02 .f02 .g01 .h02_01:first-of-type {
	border-top: unset;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > dl.g01 > dd.h02_02 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g01 .h02_02 {
	grid-column: 2/3;
	padding: 1rem 0.5rem 0;
	border-top: solid #ababab 0.035rem;
}

.a02 .b06 .c02 .d02_02 .e02 .f02 .g01 .h02_02:first-of-type {
	border-top: unset;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > dl.g01 > dd.h02 > dl > dd */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g01 .h02_02 dl dd {
	padding-left: 1rem;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > dl.g01 > dd.h03 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g01 .h03 {
	position: relative;
	grid-column: 2/3;
	padding: 0 0.5rem 0.5rem 1.5rem;
	font-size: 0.8rem;
}

.a02 .b06 .c02 .d02_02 .e02 .f02 .g01 .h03::before {
	content: "※";
	position: absolute;
	left: 0.5rem;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > dl.g02 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g02 {
	display: grid;
	grid-template-columns: 5rem 1fr;
	row-gap: 1rem;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > dl.g02 > dt.h01 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g02 .h01 {
	position: relative;
	/* 自要素配置 */
	grid-column: 1/2;
	font-weight: 900;
	text-transform: uppercase;
}

.a02 .b06 .c02 .d02_02 .e02 .f02 .g02 .h01::after {
	content: "▼";
	position: absolute;
	right: 0;
	left: 1rem;
	top: 1.2rem;
	font-weight: 900;
}

.a02 .b06 .c02 .d02_02 .e02 .f02 .g02 .h01:last-of-type::after {
	content: unset;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 */

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 > j01 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g02 .h02 .i01 .j01 {
	font-weight: 500;
	text-wrap: balance;
	text-align: left;
	word-break: auto-phrase;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 > j02 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g02 .h02 .i01 .j02 {
	font-size: 0.8rem;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > ol.g03 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g03 {}

.a02 .b06 .c02 .d02_02 .e02 .f02 .g03:last-child {
	padding-bottom: 0;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > ol.g03 > li.h01_01 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g03 .h01_01 {
	position: relative;
	margin-top: 1rem;
	padding: 0.175rem 0 0 0.8rem;
	font-weight: 400;
	line-height: 1.5;
}

.a02 .b06 .c02 .d02_02 .e02 .f02 .g03 .h01_01::before {
	content: '';
	position: absolute;
	left: -0.1rem;
	top: 0.6rem;
	width: 0.5rem;
	aspect-ratio: 1/1;
	border-bottom: 0.2rem solid #000000;
	border-right: 0.2rem solid #000000;
	transform: rotate(-45deg);
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > ol.g03 > li.h01_02 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g03 .h01_02 {
	position: relative;
	padding: 0.38rem 0 0 0.8rem;
	margin-top: 1rem;
	font-weight: 400;
	line-height: 1.5;
}

.a02 .b06 .c02 .d02_02 .e02 .f02 .g03 .h01_02::before {
	content: '→';
	position: absolute;
	left: -0.2rem;
	top: 0.65rem;
	display: grid;
	place-items: center;
	width: 0.8rem;
	height: 0.8rem;
	background-color: #000000;
	border-radius: 50%;
	color: #fff;
	font-size: 0.56rem;
	font-weight: 900;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > ol.g03 > li.h01_01 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g03 .h01_03 {
	position: relative;
	padding: 0.175rem 0 0 0.8rem;
	margin-top: 1rem;
	font-weight: 400;
	line-height: 1.5;
}

.a02 .b06 .c02 .d02_02 .e02 .f02 .g03 .h01_03::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.5rem;
	width: 0.35rem;
	aspect-ratio: 1/2;
	border-bottom: 0.175rem solid #000000;
	border-right: 0.175rem solid #000000;
	transform: rotate(45deg) translateY(-1.5px);
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > p.g04 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g04 {
	margin-bottom: 0.5rem;
	line-height: 1.5;
	text-indent: 1rem;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > ul.g05 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g05 {
	line-height: 1.5;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > ul.g05 > li.h01 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g05 .h01 {
	position: relative;
	margin: 0 0 0.5rem 1rem;
	list-style-type: initial;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > dl.g06 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g06 {
	line-height: 1.5;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > dl.g06 > dt.h01 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g06 .h01 {
	position: relative;
	margin-bottom: 0.5rem;
	padding-left: 1rem;
}

.a02 .b06 .c02 .d02_02 .e02 .f02 .g06 .h01::before {

	/* 自要素 */
	position: absolute;
	content: "▶︎";
	left: 0;
	top: 0;
	bottom: 0;
	margin-block: auto;
	/* 子要素 */
	display: grid;
	place-items: center;
	width: 1rem;
	height: 100%;
	font-size: 0.7rem;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > dl.g06 > dd.h02 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g06 .h02 {
	margin-bottom: 0.5rem;
	padding-left: 1.5rem;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > dl.g02 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g07 {
	display: grid;
	grid-template-columns: 5rem 1fr;
	row-gap: 1rem;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > dl.g02 > dt.h01 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g07 .h01 {
	position: relative;
	/* 自要素配置 */
	grid-column: 1/2;
	font-weight: 900;
	text-transform: uppercase;
}

.a02 .b06 .c02 .d02_02 .e02 .f02 .g07 .h01::after {
	content: "▼";
	position: absolute;
	right: 0;
	left: 1rem;
	top: 1.2rem;
	font-weight: 900;
}

.a02 .b06 .c02 .d02_02 .e02 .f02 .g07 .h01:last-of-type::after {
	content: unset;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 */

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 > j01 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g07 .h02 .i01 .j01 {
	font-weight: 500;
	text-wrap: balance;
	text-align: left;
	word-break: auto-phrase;
}

/***********************************　main.a02 > section.b06 > dl.c01 > dd.d02_02 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 > j02 */
.a02 .b06 .c02 .d02_02 .e02 .f02 .g07 .h02 .i01 .j02 {
	font-size: 0.8rem;
}

/***********************************　main.a02 > section.b07(sns 情報配信) */
.a02 .b07 {
	width: max(590px, 80vw);
	margin-inline: auto;
	padding: 0.5rem;
	background-color: rgba(255, 255, 255, 0.3);
	backdrop-filter: blur(0.5rem);
	-webkit-backdrop-filter: blur(0.5rem);
}

@media screen and (max-width:610px) {
	.a02 .b07 {
		width: 100%;
	}
}

/***********************************　main.a02 > section.b07 > ul.c02 */
.a02 .b07 .c02 {
	/* 子要素を横並び */
	display: grid;
	/* 縦列 */
	grid-template-columns: repeat(5, auto);
	margin: 0 0 1rem;
}

/***********************************　main.a02 > section.b07 > ul.c02 > li */

/***********************************　main.a02 > section.b07 > ul.c02 > li > a */
.a02 .b07 .c02 li a {
	/* 自要素を左右位置の中央　上下位置の中央 */
	display: grid;
	align-content: center;
	justify-content: center;
	/* 子要素の配置基準 */
	position: relative;
}

/***********************************　main.a02 > section.b07 > ul.c02 > li > a::before */
.a02 .b07 .c02 li a::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	margin-block: auto;
	right: 0;
	height: 70%;
	border-right: 0.05rem solid rgba(0, 0, 0, 0.3);
}

@media screen and (max-width:350px) {
	.a02 .b07 .c02 li a::before {
		border-right: 0;
	}
}

/***********************************　main.a02 > section.b07 > ul.c02 > li:last-child > a::before */
.a02 .b07 .c02 li:last-child a::before {
	border-right: 0;
}

/***********************************　main.a02 > section.b07 > ul.c02 > li > a.current::after */
.a02 .b07 .c02 li a.current::after {
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	margin: 0 auto;
	bottom: -0.5rem;
	width: 1rem;
	height: 0.2rem;
}

.a02 .b07 .c02 .d01 a.current::after {
	background-color: #0766FF;
}

.a02 .b07 .c02 .d02 a.current::after {
	background-image: linear-gradient(to right, #651FF6, #EA3365, #F2A139, #EA3D7A);
}

.a02 .b07 .c02 .d03 a.current::after {
	background-color: #4DC764;
}

.a02 .b07 .c02 .d04 a.current::after {
	background-color: #000000;
}

.a02 .b07 .c02 .d05 a.current::after {
	background-color: #FF0000;
}

/***********************************　main.a02 > section.b07 > ul.c02 > li > a > img */
.a02 .b07 .c02 li a img {
	display: block;
	object-fit: contain;
	width: auto;
	height: 1.7rem;
}

/***********************************　main.a02 > section.b07 > div.c03 > section */
.a02 .b07 .c03 {
	margin: 0 auto;
}

/***********************************　main.a02 > section.b07 > div.c03 > section */
.a02 .b07 .c03 section {
	display: grid;
	align-content: start;
	gap: 0.05rem;
	grid-template-columns: repeat(6, 1fr);
	position: relative;
	height: fit-content;
}

@media (orientation:portrait) {
	.a02 .b07 .c03 section {
		/* 列 */
		grid-template-columns: repeat(3, 1fr);
	}
}

/***********************************　main.a02 > section.b07 > div.c03 > section.d01 */
.a02 .b07 .c03 .d01 {
	border: 0.3rem solid #0766FF;
}

.a02 .b07 .c03 .d01::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	background-color: rgba(7, 102, 255, 0.2);
}

/***********************************　main.a02 > section.b07 > div.c03 > section.d02 */
.a02 .b07 .c03 .d02 {
	border: 0.3rem solid;
	border-image: linear-gradient(to right, #651FF6, #EA3365, #F2A139, #EA3D7A) 10;
}

.a02 .b07 .c03 .d02::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(to right, rgba(101, 31, 246, 0.2), rgba(234, 51, 101, 0.2), rgba(242, 161, 57, 0.2), rgba(234, 61, 122, 0.2));
}

/***********************************　main.a02 > section.b07 > div.c03 > section.d03 */
.a02 .b07 .c03 .d03 {
	border: 0.3rem solid #4DC764;
}

.a02 .b07 .c03 .d03::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	background-color: rgba(77, 199, 100, 0.2);
}

/***********************************　main.a02 > section.b07 > div.c03 > section.d04 */
.a02 .b07 .c03 .d04 {
	border: 0.3rem solid #000000;
}

.a02 .b07 .c03 .d04::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.2);
}

/***********************************　main.a02 > section.b07 > div.c03 > section.d05 */
.a02 .b07 .c03 .d05 {
	border: 0.3rem solid #FF0000;
}

.a02 .b07 .c03 .d05::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 0, 0, 0.2);
}

/***********************************　main.a02 > section.b07 > div.c03 > section > h3 */
.a02 .b07 .c03 section h3 {
	position: absolute;
	inset: 0;
	margin: auto;
	width: fit-content;
	height: fit-content;
	font-family: "anton";
	font-size: 2.5rem;
}

.a02 .b07 .c03 section h3::after {
	content: "→";
	position: absolute;
	top: 0rem;
	right: -1rem;
	font-family: "anton";
	font-weight: 900;
	font-size: 1rem;
	transform: rotate(-45deg);
}

/***********************************　main.a02 > section.b07 > div.c03 > section > p.e01 */
.a02 .b07 .c03 section .e01 {
	display: block;
	margin-block: auto;
	margin-inline: auto;
	width: 100%;
	height: max-content;
	padding: 0;
	text-align: center;
}

/***********************************　main.a02 > section.b07 > div.c03 > section > p.e01 > img */
.a02 .b07 .c03 section .e01 img {
	display: block;
	object-fit: cover;
	width: 100%;
	height: auto;
	/* aspect-ratio: 4/3; */
}

/***********************************　main.a02 > section.b08（contact お問い合わせ）*/
.a02 .b08 {
	/*******************************　01　配置　*/
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 3rem;
	/* grid-template-rows: 1fr; */
	/*******************************　02　領域　*/
	width: 100%;
	/*******************************　03　背景　*/

	/*******************************　04　境界　*/

	/*******************************　05　文字　*/

	/*******************************　06　其他　*/
}

/***********************************　main.a02 > section.b08 > h2.c01 */
.a02 .b08 .c01 {
	/*******************************　01　配置　*/
	grid-column: 1/3;
	/*******************************　02　領域　*/
	margin-bottom: 2rem;
	/*******************************　03　背景　*/

	/*******************************　04　境界　*/

	/*******************************　05　文字　*/

	/*******************************　06　其他　*/
}

/***********************************　main.a02 > section.b08 > a.c02 */
.a02 .b08 .c02 {
	/*******************************　01　配置　*/
	/* 自要素 */
	grid-column: 1/2;
	/* margin: 0 auto; */
	justify-self: flex-end;
	/* 子要素 */
	display: grid;
	align-content: center;
	justify-content: center;

	position: relative;
	/*******************************　02　領域　*/
	width: 90%;
	/* 縦横比 */
	aspect-ratio: 7 / 2;
	/*******************************　03　背景　*/
	background-color: rgba(0, 0, 0, 1);
	box-shadow: 0em 0em 1rem 1rem rgba(0, 0, 0, 1);
	backdrop-filter: blur(0.3rem);
	-webkit-backdrop-filter: blur(0.3rem);
	/*******************************　04　境界　*/
	border-top: 0.05rem solid #fff;
	border-bottom: 0.05rem solid #fff;
	/*******************************　05　文字　*/

	/*******************************　06　其他　*/
	container-type: inline-size;
}

@media screen and (max-width:610px) {
	.a02 .b08 .c02 {
		grid-column: 1/3;
		justify-self: center;
		margin-bottom: 3rem;
	}
}

/***********************************　main.a02 > section.b08 > a.c02::before */
@keyframes moveGradient {
	0% {
		background-position: 0% center;
	}

	50% {
		background-position: 100% center;
	}

	100% {
		background-position: 0% center;
	}
}

.a02 .b08 .c02::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: 85% 70%;
	background-repeat: no-repeat;     /* 背景イメージ:放射状（横サイズ,　縦サイズ,　透明, 色, 　　*/
	background-image: radial-gradient(100% 100%, transparent, rgba(0, 0, 0, 0.95) 50%);
	animation: moveGradient 7s ease-in-out infinite;
}

/***********************************　main.a02 > section.b08 > a.c02 > p.d01 */
.a02 .b08 .c02 .d01 {
	color: #fff;
	text-align: center;
	font-size: 5cqw;
}

/***********************************　main.a02 > section.b08 > a.c02 > p.d02 */
.a02 .b08 .c02 .d02 {
	display: grid;
	align-content: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 10cqw;
	color: #fff;
}

/***********************************　main.a02 > section.b08 > a.c03 */
.a02 .b08 .c03 {
	/*******************************　01　配置　*/
	/* 自要素 */
	grid-column: 2/3;
	/* margin: 0 auto; */
	justify-self: flex-start;
	/* 子要素 */
	display: grid;
	align-content: center;
	justify-content: center;

	position: relative;
	/*******************************　02　領域　*/
	width: 90%;
	/* 縦横比 */
	aspect-ratio: 7 / 2;
	/*******************************　03　背景　*/
	box-shadow: 0 0 1rem 1rem rgb(235, 209, 154);
	background-image: url(../img/a02b08_img01.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	/*******************************　04　境界　*/
	border-top: 0.1rem #220C00 solid;
	border-bottom: 0.1rem #220C00 solid;
	/*******************************　05　文字　*/

	/*******************************　06　其他　*/
	container-type: inline-size;
}

@media screen and (max-width:610px) {
	.a02 .b08 .c03 {
		/***************************　01　配置　*/
		grid-column: 1/3;
		justify-self: center;
		/***************************　02　領域　*/

		/***************************　03　背景　*/

		/***************************　04　境界　*/

		/***************************　05　文字　*/

		/***************************　06　其他　*/
	}
}

/***********************************　main.a02 > section.b08 > a.c03::before */
.a02 .b08 .c03::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: 115% 100%;
	background-repeat: no-repeat;
	background-position: center center;
	/* 背景イメージ:放射状（横サイズ,　縦サイズ,　透明, 色, */
	background-image: radial-gradient(60% 100%, transparent, rgba(235, 209, 154, 1) 80%);
}

/***********************************　main.a02 > section.b08 > a.c03 > p.d01 */
.a02 .b08 .c03 .d01 {
	position: relative;
	text-align: center;
	font-size: 5cqw;
	color: #220C00;
}

/***********************************　main.a02 > section.b08 > a.c03 > p.d01::before */
.a02 .b08 .c03 .d01::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	margin-block: auto;
	left: 0;
	width: 10cqw;
	height: 4cqw;
	background-image: url(../img/a02b08_img02.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

/***********************************　main.a02 > section.b08 > a.c03 > p.d02 */
.a02 .b08 .c03 .d02 {
	display: grid;
	align-content: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	text-align: center;
	font-size: 10cqw;
	color: #220C00;
}

/***********************************　main.a02 > aside.b09（バナー）*/
.a02 .b09 {
	padding: 0 0.5rem;
}

/***********************************　main.a02 > aside.b09 > dl.c01 */
.a02 .b09 .c01 {
	display: grid;
	column-gap: 1rem;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr;
	margin: 1rem 0;
	/* container-type: inline-size; */
}

/***********************************　main.a02 > aside.b09 > dl.c01 > dt.d01 */
.a02 .b09 .c01 .d01 {
	position: relative;
	/* 自要素 */
	grid-column: 1/2;
	margin: 0 auto;
	/* 子要素 */
	display: grid;
	justify-items: stretch;
	align-items: stretch;
	width: 100%;
	padding: 0.3rem;
	/* 縦横比 */
	aspect-ratio: 740 / 420;
	background-color: #ff0000;
	border-radius: 1.2rem;
	container-type: inline-size;
}

@media screen and (max-width:610px) {
	.a02 .b09 .c01 .d01 {
		grid-column: 1/3;
		margin-bottom: 1rem;
	}
}

/***********************************　main.a02 > aside.b09 > dl.c01 > dt.d01::before */
.a02 .b09 .c01 .d01::before {
	content: "";
	position: absolute;
	top: -3cqw;
	left: -1cqw;
	width: 30cqw;
	/* 縦横比 */
	aspect-ratio: 369 / 614;
	background-image: url(../img/a02b09_img01.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
}

/***********************************　main.a02 > aside.b09 > dl.c01 > dt.d01 > p.e01 */
.a02 .b09 .c01 .d01 .e01 {
	/* 子要素 */
	display: grid;
	align-content: center;
	padding: 0 0 0 12cqw;
	border-top: 0.5cqw solid #000;
	border-right: 0.5cqw solid #000;
	border-left: 0.5cqw solid #000;
	border-top-right-radius: 1rem;
	border-top-left-radius: 1rem;
	color: #fff;
	text-align: center;
	font-size: 9cqw;
}

/***********************************　main.a02 > aside.b09 > dl.c01 > dt.d01 > p.e02 */
.a02 .b09 .c01 .d01 .e02 {
	/* 子要素 */
	display: grid;
	align-content: center;
	padding: 0 0 0 12cqw;
	border-right: 0.5cqw solid #000;
	border-left: 0.5cqw solid #000;
	text-align: center;
	font-family: "Anton";
	font-size: 7cqw;
}

/***********************************　main.a02 > aside.b09 > dl.c01 > dt.d01 > p.e03 */
.a02 .b09 .c01 .d01 .e03 {
	/* 子要素 */
	display: grid;
	align-content: center;
	background-color: #000;
	border-bottom-right-radius: 1rem;
	border-bottom-left-radius: 1rem;
	text-align: center;
	color: #ffffff;
	font-size: 5.5cqw;
}

/***********************************　main.a02 > aside.b09 > dl.c01 > dt.d02 */
.a02 .b09 .c01 .d02 {
	position: relative;
	/* 自要素 */
	grid-column: 2/3;
	margin: 0 auto;
	/* 子要素 */
	display: grid;
	justify-items: stretch;
	align-items: stretch;
	width: 100%;
	/* 縦横比 */
	aspect-ratio: 740 / 420;
	background-color: #FEEA2C;
	container-type: inline-size;
}

@media screen and (max-width:610px) {
	.a02 .b09 .c01 .d02 {
		grid-column: 1/3;
	}
}

/***********************************　main.a02 > aside.b09 > dl.c01 > dt.d02::before */
.a02 .b09 .c01 .d02::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: 96cqw;
	height: 5.8cqw;
	/*傾きを調節*/
	transform: skew(-35deg);
	background-image: linear-gradient(to right, #000 1.2rem, transparent 1.2rem);
	background-size: 10cqw 9cqw;
	background-repeat: repeat-x;
	background-position: left;
}

/***********************************　main.a02 > aside.b09 > dl.c01 > dt.d02::after */
.a02 .b09 .c01 .d02::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: 96cqw;
	height: 5.8cqw;
	/*傾きを調節*/
	transform: skew(-35deg);
	background-image: linear-gradient(to right, #000 1.2rem, transparent 1.2rem);
	background-size: 10cqw 9cqw;
	background-repeat: repeat-x;
	background-position: left;
}

/***********************************　main.a02 > aside.b09 > dl.c01 > dt.d02 > p.e01 */
.a02 .b09 .c01 .d02 .e01 {
	margin-top: 5.5cqw;
	/* 子要素 */
	display: grid;
	align-content: center;
	justify-content: center;
	/* 子要素の配置基準 */
	position: relative;
	width: 100%;
	padding: 0;
	background-color: #000;
	color: #fff;
	font-size: 10cqw;
}

/***********************************　main.a02 > aside.b09 > dl.c01 > dt.d02 > p.e01::before */
.a02 .b09 .c01 .d02 .e01::before {
	content: "";
	position: absolute;
	bottom: -25cqw;
	right: 0;
	margin-right: 3cqw;
	width: 13cqw;
	/* 縦横比 */
	aspect-ratio: 320 / 550;
	background-image: url(../img/a02b09_img04.png);
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: contain;
}

/***********************************　main.a02 > aside.b09 > dl.c01 > dt.d02 > p.e02 */
.a02 .b09 .c01 .d02 .e02 {
	margin-bottom: 5.5cqw;
	/* 子要素を上下位置の中央　左右位置の中央 */
	display: grid;
	align-content: start;
	justify-content: center;
	/* 子要素の配置基準 */
	position: relative;
	width: 100%;
	padding: 0;
	text-align: center;
	font-size: 5cqw;
	line-height: 1.5;
}

/***********************************　main.a02 > aside.b09 > dl.c01 > dt.d02 > p.e02::before */
.a02 .b09 .c01 .d02 .e02::before {
	content: "";
	position: absolute;
	bottom: -0.25cqw;
	right: 0;
	left: 0;
	margin: 0 auto;
	/*傾きを調節*/
	transform: rotate(3deg);
	width: 15cqw;
	aspect-ratio: 383/241;
	background-image: url(../img/a02b09_img03.png);
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: contain;
}

/***********************************　main.a02 > aside.b09 > dl.c01 > dt.d02 > p.e02::after */
.a02 .b09 .c01 .d02 .e02::after {
	content: "";
	position: absolute;
	bottom: -0.3cqw;
	left: 0;
	margin-left: 6cqw;
	/*傾きを調節*/
	transform: rotate(-5.5deg);
	width: 14cqw;
	aspect-ratio: 366/604;
	background-image: url(../img/a02b09_img02.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: contain;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d02 > h3.e01 */
.a02 .b09 .c01 .d03 .e01 {
	z-index: 500;
	margin: 5rem 0 0;
	position: sticky;
	top: 0;
	margin-inline: auto;
	width: max(590px, 80vw);
	max-width: 100%;
	padding: 0.5rem;
	background-color: #000;
	color: #fff;
	font-weight: 900;
	font-size: 1.1rem;
	cursor: default;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 */
.a02 .b09 .c01 .d03 .e02 {
	z-index: 400;
	margin: 0 auto 3.5rem;
	width: max(590px, 80vw);
	max-width: 100%;
	padding: 2rem 0.5rem 0;
	background-color: #fff;
	cursor: default;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dt.f01 */
.a02 .b09 .c01 .d03 .e02 .f01 {
	margin: auto;
	position: relative;
	padding-bottom: 0.75rem;
	width: fit-content;
	font-size: 1.3rem;
	font-weight: 500;
	text-align: center;
	text-wrap: balance;
	word-break: auto-phrase;
}

.a02 .b09 .c01 .d03 .e02 .f01::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 3rem;
	height: 0.1rem;
	background-color: #000;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 */
.a02 .b09 .c01 .d03 .e02 .f02 {
	margin: auto;
	width: max(531px, 90%);
	max-width: 100%;
	padding: 0 0 3rem;
	margin-top: 1rem;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > dl.g01*/
.a02 .b09 .c01 .d03 .e02 .f02 .g01 {
	display: grid;
	grid-template-columns: max(8.5rem, 30%) max(8.5rem, 70%);
	padding: 0 0 1rem;
	overflow-x: scroll;
	scrollbar-width: thin;
	font-size: 0.9rem;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > dl.g01 > dt.h01 */
.a02 .b09 .c01 .d03 .e02 .f02 .g01 .h01 {
	grid-column: 1/2;
	padding: 1rem 0.5rem 0.5rem 1rem;
	border-top: solid #ababab 0.035rem;
	font-weight: 500;
}

.a02 .b09 .c01 .d03 .e02 .f02 .g01 .h01:first-of-type {
	border-top: unset;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > dl.g01 > dd.h02_01 */
.a02 .b09 .c01 .d03 .e02 .f02 .g01 .h02_01 {
	grid-column: 2/3;
	padding: 1rem 0.5rem 1rem;
	border-top: solid #ababab 0.035rem;
}

.a02 .b09 .c01 .d03 .e02 .f02 .g01 .h02_01:first-of-type {
	border-top: unset;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > dl.g01 > dd.h02_02 */
.a02 .b09 .c01 .d03 .e02 .f02 .g01 .h02_02 {
	grid-column: 2/3;
	padding: 1rem 0.5rem 0;
	border-top: solid #ababab 0.035rem;
}

.a02 .b09 .c01 .d03 .e02 .f02 .g01 .h02_02:first-of-type {
	border-top: unset;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > dl.g01 > dd.h02 > dl > dd*/
.a02 .b09 .c01 .d03 .e02 .f02 .g01 .h02_02 dl dd {
	padding-left: 1rem;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > dl.g01 > dd.h03 */
.a02 .b09 .c01 .d03 .e02 .f02 .g01 .h03 {
	position: relative;
	grid-column: 2/3;
	padding: 0 0.5rem 0.5rem 1.5rem;
	font-size: 0.8rem;
}

.a02 .b09 .c01 .d03 .e02 .f02 .g01 .h03::before {
	content: "※";
	position: absolute;
	left: 0.5rem;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > dl.g02*/
.a02 .b09 .c01 .d03 .e02 .f02 .g02 {
	display: grid;
	grid-template-columns: 5rem 1fr;
	row-gap: 1rem;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > dl.g02 > dt.h01 */
.a02 .b09 .c01 .d03 .e02 .f02 .g02 .h01 {
	position: relative;
	/* 自要素配置 */
	grid-column: 1/2;
	font-weight: 900;
	text-transform: uppercase;
}

.a02 .b09 .c01 .d03 .e02 .f02 .g02 .h01::after {
	content: "▼";
	position: absolute;
	right: 0;
	left: 1rem;
	top: 1.2rem;
	font-weight: 900;
}

.a02 .b09 .c01 .d03 .e02 .f02 .g02 .h01:last-of-type::after {
	content: unset;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 */

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 > j01 */
.a02 .b09 .c01 .d03 .e02 .f02 .g02 .h02 .i01 .j01 {
	font-weight: 500;
	text-wrap: balance;
	text-align: left;
	word-break: auto-phrase;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 > j02 */
.a02 .b09 .c01 .d03 .e02 .f02 .g02 .h02 .i01 .j02 {
	font-size: 0.8rem;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > ol.g03 */
.a02 .b09 .c01 .d03 .e02 .f02 .g03 {}

.a02 .b09 .c01 .d03 .e02 .f02 .g03:last-child {
	padding-bottom: 0;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > ol.g03 > li.h01_01 */
.a02 .b09 .c01 .d03 .e02 .f02 .g03 .h01_01 {
	position: relative;
	margin-top: 1rem;
	padding: 0.175rem 0 0 0.8rem;
	font-weight: 400;
	line-height: 1.5;
}

.a02 .b09 .c01 .d03 .e02 .f02 .g03 .h01_01::before {
	content: '';
	position: absolute;
	left: -0.1rem;
	top: 0.6rem;
	width: 0.5rem;
	aspect-ratio: 1/1;
	border-bottom: 0.2rem solid #000000;
	border-right: 0.2rem solid #000000;
	transform: rotate(-45deg);
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > ol.g03 > li.h01_02 */
.a02 .b09 .c01 .d03 .e02 .f02 .g03 .h01_02 {
	position: relative;
	padding: 0.38rem 0 0 0.8rem;
	margin-top: 1rem;
	font-weight: 400;
	line-height: 1.5;
}

.a02 .b09 .c01 .d03 .e02 .f02 .g03 .h01_02::before {
	content: '→';
	position: absolute;
	left: -0.2rem;
	top: 0.65rem;
	display: grid;
	place-items: center;
	width: 0.8rem;
	height: 0.8rem;
	background-color: #000000;
	border-radius: 50%;
	color: #fff;
	font-size: 0.56rem;
	font-weight: 900;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > ol.g03 > li.h01_01 */
.a02 .b09 .c01 .d03 .e02 .f02 .g03 .h01_03 {
	position: relative;
	padding: 0.175rem 0 0 0.8rem;
	margin-top: 1rem;
	font-weight: 400;
	line-height: 1.5;
}

.a02 .b09 .c01 .d03 .e02 .f02 .g03 .h01_03::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.5rem;
	width: 0.35rem;
	aspect-ratio: 1/2;
	border-bottom: 0.175rem solid #000000;
	border-right: 0.175rem solid #000000;
	transform: rotate(45deg) translateY(-1.5px);
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > p.g04 */
.a02 .b09 .c01 .d03 .e02 .f02 .g04 {
	margin-bottom: 0.5rem;
	line-height: 1.5;
	text-indent: 1rem;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > ul.g05 */
.a02 .b09 .c01 .d03 .e02 .f02 .g05 {
	line-height: 1.5;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > ul.g05 > li.h01 */
.a02 .b09 .c01 .d03 .e02 .f02 .g05 .h01 {
	position: relative;
	margin: 0 0 0.5rem 1rem;
	list-style-type: initial;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > dl.g06 */
.a02 .b09 .c01 .d03 .e02 .f02 .g06 {
	line-height: 1.5;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > dl.g06 > dt.h01 */
.a02 .b09 .c01 .d03 .e02 .f02 .g06 .h01 {
	position: relative;
	margin-bottom: 0.5rem;
	padding-left: 1rem;
}

.a02 .b09 .c01 .d03 .e02 .f02 .g06 .h01::before {
	/* 自要素 */
	position: absolute;
	content: "▶︎";
	left: 0;
	top: 0;
	bottom: 0;
	margin-block: auto;
	/* 子要素 */
	display: grid;
	place-items: center;
	width: 1rem;
	height: 100%;
	font-size: 0.7rem;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > dl.g06 > dd.h02 */
.a02 .b09 .c01 .d03 .e02 .f02 .g06 .h02 {
	margin-bottom: 0.5rem;
	padding-left: 1.5rem;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > dl.g02*/
.a02 .b09 .c01 .d03 .e02 .f02 .g07 {
	display: grid;
	grid-template-columns: 5rem 1fr;
	row-gap: 1rem;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > dl.g02 > dt.h01 */
.a02 .b09 .c01 .d03 .e02 .f02 .g07 .h01 {
	position: relative;
	/* 自要素配置 */
	grid-column: 1/2;
	font-weight: 900;
	text-transform: uppercase;
}

.a02 .b09 .c01 .d03 .e02 .f02 .g07 .h01::after {
	content: "▼";
	position: absolute;
	right: 0;
	left: 1rem;
	top: 1.2rem;
	font-weight: 900;
}

.a02 .b09 .c01 .d03 .e02 .f02 .g07 .h01:last-of-type::after {
	content: unset;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 */

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 > j01 */
.a02 .b09 .c01 .d03 .e02 .f02 .g07 .h02 .i01 .j01 {
	font-weight: 500;
	text-wrap: balance;
	text-align: left;
	word-break: auto-phrase;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f02 > dl.g02 > dd.h02 > dl.i01 > j02 */
.a02 .b09 .c01 .d03 .e02 .f02 .g07 .h02 .i01 .j02 {
	font-size: 0.8rem;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f03 */
.a02 .b09 .c01 .d03 .e02 .f03 {
	margin: auto;
	/* 子要素配置 */
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 1.5rem;
	width: max(531px, 90%);
	max-width: 100%;
	padding: 0 0 3rem;
	margin-top: 1rem;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f03 > a.g01 */
.a02 .b09 .c01 .d03 .e02 .f03 .g01 {
	grid-column: 1/2;
	/* 子要素を上下の中央配置　*/
	display: grid;
	align-items: center;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr 1fr 1fr;
	border-top: 0.1rem solid rgba(0, 0, 0, 1);
	border-bottom: 0.1rem solid rgba(0, 0, 0, 1);
	text-align: center;
	container-type: inline-size;
}

@media screen and (max-width:650px) {
	.a02 .b09 .c01 .d03 .e02 .f03 .g01 {
		grid-column: 1/3;
		margin-bottom: 1rem;
	}
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f03 > a.g01 > h3.h01 */
.a02 .b09 .c01 .d03 .e02 .f03 .g01 .h01 {
	grid-column: 1/2;
	grid-row: 1/2;
	font-size: 6cqw;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f03 > a.g01 > p.h02 */
.a02 .b09 .c01 .d03 .e02 .f03 .g01 .h02 {
	position: relative;
	grid-column: 1/2;
	grid-row: 2/3;
	padding: 1cqw 0 2.7cqw 0;
	font-size: 10cqw;
	font-weight: 500;
	line-height: 7cqw;
	container-type: inline-size;
}

.a02 .b09 .c01 .d03 .e02 .f03 .g01 .g02::before {
	content: "";
	position: absolute;
	left: 5cqw;
	top: 0;
	bottom: 0;
	margin-block: auto;
	display: block;
	width: 7cqw;
	height: 100%;
	background-image: url(../img/icon_tel.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f03 > a.g01 > p.h03 */
.a02 .b09 .c01 .d03 .e02 .f03 .g01 .h03 {
	grid-column: 1/2;
	grid-row: 3/4;
	font-size: 4cqw;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f03 > a.g02 */
.a02 .b09 .c01 .d03 .e02 .f03 .g02 {
	grid-column: 2/3;
	/* 子要素を上下の中央配置　*/
	display: grid;
	align-items: center;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr 1fr 1fr;
	border-top: 0.1rem solid rgba(0, 0, 0, 1);
	border-bottom: 0.1rem solid rgba(0, 0, 0, 1);
	text-align: center;
	container-type: inline-size;
}

@media screen and (max-width:650px) {
	.a02 .b09 .c01 .d03 .e02 .f03 .g02 {
		grid-column: 1/3;
	}
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f03 > a.g02 > h3.h01 */
.a02 .b09 .c01 .d03 .e02 .f03 .g02 .h01 {
	grid-column: 1/2;
	grid-row: 1/2;
	font-size: 6cqw;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f03 > a.g02 > p.h02 */
.a02 .b09 .c01 .d03 .e02 .f03 .g02 .h02 {
	position: relative;
	grid-column: 1/2;
	grid-row: 2/3;
	padding: 1cqw 0 2.7cqw 0;
	font-size: 10cqw;
	font-weight: 500;
	line-height: 7cqw;
	container-type: inline-size;
}

.a02 .b09 .c01 .d03 .e02 .f03 .g02 .h02::before {
	content: "";
	position: absolute;
	left: 2cqw;
	top: 0;
	bottom: 0;
	margin-block: auto;
	display: block;
	width: 7cqw;
	height: 100%;
	background-image: url(../img/icon_mail.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

/***********************************　main.a02 > section.b09 > dl.c01 > dd.d03 > dl.e02 > dd.f03 > a.g02 > p.h03 */
.a02 .b09 .c01 .d03 .e02 .f03 .g02 .h03 {
	grid-column: 1/2;
	grid-row: 3/4;
	font-size: 4cqw;
}

/***********************************　main.a02 > aside.b10（画像のスライド01） */
.a02 .b10 {
	position: relative;
	display: flex;
	flex-grow: 0;
	flex-wrap: nowrap;
	width: 100vw;
	overflow: hidden;
}

/***********************************　main.a02 > aside.b10 > ul */
@keyframes slide1 {
	0% {
		transform: translateX(100%);
	}

	100% {
		transform: translateX(-100%);
	}
}

@keyframes slide2 {
	0% {
		transform: translateX(0%);
	}
	100% {
		transform: translateX(-200%);
	}
}

.a02 .b10 ul:first-child {
	animation: slide1 30s -15s linear infinite;
}

.a02 .b10 ul:last-child {
	animation: slide2 30s linear infinite;
}

.a02 .b10 ul {
	display: flex;
	flex-grow: 1;
	padding: 0;
}

/***********************************　main.a02 > aside.b10 > ul > li */
.a02 .b10 ul li {
	width: 100%;
	min-width: 8rem;
	height: auto;
}

/***********************************　main.a02 > aside.b10 > ul > li > img */
.a02 .b10 ul li img {
	display: inline-block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

/******************* main.a02 > aside.b11（画像のスライド02） */
.a02 .b11 {
	position: relative;
	display: flex;
	width: 100vw;
	overflow: hidden;
	margin-bottom: 15rem;
}

/******************* main.a02 > aside.b11 > ul */
@keyframes slide3 {
	0% {
		transform: translateX(-100%);
	}
	100% {
		transform: translateX(100%);
	}
}

@keyframes slide4 {
	0% {
		transform: translateX(-200%);
	}
	100% {
		transform: translateX(0%);
	}
}

.a02 .b11 ul:first-child {
	animation: slide3 30s -15s linear infinite;
}

.a02 .b11 ul:last-child {
	animation: slide4 30s linear infinite;
}

.a02 .b11 ul {
	display: flex;
	flex-grow: 1;
	padding: 0;
}

/******************* main.a02 > aside.b11 > ul > li */
.a02 .b11 ul li {
	width: 100%;
	min-width: 8rem;
	height: auto;
}

/***********************************　main.a02 > aside.b11 > ul > li > img */
.a02 .b11 ul li img {
	display: inline-block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

/***********************************　footer.a03 */
.a03 {
	/* 子要素 */
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-row: 1fr 1fr;
	align-content: flex-end;
	gap: 1rem 0.5rem;
	padding: 1rem 0.5rem;
	width: 100%;
	min-height: calc(100vh - 2.75rem);
	background-image: url(../img/a03_img01.jpg);
	background-position: left 30% bottom 50%;
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
}

@media (orientation:landscape) {
	.a03 {
		min-height: max(100vh, 100lvh);
	}
}

/***********************************　footer.a03 > article.b01  2024年度ランキング */
.a03 .b01 {
	/* 自要素 */
	grid-column: 1/2;
	grid-row: 1/2;
	align-self: flex-end;
	width: 100%;
	margin: 0 auto;
	aspect-ratio: 355/158;
	background-image: url(../img/a03b02_img01.png);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	container-type: inline-size;
}

@media screen and (max-width:610px) {
	.a03 .b01 {
		/* 自要素 */
		grid-column: 1/4;
		grid-row: auto;
		align-self: unset;
		width: min(326px, 100%);
	}
}

/***********************************　footer.a03 > article.b01 > h2 */
.a03 .b01 h2 {
	align-self: flex-start;
	font-size: 6cqw;
	text-align: center;
	color: #EFD675;
	text-shadow: 2cqw 2cqw 2cqw rgba(103, 95, 59, 0.6);
}

/***********************************　footer.a03 > article.b01 > h2 > em */
.a03 .b01 h2 strong {
	/* 改行効果 */
	display: block;
	font-size: 8cqw;
	color: #EFD675;
}

/***********************************　footer.a03 > article.b01 > h2 > em > mark */
.a03 .b01 h2 strong mark {
	display: inline-block;
	padding: 0 1cqw 0;
	color: #EFD675;
	font-size: 18cqw;
	font-weight: 600;
}

/***********************************　footer.a03 > article.b01 > p */
.a03 .b01 p {
	display: grid;
	align-content: flex-end;
	text-align: center;
	font-size: 6cqw;
	color: #EFD675;
}

/***********************************　footer.a03 > article.b01 > p > mark */
.a03 .b01 p mark {
	/* 改行効果 */
	display: block;
	color: #EFD675;
}

/***********************************　footer.a03 > address.b02 連絡先 */
.a03 .b02 {
	/* 自要素 */
	grid-column: 2/3;
	grid-row: 1/2;
	width: 100%;
	margin: 0 auto;
	container-type: inline-size;
}

@media screen and (max-width:610px) {
	.a03 .b02 {
		/* 自要素 */
		grid-column: 1/4;
		grid-row: auto;
		align-self: unset;
		width: min(326px, 100%);
	}
}

/***********************************　footer.a03 > address.b02 > dl */
.a03 .b02 dl {
	/* 子要素 */
	display: grid;
	justify-content: center;
	align-content: center;
	grid-template-columns: 26cqw 1fr;
	gap: 3cqw 6cqw;
	width: 100%;
	padding: 3cqw;
	background-color: rgba(0, 0, 0, 0.5);
	border: 0.1rem solid #ffffff;
	font-size: 5.5cqw;
	color: #fff;
}

/***********************************　footer.a03 > address.b02 > dl > dt */
.a03 .b02 dl dt {
	text-align-last: justify;
}

/***********************************　footer.a03 > address.b02 > dl > dd > em */
.a03 .b02 dl dd a em {
	/* 改行 */
	display: block;
	width: fit-content;
	padding: 1cqw 3cqw;
	margin-top: 1.5cqw;
	border: #fff solid 0.5cqw;
	border-radius: 5cqw;
	font-size: 5cqw;
}

/***********************************　footer.a03 > address.b02 > dl > dd > em */
.a03 .b02 dl dd a em::after {
	content: "→";
	display: inline-block;
	transform: rotate(-45deg);
}

/***********************************　footer.a03 > dl.b03 猟友会メンバー募集 */
.a03 .b03 {
	grid-column: 3/4;
	grid-row: 1/2;
	align-self: flex-end;
	margin: 0 auto;
	width: 100%;
	color: #000;
}

@media screen and (max-width:610px) {
	.a03 .b03 {
		/* 自要素 */
		grid-column: 1/4;
		grid-row: auto;
		align-self: unset;
		width: min(326px, 100%);
	}
}

/***********************************　footer.a03 > dl.b03 > dt.c01 */
.a03 .b03 .c01 {
	position: relative;
	/* 子要素を左右位置の中央　上下位置の中央 */
	display: grid;
	justify-content: center;
	/* align-content: center; */
	align-content: center;
	/* インライン要素をブロック変換の上、幅と高さを指定 */
	display: block;
	width: 100%;
	height: fit-content;
	padding: 1cqw;
	aspect-ratio: 5/2;
	background-color: #D42C26;
	text-align: center;
	color: #ffffff;
	container-type: inline-size;
}

.a03 .b03 .c01::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: 1.5cqw;
	border: 1cqw solid #ffffff;
}

/***********************************　footer.a03 > dl.b03 > dt.c01 > p.d01 */
.a03 .b03 .c01 .d01 {
	font-size: 6cqw;
	text-shadow: 0.1cqw 0.1cqw 0.15cqw rgba(103, 95, 59, 0.9);
}

/***********************************　footer.a03 > dl.b03 > dt.c01 > p.d01 > em.e01 */
.a03 .b03 .c01 .d01 .e01 {
	/* ブロック　改行 */
	display: block;
	width: fit-content;
	margin: 2cqw auto;
	padding: 0 0 0.2rem;
	border-bottom: #ffffff solid 0.75cqw;
	font-size: 10cqw;
	font-weight: 600;
}

/***********************************　footer.a03 > dl.b03 > dt.c01 > p.d02 */
.a03 .b03 .c01 .d02 {
	width: fit-content;
	margin: 0 auto;
	font-size: 6cqw;
	text-shadow: 0.1cqw 0.1cqw 0.15cqw rgba(103, 95, 59, 0.9);
}

.a03 .b03 .c01 .d02::after {
	content: ">>";
}

/***********************************　main.a03 > article.b03 > dd.c02 > h3.d01 */
.a03 .b03 .c02 .d01 {
	z-index: 500;
	margin: 5rem 0 0;
	position: sticky;
	top: 0;
	margin-inline: auto;
	width: max(590px, 80vw);
	max-width: 100%;
	padding: 0.5rem;
	background-color: #000;
	color: #fff;
	font-weight: 900;
	font-size: 1.1rem;
	cursor: default;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 */
.a03 .b03 .c02 .d02 {
	z-index: 400;
	margin: 0 auto 3.5rem;
	width: max(590px, 80vw);
	max-width: 100%;
	padding: 2rem 0.5rem 0;
	background-color: #fff;
	cursor: default;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dt.e01 */
.a03 .b03 .c02 .d02 .e01 {
	margin: auto;
	position: relative;
	padding-bottom: 0.75rem;
	width: fit-content;
	font-size: 1.3rem;
	font-weight: 500;
	text-align: center;
	text-wrap: balance;
	word-break: auto-phrase;
}

.a03 .b03 .c02 .d02 .e01::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 3rem;
	height: 0.1rem;
	background-color: #000;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e02 */
.a03 .b03 .c02 .d02 .e02 {
	margin: auto;
	width: max(531px, 90%);
	max-width: 100%;
	padding: 0 0 3rem;
	margin-top: 1rem;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e02 > p.f01 */
.a03 .b03 .c02 .d02 .e02 .f01 {
	margin-bottom: 0.5rem;
	line-height: 1.5;
	text-indent: 1rem;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e02 > dl.f02 */
.a03 .b03 .c02 .d02 .e02 .f02 {
	display: grid;
	grid-template-columns: max(8.5rem, 30%) max(8.5rem, 70%);
	padding: 0 0 1rem;
	overflow-x: scroll;
	scrollbar-width: thin;
	font-size: 0.9rem;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e02 > dl.f02 > dt.g01 */
.a03 .b03 .c02 .d02 .e02 .f02 .g01 {
	grid-column: 1/2;
	padding: 1rem 0.5rem 0.5rem 1rem;
	border-top: solid #ababab 0.035rem;
	font-weight: 500;
}

.a03 .b03 .c02 .d02 .e02 .f02 .g01:first-of-type {
	border-top: unset;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e02 > dl.f02 > dd.g02_01 */
.a03 .b03 .c02 .d02 .e02 .f02 .g02_01 {
	grid-column: 2/3;
	padding: 1rem 0.5rem 1rem;
	border-top: solid #ababab 0.035rem;
}

.a03 .b03 .c02 .d02 .e02 .f02 .g02_01:first-of-type {
	border-top: unset;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e02 > dl.f02 > dd.g02_02 */
.a03 .b03 .c02 .d02 .e02 .f02 .g02_02 {
	grid-column: 2/3;
	padding: 1rem 0.5rem 0;
	border-top: solid #ababab 0.035rem;
}

.a03 .b03 .c02 .d02 .e02 .f02 .g02_02:first-of-type {
	border-top: unset;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e02 > dl.f02 > dd.g03 */
.a03 .b03 .c02 .d02 .e02 .f02 .g03 {
	position: relative;
	grid-column: 2/3;
	padding: 0 0.5rem 0.5rem 1.5rem;
	font-size: 0.8rem;
}

.a03 .b03 .c02 .d02 .e02 .f02 .g03::before {
	content: "※";
	position: absolute;
	left: 0.5rem;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e02 > dd.e02 > ul.f03 */
.a03 .b03 .c02 .d02 .e02 .f03 {
	line-height: 1.5;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e02 > dd.e02 > ul.f03 > li.g01 */
.a03 .b03 .c02 .d02 .e02 .f03 .g01 {
	position: relative;
	margin: 0 0 0.5rem 1rem;
	list-style-type: initial;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e02 > dd.e02 > dl.f04 */
.a03 .b03 .c02 .d02 .e02 .f04 {
	line-height: 1.5;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e02 > dd.e02 > dl.f04 > dt.h01 */
.a03 .b03 .c02 .d02 .e02 .f04 .g01 {
	position: relative;
	margin-bottom: 0.5rem;
	padding-left: 1rem;
}

.a03 .b03 .c02 .d02 .e02 .f04 .g01::before {
	/* 自要素 */
	position: absolute;
	content: "▶︎";
	left: 0;
	top: 0;
	bottom: 0;
	margin-block: auto;
	/* 子要素 */
	display: grid;
	place-items: center;
	width: 1rem;
	height: 100%;
	font-size: 0.7rem;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e02 > dd.e02 > dl.f04 > dd.h02 */
.a03 .b03 .c02 .d02 .e02 .f04 .g02 {
	margin-bottom: 0.5rem;
	padding-left: 1.5rem;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e02 > dl.f05 */
.a03 .b03 .c02 .d02 .e02 .f05 {
	display: grid;
	grid-template-columns: 5rem 1fr;
	row-gap: 1rem;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e02 > dl.f05 > dt.g01 */
.a03 .b03 .c02 .d02 .e02 .f05 .g01 {
	position: relative;
	/* 自要素配置 */
	grid-column: 1/2;
	font-weight: 900;
	text-transform: uppercase;
}

.a03 .b03 .c02 .d02 .e02 .f05 .g01::after {
	content: "▼";
	position: absolute;
	right: 0;
	left: 1rem;
	top: 1.2rem;
	font-weight: 900;
}

.a03 .b03 .c02 .d02 .e02 .f05 .g01:last-of-type::after {
	content: unset;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e02 > dl.f05 > dt.g01 > dl.h01 > dt.i01 */
.a03 .b03 .c02 .d02 .e02 .f05 .g02 .h01 .i01 {
	font-weight: 500;
	text-wrap: balance;
	text-align: left;
	word-break: auto-phrase;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e02 > dl.f05 > dt.g01 > dl.h01 > dd.i02 */
.a03 .b03 .c02 .d02 .e02 .f05 .g02 .h01 .i02 {
	font-size: 0.8rem;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e03 */
.a03 .b03 .c02 .d02 .e03 {
	margin: auto;
	/* 子要素配置 */
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 1.5rem;
	width: max(531px, 90%);
	max-width: 100%;
	padding: 0 0 3rem;
	margin-top: 1rem;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e03 > a.f01 */
.a03 .b03 .c02 .d02 .e03 .f01 {
	grid-column: 1/2;
	/* 子要素を上下の中央配置　*/
	display: grid;
	align-items: center;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr 1fr 1fr;
	border-top: 0.1rem solid rgba(0, 0, 0, 1);
	border-bottom: 0.1rem solid rgba(0, 0, 0, 1);
	text-align: center;
	container-type: inline-size;
}

@media screen and (max-width:650px) {
	.a03 .b03 .c02 .d02 .e03 .f01 {
		grid-column: 1/3;
		margin-bottom: 1rem;
	}
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e03 > a.f01 > h3.g01 */
.a03 .b03 .c02 .d02 .e03 .f01 .g01 {
	grid-column: 1/2;
	grid-row: 1/2;
	font-size: 6cqw;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e03 > a.f01 > p.g02 */
.a03 .b03 .c02 .d02 .e03 .f01 .g02 {
	position: relative;
	grid-column: 1/2;
	grid-row: 2/3;
	padding: 1cqw 0 2.7cqw 0;
	font-size: 10cqw;
	font-weight: 500;
	line-height: 7cqw;
	container-type: inline-size;
}

.a03 .b03 .c02 .d02 .e03 .f01 .g02::before {
	content: "";
	position: absolute;
	left: 5cqw;
	top: 0;
	bottom: 0;
	margin-block: auto;
	display: block;
	width: 7cqw;
	height: 100%;
	background-image: url(../img/icon_tel.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e03 > a.f01 > p.g03 */
.a03 .b03 .c02 .d02 .e03 .f01 .g03 {
	grid-column: 1/2;
	grid-row: 3/4;
	font-size: 4cqw;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e03 > a.f02 */
.a03 .b03 .c02 .d02 .e03 .f02 {
	grid-column: 2/3;
	/* 子要素を上下の中央配置　*/
	display: grid;
	align-items: center;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr 1fr 1fr;
	border-top: 0.1rem solid rgba(0, 0, 0, 1);
	border-bottom: 0.1rem solid rgba(0, 0, 0, 1);
	text-align: center;
	container-type: inline-size;
}

@media screen and (max-width:650px) {
	.a03 .b03 .c02 .d02 .e03 .f02 {
		grid-column: 1/3;
	}
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e03 > a.f02 > h3.g01 */
.a03 .b03 .c02 .d02 .e03 .f02 .g01 {
	grid-column: 1/2;
	grid-row: 1/2;
	font-size: 6cqw;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e03 > a.f02 > p.g02 */
.a03 .b03 .c02 .d02 .e03 .f02 .g02 {
	position: relative;
	grid-column: 1/2;
	grid-row: 2/3;
	padding: 1cqw 0 2.7cqw 0;
	font-size: 10cqw;
	font-weight: 500;
	line-height: 7cqw;
	container-type: inline-size;
}

.a03 .b03 .c02 .d02 .e03 .f02 .g02::before {
	content: "";
	position: absolute;
	left: 2cqw;
	top: 0;
	bottom: 0;
	margin-block: auto;
	display: block;
	width: 7cqw;
	height: 100%;
	background-image: url(../img/icon_mail.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

/***********************************　main.a03 > article.b03 > dd.c02 > dl.d02 > dd.e03 > a.f02 > p.g03 */
.a03 .b03 .c02 .d02 .e03 .f02 .g03 {
	grid-column: 1/2;
	grid-row: 3/4;
	/*******************************　02　領域　 */
	font-size: 4cqw;
}

/***********************************　footer.a03 > p.b04 コピーライト */
.a03 .b04 {
	grid-column: 1/4;
	grid-row: 3/4;
	align-self: flex-end;
	width: 100%;
	color: #fff;
	text-align: center;
	font-family: "Anton";
	font-size: min(0.9rem, 5cqw);
}

@media screen and (max-width:1000px) {
	.a03 .b04 {
		/* 自要素 */
		grid-column: 1/4;
		grid-row: auto;
		align-self: unset;
	}
}

/***********************************　foeter.a03 p.b04 small */
.a03 .b04 small {
	/* 英語表示 */
	text-transform: capitalize;
}


/***********************************　aside.a10 > p  */
.a10 p {
	/*******************************　01　配置　*/
	position: fixed;
	z-index: 100;
	right: 0.5rem;
	bottom: 0.5rem;
	/*******************************　02　領域　*/
	/* width: 8rem; */
	/* height: 2.3rem; */
	/*******************************　03　背景　*/
	background-color: rgba(255, 255, 255, 0.8);
	box-shadow: 0em 0em 0.5rem 0.5rem rgba(255, 255, 255, 0.8);
	/*******************************　04　境界　*/
	/* border-radius: 1.2rem; */
	/* border: 0.05rem solid #000; */
	/*******************************　05　文字　*/
	font-size: 0.7rem;
	text-align: center;
	color: #000;
	/*******************************　06　其他　*/
}

/***********************************　header.a01　> p > a */
.a10 p a {
	/*******************************　01　配置　*/
	display: grid;
	place-items: center;
	/*******************************　02　領域　*/
	width: 100%;
	height: 100%;
	/*******************************　03　背景　*/

	/*******************************　04　境界　*/

	/*******************************　05　文字　*/

	/*******************************　06　其他　*/
}