@charset "utf-8";

body {
    /*******************************　01　layout　*/

    /*******************************　02　area　*/
    width: 100%;
    min-width: 300px;
    /*******************************　03　background　*/

    /*******************************　04　border　*/

    /*******************************　05　typography　*/
    font-family: "Roboto", "Noto Sans JP", sans-serif;
    /* font-family: "Roboto", "Noto Serif JP", sans-serif; */
    font-weight: 300;
    font-style: normal;
    /*******************************　06　others　*/
}

header {
    /*******************************　01　layout　*/
    display: grid;
    place-content: center;
    /*******************************　02　area　*/
    width: 100%;
    height: 101svh;
    margin-bottom: 50vh;
    /*******************************　03　background　*/

    /*******************************　04　border　*/
    border-bottom: 1px solid #000;
    /*******************************　05　typography　*/

    /*******************************　06　others　*/
}

header h1 {
	/*******************************　01　layout　*/
    position: fixed;
    z-index: 100;
    right: 0.5rem;
    bottom: 0.5rem;
	/*******************************　02　area　*/
    width: 8rem;
    height: 2.3rem;
	/*******************************　03　background　*/
    background-color: #fff;
	/*******************************　04　border　*/
    border-radius: 1.2rem;
    border: 0.05rem solid #000;
	/*******************************　05　typography　*/
    font-size: 0.8rem;
    text-align: center;
    color: #000;
	/*******************************　06　others　*/
}

header h1 a {
	/*******************************　01　layout　*/
    display: grid;
    place-items: center;
	/*******************************　02　area　*/
    width: 100%;
    height: 100%;
	/*******************************　03　background　*/

	/*******************************　04　border　*/

	/*******************************　05　typography　*/

	/*******************************　06　others　*/
}

header h2 {
	/*******************************　01　layout　*/

	/*******************************　02　area　*/
    padding-bottom: 0.3rem;
	/*******************************　03　background　*/

	/*******************************　04　border　*/
    border-bottom: 1px solid #000;
	/*******************************　05　typography　*/
	font-size: 1.2rem;
	text-align: center;
	/*******************************　06　others　*/
}

header h2 mark {
	/*******************************　01　layout　*/

	/*******************************　02　area　*/
    display: block;
    /*******************************　03　background　*/

	/*******************************　04　border　*/

    /*******************************　05　typography　*/
	font-size: 0.7rem;
	text-align: center;
    padding-bottom: 0.3rem;
	/*******************************　06　others　*/
}

header p {
	/*******************************　01　layout　*/
	position: relative;
	/*******************************　02　area　*/
    margin-top: 1rem;
	/*******************************　03　background　*/

	/*******************************　04　border　*/

	/*******************************　05　typography　*/
	font-size: 0.9rem;
	text-align: center;
	/*******************************　06　others　*/
}

header p::before {
	/*******************************　01　layout　*/
	content: "start";
	position: absolute;
	bottom: -2.5rem;
	right: -1.5rem;
	left: 0;

	margin: auto;
	/*******************************　02　area　*/
	width: fit-content;
	height: fit-content;
	/*******************************　03　background　*/

	/*******************************　04　border　*/

	/*******************************　05　typography　*/

	/*******************************　06　others　*/
	transform: rotate(90deg);
}

@keyframes scrollAnimation {
	0% {
		transform: scaleY(0);
		transform-origin: top;
	}

	50% {
		transform: scaleY(1);
		transform-origin: top;
	}

	50.1% {
		transform: scaleY(1);
		transform-origin: bottom;
	}

	100% {
		transform: scaleY(0);
		transform-origin: bottom;
	}
}

header p::after {
	/*******************************　01　layout　*/
	content: "";
	position: absolute;
	bottom: -3.5rem;
	right: 0;
	left: 0;
	margin-inline: auto;
	/*******************************　02　area　*/
	width: 0.035rem;
	height: 3rem;
	/*******************************　03　background　*/
	background-color: #000;
	/*******************************　04　border　*/

	/*******************************　05　typography　*/

	/*******************************　06　others　*/
	animation-name: scrollAnimation;
	animation-duration: 1.8s;
	animation-timing-function: ease-out;
	animation-iteration-count: infinite;
}

footer {
	/*******************************　01　layout　*/
	display: grid;
	place-content: center;
	/*******************************　02　area　*/
	width: 100%;
	min-height: 100vh;
	margin-top: 50vh;
	/*******************************　03　background　*/
	background-color: #000;
	/*******************************　04　border　*/

	/*******************************　05　typography　*/
	color: #fff;
	/*******************************　06　others　*/
}

footer p {
	/*******************************　01　layout　*/
	position: relative;
	/*******************************　02　area　*/
    margin-bottom: 1rem;
	/*******************************　03　background　*/

	/*******************************　04　border　*/
    border-top: 1px solid #000;
	/*******************************　05　typography　*/
	font-size: 0.9rem;
	text-align: center;
	/*******************************　06　others　*/
}

footer p::before {
	/*******************************　01　layout　*/
	content: "end";
	position: absolute;
	top: -2.5rem;
	right: -1.5rem;
	left: 0;

	margin: auto;
	/*******************************　02　area　*/
	width: fit-content;
	height: fit-content;
	/*******************************　03　background　*/

	/*******************************　04　border　*/

	/*******************************　05　typography　*/

	/*******************************　06　others　*/
	transform: rotate(90deg);
}

@keyframes scrollAnimation {
	0% {
		transform: scaleY(0);
		transform-origin: top;
	}

	50% {
		transform: scaleY(1);
		transform-origin: top;
	}

	50.1% {
		transform: scaleY(1);
		transform-origin: bottom;
	}

	100% {
		transform: scaleY(0);
		transform-origin: bottom;
	}
}

footer p::after {
	/*******************************　01　layout　*/
	content: "";
	position: absolute;
	top: -3.5rem;
	right: 0;
	left: 0;
	margin-inline: auto;
	/*******************************　02　area　*/
	width: 0.035rem;
	height: 3rem;
	/*******************************　03　background　*/
	background-color: #fff;
	/*******************************　04　border　*/

	/*******************************　05　typography　*/

	/*******************************　06　others　*/
	animation-name: scrollAnimation;
	animation-duration: 1.8s;
	animation-timing-function: ease-out;
	animation-iteration-count: infinite;
}


/***********************************************************
試作
***********************************************************/

/***********************************　main.a02 */
.a02 {
    /*******************************　01　配置　*/
    display: grid;
    /* 列 */
    grid-template-columns: 1fr 1fr;
    /* 行 */
    grid-template-rows: 1fr;
    /*******************************　02　領域　*/
    padding: 0 1rem;
    column-gap: 1rem;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
}

/***********************************　main.a02 > address.b01 */
.a02 .b01 {
    /*******************************　01　配置　*/
    position: relative;
    /* 自要素配置 */
    grid-column: 1/2;
    /* 子要素を上下の中央配置 */
    display: grid;
    align-content: center;
    grid-template-columns: 1fr 55%;
    grid-template-rows: 1fr 1fr 1fr 1fr 10% 10% 10% 10%;
    /*******************************　02　領域　*/
    height: fit-content;
    /* 縦横比 */
    aspect-ratio: 91 / 55;
    /*******************************　03　背景　*/
    box-shadow: 0.05rem 0.1rem 0.2rem rgba(0, 0, 0, 0.5);
    /*******************************　04　境界　*/
    border: 0.01rem solid rgba(0, 0, 0, 0.5);
    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
    container-type: inline-size;
}

@media screen and (max-width: 650px) {
    .a02 .b01 {
        /***************************　01　配置　*/
        grid-column: 1/3;
        /***************************　02　領域　*/
        margin-bottom: 1rem;
    }
}

@media screen and (max-aspect-ratio: 650/1000) {
    .a02 .b01 {
        /***************************　01　配置　*/
        grid-column: 1/3;
        /***************************　02　領域　*/
        margin-bottom: 1rem;
    }
}

/***********************************　main.a02 > address.b01 > p.c01 */
.a02 .b01 .c01 {
    /*******************************　01　配置　*/
	position: absolute;
	top: -5cqw;
	left: 2cqw;
	/*******************************　02　領域　*/
	/* width: 20cqw; */
	height: 40cqw;
	/*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/

	/*******************************　06　其他　*/
}

/***********************************　main.a02 > address.b01 > p.c01 > img */
.a02 .b01 .c01 img {
    /*******************************　01　配置　*/
	display: block;
	/*******************************　02　領域　*/
	height: 100%;
	/*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/

	/*******************************　06　其他　*/
}

/***********************************　main.a02 > address.b01 > p.c02 */
.a02 .b01 .c02 {
    /*******************************　01　配置　*/
    margin: 0 auto;
    /* 自要素に指定 */
    grid-column: 1/3;
    grid-row: 1/3;

    position: relative;
    z-index: 1;
    /* 子要素に指定 */
    display: grid;
    align-items: end;
    /*******************************　02　領域　*/
    width: 55cqw;
    padding-left: 0.5cqw;
    padding-right: 0.8cqw;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/
    font-weight: 400;
    font-size: 4.5cqw;
    text-align: center;
    /* 最終行の両端揃え */
    text-align-last: justify;
    /* 英語　先頭を大文字 */
    text-transform: capitalize;
    /*******************************　06　其他　*/
}

/***********************************　main.a02 > address.b01 > p.c03 */
.a02 .b01 .c03 {
    /*******************************　01　配置　*/
    margin: 0 auto;
    /* 自要素に指定 */
    grid-column: 1/3;
    grid-row: 3/5;

    position: relative;
    z-index: 1;

    /* 子要素に指定 */
    display: grid;
    align-items: start;
    /*******************************　02　領域　*/
    width: 55cqw;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/
    font-weight: 400;
    font-size: 7cqw;
    text-align: center;
    text-align-last: justify;
    /*******************************　06　其他　*/
}

/***********************************　main.a02 > address.b01 > p.c04 */
.a02 .b01 .c04 {
    /*******************************　01　配置　*/
    position: relative;
    /* 自要素に指定 */
    grid-column: 1/3;
    grid-row: 5/7;

    position: relative;
    z-index: 1;

    /* 子要素に指定 */
    display: grid;
    align-items: center;
    /*******************************　02　領域　*/
    padding-left: 2cqw;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/
    font-size: 4.4cqw;
    /*******************************　06　其他　*/
}

.a02 .b01 .c04::before {
    /*******************************　01　配置　*/
    content: "";
    position: absolute;
    top: -2cqw;
    left: 0;
    right: 0;
    /*******************************　02　領域　*/
    width: 100%;
    height: 0.1cqw;
    /*******************************　03　背景　*/
    background-color: rgba(0, 0, 0, 0.5);
    /*******************************　04　境界　*/

    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
}

/***********************************　main.a02 > address.b01 > p.c05 */
.a02 .b01 .c05 {
    /*******************************　01　配置　*/
    /* 自要素に指定 */
    grid-column: 1/2;
    grid-row: 7/8;
    
    position: relative;
    z-index: 1;

    /* 子要素に指定 */
    display: flex;
    align-items: start;
    /*******************************　02　領域　*/
    padding-left: 2.5cqw;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/
    font-size: 4.4cqw;
    /*******************************　06　其他　*/
}

/***********************************　main.a02 > address.b01 > p.c06 */
.a02 .b01 .c06 {
    /*******************************　01　配置　*/
    /* 自要素に指定 */
    grid-column: 1/2;
    grid-row: 8/9;
    
    position: relative;
    z-index: 1;

    /* 子要素に指定 */
    display: flex;
    align-items: start;
    /*******************************　02　領域　*/
    padding-left: 2.5cqw;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/
    font-size: 4.4cqw;
    /*******************************　06　其他　*/
}

/***********************************　main.a02 > address.b01 > p.c07 */
.a02 .b01 .c07 {
    /*******************************　01　配置　*/
    /* 自要素に指定 */
    grid-column: 2/3;
    grid-row: 7/8;
    
    position: relative;
    z-index: 1;

    /* 子要素に指定 */
    display: flex;
    align-items: start;
    /*******************************　02　領域　*/
    padding-left: 2cqw;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/
    font-size: 4.4cqw;
    /*******************************　06　其他　*/
}

/***********************************　main.a02 > address.b01 > p.c08 */
.a02 .b01 .c08 {
    /*******************************　01　配置　*/
    /* 自要素に指定 */
    grid-column: 2/3;
    grid-row: 8/9;
    
    position: relative;
    z-index: 1;

    /* 子要素に指定 */
    display: flex;
    align-items: start;
    /*******************************　02　領域　*/
    padding-left: 2cqw;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/
    font-size: 4.4cqw;
    /*******************************　06　其他　*/
}

/***********************************　main.a02 > address.b01 > video.c09 */
.a02 .b01 .c09 {
    /*******************************　01　配置　*/
    position: absolute;
    inset: 0;
    place-items: center;

    z-index: 1;
    /*******************************　02　領域　*/
    width: 100%;
    height: 100%;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
    filter: grayscale(100%) opacity(30%);
    object-fit: cover;
}

/***********************************　main.a02 > address.b01 > p.c08 */
.a02 .b01 .c05 .d01,
.a02 .b01 .c06 .d01,
.a02 .b01 .c08 .d01 {
    /*******************************　01　配置　*/
    display: inline-block;
    margin-left: 2cqw;
    /*******************************　02　領域　*/
    width: 30cqw;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
}

.a02 .b01 .c07 .d01 {
    /*******************************　01　配置　*/
    display: inline-block;
    margin-left: 3.6cqw;
    /*******************************　02　領域　*/
    width: fit-content;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
}

/***********************************　main.a02 > ul.b02 */
.a02 .b02 {
    /*******************************　01　配置　*/
    position: relative;
    
    /* 自要素配置 */
    grid-column: 2/3;
    /*******************************　02　領域　*/
    /* 縦横比 */
    aspect-ratio: 91 / 55;

    overflow: hidden;
    /*******************************　03　背景　*/
    box-shadow: 0.05rem 0.1rem 0.2rem rgba(0, 0, 0, 0.5);
    /*******************************　04　境界　*/
    border: 0.01rem solid rgba(0, 0, 0, 0.5);
    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
}

@media screen and (max-width: 650px) {
    .a02 .b02 {
        /***************************　01　配置　*/
        grid-column: 1/3;
        /***************************　02　領域　*/
        margin-bottom: 2rem;
    }
}

@media screen and (max-aspect-ratio: 650/1000) {
    .a02 .b02 {
        /***************************　01　配置　*/
        grid-column: 1/3;
        /***************************　02　領域　*/
        margin-bottom: 2rem;
    }
}

/***********************************　main.a02 > ul.b02 > li.c01 */
.a02 .b02 .c01 {
    /*******************************　01　配置　*/
    position: relative;
    /*******************************　02　領域　*/
    /* 高さを指定してalign-content: center;を有効 */
    height: 100%;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
    container-type: inline-size;
}

/***********************************　main.a02 > ul.b02 > li.c01 > dl.d01 */
.a02 .b02 .c01 .d01 {
    /*******************************　01　配置　*/
    /* 子要素の配置指定 */
    display: grid;
    align-content: center;
    grid-template-columns: 25% 1fr;
    /*******************************　02　領域　*/
    padding: 4cqw 4cqw 0cqw 4cqw;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/
    font-size: 4cqw;
    /*******************************　06　其他　*/
}

/***********************************　main.a02 > ul.b02 > li.c01 > dl.d01 > dt.e01 */
.a02 .b02 .c01 .d01 .e01 {
    /*******************************　01　配置　*/
    grid-column: 1/2;
    /*******************************　02　領域　*/
    padding: 2cqw;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/
    border-bottom: 0.01rem solid rgba(0, 0, 0, 0.5);
    /*******************************　05　文字　*/
    text-align: left;
    font-weight: 400;
    /* 英語　先頭文字を大文字 */
    text-transform: capitalize;
    /*******************************　06　其他　*/
}

@media screen and (max-width: 435px) {
    .a02 .b02 .c01 .d01 .e01 {
        /***************************　01　配置　*/
        grid-column: 1/3;
        /***************************　02　領域　*/
        padding: 3cqw 2cqw 1cqw 2cqw;
        border-bottom: unset;
    }
}

/***********************************　main.a02 > ul.b02 > li.c01 > dl.d01 > dd.e02 */
.a02 .b02 .c01 .d01 .e02 {
    /*******************************　01　配置　*/
    grid-column: 2/3;
    /*******************************　02　領域　*/
    padding: 2cqw;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/
    border-bottom: 0.01rem solid rgba(0, 0, 0, 0.5);
    /*******************************　05　文字　*/
    /* 英語　先頭文字を大文字 */
    text-transform: capitalize;
    /*******************************　06　其他　*/
}

@media screen and (max-width: 435px) {
    .a02 .b02 .c01 .d01 .e02 {
        /***************************　01　配置　*/
        grid-column: 1/3;
        /***************************　02　領域　*/
        padding: 0cqw 2cqw 3cqw 2cqw;
    }
}

/***********************************　main.a02 > ul.b02 > li.c01 > dl.d02 */
.a02 .b02 .c01 .d02 {
    /*******************************　01　配置　*/
    position: absolute;
    bottom: 2.5cqw;
    right: 1cqw;
    /*******************************　02　領域　*/
    width: 100%;
    padding: 0 12cqw 0 0;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/
    font-weight: 900;
    font-size: 6cqw;
    text-align: right;
    /* 英語　先頭を大文字 */
    text-transform: capitalize;
    /*******************************　06　其他　*/
}

.a02 .b02 .c01 .d02::after {
    /*******************************　01　配置　*/
    content: "→";
    /* 自要素を上下の下配置・左右の右配置 */
    position: absolute;
    right: 1cqw;
    bottom: -1cqw;
    /* 擬似要素(ここでは→)を上下・左右の中央配置 */
    display: grid;
    align-content: center;
    justify-content: center;
    /*******************************　02　領域　*/
    width: 9cqw;
    height: 9cqw;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/
    border: 0.2cqw solid #000;
    border-radius: 50%;
    /*******************************　05　文字　*/
    font-size: 6cqw;
    font-weight: 900;
    /*******************************　06　其他　*/
}

/***********************************　main.a02 > ul.b02 > li.c02 */
.a02 .b02 .c02 {
    /*******************************　01　配置　*/
    /* z-index →　js-modalに指定*/
}

/***********************************　main.a02 > ul.b02 > li.c02 > h3.d01 */
.a02 .b02 .c02 .d01 {
    /*******************************　01　配置　*/
    z-index: 500;
    margin: 5rem 0 0;
    position: sticky;
    top: 0;
    margin-inline: auto;
    /*******************************　02　領域　*/
    width: max(610px, 80vw);
    padding: 0.5rem;
    /*******************************　03　背景　*/
    background-color: #000;
    /*******************************　04　境界　*/

    /*******************************　05　文字　*/
    color: #fff;
    font-weight: 900;
    font-size: 1.1rem;
    text-transform: uppercase;
    /*******************************　06　其他　*/
    cursor: default;
}

@media screen and (max-width: 610px) {
    .a02 .b02 .c02 .d01 {
        /***************************　02　領域　*/
        width: 100%;
    }
}

/***********************************　main.a02 > ul.b02 > li.c02 > dl.d02 */
.a02 .b02 .c02 .d02 {
    /*******************************　01　配置　*/
    z-index: 400;
    margin: 0 auto 3.5rem;
    /*******************************　02　領域　*/
    width: max(610px, 80vw);
    padding: 2rem 0.5rem;
    /*******************************　03　背景　*/
    background-color: #fff;
    /*******************************　04　境界　*/

    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
    cursor: default;
}

@media screen and (max-width: 610px) {
    .a02 .b02 .c02 .d02 {
        /***************************　02　領域　*/
        width: 100%;
    }
}

/***********************************　main.a02 > ul.b02 > li.c02 > dl.d02 > dt.e01 */
.a02 .b02 .c02 .d02 .e01 {
    /*******************************　01　配置　*/
    margin: auto;
    position: relative;
    /*******************************　02　領域　*/
    padding-bottom: 0.75rem;
    width: 100%;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/
    font-size: 1.3rem;
    font-weight: 500;
    text-align: left;
    text-wrap: balance;
    word-break: auto-phrase;
    /*******************************　06　其他　*/
}

.a02 .b02 .c02 .d02 .e01::before {
    /*******************************　01　配置　*/
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: left;
    /*******************************　02　領域　*/
    width: 3rem;
    height: 0.1rem;
    /*******************************　03　背景　*/
    background-color: #000;
    /*******************************　04　境界　*/

    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
}

.a02 .b02 .c02 .d02 .e01::after {
    /*******************************　01　配置　*/
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin-left: auto;
    /*******************************　02　領域　*/
    width: calc(100% - 3rem);
    height: 0.1rem;
    /*******************************　03　背景　*/
    background-color: #d9d9d9;
    /*******************************　04　境界　*/

    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
}

/***********************************　main.a02 > ul.b02 > li.c02 > dl.d02 > dl.e02 */
.a02 .b02 .c02 .d02 .e02 {
    /*******************************　01　配置　*/

    /*******************************　02　領域　*/
    padding: 1rem 0 3rem;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
}

/***********************************　main.a02 > ul.b02 > li.c02 > dl.d02 > dl.e02 > dl.f01 */
.a02 .b02 .c02 .d02 .e02 .f01 {
    /*******************************　01　配置　*/
    /* 子要素の配置指定 */
    display: grid;
    align-content: center;
    grid-template-columns: max(25%, 7rem) 1fr;
    /*******************************　02　領域　*/

    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
}

/***********************************　main.a02 > ul.b02 > li.c02 > dl.d02 > dl.e02 > dl.f01 > dt.g01 */
.a02 .b02 .c02 .d02 .e02 .f01 .g01 {
    /*******************************　01　配置　*/

    /*******************************　02　領域　*/
    padding: 0.5rem;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/
    border-bottom: 0.025rem solid #000;
    /*******************************　05　文字　*/
    font-weight: 400;
    /*******************************　06　其他　*/
}

/***********************************　main.a02 > ul.b02 > li.c02 > dl.d02 > dl.e02 > dl.f01 > dd.g02 */
.a02 .b02 .c02 .d02 .e02 .f01 .g02 {
    /*******************************　01　配置　*/

    /*******************************　02　領域　*/
    padding: 0.5rem 0;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/
    border-bottom: 0.025rem solid #000;
    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
}

/***********************************　main.a02 > section.b04 > ul.c03 > li.d02 > dl.e02 > dd.f02 > dl.g01 > dd.h02 > a > em */
.a02 .b05 .c03 .d02 .e02 .f02 .g01 .h02 a em {
    /*******************************　01　配置　*/
    position: relative;
    /*******************************　02　領域　*/

    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/
    font-weight: 300;
    /*******************************　06　其他　*/
}


.a02 .b05 .c03 .d02 .e02 .f02 .g01 .h02 a em::after {
    /*******************************　01　配置　*/
    content: "→";
    position: absolute;
    right: -1.3rem;
    top: 0;
    bottom: 0;
    margin-block: auto;

    display: grid;
    place-items: center;
    /*******************************　02　領域　*/
    width: 1.2rem;
    height: 1.2rem;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/
    border-radius: 50%;
    border: 0.05rem solid #000;
    /*******************************　05　文字　*/
    font-size: 0.8rem;
    /*******************************　06　其他　*/
    transform: rotate(-45deg);
}

/***********************************　main.a02 > section.b04 > ul.c03 > li.d02 > dl.e02 > dd.f02 > ul.g02 */
.a02 .b02 .c02 .d02 .e02 .f02 {
    /*******************************　01　配置　*/
    /* 子要素の配置指定 */
    display: flex;
    flex-wrap: wrap;
    /*******************************　02　領域　*/

    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
}

/***********************************　main.a02 > section.b04 > ul.c03 > li.d02 > dl.e02 > dd.f02 > ul.g02 > li.h01 */
.a02 .b02 .c02 .d02 .e02 .f02 .g01 {
    /*******************************　01　配置　*/

    /*******************************　02　領域　*/
    width:fit-content;
    padding: 0.5rem;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/
    text-wrap: nowrap;
    /*******************************　06　其他　*/
}


.js-modal-open{
    /*******************************　01　配置　*/

    /*******************************　02　領域　*/

    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
    cursor: pointer;
}

.js-modal {
    /*******************************　01　配置　*/
    z-index: 200;
    /* 自要素を上下・左右の中央配置 */
    position: fixed;
    inset: 0;
    /*******************************　02　領域　*/
    width: 100%;

    overflow: auto;
    /*******************************　03　背景　*/
    background: rgba(0, 0, 0, 0.7);
    /*******************************　04　境界　*/

    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
    cursor: pointer;
    visibility: hidden;
    opacity: 0;
    transition: 0.3s;

    display: none;
}

.js-modal.is-active {
    /*******************************　01　配置　*/
    z-index: 300;
    /*******************************　02　領域　*/

    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
    opacity: 1;
    visibility: visible;

    display: block;
}


.js-modal.is-active .js-modal-close {
    display: block;
    /* モーダルがアクティブになったときに表示 */
}

.js-modal-close {
    /*******************************　01　配置　*/
    /* 「.modal_content　z-index」よりも上に配置 */
    z-index: 500;
    /* ボタンの表示位置 */
    position: fixed;
    top: 1%;
    right: 1%;
    /*******************************　02　領域　*/
    width: 2.5rem;
    height: 2.5rem;
    /*******************************　03　背景　*/
    background-color: #fff;
    /*******************************　04　境界　*/
    border: 0.2rem solid #000;
    border-radius: 50%;
    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
    cursor: pointer;
    /* 初期状態で非表示 */
    display: none;

}

.js-modal-close::before,
.js-modal-close::after {
    /*******************************　01　配置　*/
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    /*******************************　02　領域　*/
    width: 0.2rem;
    height: 80%;
    /*******************************　03　背景　*/
    background-color: #000;
    /*******************************　04　境界　*/

    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
}

.js-modal-close::before {
    /*******************************　01　配置　*/
    /* 角度調整 */
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    /*******************************　02　領域　*/

    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
}

.js-modal-close::after {
    /*******************************　01　配置　*/
    /* 角度調整 */
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    /*******************************　02　領域　*/

    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
}

.js-no-scroll {
    /*******************************　01　配置　*/

    /*******************************　02　領域　*/
    overflow: hidden;
    height: 100vh;
    /*******************************　03　背景　*/

    /*******************************　04　境界　*/

    /*******************************　05　文字　*/

    /*******************************　06　其他　*/
    touch-action: none;
}



/*

* {
    outline: 0.1px solid #ff0000;
}

*::before {
    outline: 0.1px solid #ff0000;
}

*::after {
    outline: 0.1px solid #ff0000;
}

<!-- guide css -->
<!-- <link rel="stylesheet" href="css/guide_*.css"> -->
<!-- <link rel="stylesheet" href="css/guide_color.css"> -->
<!-- <link rel="stylesheet" href="css/guide_culumn.css"> -->
<!-- <link rel="stylesheet" href="css/guide_row.css"> -->

<div class="guide01"></div>
<div class="guide02"></div>
<div class="guide03"></div>
<div class="guide04"></div>
<div class="guide05"></div>
<div class="guide06"></div>
<div class="guide07"></div>
<div class="guide08"></div>
<div class="guide09"></div>
<div class="guide10"></div>

<div class="guide11"></div>
<div class="guide12"></div>
<div class="guide13"></div>
<div class="guide14"></div>
<div class="guide15"></div>
<div class="guide16"></div>
<div class="guide17"></div>
<div class="guide18"></div>
<div class="guide19"></div>
<div class="guide20"></div>

*/
