@charset "UTF-8";

*{
	margin: 0;
	padding: 0;
}

:root {
	
	--gold: rgb(204, 183, 105);

	--base-color: white;
	--theme-color: #e8e8e8;
	--logo-color: #7d7d7d;
	--title-fontcolor: black;
	--guide-fontcolor: dimgray;

	--card-border-width: calc(var(--card-width) / 15);
	--selector-size: min(960px, 100%);
}

html {
	font-size: 62.5%;
}

body {
	width: 100%;
	display: grid;
	grid-template-rows: repeat(3, auto);
	gap: 64px;
	background-size: 5%;
	background-image: url(p_new0255_m_new02554.svg);
	background-attachment: fixed;
}
body.noDisp {
	display: none;
}
.en {
	font-family: "Noto Sans", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;	
}
a {
	color: inherit;
	text-decoration: underline;
}
br.narrow {
	display: none;
}

/* ================================================== */

header {
	width: 100%;
    background: dimgray;
}
header div{
	margin: auto;
	width: min(960px, 100%);
	font-size: 1.6rem;
    color: white;
    text-align: center;
}

/* ================================================== */

main {
	display: grid;
	gap: 64px;
	margin: auto;
	width: 100%;
	overflow: hidden;
}

/* ================================================== */

div#selector {
	position: relative;
	margin: auto;
	width: min(960px, 100%);
	aspect-ratio: 1;
	background-image: url(title.png);
	background-repeat: no-repeat;
	background-position: 51% 50%;
	background-size: 20%;
}

div#selector > * {
	position: absolute;
}

/* ================================================== */

div#selector div.card {
	top: calc( var(--selector-size) / 2 - var(--card-width) );
	left: calc( var(--selector-size) / 2 - var(--card-width) / 2 );	
	box-sizing: border-box;
	width: var(--card-width);
	aspect-ratio: 0.5;
	border-style: solid;
	border-width: var(--card-border-width);
	border-radius: var(--card-border-width);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	filter: drop-shadow(0px -0px 1px black);	
	backface-visibility: hidden;
	will-change: transform;
}
div#selector div.card.selector {
	border-color: white;
	background-color: whitesmoke;
	background-image: url(card-back.jpg);
	background-size: cover;
	cursor: pointer;
}
div#selector div.card.actual {
	border-color: white;
	background-color: white;
}

/* ================================================== */

div#selector div.guide {
	text-align: center;
	color: var(--guide-fontcolor);
}
div#selector div#guideCut {
	bottom: 2.0rem;
	width: 100%;
	opacity: 0;
	font-size: min(2.0rem, 3.2svw);
	font-family: serif;
}
div#selector div#guideDuration {
	display: flex;
	top: 74%;
	bottom: 6.4rem;
	margin: auto;
	width: 100%;
	height: min-content;
	font-size: min(2.4rem, 4svw);
	flex-direction: column;
}
div#selector div#guideScroll {
	z-index: 11;
    right: calc(var(--card-width));
    top: 5%;
	width: 48px;
	aspect-ratio: 1;
    cursor: pointer;
	opacity: 0;
	background-image: url(down.svg);
}
div#selector div.guide.position {
	left: calc( var(--selector-size) / 2 - var(--card-width) / 2 );	
	width: var(--card-width);
	opacity: 0;
	color: var(--title-fontcolor);
	font-size: 1.6rem;
	font-family: "BIZ UDMincho", serif;
	font-weight: 400;
	font-style: normal;
}
div#selector div.guide.position.basement{
}

/* ================================================== */

section#article {
	margin: auto;
	padding: min(64px, 5svw);
	max-width: 800px;
	max-height: 0;
	line-height: 2;
	background-color: white;
	opacity: 0;
}
section#article article {
	padding: 0 min(64px, 5svw);
	display: grid;
	gap: 2.4rem;
	font-size: 1.6rem;
	font-family: "BIZ UDMincho", serif;
	font-weight: 400;
	font-style: normal;
    overflow-x: hidden;
}
section#article article p {
	background-repeat: no-repeat;
	background-size: contain;
	padding: 0 1.6rem;
	text-align: justify;
}
section#article article p::before {
	display: block;
	margin-bottom: 16px;
	color: var(--gold);
	text-indent: -9px;
    font-size: 1.8rem;
}
section#article article p:nth-child(2)::before {
	content: "【基調/ 全体運】";
}
section#article article p:nth-child(3)::before {
	content: "【責務/ 仕事,家事】";
}
section#article article p:nth-child(4)::before {
	content: "【財産/ 金運,趣味,健康】";
}
section#article article p:nth-child(5)::before {
	content: "【周囲/ 対人,恋愛,環境】";
}
section#article article p#letterHead {
	margin-bottom: 48px;
	padding: 0;
}
section#article article p#letterHead img{
    width: 100%;
    height: auto;
	rotate: 180deg;
}
section#article article p#letterFoot {
	margin-bottom: 64px;
}
/* ================================================== */

footer{
	width: 100%;
	font-size: 1.6rem;
	background-color: #c0c0c0;
	color: white;
	font-weight: 700;
}
footer > div{
	margin: 16px auto;
	text-align: center;
}

/* ================================================== */

body#page404 {
	margin: 64px auto;
	padding: 32px;
    max-width: 640px;
    font-size: 1.6rem;
	display: grid;
    grid-template-rows: repeat(3, auto);
	gap: 16px;
}


/* ================================================== */

@media screen and (min-width: 0px) and (max-width: 480px){   
	:root {
		--card-width: 60px;
	}
	br.narrow {
		display: block;
	}
}

@media screen and (min-width: 481px) and (max-width: 640px){   
	:root {
		--card-width: 80px;
	}
}

@media screen and (min-width: 641px) and (max-width: 960px){   
	:root {
		--card-width: 120px;
	}
}

@media screen and (min-width: 961px){   
	:root {
		--card-width: 160px;
	}
}
