@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@100;300;400;500;700;800;900&display=swap');

img{width:100%;}
body{background: linear-gradient(to right, #700000 0%, #960000 10%, #960000 90%, #700000 100%);}
body *{box-sizing:border-box;}
button { cursor:pointer;}


/*----------------------
canvas
-----------------------*/

.moonimg_area{
	position:relative;
	max-width:1160px;
	margin:auto;
	padding:40px 0 0;
}

.moonimg_area::before,
.moonimg_area::after{
	content: "";
	position: absolute;
	opacity: .2;
	top:80px;
	display: block;
	width:180px;
	height:auto;
	aspect-ratio: 2 / 3;
	background-image: url(../images/top_panel_frame.webp);
	background-size: 100%;
	background-position: center;
	background-repeat: no-repeat;
}

.moonimg_area::before{left:6%;}
.moonimg_area::after{right:6%;transform: scale(-1,1);}

.moonimg_box{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap:20px;
}
.moonimg_button{
	
}
.moonimg_button button{
	border-radius: 12px;
	border:2px solid #eee;
	color:#eee;
	background-color:rgba(255,255,255,0);
	font-size: 13px;
	line-height: .95em;
	font-weight:600;
	padding:12px;
	cursor: pointer;
	transition:.2s;
}
@media only screen and (min-width: 768px) {
	.moonimg_button button:hover{
		color:#960000;
		background-color:#eee;
	}
}

.mainCanvas_box{position:relative;line-height:0;}
.mainCanvas_box canvas{width:400px;height:auto;aspect-ratio: 1/1;}
.mainCanvas_box::before{
	content:"";
	position: absolute;
	z-index: -1;
	top:0;
	left:0;
	background-color:rgba(0,0,0,.25);
	width:100%;
	height:100%;
	border-radius: 50%;
}


/*----------------------
月の説明　メイン  rgba(177,149,82,1)
-----------------------*/

.moontext_box{
	padding:15px 20px;
}

.main-today-btn {
	font-size: 13px;
	padding: 3px 12px;
	background-color:rgba(255,255,255,0);
	border: 2px solid #eee;
	color:#eee;
	cursor: pointer;
	transition: 0.2s;
	border-radius:5px;
}
@media only screen and (min-width: 768px) {
	.main-today-btn:hover{
		color:#960000;
		background-color:#eee;
	}
}

.main-today-btn.dimmed {
  opacity: 0.2;
  pointer-events: none; /* 押せなくする */
}

.mainTitle_box{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding:10px;
}

#mainDate{
	background-color:rgba(0,0,0,0.25);
	color:#eee;
	font-size:18px;
	letter-spacing:0.08em;
	font-weight:600;
	padding:2px 25px;
}

.mainPhase_box{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap:3px;
	color:#eee;
	font-family: "Shippori Mincho", serif;
	font-size:44px;
	line-height:1.2em;
	letter-spacing:0.08em;
	font-weight:900;
}
.mainPhase_box span{}
.mainPhase_box span.and{
	font-size:.8em;margin:auto 0 0;
}
.mainPhase_box > span:nth-child(1){}
.mainPhase_box > span:nth-child(1) span{font-size:.6em;margin:auto 0;padding:0 .2em;line-height:1.2em;}

/*満月・新月 >のみ*/
#spZodiacsub{
	padding-top:5px;
	color:#eee;
	font-size:15px;
	line-height:1.2em;
	letter-spacing:0.08em;
	font-weight:600;
}

/*image 満月・新月 flex=js*/
#spZodiac{
	flex-wrap: wrap;
	justify-content:center;
	color:#eee;
	font-family: "Shippori Mincho", serif;
	font-size:16px;
	padding:5px 0;
}

.moon-symbol{
	margin:auto 0;
	width:34px;
}
#spZodiac span{
	margin: auto 0;
}



/*----------------------
月の解説
-----------------------*/

.mooncomment_area{
	padding: 20px;
}

.mooncomment_box{
	display:flex;
	flex-wrap: wrap;
	margin:auto;
	max-width:1260px;
	position: relative;
	background-color:rgba(0,0,0,.25);
	border-radius:16px;
	padding:30px 30px 0;
}
.mooncomment_box::before,
.mooncomment_box::after{
	content: "";
	position: absolute;
	top:15px;
	display: block;
	width:150px;
	height:auto;
	aspect-ratio: 16 / 13;
	background-image: url(../images/comments_frame.webp);
	background-size: 100%;
	background-position: center;
	background-repeat: no-repeat;
}
.mooncomment_box::before{left:15px;}
.mooncomment_box::after{right:15px;transform: scale(-1,1);}

.mooncomment_text{
	width:70%;
	padding:30px;
}

.mooncomment_h2box{
	position: relative;
	padding:5px 0 13px;
}
.mooncomment_h2box::before,.mooncomment_h2box::after{
	content: "";
	position: absolute;
	left: 0;
	display: block;
	width:100%;
	background-color: rgba(177,149,82,1);
	border-radius:1em;
}
.mooncomment_h2box::before{
	bottom:0;
	height:1px;
}
.mooncomment_h2box::after{
	bottom:-7px;
	height:2px;
}

.mooncomment_h2box h2{
	display:flex;
	flex-wrap:wrap;
	position: relative;
	font-family: "Shippori Mincho", serif;
    color: #eee;
    font-size:46px;
    line-height: 1.15em;
	letter-spacing: -0.08em;
    font-weight: 900;
	padding-left: 1.65em;
}
.mooncomment_h2box h2::before{
	content: "";
	position: absolute;
	top:0;
	left:0.25em;
	display: block;
	height:100%;
	width: auto;
	aspect-ratio: 1 / 1;
	background-image: url(../images/moon.webp);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center;
}
.mooncomment_text h2 span{display:block;}
.mooncomment_text h2 span:nth-child(2){
	font-size:.75em;
	line-height:1.2em;
	margin: auto 0 0;
}
.mooncomment_maintext{
	position: relative;
	padding: 20px 0;
	text-align: left;
	color:#eee;
}

#moonspComment{
	padding-bottom:22px;
	font-size:17px;
	letter-spacing:0.06em;
	line-height: 1.6em;
}
#moonspComment span:nth-child(1){
	display: inline-block;
	background-color: rgba(0,0,0,.75);
	color: rgba(177,149,82,1);
	font-size:1.5em;
	font-family: "Shippori Mincho", serif;
	line-height: 1em;
	letter-spacing:0.08em;
    font-weight: 900;
	padding:2px calc(18px - 0.1em) 5px 18px;
	border-radius:2px;
	margin:0 7px 0 0;
}

.moonageComment{
	padding-bottom:22px;
	font-size:15px;
	letter-spacing:0.06em;
	line-height: 1.6em;
}
#mainSub_age{
	display: inline-block;
	background-color: rgba(0,0,0,.75);
	color: rgba(177,149,82,1);
	font-family: "Shippori Mincho", serif;
	line-height: 1em;
	letter-spacing:0.03em;
    font-weight: 900;
	padding:2px calc(18px - 0.1em) 5px 18px;
	border-radius:2px;
	margin:0 7px 0 0;
}

#zodiacComment > div{
	font-size:15px;
	letter-spacing:0.06em;
	line-height: 1.6em;
}

#zodiacComment > div span:nth-child(1){
	display: inline-block;
	background-color: rgba(0,0,0,.75);
	color: rgba(177,149,82,1);
	font-size:1.25em;
	font-family: "Shippori Mincho", serif;
	line-height: 1em;
	letter-spacing:0.08em;
    font-weight: 900;
	padding:2px calc(18px - 0.1em) 5px 18px;
	border-radius:2px;
	margin:0 7px 0 0;
}

#zodiacComment > div:nth-child(1){
	padding-bottom:22px;
}


.mooncomment_img{
	position: relative;
	width:30%;
	margin: auto 0 0;
	line-height:0;
}

.mooncomment_img a{
	position: absolute;
	padding:0 30px 0 20px;
	bottom:10px;
	right:0;
	background-color:rgba(0,0,0,.75);
	color:#eee;
	font-size:16px;
	line-height: 1.5em;
	border-radius:3px;
	filter: drop-shadow(2px 2px 3px rgba(0,0,0,.3));
}

.mooncomment_img a::after {
	position: absolute;
	content: "";
	width: 8px;
	height: 8px;
	border-bottom: #eee 1px solid;
	border-right: #eee 1px solid;
	top:50%;
	right:13px;
	transform:translateY(-50%) rotate(-45deg);
	transition: .2s;
}

.mooncomment_img span{
	position: absolute;
	bottom:42px;
	right: -3%;
    width: 47%;
	opacity:.9;
	filter: drop-shadow(2px 2px 3px rgba(0,0,0,.3));
}




/* ── カレンダー ─────────────────────── */

.calendar_area{
	padding:0 20px;
}

.calendar_box{
	margin:auto;
	max-width:1260px;
}

.calendar_head{
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	gap:20px;
	padding:5px 0 20px;
}

.calendar_head > div{
	margin: auto 0 0;
}

button#prev,
button#next{
	margin: auto 0;
	border-radius: 12px;
	border: 2px solid #eee;
	color: #eee;
	background-color: rgba(255, 255, 255, 0);
	font-size: 13px;
	line-height: .95em;
	font-weight: 600;
	padding:12px;
	transition:.2s;
}
@media only screen and (min-width: 768px) {
	button#prev:hover,button#next:hover{
		color:#960000;
		background-color:#eee;
	}
}

#title.month{
	color: #eee;
    font-size:16px;
    letter-spacing: 0.08em;
    font-weight: 600;
	padding-bottom: 2px;
}

#today{
	background:rgba(255,255,255,0);
	border:1px solid #eee;
	color:#eee;
	border-radius:4px;
	padding: 2px 10px;
}

.cal{
	display:flex;flex-wrap:wrap;
	gap:4px;margin-top:10px;
}

#dow > div{width:calc((100% - (4px * 6))/ 7);color:#eee;background:rgba(0,0,0,.1);padding:2px;}

.cell{
	width:calc((100% - (4px * 6))/ 7);
	min-height:110px;
	padding:4px;
	border-radius:8px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:space-between;
	background:rgba(0,0,0,.4);
	cursor:pointer;
	transition: .2s;
	position:relative;
	outline:1px solid rgba(177,149,82,0);
	outline-offset:-1px;
}
@media only screen and (min-width:768px) {
	.cell:hover{
		outline:1px solid rgba(177,149,82,1);
	}
}
.cell.blank {pointer-events:none;background:rgba(255,255,255,0);border:none;}
.cell.selected {
	outline:4px solid rgba(177,149,82,1);
	outline-offset:-4px;
}

/*日付*/
.cell > div:nth-child(1){position:relative;width: 100%;display:flex;padding:0 4px;}
.cell > div:nth-child(1) div{color:rgba(255,255,255,.35);font-weight:600;font-size:13px;}

.cell > div:nth-child(1) div.today_tag{
	position:absolute;top:-4px;right:-4px;
	font-size: 10px;
	padding: 2px 7px;
	border-radius: 0 4px 0 3px;
	background:#b19552;
	color: #333;
	font-weight: 600;
}

/*月*/
.cell canvas {width:60px;height:60px;}

.phase{font-size:12px;color:rgba(255,255,255,.6);text-align:center;padding:3px 0 0;}

.zodiac{font-size:12px;color:rgba(255,255,255,.35);padding-bottom:5px;}

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

.banner_area {padding:50px 20px 30px;}

.banner_box {
	margin: auto;
	max-width: 800px;
	padding-bottom:30px;
}

.banner_box a {
	display: flex;
	filter: drop-shadow(0 0 6px rgba(0, 0, 0, .4));
	line-height:0;
	transition: .2s;
}

.banner_box a img {
	border-radius: 20px;
	transition: .2s;
}

@media only screen and (min-width:768px) {
	.banner_box a:hover{opacity:.7;filter:drop-shadow(0 0 6px rgba(0,0,0,0));}
	.banner_box a:hover img{border-radius:0;}
}


