@charset "utf-8";

/* ===============================================================================
Reset
=============================================================================== */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a,
abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike,
strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure,
figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}
/* ===============================================================================
Body Setting
=============================================================================== */
html, body {
  font-family: 'Cinema Letter',sans-serif;
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  line-height: 1.8;
  color: #000;
  font-weight: bold;
}
body{
	background: url(../images/bg_pc.png) repeat-y;
	background-size: 100% auto;
}

/* ===============================================================================
Common
=============================================================================== */
.spOnly{
	display: none;
}
a:hover{
	opacity: 0.5;
	-webkit-transition: opacity .3s;
	-moz-transition: opacity .3s;
	-ms-transition: opacity .3s;
	-o-transition: opacity .3s;
	transition: opacity .3s;
}
@media screen and (max-width: 640px) {
	br{
		display: none;
	}
	.pcOnly{
		display: none;
	}
	.spOnly{
		display: block;
	}
	.sp-br{
		display: block;
	}
}
/* ===============================================================================
opening
=============================================================================== */
#opening{
	height: 100vh;
	width: 100vw;
	position: fixed;
	border-top: solid #000 100px;
	border-bottom: solid #000 100px;
	box-sizing:border-box;
	background: url(../images/bg_pc.png) repeat-y;
	background-size: 100% auto;
	opacity: 0;
}
#opening div{
	display: flex;
	justify-content: center;
	align-items: center;
	height: calc(100vh - 200px);
}
.fadeIn{
	animation: fadeIn 2s ease 0s 1 forwards;
    -webkit-animation: fadeIn 2s ease 0s 1 forwards;
}
.fadeInOut{
	animation: fadeInOut 3s ease 0s 1 forwards;
    -webkit-animation: fadeInOut 3s ease 0s 1 forwards;
}
.hide{
	 -moz-animation: cssHide 0s ease-in 0s forwards;
    -webkit-animation: cssHide 0s ease-in 0s forwards;
    -o-animation: cssHide 0s ease-in 0s forwards;
    animation: cssHide 0s ease-in 0s forwards;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;	
}
#page{
	opacity: 0;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@keyframes fadeInOut {
    0% {opacity: 0}
    65% {opacity: 1}
    100% {opacity: 0}
}
@keyframes fadeInOut {
    0% {opacity: 0;
		z-index: 1;
	}
    65% {opacity: 1;
		z-index: 1;
	}
    100% {opacity: 0;
		z-index: 1;
	}
}
@keyframes cssHide {
    100% {
        width:0;
        height:0;
		border:none;
        overflow:hidden;
    }
}
@-webkit-keyframes cssHide {
    100% {
        width:0;
        height:0;
		border:none;
        visibility:hidden;
    }
}
@media screen and (max-width: 640px) {
	#opening{
		height: calc(var(--vh, 1vh) * 100);
		border-top: solid #000 50px;
		border-bottom: solid #000 50px;
	}
	#opening div{
		height: calc((var(--vh, 1vh) * 100) - 100px);
	}
}
/* ===============================================================================
main visual
=============================================================================== */
.mv{
	text-align: center;
}
.mv .txt1{
	padding-top: 30px;
}
.mv .mv_img{
	padding-top: 20px;
}
@media screen and (max-width: 768px) {
	.mv .mv_img img{
		width: 98%;
		margin: 0 auto;
	}
}
@media screen and (max-width: 640px) {
	.mv .txt1 img{
		width: 61.538%;
	}
	.mv .mv_img {
		padding-top: 0;
	}
}
/* ===============================================================================
yodogawa
=============================================================================== */
.article-lead{
	max-width: 600px;
    width: 95%;
	margin: 60px auto 0;
	font-size: 1rem;
	background-color: #FFF;
}
.article-lead .inner{
	max-width: 430px;
	width: 95%;
	margin: 0 auto;
	padding: 40px 0;
}
.article-lead dl{
	padding-bottom: 45px;
    position: relative;
	display: flex;
}
.article-lead dl dt{
    width: 65px;
    height: 82px;
	text-indent: -9999px;
	margin-right: 25px;
}
.article-lead dl dt.techoko:before,
.article-lead dl dt.penpen:before,
.article-lead dl dt.futari:before{
	content: '';
    width: 65px;
    height: 82px;
    background-size: cover;
    display: block;
    position: absolute;
    left: 0;
}
.article-lead dl dt.techoko:before{
	background-image: url(../images/icon_techoko@2x.png);
}
.article-lead dl dt.penpen:before{
	background-image: url(../images/icon_penpen@2x.png);
}
.article-lead dl dt.futari:before{
	background-image: url(../images/icon_futari@2x.png);
}
#section_mikuji{
	text-align: center;
}
.article-lead2{
	max-width: 500px;
	width: 90%;
	border: solid #E83828 10px;
	border-radius: 30px;
	margin: 100px auto;
}
.article-lead2 .inner{
	padding: 30px 20px 60px;
}
.article-lead2 .img{
	text-align: center;
}
.article-lead2 h3{
	font-weight: bold;
	font-size: 1.45rem;
	line-height: 3;
}
.article-lead2 .text{
	padding: 10px 0 40px;
	line-height: 2;
}
.article-lead2 .text dl{
	display: flex;
}
.article-lead2 .text dt{
	white-space: nowrap;
	line-height: 1.5;
}
.article-lead2 .text dd{
	line-height: 1.5;
}
.article-lead2 .text_sub{
	font-size: .85rem;
	padding: 20px 0 0;
	line-height: 1.8;
}
.article-lead2 a{
	color: #00A0E9;
	text-decoration: none;
}
@media screen and (max-width: 640px) {
	.article-lead{
		margin: 30px auto 0;
	}
	.article-lead dl{
		display: block;
	}
	.article-lead dl dd{
		padding-top: 20px;
	}
	#btn_omikuji img{
		width: 88.7%;
	}
	.article-lead2{
		border: solid #E83828 5px;
	}
	.article-lead2 h3{
		line-height: 1.5;
		padding: 10px 0;
	}
	.article-lead2 .img img{
		width: 100%;
	}
	.article-lead2 .img img.icon_techo{
		width: 50%;
	}	
	.article-lead2 .inner{
		padding: 40px 15px 30px;
	}
}
/* ===============================================================================
result
=============================================================================== */
#result:before{
	content: '';
	display: block;
	background: url(../images/border.jpg) repeat-x top center;
	background-size: contain;
	width: 100%;
	height: 35px;
}
#result:after{
	content: '';
	display: block;
	background: url(../images/border.jpg) repeat-x bottom center;
	background-size: contain;
	width: 100%;
	height: 35px;
}
#mikuji_body{
	max-width: 1200px;
    margin: 0 auto;
	background: url(../images/bg_movie_pc@2x.png) repeat-y top center;
	background-size: 95% auto;
	opacity: 0;
}
#mikuji_body .title_mikuji{
	margin-top: 25px;
}
#mikuji_result{
	opacity: 0;
	text-align: center;
}
.fadeIn1{
	animation: fadeIn 2s ease-in 0s 1 forwards;
    -webkit-animation: fadeIn 2s ease-in 0s 1 forwards;
}
.fadeIn2{
	animation: fadeIn2 1s ease 0s 1 forwards;
    -webkit-animation: fadeIn2 1s ease 0s 1 forwards;	
}
@keyframes fadeIn2 {
    0% {opacity: 0;
		transform: translateY(10px);}
    100% {opacity: 1;
		transform: translateY(0px);}
}
@-webkit-keyframes fadeIn2 {
    0% {opacity: 0;
		transform: translateY(10px);}
    100% {opacity: 1;
		transform: translateY(0px);}
}
.mikuji_container{
	width: 500px;
	margin: 30px auto 100px;
	background-color: #FFF;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.75);	
}
#mikuji_result h2{
	line-height: 0;
}
#mikuji_result h2 img{
	width: 100%;
}
#mikuji_result .desc{
	padding:50px 0;
}
#mikuji_result .recommend{
	background-color: #FFD694;
	width: 82%;
	margin: 0 auto;
	padding: 30px 4%;
}
#mikuji_result .recommend h4{
	padding: 20px 0 10px;
	font-size: 1.25rem;
	text-align: left;
}
#mikuji_result .recommend h4 span{
	font-size: .75rem;
}
#mikuji_result .recommend p{
	text-align: left;
	font-size: .8125rem;
}
#mikuji_foot_share_modal{
	padding: 50px 0;
	margin-top: 0 !important;
}
#mikuji_foot_share_modal ul{
	display: flex;
    align-items: center;
    justify-content: center;
}
#mikuji_foot_share_modal ul li{
	line-height: 1;
}
#mikuji_foot_share_modal ul li:nth-of-type(2){
	margin: 0 10px;
}
.btn_again{
	padding-bottom: 100px;
}
.top{
	padding-bottom: 50px;
}
@media screen and (max-width: 640px) {
	#result:before{
		background: url(../images/border_sp.jpg) repeat-x top center;
		background-size: contain;
	}
	#result:after{
		background: url(../images/border_sp.jpg) repeat-x bottom center;
		background-size: contain;
	}
	#mikuji_body{
		width: 100%;
		background: url(../images/bg_movie_sp@2x.png) repeat-y top center;
		background-size: 95% auto;
	}
	#mikuji_body .title_mikuji{
		margin-top: 0;
		padding: 50px 0;
	}
	.mikuji_container{
		width: 95%;
		margin:0 auto;		
	}
	#mikuji_result .desc{
		padding: 50px 3%;
		text-align: left;
	}
	#mikuji_result .recommend{
		width: 86%;
	}
	#mikuji_result .recommend h4{
		text-align: center;
		line-height: 1.2;
	}
	#mikuji_body .title_mikuji img{
		width: 80%;
	}
	#mikuji_foot_share_modal{
		padding: 30px 0;
	}
	.btn_again{
		margin-top: 0 !important;
		padding-bottom: 50px;
	}
	.top{
		margin-top: 50px !important;
	}
}
/* ===============================================================================
footer
=============================================================================== */
.article-footer{
	background-color: #E83828;
	margin:0 auto;
	padding: 30px 0 50px;
}
.article-share{
	margin: 0 auto;
    padding: 0 0 50px;
    max-width: 782px;
	text-align: center;
	font-size: .85rem;
}
.article-share ul{
	display: flex;
    align-items: center;
	line-height: 1;
}
.article-share ul li{
	color: #FFF;
	margin-left: 15px;
}
.article-share ul li:first-of-type{
	margin-left: 0;
}
.article-share ul li:nth-last-of-type(4){
	margin-left: 35px;
}
.article-share ul li.techo{
	margin-left: 35px;
}
.article-share ul li.home{
	margin-left: 35px;
}
.article-share img{
	width: 180px;
}
.article-share img.icon{
	width: 40px;
}
.bottom{
	text-align: center;
}
@media screen and (max-width: 768px) {
	.article-share ul li{
		margin-left: 10px;
	}
}
@media screen and (max-width: 640px) {
	.article-footer{
		padding-top: 50px;
	}
	.article-share ul{
		display: block;
	}
	.article-share ul li{
		display: inline-block;
		margin-left: 5px;
		vertical-align: middle;
	}
	.article-share ul li:nth-last-of-type(4){
		margin-left: 10px;
	}
	.article-share img.icon{
		width: 35px;
	}
	.article-share ul li.techo{
		width: 100%;
		margin: 25px 0 20px;
	}
	.article-share ul li.home{
		width: 100%;
		margin-left: 0;
	}
}