@charset "utf-8";

/*  reset
/* ------------------------------------------------------------------------ */
html {
	overflow-y: scroll;
	height: 100%;
	font-size: 15px;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
p,
blockquote {
	margin: 0;
	padding: 0;
}

fieldset {
	display: inline;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
	font-style: normal;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

q:before,
q:after {
	content: '';
}

object,
embed {
  vertical-align: top;
}

hr,
legend {
	display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
}

img,
abbr,
acronym,
fieldset {
	border: 0;
}

li {
	list-style-type: none;
}

img {
	vertical-align: top;
	max-width: 100%;
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}


/*  basic style
/* ------------------------------------------------------------------------ */
body {
	margin: 0;
	padding: 0;
	height: 100%;
	line-height: 1.8;
	text-align: center;
	-webkit-text-size-adjust: 100% !important;
	font-size: 15px;
	background: url("../img/bg_001.jpg") repeat 0 500px;
	background-size: 100%;
	color: #fff;
    font-family: 'Noto Serif JP', serif;
}

#wrap {
	margin: 0 auto;
	padding: 0;
	text-align: center;
}


/* Link
--------------------------------------------------------------------------- */
a:link,
a:visited,
a:hover {
  color: #fff;
  text-decoration: none;
}


/* display
--------------------------------------------------------------------------- */
.pc {
  display: none;
}

@media (min-width:768px) {
  .sp {
    display: none;
  }

  .pc {
    display: block;
  }
}


/* parts
/* ------------------------------------------------------------------------ */
/* --- titleStyle01 --- */
.titleStyle01 span{
	font-size: 34px;
	line-height: 1.5;
	letter-spacing: 7px;
	font-weight: 300;
	position: relative;
	display: inline;
    font-family: 'Shippori Mincho B1', serif;
}

.titleStyle01 span:before{
	background: url("../img/titleIcon_001.png") no-repeat 0 0;
	width: 40px;
	height: 64px;
	content: '';
	position: absolute;
	top: 50%;
	left: -60px;
	margin-top: -32px;
}

.titleStyle01 span:after{
	background: url("../img/titleIcon_002.png") no-repeat 0 0;
	width: 40px;
	height: 64px;
	content: '';
	position: absolute;
	top: 50%;
	right: -60px;
	margin-top: -32px;
}

@media (min-width:768px) {
.titleStyle01 span{
	font-size: 60px;
	line-height: 1.5;
	letter-spacing: 15px;
}

.titleStyle01 span:before{
	background: url("../img/titleIcon_001_pc.png") no-repeat 0 0;
	width: 67px;
	height: 107px;
	left: -100px;
	margin-top: -48px;
}

.titleStyle01 span:after{
	background: url("../img/titleIcon_002_pc.png") no-repeat 0 0;
	width: 67px;
	height: 107px;
	right: -90px;
	margin-top: -48px;
}
}


/* --- fade --- */
.fade-in{
  opacity: 0;
  transition-duration: 500ms;
  transition-property: opacity, transform;
}

.fade-in-left{
  transform: translate(-50px, 0);
}

.scroll-in {
  opacity: 1;
  transform: translate(0, 0);
}


/* --- modal --- */
#modalBg,
#modalBg2{
	width:100%;
	height: 100%;
	top:50%;
	left:50%;
	position:fixed;
	background:rgba(0,0,0,0.7);
	transform:translate(-50%,-50%);
	display: none;
	z-index: 9999;
}

.modalCon{
	max-height:80%;
	width: 90%;
	max-width:1100px;
	position:fixed;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	overflow-y: auto;
	z-index: 9999;
	background: #000;
	border: #666 1px solid;
	display: none;
}

.modalCon .modalConInner{
	position: relative;
	height: 100%;
	padding: 50px 30px 30px;
}

.modalCon .modalConInner .closeIcon{
	position: absolute;
	top: 15px;
	right: 15px;
}

.modalCon .modalConInner .txt{
	line-height: 1.8;
	margin: 12px auto 0;
	font-size: 14px;
	text-align: center;
}

.modalCon .modalConInner .txt:first-child{
	margin-top: 0;
}

.modalCon .btnBox{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	margin: 20px 0 0 0
}

.modalCon .btnBox .btn{
	border: #fff 1px solid;
	width: 150px;
	margin: 0 10px;
	font-size: 14px;
}

.modalCon .btnBox .btn a{
	width: 100%;
	padding: 5px 0;
	display: block;
}

@media (min-width:768px) {
.modalCon{
	max-width:600px;
}

.modalCon .modalConInner{
	padding: 50px 20px 30px;
}
	
.modalCon .modalConInner .closeIcon{
	top: 20px;
	right: 20px;
}

.modalCon .modalConInner .txt{
	margin: 15px auto 0;
	font-size: 22px;
}

.modalCon .btnBox{
	margin: 20px 0 0 0
}

.modalCon .btnBox .btn{
	width: 220px;
	font-size: 22px;
}
}


/* mainImg
/* ------------------------------------------------------------------------ */
.mainImgInner{
	position: relative;
}

.logoutBtn{
	position: absolute;
	top: 0;
	right: 0;
}

.logoutBtn img{
	width: 65px;
}

@media (min-width:768px) {
#mainImg{
	background: #000;
}	
	
.mainImgInner{
	position: relative;
	width: 1366px;
	max-width: 100%;
	margin: 0 auto;
}
	
.logoutBtn a{
	-webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.logoutBtn a:hover{
	opacity: 0.8;
}
	
.logoutBtn img{
	width: 160px;
}
}


/* contentsBlock
/* ------------------------------------------------------------------------ */
#contentsBlock{
	background: url("../img/bg_002.png") no-repeat center top;
	background-size: 100%;
}

#contentsBox{
	position: relative;
	padding: 100px 0 0 0;
}

#contentsBox #sideBtn{
	position: absolute;
	top: 50px;
	right: 0;
	pointer-events: none;
}

#contentsBox #sideBtn a{
	pointer-events: auto;
}

#contentsBox #sideBtn img{
	width: 70px;
}

#contentsBox #sideBtn.scroll{
  position: fixed;
  top: 75px;
  right: 0;
}

@media (min-width:768px) {
#contentsBlock{
	background: url("../img/bg_002.png") no-repeat center -200px;
	background-size: 100%;
}

#contentsBox{
	width: 1100px;
	margin: 0 auto;
	padding: 80px 0 0 0;
}
	
#contentsBox #sideBtn{
	position: absolute;
	top: 40px;
	right: 0;
}

#contentsBox #sideBtn.scroll{
	position: fixed;
	top: 80px;
	right: auto;
	width: 1100px;
	margin: 0 auto;
	text-align: right;
}
	
#contentsBox #sideBtn img{
	width: 100px;
}
	
#contentsBox #sideBtn a{
	-webkit-transition: all 0.3s;
    transition: all 0.3s;
}

#contentsBox #sideBtn a:hover{
	opacity: 0.7;
}
}


/* topVoteBlock
/* ------------------------------------------------------------------------ */
.topVoteBlock{
	margin: 0 0 30px 0;
}

.topVoteBlock .img{
	text-align: center;
	width: 60vw;
	margin: 0 auto;
}


/* infoBlock
/* ------------------------------------------------------------------------ */
.infoBlock{
	width: 85%;
	margin: 0 auto;
}

.infoBlock .txt{
	color: #fff;
	text-align: center;
	font-size: 24px;
	line-height: 1.5;
	letter-spacing: 3px;
	margin: 25px 0 0 0;
}

.infoBlock .txt2{
	font-size: 12px;
	margin: 20px 0 0 0;
}

.infoBlock .title2{
	margin: 40px 0 0 0;
	display: block;
}

.infoBlock .flowBox{
	margin: 20px 0 0 0;
}

.infoBlock .flowBox .flowBoxInner{
	margin: 30px 0 0 0;
}

.infoBlock .flowBox .flowBoxInner:first-child{
	margin-top: 0;
}

.infoBlock .flowBox .flowBoxInner .num{
	font-family: 'Cormorant Garamond', serif;
	font-size: 40px;
	line-height: 1;
}

.infoBlock .flowBox .flowBoxInner .txt3{
	margin: 10px 0 0 0;
	font-size: 12px;
	font-weight: 100;
}

@media (min-width:768px) {
.infoBlock{
	width: 1100px;
}

.infoBlock .txt{
	font-size: 50px;
	line-height: 1.4;
	margin: 30px 0 0 0;
}

.infoBlock .txt2{
	font-size: 26px;
	margin: 30px 0 0 0;
	line-height: 2.2;
}

.infoBlock .title2{
	margin: 60px 0 0 0;
}

.infoBlock .flowBox{
	margin: 20px 0 0 0;
}

.infoBlock .flowBox .flowBoxInner{
	margin: 50px 0 0 0;
}

.infoBlock .flowBox .flowBoxInner .num{
	font-size: 80px;
}

.infoBlock .flowBox .flowBoxInner .txt3{
	margin: 20px 0 0 0;
	font-size: 26px;
	line-height: 1.8;
}
}


/* howtoBlock
/* ------------------------------------------------------------------------ */
.howtoBlock{
	width: 85%;
	margin: 50px auto 0;
}

.howtoBlock .txt{
	font-size: 12px;
	margin: 20px 0 0;
	line-height: 2;
}

.howtoBlock .table{
	width: 100%;
	margin: 30px 0 0 0;
}

.howtoBlock .table th{
	background:rgba(255,255,255,0.8);
	color: #000;
	border: #fff 1px solid;
}

.howtoBlock .table td{
	border: #fff 1px solid;
	padding: 5px 0;
}

.howtoBlock .table td:first-child{
	width: 50%;
}

.howtoBlock .txt2{
	margin: 20px 0 0 0;
	text-align: left;
	font-size: 12px;
}

.howtoBlock .txt3{
	margin: 10px 0 0 0;
	text-align: left;
	font-size: 12px;
	color: #e7831e;
}

@media (min-width:768px) {
.howtoBlock{
	width: 600px;
}

.howtoBlock .txt{
	font-size: 26px;
	margin: 50px 0 0;
}

.howtoBlock .table{
	margin: 50px auto 0;
}

.howtoBlock .table th{
	font-size: 24px;
	letter-spacing: 4px;
	padding: 8px 0;
}

.howtoBlock .table td{
	font-size: 24px;
	letter-spacing: 4px;
	padding: 15px 0;
}

.howtoBlock .txt2{
	margin: 20px auto 0;
	font-size: 26px;
	width: 600px;
}

.howtoBlock .txt3{
	margin: 15px auto 0;
	font-size: 26px;
	width: 600px;
}
}


/* nowBlock
/* ------------------------------------------------------------------------ */
.nowBlock{
	width: 85%;
	margin: 50px auto 0;
}

.nowBlock .txt{
	margin: 20px 0 0 0;
	font-size: 20px;
}

@media (min-width:768px) {
.nowBlock{
	width: 85%;
	margin: 100px auto 0;
}

.nowBlock .txt{
	margin: 40px 0 0 0;
	font-size: 34px;
	letter-spacing: 5px;
}
}


/* cautionBlock
/* ------------------------------------------------------------------------ */
.cautionBlock{
	width: 85%;
	margin: 50px auto 0;
}

.cautionBlock .title{
    font-family: 'Shippori Mincho B1', serif;
	font-size: 36px;
	line-height: 1.2;
	font-weight: 200;
	letter-spacing: 8px;
}

.cautionBlock .txtBox{
	margin: 20px 0 0 0;
}

.cautionBlock .txtBox p{
	text-align: left;
	font-size: 12px;
	margin: 10px 0 0 0;
	line-height: 2.2;
}

.cautionBlock .txt2,
.cautionBlock .txt2 a{
	color: #e7831e;
	text-align: left;
	font-size: 12px;
	margin: 20px 0 0 0;
}

.cautionBlock .txt2 a{
	text-decoration: underline;
}

@media (min-width:768px) {
.cautionBlock{
	width: 600px;
	margin: 100px auto 0;
}

.cautionBlock .title{
	font-size: 50px;
}

.cautionBlock .txtBox{
	margin: 30px 0 0 0;
}

.cautionBlock .txtBox p{
	font-size: 16px;
	line-height: 1.8;
	margin: 20px 0 0 0;
}

.cautionBlock .txt2,
.cautionBlock .txt2 a{
	font-size: 22px;
	margin: 40px 0 0 0;
}

.cautionBlock .txt2 a:hover{
	text-decoration: none;
}
}


/* footer
/* ------------------------------------------------------------------------ */
footer{
	width: 80%;
	margin: 70px auto 0;
	padding: 0 0 25px 0;
}

footer .appBox{
	margin: 20px auto 0;
}

footer .appBox ul{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

footer .appBox ul li{
	width: 45%;
}

footer .logoBox{
	margin: 20px auto 0;
}

footer .logoBox ul{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

footer .logoBox ul li{
	width: 30%;
}

footer .copy{
	margin: 15px 0 0 0;
	font-size: 10px;
	font-weight: 100;
}

footer .footerLink{
	font-size: 11px;
	margin: 10px 0 0 0;
	font-family: arial, "Hiragino Kaku Gothic Pro", "ãƒ¡ã‚¤ãƒªã‚ª", Meiryo, MS PGothic, sans-serif;
}

footer .pageTop{
	position: fixed;
	bottom: 30px;
	right: 20px;
	width: 60px;
	z-index: 9999;
}

@media (min-width:768px) {
footer{
	width: 1100px;
	margin: 70px auto 0;
	padding: 0 0 30px 0;
}

footer .appBox{
	margin: 25px auto 0;
}

footer .appBox ul{
	width: 580px;
	margin: 0 auto;
}

footer .appBox ul li{
	width: auto;
}
	
footer .appBox ul li a{
	-webkit-transition: all 0.3s;
    transition: all 0.3s;
}

footer .appBox ul li a:hover{
	opacity: 0.7;
}

footer .logoBox{
	margin: 25px auto 0;
}

footer .logoBox ul{
	width: 580px;
	margin: 0 auto;
}

footer .logoBox ul li{
	width: 30%;
	-webkit-transition: all 0.3s;
    transition: all 0.3s;
}

footer .logoBox ul li:hover{
	opacity: 0.7;
}

footer .copy{
	margin: 30px 0 0 0;
	font-size: 20px;
}

footer .footerLink{
	font-size: 20px;
	margin: 15px 0 0 0;
}

footer .footerLink:hover{
	text-decoration: underline;
}

footer .pageTop{
	position: fixed;
	bottom: 30px;
	right: 20px;
	width: 70px;
	-webkit-transition: all 0.3s;
    transition: all 0.3s;
}
	
footer .pageTop:hover{
	opacity: 0.7;
}

}