@charset "UTF-8";
/* CSS Document */

header{
	background-color: #222;
	position: fixed;
	width: 100%;
	z-index: 20;
}

.header_box{
	max-width: 1200px;
	margin: auto;
	text-align: left;
	padding:10px 20px;
	display: flex;
	flex-wrap: wrap;
}
@media only screen and (max-width: 520px) {
	.header_box{
		padding:5px 20px;
	}
}
.header_box a.img{
	line-height: 0;
}

.header_box img{
	height:20px;
	width:auto;
}
.header_box p{
	color:#fff;
	margin: auto 10px;
}


/*-------------------*/

main{
	padding-top: 40px;
}
@media only screen and (max-width: 520px) {
	main{
		padding-top: 30px;
	}
}

.box{
	position: absolute;
	width:100vw;
	background-color: #060606;
	z-index: 100;
	overflow: hidden;
}

.box img{
	position: absolute;
	width:31%;
	height:auto;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	opacity: .13;
}

.open_box{
	position: absolute;
	top:-30vh;
	width:100vw;
	height:160vh;
	background-color: #060606;
	z-index: 100;
	overflow: hidden;
}

.open_box img{
	position: absolute;
	width:31%;
	height:auto;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	opacity: .13;
}

.anm{
	animation: Chara 1.6s;	
}

.open_anm{
	animation: Open 1.4s;	
}

.text::after{
	content: "『裏の顔』を見てみる？";
}
.text.face::after{
	content: "占い師の姿に戻る";
}

#index .text::after{
	content: "『裏の顔』を見てみる？";
}
#index .text.face::after{
	content: "占い師の姿に戻る";
}

@keyframes Chara {
	0% {
    	height:0vh;
		top:-30vh;
	}
	45% {
    	height:160vh;
		top:-30vh;
	}
	50% {
		height:160vh;
		top:auto;
		top:-30vh;
	}
	60% {
		height:160vh;
		top:-30vh;
	}
	100% {
		height:0vh;
		top:-30vh;
	}
}


@keyframes Open {
	0% {
    	height:160vh;
		top:-30vh;
	}
	40% {
		height:160vh;
		top:-30vh;
	}
	100% {
		height:0vh;
		top:-30vh;
	}
}



/*----------------*/

section{
	text-align: left;
	width:92%;
	max-width:1320px;
	margin:110px auto 60px;
	padding:30px 0 0;
	display: flex;
	flex-wrap: wrap;
	font-family: 'Noto Sans JP', sans-serif;
}

img{
	width: 100%;
	height:auto;
}

.btn{
	position: relative;
	display: inline-block;
	margin-bottom: 15px;
	background-color: #960000;
	color:#fff;
	font-size: 16px;
	padding:4px 45px 5px;
	box-shadow: 0 0 5px rgba(0,0,0,.3);
	cursor: pointer;
	border-radius: 20px;
	transition: .2s;
}
.btn::after{
	content: "";
    position: absolute;
    top: 12px;
    right: 27px;
    width: 7px;
    height: 7px;
    border-bottom: #fff 2px solid;
    border-right: #fff 2px solid;
    transform: rotate(-45deg);
    transition: .2s;
}
@media only screen and (min-width: 768px) {
	.btn:hover{
		background-color: rgba(0,0,0,.6);
		box-shadow: 0 0 5px rgba(0,0,0,0);
	}
	.btn:hover::after{
		right: 12px;
	}
}

.bottom_btn_area{
	padding:10px 0 50px;
}

.btn_b{
	position: relative;
	display: inline-block;
	margin: 0 5px;
	color:#fff;
	background-color: rgba(0,0,0,.6);
	font-size: 16px;
	padding:5px 45px 5px 35px;
	cursor: pointer;
	border-radius: 20px;
	transition: .2s;
}
.btn_b::after{
	content: "";
    position: absolute;
    top: 11px;
    right: 27px;
    width: 7px;
    height: 7px;
    border-bottom: #fff 2px solid;
    border-right: #fff 2px solid;
    transform: rotate(-45deg);
    transition: .2s;
}
@media only screen and (min-width: 768px) {
	.btn_b:hover{
		background: none;
	}
	.btn_b:hover::after{
		right: 12px;
	}
}


section img[src*="sign"]{
	position: absolute;
	height: 190px;
	width:auto;
	top:60px;
	right:40px;
}

section img[src*="sign"].shino_sign{
	height: auto;
	width:140px;
}

.fortune{
	background-image:url("../img/cafe_bk.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;	
}

.karasu{
	background-color:rgba(0,0,0,.7);
	color:#fff;
}

.prf_box{
	width:45%;
	margin-top: -120px;
	line-height: 0;
}

.text_box{
	width:calc(55% - 60px);
	padding:10px 30px 20px;
}

.text_box h1{
	letter-spacing: 0.04em;
	font-size: 50px;
	font-weight:500;
}

.name_sub{
	margin-bottom: 10px;	
}


.text_box_line{
	display: flex;
	flex-wrap: wrap;
}

.text_box_line p{
	width:calc(50% - 10px);
	border-bottom: #444 1px solid;
	margin:10px 0;
	letter-spacing: 0.05em;
}

.text_box_line p:nth-child(odd){
	margin-right: 10px;
}
.text_box_line p:nth-child(even){
	margin-left: 10px;
}

.text_box_line p span{
	display:inline-block;
	background-color: rgba(0,0,0,.7);
	color:#fff;
	padding:1px 5px;
	margin-right:15px;
}

.text_box_line p i{
	display:inline-block;
	width:54px;
}

.text_box_line.single p{
	width: 100%;
	margin:10px 0;
}

.chara_index{
	width:calc(100% - 10px);
	letter-spacing: 0.05em;
	line-height: 1.7em;
	padding:10px 5px;
	text-align: justify;
}

.chara_index.gene p{
	display: block;
	text-align: center;
	background-color:rgba(255,255,255,.2);
	padding:5px 0;
	margin:5px 0 10px;
	letter-spacing: 0.2em;
	border-radius: 20px;
}


.karasu .text_box h1 img{
	width:54px;
	margin-bottom: -8px;
	padding-left: 6px;
}

.karasu .text_box_line p{
	border-bottom: rgba(255,255,255,.2) 1px solid;
}

.karasu .text_box_line p span{
	background-color: rgba(255,255,255,.2);
	color:#fff;
}

.line_1100{
	display: none;
}

.daily_btn_area{
	margin:10px 0;
}
.daily_btn_area a{
	position: relative;
	display: inline-block;
	background-color: #960000;
	padding: 4px 30px 5px;
	color:#fff;
	border-radius: 20px;
	transition: .2s;
}
.daily_btn_area a::after{
	content: "";
    position: absolute;
    top: 10px;
    right: 17px;
    width: 0;
    height: 0;
    border-bottom: #fff 4px solid;
    border-right: #fff 4px solid;
	border-top: transparent 4px solid;
	border-left: transparent 4px solid;
    transform: rotate(-45deg);
    transition: .2s;
}
@media only screen and (min-width: 768px) {
	.daily_btn_area a:hover{
		background-color: rgba(0,0,0,.6);
	}	
}

.back_btn_area{
	width:100%;
	padding:10px 0 20px;
	text-align: center;
}
.back_btn_area a{
	position: relative;
	display: inline-block;
	background-color: #960000;
	padding: 4px 30px 5px;
	color:#fff;
	border-radius: 20px;
	transition: .2s;
}
@media only screen and (min-width: 768px) {
	.back_btn_area a:hover{
		background-color: rgba(0,0,0,.6);
	}	
}


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

.character_link{
	margin: 30px auto 20px;
	width:92%;
	max-width:1320px;
}

.character_link h2{
	text-align: center;
	padding-bottom: 15px;
}

.link_box{
	display: flex;
	flex-wrap: wrap;
}

.link_box a{
	display: block;
	width: 100%;
	height:auto;
	aspect-ratio:1/1;
	border-radius: 50%;
	overflow: hidden;
	transition: .2s;
}

.link_box_inner{
	margin: auto;
	width: 23%;
	justify-content: center;
}

.chara_link_name{
	text-align: center;
	margin-top: 5px;
	font-weight: bold;
	letter-spacing: 0.13em;
}

.link_box a img{
	transition: .2s;
}

.link_box a.len.here{
	background-color: #1c0031;
}
.link_box a.haku.here{
	background-color: #bfdace;
}
.link_box a.tsutsuji.here{
	background-color: #be006c;
}
.link_box a.shino.here{
	background-color: #f9d6d7;
} 

@media only screen and (min-width: 768px) {
	.fortune .link_box a:hover img{
		transform:scale(1.06);
	}
	.fortune .link_box a[href*="len"]:hover{
		background-color: #1c0031;
	}
	.fortune .link_box a[href*="haku"]:hover{
		background-color: #bfdace;
	}
	.fortune .link_box a[href*="tsutsuji"]:hover{
		background-color: #be006c;
	}
	.fortune .link_box a[href*="shino"]:hover{
		background-color: #f9d6d7;
	}
	.karasu .link_box a:hover{
		opacity: .5;
	}
}

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



@media only screen and (max-width: 1100px) {
	section{
		text-align: left;
		width:96%;
	}
	.prf_box {
	    width: 52%;
		position: relative;
		z-index: 10;
	}
	.text_box {
		width:calc(48% - 30px);
		padding: 10px 15px 20px;
	}
	section img[src*="sign"] {
	    height: 135px;
    	top: 50px;
		z-index: 1;
	}
	section img[src*="sign"].shino_sign{
		width:100px;
	}
	section img[src*="sign"].tsutsuji_sign{
		left:40px;
		right:auto;
	}
	.karasu .text_box h1 img{
		width:36px;
	}
	.text_box_line p span{
		display: block;
		background-color: rgba(0,0,0,.4);
		margin:0 0 5px;
	}
	.text_box_line p i{
		display:none;
	}
	.line_1100{display: inline;}
}

@media only screen and (max-width: 980px) {
	section{
		margin-top: 20px;
		padding:0;
	}
	.prf_box {
	    width: 100%;
		max-width: 600px;
		margin: auto;
	}
	.text_box {
		width:calc(100% - 30px);
		margin-top: -200px;
		padding-top: 25px;
		background:#1a1a1a;
		position: relative;
		z-index: 10;
		text-align: center;
	}
	
	
	.fortune{
		background-image:url("../img/cafe_bk_sp.jpg");
	}
	
	.fortune .text_box{
		background-image:url("../img/cafe_bk.jpg");
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	section img[src*="sign"] {
	    height: 135px;
    	top: 90px;
		right:40px;
	}
	section img[src*="sign"].shino_sign{
		top: 60px;
	}
	.chara_index.gene{
		text-align: center;
	}
	.chara_index.gene img{
		width:70%;
	}
	.karasu .text_box h1 img{
		width:52px;
	}
	.text_box_line p span{
		margin:5px 0 0;
	}
	.text_box_line p,
	.karasu .text_box_line p{
		border: none;
	}
}

@media only screen and (max-width: 767px) {
	section img[src*="sign"] {
		height: 100px;
		right:0;
	}
	.chara_index.gene img{
		width:100%;
		max-width: 600px;
	}
	.link_box_inner{
		width: 48%;
		max-width: 250px;
		margin-bottom: 15px;
	}
}

@media only screen and (max-width: 520px) {
	.text_box h1 {
		font-size: 40px;
	}
	.karasu .text_box h1 img{
		width:32px;
	}
	section img[src*="sign"] {
		height: 76px;
		opacity: .6;
	}
	section.karasu img[src*="sign"]{
		display: none;
	}
	section img[src*="sign"].tsutsuji_sign{
		left:25px;
	}
	section {
		margin-top: 80px;
	}
	.prf_box {
		position: relative;
		overflow: hidden;
		aspect-ratio:2/3;
		height:auto;
		margin-top:-80px;
	}
	.prf_box img{
		width:124%;
		position: absolute;
		top: 0;
    	left: 50%;
    	transform: translateX(-50%);
    	-webkit-transform: translateX(-50%);
    	-ms-transform: translateX(-50%);
	}
	.fortune .prf_box img{
		width:110%;
	}
	.text_box {
		margin-top:0;
	}
	
	.text_box_line p span {
		display: inline-block;
		width:60px;
		margin-right: 10px;
		text-align: center;
	}
	.chara_index {
		margin-top: 20px;
	}
	.karasu .text_box_line p span {
		background-color: rgba(255,255,255,.1);
	}
	.karasu .text_box_line.single p {
		text-align: center;
	}
	.karasu .text_box_line.single p span {
		width:100%;
		margin-bottom: 5px;
	}
	.text_box_line p {
		width: 100%;
		margin: 15px 0 0;
		text-align: left;
	}
	.text_box_line p:nth-child(odd),
	.text_box_line p:nth-child(even){
		margin: 15px 0 0;
	}
	.link_box_inner{
		width: 35%;
		min-width: 130px;
	}
}

@media only screen and (max-width: 374px) {
	.text_box_line p {
		letter-spacing: -0.04em;
	}
}


/*=================================
■ index
=================================*/

.index{
	max-width: 1200px;
	margin:0 auto;
}

.index.fortune,
.index.karasu{
	background: none;
	color:#111;
}

.index.karasu{
	padding-top: 20px;
}

.prof_index_box{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.inner_logo{
	width:calc(100% - 50px);
	padding:0 25px;
}
.inner_logo img{
	max-width: 300px;
}
.karasu .inner_logo img{
	margin-top: 10px;
	max-width: 170px;
}

.prof_index_box a{
	display: block;
	line-height: 0;
	width:25%;
	transition: .2s;
}
@media only screen and (min-width: 768px) {
	.prof_index_box a:hover{
		background-color: rgba(0,0,0,.8);
	}
}

@media only screen and (max-width: 767px) {
	.inner_logo{
		padding:25px 25px 10px;
	}
	.karasu .inner_logo{
		padding:5px 25px 10px;
	}
	.inner_logo img{
		max-width: 200px;
	}
	.karasu .inner_logo img{
		max-width: 140px;
	}
	.prof_index_box a{
		width: 100%;
		max-width: 400px;
		margin: auto;
	}
	.karasu .prof_index_box{
		max-width: 400px;
		margin: auto;
	}
	.karasu .prof_index_box a{
		width: 50%;
		max-width: none;
	}
	.prof_index_box a[href*="len"]{order:1;}
	.prof_index_box a[href*="shino"]{order:2;}
	.prof_index_box a[href*="haku"]{order:3;}
	.prof_index_box a[href*="tsutsuji"]{order:4;}
}



/*=================================
■ ボタン
=================================*/





/*=================================
■ Arkch
=================================*/

.index.arkch{
	padding:80px 0 0;
}

.prof_index_arkch{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.prof_index_arkch a{
	display: block;
	line-height: 0;
	width:calc(100% / 7);
	transition: .2s;
}
@media only screen and (min-width: 768px) {
	.prof_index_arkch a:hover{
		background-color: rgba(0,0,0,.8);
	}
}

@media only screen and (max-width: 767px) {
	.prof_index_arkch a{
		width:calc(100% / 4);
	}
}

@media only screen and (max-width: 520px) {
	.prof_index_arkch a{
		width:calc(100% / 2);
	}
	.index.arkch{
		padding:30px 0 0;
	}
}



.no_tb{display:inline;}
.no_tb.btn{display:inline-block;margin:20px auto 25px;}
.tbs{display:none;}
@media only screen and (max-width: 767px) {
	.tbs{display:inline-block;margin:20px auto 25px;}
	.no_tb,.no_tb.btn{display:none;}
}