@charset "UTF-8";
@import url("./color.css");




.material-symbols-outlined {
	font-variation-settings:
		'FILL'0,
		'wght'400,
		'GRAD'0,
		'opsz'24
}

/* Recommended icon sizes */
material-symbols-outlined.size-20 {
	font-size: 20px;
	font-variation-settings: 'OPSZ'20;
}

material-symbols-outlined.size-24 {
	font-size: 24px;
	font-variation-settings: 'OPSZ'24;
}

material-symbols-outlined.size-40 {
	font-size: 40px;
	font-variation-settings: 'OPSZ'40;
}

material-symbols-outlined.size-48 {
	font-size: 48px;
	font-variation-settings: 'OPSZ'48;
}

/* Rules for using icons as black on a light background. */
.material-symbols-outlined.dark {
	background: black;
	color: rgba(255, 255, 255, 1);
	font-variation-settings: 'GRAD'-25;
}

.material-symbols-outlined.dark-inactive {
	background: black;
	color: rgba(255, 255, 255, 0.3);
	font-variation-settings: 'GRAD'-25;
}


/*---------------------------------------------------------------------------------------
切り替えクエリ
---------------------------------------------------------------------------------------*/
@media screen {
	:root {
		--sType: "169";
		--devWidth: 1920px;
		--devHeight: 1080px;
		--headerWidth: 120px;
		--headerHeight: 1080px;
		--blockWidth: 360px;
		--blockHeight: 360px;
		--baseRows: 3;
		--baseCols: 5;
	}
}

@media screen and (aspect-ratio: 16/9) and (orientation: landscape) {
	:root {
		--sType: "169";
		--devWidth: 1920px;
		--devHeight: 1080px;
		--headerWidth: 120px;
		--headerHeight: 1080px;
		--blockWidth: 360px;
		--blockHeight: 360px;
		--baseRows: 3;
		--baseCols: 5;
	}
}

@media screen and (aspect-ratio: 16/9) and (orientation: portrait) {
	:root {
		--sType: "916";
		--devWidth: 1080px;
		--devHeight: 1920px;
		--headerWidth: 120px;
		--headerHeight: 1080px;
		--blockWidth: 360px;
		--blockHeight: 360px;
		--baseRows: 3;
		--baseCols: 5;
	}
}


/*---------------------------------------------------------------------------------------
親配置CSS
---------------------------------------------------------------------------------------*/
*, *:before, *:after {
	-webkit-box-sizing: inherit;
	box-sizing: inherit;
}

html {
	border-collapse: collapse;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	font-size: clamp(0.875rem, 0.5rem + 0.8vw, 1rem);
	line-height: 1;
}

body {
	width: 100vw;
	height: 100vh;
	margin: 0;
	padding: 0;
	overflow: hidden;
}


/*---------------------------------------------------------------------------------------
基本配置CSS
---------------------------------------------------------------------------------------*/
#cygn_fhdvfl_wrapper {
	width: 100vw;
	height: 100vh;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	overflow: hidden;
}

#cygn_fhdvfl_wrapper>* {
	background-color: var(--ud_black);
}


#cygn_fhdvfl_wrapper>header {
	flex: 0 0 48px;
	overflow: hidden;
}


#cygn_fhdvfl_wrapper>main {
	flex: 0 0 calc(calc(100vw / 3)*4);
/*
	background-image: url('bg.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: bottom;
	*/
	overflow: hidden;
}

#cygn_fhdvfl_wrapper>nav {
	flex: 1 1 auto;
	background-color: var(--ud_white);
	overflow: hidden;
}

#cygn_fhdvfl_wrapper>footer {
	flex: 0 0 32px;
	overflow: hidden;
}


/*---------------------------------------------------------------------------------------
リスト
---------------------------------------------------------------------------------------*/
.cards_wrapper {
	display: flex;
	width: calc(100% - 16px);
	height: calc(100% - 16px);
	margin: 8px;
	padding: 0;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 8px;
}

.cards_wrapper .cards_item {
	display: block;
	width: calc((100vw - 8px * 4) / 5);
	height: calc(calc((100vw - 8px * 4) / 5)*0.75);
	border: 2px solid var(--ud_lightgray);
	border-end-end-radius: 16px;
}

.cards_wrapper .cards_item.bgimg{
	background-repeat: no-repeat;
	background-size: contain;
	background-position: bottom center;
	background-color: rgba(255, 255, 255, 0.75);
	background-blend-mode: lighten;
}


.cardbox {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	overflow: hidden;
	justify-content: space-between;
}

.cardbox .cardbox_header {
	flex: 0 0 32px;
	background-color: var(--ud_black);
	color: var(--ud_lightgray);
	font-size: 1.25rem;
	font-weight: bold;
	display: grid;
	justify-items: center;
	align-items: center;
	overflow: hidden;
}

.cardbox .cardbox_contents {
	flex: 1 0 auto;
	display: grid;
	padding:0 4px;
	justify-items: flex-start;
	align-items: center;
}

.cardbox .cardbox_contents.by4 {
	flex: 4 0 auto;
	justify-items:flex-end;
	align-items: flex-end;
}
.cardbox .cardbox_contents.by4 p{
	font-size: 1.25rem;
	font-weight: bold;
}

.cardbox *[class^="cardbox_"] * {
	margin: 0;
	padding: 0;
}





#mainModel{
	display: block;
	position: absolute;
	bottom:0;
	right:0;
	width:900px;
	height:1200px;
}





/*---------------------------------------------------------------------------------------
fully関連
---------------------------------------------------------------------------------------*/
.fully_header {
	padding: 0 16px;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

.fully_header>* {
	flex: 0 0 auto;
	margin: 0 0;
}


.fully_header *[class^="fh_logo"] {
	flex: 0 0 320px;
	height: 48px;
	margin-right: auto;
	padding: 8px 0;
	overflow: hidden;
}

.fully_header *[class^="fh_logo"]>img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: scale-down;
}

.fully_header *[class^="fh_icon"] {
	flex: 0 0 48px;
	color: var(--ud_white);
}