@charset "UTF-8";
/*
* top.css
* Copyright © ULM Co.,Ltd. - http://www.ulm-design.com
* v3.3
* Last update 170214
*/


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

@

-----------------------------*/
html,
body {
	/* background-image: url(../img/common/bg.jpg); */
	/* background-position: center center; */
	/* background-attachment: fixed; */
	/* background-size: cover; */
	/* background-repeat: no-repeat; */
	/* background: #95190b; */
}


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

@block

-----------------------------*/
#wrapper {}


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

@header

-----------------------------*/
header {
	width: 1024px;
	padding: 51px 0 0;
	margin: 0 auto;
	overflow: hidden;
	box-shadow: 0px 10px 10px 0 rgb(0 0 0 / 30%);
}

header h1 {}

header h1 img {
	width: 100%;
}

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

@contents

-----------------------------*/
#contents {
	padding: 0px 0 30px;
	width: 1024px;
	margin: 0 auto;
	box-shadow: 0px 10px 10px 0 rgb(0 0 0 / 30%);
	background:#fff !important;
}

#main-ttl {
	/* padding: 0 0 30px; */
	margin: 0 auto;
	width: 100%;
}

#main-ttl img {
	width: 100%;
}

#cp-ttl {
	font-weight: bold;
	text-align: center;
	font-size: 36px;
	line-height: 1.4;
	padding: 20px 4% 0;
	color: #333333;
}

#cp-ttl span {
	font-size: 28px;
}

h3 {
	font-size: 15px;
	padding: 0 0 15px;
	text-align: center;
	margin: 20px auto;
	color: #424242;
	line-height: 1;
}

h3 span {
	color: #f15b4d;
	font-size: 66px;
	letter-spacing: 0px;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-weight: bold;
}

#reach-count {
	padding: 0 3px 0 0;
}

#reach-count-txt {
	font-size: 20px;
	vertical-align: initial;
	color: #444;
}

#cp-end-txt {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	line-height: 1.6;
	padding: 40px 0 70px;
}

#top-post-btn {
	/*
	margin:20px auto 15px;
	font-size:18px;
	*/
}

#top-review-btn {
	margin: 0px auto 10px;
}

#top-btn-container {
	width: 740px;
	margin: 30px auto 50px;
}

#top-btn-container li {
	margin: 0 10px 0 0;
}

#top-btn-container li:last-child {
	margin: 0;
}

.btn-1 {
	width: 260px;
	margin: 0 5px;
}

#more-btn {
	margin: 0 auto 10px;
}

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

@movie

-------------------*/
#movie-container {
	padding: 0;
	margin: 0 auto;
}

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

@movie-btn 3列

-------------------*/
#movie-btn-container {
	width: 720px;
	margin: 0 auto 50px;
	box-sizing: border-box;
	border-left: 1px solid #C3C3C3;
}

#movie-btn-container li {
	width: 50%;
	float: left;
	box-sizing: border-box;
	border-right: 1px solid #C3C3C3;
	border-bottom: 1px solid #C3C3C3;
}

/*
#movie-btn-container li:nth-child(3n){
	width:34%;
}*/

#movie-btn-container li span {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	cursor: pointer;
	text-align: center;
	display: block;
	padding: 15px 0;
}

#movie-btn-container li span.selected,
#movie-btn-container li span:hover {
	color: #000;
	background-color: #D4D4D4;
}

#movie-btn-container li span.selected {
	cursor: default;
}


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

@generator

-------------------*/
#poster-container {
	background: #FFE2EA;
}
#openModalBtn {
	border: none;
    background: none;
    padding: 0;
    cursor: pointer;
	display: block;
	margin: 20px auto;
}

.hover-button {
    transition: transform 0.3s ease;
}

.hover-button:hover {
    transform: scale(1.05); /* ボタンを少し大きくする */
}





/* ① 親コンテナ */
.poster{
  position: relative;
  margin: 0 auto;
}

/* ② ベース画像 */
.poster-bg{
  width: 100%;
  height: auto;
  display: block;
}

/* ③ ホットスポット <a>（位置取り） */
.hotspot{
  position: absolute;
  display: block;        /* 幅・高さを持たせるため */
}

/* ④ ボタン画像 2 枚を重ねる */
.hotspot .btn{
  position: absolute;
  inset: 0;              /* 親 <a> 全体にフィット */
  width: 100%;
  height: auto;
  transition: opacity .2s ease;
}


/* ==== ▼▼ ボタン位置・サイズ (％) ▼▼ ==== */
/*  元画像: 511×1536px を基準に算出した一例です。必ず微調整してください */
.btn-create.hotspot{
  top: 42%;    /* 880 / 1536 */
  left: 15.5%;   /*  70 /  511 */
  width: 70%;  /* 370 /  511 */
}

.btn-target.hotspot{
  top: 65%;    /* 530 / 1536 */
  left: 50%;   /*  90 /  511 */
  width: 40%;  /* 330 /  511 */
}




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

@present

-------------------*/
#present-container {
	margin: 0;
	background: #ed242a !important;
}

.present-ttl{
	padding: 40px 0 0 80px !important;
	width: 874px !important;
	background: #ed242a !important;
}

.present-ttl span{
	border-left: 4px #fff solid !important;
	color: #fff !important;
}

#speed-present {
	display: block;
	margin: 15px auto 25px;
	display: none;
	width: 874px;
}

#speed-present img {
	width: 874px;
}

#present {
	display: block;
	margin: 0 auto;
	width: 874px;
}

#present img {
	width: 874px;
}

#flipsnap-control {
	display: none;
}

@media screen and (max-width: 640px) {
	#present-container {
		margin: 0 !important;
	}

	.present-ttl{
		padding: 20px 0 0 0 !important;
		width: 82% !important;
		margin: 0 auto;
	}

	#present ul{
		margin: 0 auto !important;
	}
}


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

@navi

-----------------------------*/
#navi {
	padding: 5px 0 0;
	text-align: center;
}

#navi ul {
	padding: 10px 0 10px;
}


#navi-desc {
	margin: 0 auto 10px;
	display: block;
	padding: 25px 0 5px;
}

#navi-info {
	width: 92%;
	margin: 0 auto;
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
	padding: 25px 0 0;
}

#outside-btn-container {
	width: 560px;
	margin: 0 auto;
	text-align: center;
}

#outside-btn-container2 {
	width: 820px;
	margin: 0 auto;
	text-align: center;
}

#outside-btn-container li,
#outside-btn-container2 li {
	/*float:left;*/
	display: inline-block;
}

#post-btn2 {
	width: 260px;
}

#post-mail-btn{
	display: none;
}

/*-----------------------------
@outside-post-btn
-----------------------------*/
.outside-post-btn {
	color: #FFF;
	width: 260px;
	margin: 0 5px 10px;
}

#post-fb-btn {
	background: #46629e;
}

#post-fb-btn:hover {
	background: #2e4982;
}

#post-tw-btn {
	background: #55acee;
}

#post-tw-btn:hover {
	background: #419EE4;
}

#post-insta-btn {
	position: relative;
	background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
	background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
}

/*
#post-insta-btn:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -webkit-linear-gradient(15deg, #ffdb2c, rgb(249, 118, 76) 25%, rgba(255, 77, 64, 0) 50%) no-repeat;
    background: linear-gradient(15deg, #ffdb2c, rgb(249, 118, 76) 25%, rgba(255, 77, 64, 0) 50%) no-repeat;
	border-radius:6px;
	-webkit-border-radius:6px;
	-moz-border-radius:6px;
}*/
#post-insta-btn:hover {
	background: -webkit-linear-gradient(135deg, #306ff7 0%, #d01e58 70%) no-repeat;
	background: linear-gradient(135deg, #306ff7 0%, #d01e58 70%) no-repeat;
}

#post-insta-btn span {
	display: inline-block;
	position: relative;
}

#oubo {
	margin: 5px 0 30px;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 1px;
	display: block;
}



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

@assets

-----------------------------*/
.ttl {
	width: 90%;
	margin: 0 auto;
	padding: 17px 5px 17px 15px;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px; 
	position: relative;
	/*
	width: 90%;
    margin: 0 auto;
	 padding: 10px 5px;
	 position: relative;
	 */
	/* border-bottom: solid 2px #ff4a81;
    /* border-radius: 5px;
    /* background: #eee;
    /* border-radius: 5px;
    -moz-border-radius: 5px;
    background: -moz-linear-gradient(top, #fff, #eee);
    -webkit-border-radius: 5px; 
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee)); 
    -pie-background: linear-gradient(top, #fff, #eee);
    behavior: url(PIE.htc);
	*/
}

.ttl span {
	border-left: 4px #000 solid;
	padding: 1px 0 1px 8px;
	margin: 0;
	font-weight: bold;
	color: #222;
	letter-spacing: 0.03em;
	font-size: 18px;
}


.txt-block {
	width: 90%;
	margin: 0 auto;
	font-size: 12px;
	/* color: #666; */
	color: #000;
}

.ttl-1 {
	padding: 15px 10px 3px 0px;
	margin: 0;
	font-size: 14px;
	font-weight: bold;
	text-decoration: none;
	color: #222;
}

#notes-container {
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	overflow: scroll;
	width: 90%;
	height: 300px;
	background: #ffffff;
	border: 2px solid #f5f5f5;
	margin: 10px auto 0;
	padding: 10px 3px 30px 13px;
}

#banner-container {
	width: 640px;
	margin: 0px auto 25px;
	text-align: center;
}

.link-btn {
	margin: 20px 10px 15px;
	font-size: 18px;
	float: left;
}

.txt-block li {
	text-indent: -1em;
	padding-left: 1em;
}

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

decoration

-----------------------------------------------*/
.line-through {
	text-decoration: line-through;
}

#oshirase {
	font-size: 11px;
	line-height: 1.6;
	text-align: center;
	padding: 0 0 10px;
	color: #666;
}

#qa {
	text-align: center;
	padding: 3px 0 30px;
}

#qa a {
	color: #444;
	text-decoration: underline;
}

#qa a:hover {
	text-decoration: none;
}

#qa img {
	vertical-align: text-bottom;
	padding: 0 5px;
}

#sns-warning {
	display: block;
	padding: 5px 0 0px;
	font-size: 11px;
	color: #666;
}

#step-container {
	width: 100%;
	margin: 0 auto;
}

#step-img {
	width: 772px;
	margin: 30px auto 40px;
}

#step-img img {
	width: 100%;
}

#review-container {
	padding: 0 0 20px;
}

#review-contents {
	width: 940px;
	margin: 20px 0 0 53px;
}

.review-user-comment-container:nth-child {
	margin: 0 15px 15px 0;
}

.review-user-comment-container:nth-child(3n) {
	/*margin:0 0 20px;*/
}

.review-user-comment-container {
	border: 1px solid #e0e0e0;
}


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

@ranking

------------------------------------------------------*/
#ranking-container {
	width: 874px;
	/*894px;*/
	margin: 15px auto 30px;
}

#rank-ttl-container {
	width: 100%;
	padding: 10px 0;
	background-color: #d24185;
	border-top-left-radius: 15px;
	-webkit-border-top-left-radius: 15px;
	-moz-border-top-left-radius: 15px;
	border-top-right-radius: 15px;
	-webkit-border-top-right-radius: 15px;
	-moz-border-top-right-radius: 15px;
}

#rank-main-ttl {
	text-align: center;
	font-size: 16px;
	font-weight: normal;
	padding: 10px;
	line-height: 16px;
	width: 25%;
	margin: 0 auto;
	color: #000;
	border-radius: 20px;
	background-color: #FFFFFF;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

#ranking-container ul {
	border: 3px solid #d24185;
	background: #FFF;
	/*padding: 10px 0;*/
	padding: 6px 0 6px 11px;
	box-sizing: border-box;
}

#ranking-container ul li {
	float: left;
	width: 285px;
	/*293px;/*295px;/*445px;*/
	box-sizing: border-box;
	/*border-bottom: 2px solid #0B2654;*/
}

#ranking-container ul li .rank-block {
	/*
    width: 94%;
    margin: 10px 2% 10px 4%;
	*/
	width: 96%;
	margin: 7px 0px 7px 0;
}

/*
#ranking-container ul li:nth-child(odd) .rank-block{
    width: 94%;
    margin: 10px 2% 10px 4%;
}
#ranking-container ul li:nth-child(even) .rank-block{
	width: 94%;
	margin: 10px 4% 10px 2%;
}
*/
.rank-thumb-img {
	width: 100%;
	border: 1px solid #CCC;
	box-sizing: border-box;
}

.rank-thumb-img img {
	width: 100%;
}

.rank-txt-container {
	width: 100%;
	padding: 13px 0;
	font-size: 18px;
	line-height: 1;
	text-align: center;
	background: #ececec;
	border-top-left-radius: 5px;
	-webkit-border-top-left-radius: 5px;
	-moz-border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-top-right-radius: 5px;
}

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

@max-width 640px

------------------------------------------------------*/
@media screen and (max-width: 640px) {

	html,
	body {
		background-image: none;
	}

	#wrapper {
		width: 100%;
		margin: 0 auto;
		background: none;
	}

	header {
		padding: 51px 0 0;
	}

	header,
	header h1,
	header h1 img {
		width: 100%;
	}

	#cp-ttl {
		font-size: 16px;
		padding-top: 10px;
	}

	#cp-ttl span {
		font-size: 12px;
	}

	#main-ttl {
		width: 100%;
		padding: 0;
	}

	#main-ttl img {
		width: 100%
	}


	#top-btn-container {
		margin: 20px auto 0;
	}

	#top-btn-container li {
		width: 100%;
		/*padding:0;*/
		margin: 0;
	}

	#top-btn-container li:last-child {
		padding: 0;
		margin: 0;
	}


	#top-review-btn,
	#top-official-btn,
	#top-post-btn {
		margin: 0 auto 7px;
		width: 100%;
	}


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

@movie-container

-------------------*/
	#movie-container {
		padding: 20px 0 0;
		margin: 0 auto;
	}

	#movie {
		width: 100%;
	}

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

@movie-btn 2列

-------------------*/
	#movie-btn-container {
		width: 90%;
		margin: 0 auto 20px;
	}

	#movie-btn-container li {
		width: 50%;
		float: left;
		box-sizing: border-box;
		border-right: 1px solid #C3C3C3;
		border-bottom: 1px solid #C3C3C3;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}

	#movie-btn-container li:nth-child(3n) {
		width: 50%;
	}

	#movie-btn-container li span {
		padding: 10px 0;
		font-size: 11px;
	}



	#contents {
		padding: 0 0 30px;
		width: 100%;
	}

	#present-container {
		width: 100%;
		margin: 15px 0 0;
	}

	#speed-present {
		width: 90%;
		/*80%*/
		margin: 10px auto 25px;

	}

	#speed-present img {
		width: 100%;
		border-radius: 5px;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		border: 2px solid #ff4a81;
		/*border: 1px solid #c3c3c3;*/
		box-sizing: border-box;
	}

	#present {
		width: 90%;
		/*margin: 0px auto 15px;*/
		margin: 0px auto;
	}

	#present ul {
		overflow: hidden;
		margin: 10px auto;
		border-radius: 6px;
		box-sizing: border-box;
	}

	#present ul li {}

	/*221104 何故かtop.jsでフォルダにない画像が1枚おおく追加されるバグがある為、力技で修正中。top.jsがminifyしかない為、原因調査できない。*/
	/*221206 setting.phpで設定しているプレゼント選択欄の個数分 li が出力される。本件present4種類に対しpresent画像が1枚しかないので、3枚分余計にliが作成されてる。 */
	#present ul li:nth-of-type(2), #present ul li:nth-of-type(3), #present ul li:nth-of-type(4){
		border-bottom: none;
		display: none
	}

	#present ul li:last-child {
		border-bottom: none;
		display: none
	}

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

	#cp-end-txt {
		width: 90%;
		margin: 0 auto;
		padding: 10px 0 10px;
		font-size: 14px;
	}

	#flipsnap-control {
		/*display:block;*/
	}


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

@navi

---------------*/
	#navi {
		width: 100%;
		margin: 0 auto;
	}

	#navi ul {
		padding: 0;
	}

	#navi-desc {
		padding: 10px 0 5px;
		font-size: 14px;
		line-height: 1.5;
	}

	#navi-info {
		width: 90%;
		padding: 10px 0 0;
		margin: 0 auto;
		font-size: 13px;
		line-height: 1.5;
	}

	#oubo {
		margin: 0;
		width: 90%;
		font-size: 14px;
		font-weight: normal;
		font-family: font-family: Helvetica, HiraKakuProN-W3;
		padding: 0 0 5px 9px;
	}



	#outside-btn-container,
	#outside-btn-container2 {
		width: 100%;
		margin: 0 auto 10px;
	}

	#outside-btn-container li,
	#outside-btn-container2 li {
		float: none;
		display: block;
	}

	#post-btn2 {
		width: 85%;
	}

	.outside-post-btn {
		width: 85%;
		margin: 0 auto 10px;
	}

	.top-btn {
		width: 260px;
	}

	.review-btn {
		width: 260px;
		font-size: 13px;
		padding: 10px 0;
	}

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

@assets

---------------*/
	.txt-block {
		width: 88%;
		margin: 0 auto;
		/* color: #666; */
		color: #000;
	}

	h3 {
		font-size: 14px;
		padding: 0;
	}

	h3 span {
		font-size: 40px;
	}

	#reach-count-txt {
		font-size: 14px;
	}


	.ttl {
		color: #222;
		width: 90%;
		padding: 15px 0 0;
		border-radius: 0;
		background: none;
		font-family: Helvetica, HiraKakuProN-W3;
	}

	.ttl span {
		font-size: 18px;
		letter-spacing: 0.02em;
	}

	#post-fb-btn,
	#post-tw-btn {
		width: 85%;
		margin: 0 auto 10px;
	}

	#banner-container {
		text-align: center;
		width: 320px;
		margin: 0px auto;
	}

	.link-btn {
		float: none;
	}

	.link-btn a img {
		margin: 0px auto 20px;
	}

	#qa img {
		vertical-align: text-bottom;
		padding: 0;
	}

	#qa a {
		line-height: 16px;
		font-size: 12px;
	}

	#notes-container {
		width: 88%;
		height: 300px;
		margin: 10px auto 0;
		padding: 0 0 30px 0;
		border: 1px solid #CCC;
		box-sizing: border-box;
	}

	#notes-container .txt-block {
		width: 88%;
	}

	.flipsnap {
		width: 90%;
		margin: 0 auto;
	}

	.present-item {
		width: 100%;
		margin: 0 0 10px;
		border: 1px solid #C3C3C3;
	}

	#step-img {
		width: 90%;
		margin: 20px auto 20px;
	}

	#review-contents {
		width: 100%;
		margin: 15px auto;
	}

	/*
ranking
*/
	#ranking-container {
		width: 90%;
		margin: 0 auto;
	}

	#rank-main-ttl {
		width: 65%;
		margin: 3px auto;
	}

	#ranking-container ul {
		padding: 6px 0;
	}

	#ranking-container ul li {
		float: none;
		width: 94%;
		margin: 0 auto 14px;
	}

	#ranking-container ul li .rank-block {
		width: 96%;
		margin: 7px auto;
	}

	.btn-1 {
		width: 85%;
		margin: 0 auto;
	}

}

/*---------------@END max-width 640px-------------*/
