@charset "UTF-8";


/************************************************** common */

:root {
	--haedfoot-bg-color: #fff;
	--h2-bg-color: #d9d9d9;
	--category-bg-color: #777;
	--button-bg-color: #eee;
}



.ads{
	margin: 30px auto 0 auto;
	min-height: 280px;
	text-align: center;
}
.ads ins{
	margin: 0 auto;
	text-align: center;
}


a{
	color: #222;
}
a:hover{
	color: #cc0000;
}

.sp{
	display: none;
}
@media screen and (max-width:499px){
	.sp{ display: initial; }
}

ul{
	padding-left: 25px;
	list-style: disc;
}
ol{
	padding-left: 25px;
	list-style: decimal;
}
ul,
ol{
	margin-top: 15px;
}
ul ul,
ul ol,
ol ul,
ol ol{
	margin-top: 10px;
}

li{
	margin-top: 10px;
}
li:first-child{
	margin-top: 0;
}
ul.first-bold li:first-line,
ol.first-bold li:first-line,
li.first-bold:first-line{
	font-weight: bold;
}

/********** font */
.f-bold{
	font-weight: bold !important;
}
.f-mplus{
	font-family: 'M PLUS Rounded 1c', sans-serif;
}
.f-yusei{
	font-family: 'Yusei Magic', sans-serif;
}
.f-hachi{
	font-family: 'Hachi Maru Pop', cursive;
}
.f-kaisei{
	font-family: 'Kaisei Decol', serif;
}

/* to-top */
#to-top{
	margin: 50px auto 0 auto;
	text-align: center;
}


/************************************************** base */

html, body {
	margin: 0;
	padding: 0;
}
body {
	height: 100%;
	width: 100%;
	min-width: 320px;
	color: #222;
	font-size: 1.4rem;
	line-height: 1.7em;
}
header{
	margin: 0;
	padding: 30px 10px;
	width: 100%;
	background: var(--haedfoot-bg-color);
	box-shadow: 0px 0px 10px #ccc;
	text-align: center;
}

#pankuzu{
	margin: 20px auto 0 auto;
	padding: 0 10px;
	width: 100%;
	max-width: 900px;
}
	#pankuzu a{
		text-decoration: none;
	}
	#pankuzu ul{
		margin: 0;
		padding: 10px 15px;
		width: 100%;
	}
	#pankuzu ul li{
		display: inline;
	}
	#pankuzu ul li:after{
		content: ' > ';
	}
	#pankuzu ul li:last-child:after{
		content: none;
	}
	
	
main {
	margin: 50px auto 0 auto;
	padding: 0;
	width: 100%;
	max-width: 900px;
}
footer {
	margin-top: 100px;
	padding: 1px 10px 30px 10px;
	width: 100%;
	background: var(--haedfoot-bg-color);
	text-align: center;
}
header, footer {
	box-shadow: 0px 0px 10px #ccc;  
}

/********** header */
header h1, 
header h1 a {
	color: #222;
	font-size: 4rem;
	line-height: 1em;
	font-weight: normal;
	font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "MS P明朝", "MS PMincho", "MS 明朝", serif;
}
header h1 a{
	text-decoration: none;
} 
header h1 span{
	display: none;
} 

header p{
	margin-top: 5px;
	color: #222;
}


/********** footer */

footer ul.link {
	margin-top: 20px;
	padding: 0;
	list-style: none;
	text-align : center;
}
footer ul.link li{
	padding: 0 10px;
	display: inline-block
}

footer div{
	margin-top: 20px;
}
footer a{
	text-decoration: none;
}



/********** link */
.links{
	width: 100%;
	list-style: none;
}
.links ul{
	padding: 0;
}
.links li{
	margin: 0;
	padding: 5px;
	width: 25%;
	width: 33.333%;
	display: inline-block;
	text-align: center;
	overflow: hidden;
	line-height: 1;
	vertical-align: middle;
}
.links li a{
	padding: 15px 5px;
	background: var(--button-bg-color);
	border-radius: 3px;
	display: block;
	text-decoration: none;
	white-space: nowrap;
}
.links li a:hover{
	background: #999;
	color: #fff;
}

	.in.category .links li a{
		background: #e6e6e6;
		background: var(--button-bg-color);
	}
	.in.category .links li a:hover{
		background: #aaa;
	}

@media screen and (max-width:1023px){
	.links li{ width: 33.3333%; }
}
@media screen and (max-width:767px){
	.links li{ width: 50%; }
}
/*
@media screen and (max-width:599px){
	.links li{ width: 100%; }
}
*/



/************************************************** main */

main .in{
	margin-top: -50px;

	margin: 50px 0 0 0;
	padding: 0;
	width: 100%;
	text-align: left;
}

main .in .title{
	padding: 10px 20px;
	background: var(--h2-bg-color);
	font-size: 1.8rem;
}
main .in .title h2,
main .in .title span{
}
main .in .title h2{
	font-size: 1.6rem;
	font-weight: normal;
}
main .in .title h2 a{
	text-decoration: none;
}

main .in.category{
	background: var(--category-bg-color);
}
main .in.category .title h2{
	font-weight: bold;
}
main  .in.category .title{
	background: var(--h2-bg-color);
}



main .in .content{
	padding: 10px;
}
main .in .content p{
	padding-top: 15px;
}
main .in .content h3{
	margin-top: 15px;
	padding: 0 0 3px 10px;
	font-size: 1.6rem;
}

main .in .content ul:last-child{
	margin-top: 0;
}

/* 占いメニューだけは数値を変える */
main .in .content.links{
	margin-top: 5px;
	padding: 10px;
}
main .in .content.links ul{
}



/************************************************** form設定 */

/**/
#change-font input{
	margin-right: 5px;
	padding: 10px;
	height: auto;
}



/************************************************** 占い フォーム */

.outline{
	margin: 0 auto;
	max-width: 500px;
}
.outline + #form{
	margin-top: 20px;
}
.info{
	margin: 20px auto 0 auto;
	max-width: 500px;
}

#form{
	margin: 0 auto;
	max-width: 600px;
}

form .box{
	margin-top: 20px;
}
form .box:first-child{
	margin-top: 0;
}
form .box label,
form .box select{
	width: 20%;
	display: inline-block;
	vertical-align: top;
}
@media screen and (max-width:1023px){
	form .box label,
	form .box select{ width: 33.3333%; }
}
@media screen and (max-width:767px){
	form .box label,
	form .box select{ width: 50%; }
}
@media screen and (max-width:374px){
	form .box label,
	form .box select{ width: 100%; }
}

dl{
	margin: 0 auto;
	width: 100%;
/*	display: flex;
	flex-wrap: wrap;
*/
}
dt{
	padding: 10px 0 0 5px;
	width: 100%;
	vertical-align: middle;
}
	@media screen and (max-width:374px){
		dt{ font-size: 1.4rem; }
		main div.in .content{ padding: 20px 10px; }
	}
dd{
	padding: 5px 0 10px 30px;
	width: 100%;
	white-space: nowrap;
	border-bottom: #ccc solid;
	vertical-align: middle;
}
dt.noborder,
dd.noborder{ border-bottom: none; }
dd.noborder{
	padding: 10px 0 0 30px;
}

#form label{
	margin-top: 3px;
	width: 180px;
	max-width: 100%;
	white-space: nowrap;
	display: inline-block;
}
#form label.radio{
	width: 75px;
}
/*
@media screen and (max-width:599px){
	dt{ width: 45%; }
	dd{ width: 55%; }
}
*/
/* 選択内容について */
#select-a{
	display: none;
}
#select-b{
	display: block;
	text-align: right;
	text-decoration: underline;
}
#select-b:hover{
	color: #ff48a2;
}
#select-c {
	margin-top: 0;
	height: 0;
	overflow: hidden;
	transition: height 0.3s ease-out;
}
#select-a:checked + #select-b + #select-c {
	padding: 0;
	height: 200px;
	display: block;
	overflow: auto;
	padding: 10px;
	border: 2px #ccc solid;
	border-radius: 5px; 
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
#select-c{
	margin-top: 10px;
}

select:disabled,
input[type="text"]:disabled{
	background: rgba(255,255,255,0.7);
	color: #000;
}

/* 特殊 */
#user-a.color,
#user-b.color{
	padding-top: 20px;
	padding-bottom: 20px;
}


/************************************************** 占い中 ローダー */

#loader{
/*	display: none;*/
	padding: 20px;
	text-align: center;
	position: relative;
	overflow: hidden;
}
	#loader p{
		text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
		z-index: 200;
	}
	@keyframes expandAndFade {
		0% {
			opacity: 1;
			transform: scale(0.02);
		}
		100% {
			opacity: 0;
			transform: scale(1.2);
		}
	}
	.dot {
		position: absolute;
		width: 80px;
		height: 80px;
		background-color: #fff;
		border-radius: 50%;
		z-index: 100;
	}


/*
#loader-wrap{
	display: none;
}
#loader{
	margin: 0 auto 20px auto;
	width: 100%;
	max-width: 300px;
	height: 250px;
	position: relative;

	box-shadow: 0 0 10px rgba(0, 0, 0, 0.5),
				0 0 20px rgba(0, 0, 0, 0.3),
				0 0 30px rgba(0, 0, 0, 0.2);
}
#loader,
#loader div{
	width: 100%;
	max-width: 300px;
	height: 250px;
	background: #000 url(/img/loader-1.jpg) center center no-repeat;
	background-size: cover;
	border-radius: 3%;
	-webkit-border-radius: 3%;
	-moz-border-radius: 3%;
}
#loader div{
	background: #000 url(/img/loader-2.jpg) center center no-repeat;
	background-size: cover;
	position: absolute;
}
#loader span{
	display: none;
} */
/* animetion
#loader div{
	animation: fadeInOut 1s infinite;
}
@keyframes fadeInOut {
   0% { opacity: 1; }
  20% { opacity: 0; }
  40% { opacity: 1; }
 100% { opacity: 1; }
}
 */
/************************************************** 占い結果 */

#resultw{
	display: none;
}
#results{
	display: none;
}

/* 占い日時 */
.content .date{
	margin-top: 30px;
	display: block;
	text-align: right;
}

/* **分以内メッセージ */
#waiting-message{
	margin-top: 30px;
	text-align: center;
	display: none;
}
#waiting-message #targetTime,
#waiting-message #countdown{
	margin: 0 auto;
	padding: 3px;
	width: 250px;
	color: #fff;
}
#waiting-message #targetTime{
	margin-top: 15px;
}
#waiting-message #countdown{
	margin-bottom: 15px;
}

/* 「**分経過しました」リンク */
#waiting-message a{
	color: #ff48a2;
}

/************************************************** ご意見・ご希望・ご感想 */

#mess{
	width: 100%;
	height: 100px;
}







/************************************************** sample images */

.sample a{
	padding: 0;
	height: 200px;
	position: relative;
}

.sample ul li:nth-of-type(1) a { background: #000 url(/img/b1.jpg) center center no-repeat; }
.sample ul li:nth-of-type(2) a { background: #000 url(/img/b2.jpg) center center no-repeat; }
.sample ul li:nth-of-type(3) a { background: #000 url(/img/b3.jpg) center center no-repeat; }
.sample ul li:nth-of-type(4) a { background: #000 url(/img/b4.jpg) center center no-repeat; }
.sample ul li:nth-of-type(5) a { background: #000 url(/img/b21.jpg) center center no-repeat; }
.sample ul li:nth-of-type(6) a { background: #000 url(/img/b22.jpg) center center no-repeat; }
.sample ul li:nth-of-type(7) a { background: #000 url(/img/b23.jpg) center center no-repeat; }
.sample ul li:nth-of-type(8) a { background: #000 url(/img/b24.jpg) center center no-repeat; }
.sample ul li:nth-of-type(9) a { background: #000 url(/img/p1.jpg) center center no-repeat; }
.sample ul li:nth-of-type(10) a { background: #000 url(/img/p2.jpg) center center no-repeat; }
.sample ul li:nth-of-type(11) a { background: #000 url(/img/p3.jpg) center center no-repeat; }
.sample ul li:nth-of-type(12) a { background: #000 url(/img/p4.jpg) center center no-repeat; }

.sample ul li:nth-of-type(n+1):nth-of-type(-n+10) a {
	background-size: cover;
}






.links.image a{
	padding: 0;
	height: 200px;
	position: relative;
}
#link1 a {
	background: #000 url(/img/b1.jpg) center center no-repeat;
	background-size: cover;
}
#link2 a {
	background: #000 url(/img/b2.jpg) center center no-repeat;
	background-size: cover;
}
#link3 a {
	background: #000 url(/img/b3.jpg) center center no-repeat;
	background-size: cover;
}
#link4 a {
	background: #000 url(/img/b4.jpg) center center no-repeat;
	background-size: cover;
}
#link5 a {
	background: #000 url(/img/b21.jpg) center center no-repeat;
	background-size: cover;
}
#link6 a {
	background: #000 url(/img/b22.jpg) center center no-repeat;
	background-size: cover;
}
#link7 a {
	background: #000 url(/img/b23.jpg) center center no-repeat;
	background-size: cover;
}
#link8 a {
	background: #000 url(/img/b24.jpg) center center no-repeat;
	background-size: cover;
}
#link9 a {
	background: #000 url(/img/p1.jpg) center center no-repeat;
	background-size: cover;
}
#link10 a {
	background: #000 url(/img/p2.jpg) center center no-repeat;
	background-size: cover;
}
#link11 a {
	background: #000 url(/img/p3.jpg) center center no-repeat;
	background-size: cover;
}
#link12 a {
	background: #000 url(/img/p4.jpg) center center no-repeat;
	background-size: cover;
}

.links.image a span{
	padding: 10px;
	width: 100%;
	background: rgba(0,0,0,0.7);
	display: block;
	box-shadow: 0px 0px 8px #fff;  
	-moz-box-shadow: 0px 0px 8px #fff;  
	-webkit-box-shadow: 0px 0px 8px #fff;
	
	position: absolute;
	top: 80%;
	transform: translate(0, -80%);
	-webkit-transform: translate(0, -80%);
	-ms-transform: translate(0, -80%);
}

.links.image a:hover{
	opacity: 0.9;
}
.links.image a:hover span{
	background: rgba(0,0,0,0.9);
}
