@charset "shift_jis";

/*============ 商品ページ個別CSS ===========*/

/* ページ固有の色を下記3つの要素に同一で入力 (白ヌキ文字を置いても読める程度の濃さで）*/

h2 .itemtitle, .open-link a:hover span, .open-link a:active span, .hidden-link a:hover span, .hidden-link a:active span, #container .main1c .button:hover,#container .main1c .button:active, em
{
	color:#E33D24; /* キーカラーを指定 */
}

h2::before, h2::after, .accordion-block div, .tab-menu dl dt, .open-link a span,.hidden-link a span, p.point-number, .topimage h1, .whole-bg, .main1c .button, .whole-topimage, h3::before, .spec-title::before, .style-h3::before
{
	background:#E33D24; /* キーカラーを指定 */
}

h3, .style-h3, .open-link a span,.hidden-link a span, .spec-title, .main1c .button, .underline
{
	border-color:#E33D24; /* キーカラーを指定 */
}

/* h2 スタイルなし */

.no-style {
	border: none;
}
.no-style::after {
	display: none;
}

/* ギフトエリア削除
.gift-text-block{
	display:none;
} */


/* 題字用 基本レイアウト */

.section p {
	line-height: 1.8;
	font-size: 20px;
	font-size: 2.0rem;
}

.fontsize-small {
	font-size: 17px !important;
	font-size: 1.7rem !important;
	line-height: 1.8; !important;
}

.fontsize-extrasmall {
	font-size: 15px !important;
	font-size: 1.5rem !important;
	line-height: 1.8; !important;
}


em.brown {
	color: #ac6116;
}

em.red,
.red {
	color: #ff0000;
}

em.blue {
	color: #0847ac;
}

e.blue,
.yellow {
	color: #FBFD69;
}


/* 購入ボタン */

.buybutton {
  font-family: YakuHanJPs, "NotosansJP", "メイリオ", sans-serif;
  display: block;
  background: #f51d12;
  border: 4px solid #fff;
  border-radius: 300px;
  color: #fff !important;
  text-decoration: none !important;
  text-align: center;
  padding: 0;
  margin: 20px auto 50px;
  font-weight: bold;
  box-shadow: 0 1px 8px #888;
  overflow: hidden;
  width: 60%;
  height: 120px;
  font-size: 45px;
  line-height: 120px;
}

.buybutton:hover,
.buybutton:active {
	background: #fff;
	color: #f51d12 !important;
	border-color: #f51d12;
	box-shadow: 0 0 2px #555;
}

.daiji-header .buybutton {
	border: 4px solid #fff;
	font-size: 28px !important;
}

.daiji-header .buybutton:hover,
.daiji-header .buybutton:active {
	border-color: #f51d12;
}

.cta-text {
	background: url(../../images/parts/cta_text_bg.png) center top no-repeat;
	background-size: 20%;
	color: #333;
	font-family: 'NotosansJP', sans-serif;
	text-align: center;
	font-weight: bold;
	font-size: 25px !important;
	line-height: 1.5 !important;
	margin: 30px 0 5px;
	padding: 15px 0 20px;
	text-shadow: 0 1px 0 #fff;
}

.cta-text em {
	color: #da0707;
}

#contentspage-link {
	width: 80%;
	margin: 30px auto 0;
}



/* UV */

.uvlist {
	padding-left: 50px;
	padding-right: 50px;
	background: #30712a;
	background-size: 100%;
	background-size: cover;
	margin: 0 auto 10px;
}

.uvlist a {
	color: #fff;
}

.uvlist a:visited {
	color: #fff !important;
}

.uvlist a:hover,
.uvlist a:active {
	color: #54902e !important;
	opacity: 0.7;
	text-decoration: underline;
}

.uvlist h2 {
	color: #fff;
	text-align: center;
	text-shadow: 0 -1px 0 #333;
}

.uvlist h2 span {
	font-size: 32px;
	font-size: 3.2rem;
	display: inline;
	font-weight: bold;
}

.uvlist em {
	color: #222;
}

.uvlist h2 em {
	color:  #f5ff81;
}

.uvlist .uv {
	background: #fff;
	border: none;
	margin-bottom: 25px;
	box-shadow: 0 1px 6px #666;
}

.uvlist .male {
	background: #fff url(../../images/parts/uv_icon_male.png) top left no-repeat;
	background-size: 15%;
}

.uvlist .female {
	background: #fff url(../../images/parts/uv_icon_female.png) top left no-repeat;
	background-size: 15%;
}


.uvlist .uv p {
	margin-left: 60px;
}

.uvlist .uv em {
	color: 
}

.uvlist a {
	border: 2px solid #fff;
	border-radius: 50px;
	padding: 15px 0;
	margin: 30px auto !important;
	text-decoration: none;
	display: block;
	width: 650px;
}

.uvlist a:hover,
.uvlist a:active {
	border: none;
	background: #fff;
	color: #54902e;
	text-decoration: none;
	border: 2px solid #fff;
	opacity: 1;
}

.uvlist a span {
	border-bottom: 1px solid #fff;
}

.uvlist a:hover span,
.uvlist a:active span {
	border-color: #54902e;
}


/* Overview */

#overview .whole-bg {
	background: #fff;
	border: 2px solid #d12486;
	border-radius: 10px;
}

#overview .whole-bg .section {
	border-radius: 12px;
}

#overview .whole-bg h2 {
	color: #d12486;
	padding: 0;
	display: inline;
}
#overview .whole-bg h2::after {
	display: none;
}

.attention {
	border: 1px solid #888;
	padding: 5px 8px;
}

/* contents */

.con1, .con2, .con3 {
	display: block;
	font-weight: bold;
	padding: 10px 15px;
	text-align: center;
}

.con1 {
	background: #e5cd77;
	color: #151515;
	width: 100%;
	font-size: 40px;
	padding: 5px 0;
}

.con2 {
	background: #e91919;
	color: #fff;
	width: 100%;
	font-size: 60px;
	font-weight: bold;
	padding: 15px 0 10px;
}

.con3 {
	font-size: 30px;
	font-family: sans-serif;
	width: 520px;
	color: #fffd5d;
	border-top: 2px solid #fffd5d;
	border-bottom: 2px solid #fffd5d;
	padding: 8px 0;
	margin: 15px auto;
}


#contents-block {
	padding-bottom: 1px;
	margin-top: 100px;
}

#guidebook {
	margin-top: 30px;
}

#guidebook .section {
	background: #fff !important;
	border-radius: 10px;
	position: relative;
}


.puzzle-info {
	background: #fff !important;
	border-radius: 10px;
	padding: 0;
	margin-top: 30px;
	border: 2px solid #417033;
}

.column2 {
	background: #fff;
	width: 642px;
	padding: 20px 20px 370px;
	border-radius: 10px;
	margin: 30px 0;
}
.drill {
	background: #fff url(../../puzzle2/img/puzzled_4_drillbg.jpg) center bottom no-repeat;
	background-size: 100%;
}

.section .puzzle-info h3 {
	color: #052591;
	font-size: 28px;
	font-size: 2.8rem;
	padding: 0 10px;
	text-align: center;
	line-height: 1.3 !important;
}

.puzzle-info p {
	line-height: 1.6 !important;
}

.puzzle-info em {
	font-family: serif;
	font-size: 22px;
	font-size: 2.2rem;
}

.puzzle-info .fontsize-extrasmall {
	display: block;
	background: #417033;
	padding: 10px;
	color: #fff;
	border-radius: 0 0 8px 8px;
	min-height: 170px;
}


.puzzle-info .high-height {
	min-height: 230px;
}

.puzzle-info .fontsize-extrasmall span {
	font-size: 12px;
	opacity: 0.7;
	display: block;
	line-height: 1.4;
	padding-top: 5px;
}

.book-contents {
	background: #faf2f2;
	border: 2px solid #af5c5c;
	border-radius: 10px;
	padding: 15px;
}

.book-contents li {
	font-size: 16px !important;
	font-size: 1.6rem !important;
	list-style: square;
	font-weight: bold;
}

.book-contents .title {
	border-bottom: 2px solid #af5c5c;
	font-size: 20px !important;
	font-size: 2.0rem !important;
	margin-bottom: 15px;
}

.book-contents li span {
	font-weight: normal;
}

.puzzle-no {
	margin-bottom: 0 !important;
}

.puzzle-no img {
	border-radius: 8px;
	margin-bottom: 0;
}

.shadow {
	box-shadow: 0 2px 6px #aaa;
	width: 95%;
	margin: 0 auto;
}

.quiz {
	margin-top: 10px;
	margin-bottom: 0 !important;
	border-radius: 6px;
}


/* Interview */

#interview h3 {
	font-size: 28px;
	font-size: 2.8rem;
}

#interview ul .title {
	display: block;
}

#interview ul .title span {
	display: block;
	background: #146ab4;
    display: block !important;
    width: 300px;
    text-align: center;
    padding: 10px;
    border-radius: 50px;
    color: #fff;
    text-shadow: 0 -1px 0 #111;
    margin-bottom: 5px;
    margin-left: -20px;
}

#interview ul li {
	border-bottom: 1px solid #ddd;
	list-style-position: inside;
	padding: 5px 10px;
	margin: 0;
}


#interview h2 span {
	font-size:24px;
	font-size: 2.4rem;
	letter-spacing: -1px;
	color: #555;
	padding-top: 10px;
	font-weight: bold;
	font-family: sans-serif;
}

#interview h4 {
	padding-bottom: 5px;
	margin-top: 15px;
}

#interview .profile {
	background: #e6ddcc;
	border-radius: 8px;
}

#interview .profile p {
	padding: 10px;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.5;	
	margin-bottom: 0;
}

#interview .profile p img {
	margin-bottom: 5px;
}


#interview .profile p .name {
	font-weight: bold;
	font-size: 18px;
	font-size: 1.8rem;
}

#interview .profile p .sub {
	font-weight: normal;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.2 !important;
}

#interview .whole-bg {
	background: #f3f2d8;
}
#interview .whole-bg .section {
	background: none;
}



/* Point */

#point {
	background: #fff url(../../puzzle/img/puzzled_7_bg2.jpg) top center no-repeat;
	background-size: 1200px;
	padding: 50px 0 20px;
}

#point .section {
	background: rgba(255,255,255,0.8);
	box-shadow: 0 0 12px #ccc;
	margin-top: 550px;
}

#point h2 {
	font-size: 44px;
	border-top: none;
	margin-top: 0;
	margin-bottom: 0;
}

#point h2::after {
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}

.feature div {
	margin-bottom: 5px;
}

#point p.point-number {
	margin-left: 120px;
	height: 60px;
	width: 70px;
}

.point-number {
	line-height: 0.8 !important;
}

p.point-number span {
    font-size: 40px;
}

.feature h3 {
    font-size: 30px;
    padding-top: 14px;
}

#point .feature div {
	border: none;
	padding-bottom: 0px;
	min-height: 80px;
}

#point .feature h3 {
  padding-left: 210px;
}



/*============ スマートフォン用 ===========*/
@media screen and (max-width: 767px) {

.header-gift {
  display: none;
}

.section p {
    font-size: 4.5vw;
    line-height: 1.7;
}

.daiji-topimage .section {
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
}

.daiji-title {
    background: #bd1111 url(../../puzzle/img/puzzled_1_titlebg_sp.jpg) top center no-repeat;
    width: 100%;
    height: 24vh;
    background-size: 100%;
	position: relative;
	top: auto;
	left: auto;
}

.daiji-topimage .copy1,
.daiji-topimage .copy2 {
	display: none;
}

.daiji-topimage,
.daiji-topimage-nogift {
    background: #fbda78 url(../../puzzle/img/puzzled_1_itemphoto_sp.jpg) top center no-repeat;
    background-size: 100% !important;
	padding-top: 0;
	position: relative;
}

.daiji-topimage, .daiji-topimage .section,
.daiji-header {
	height: auto;
  min-height: 72vh;
}

.buybutton,
.topimage .header-buybutton {
	border: 3px solid #fff;
	box-shadow: 0 1px 6px #888;
	width: 90%;
	height: 10vh;
	font-size: 6vw !important;
	line-height: 10vh;
	margin-top: 10px;
	margin-bottom: 20px;
}

.topimage .header-buybutton {
	line-height: 10.5vh;
  position: absolute;
  right: 4vw;
}

.buybutton:hover,
.buybutton:active,
.topimage .header-buybutton:hover,
.topimage .header-buybutton:active {
	background: #fff;
	color: #f51d12 !important;
	border-color: #f51d12;
	border-width: 3px;
	box-shadow: 0 0 2px #555;
}

.topimage .header-buybutton,
.topimage .header-buybutton:hover,
.topimage .header-buybutton:active {
  margin: 10px auto;
	bottom: 10px;
}

.topimage .orderbox {
	height: 0;
	margin-bottom: 0;
}

.daiji-header .section p {
	margin-bottom: 0;
}

.topimage .order {
	display: none;
}

.topimage .order-fixed1 {
	display: block;
}

.cta-text {
    background: url(../../images/parts/cta_text_bg.png) center bottom no-repeat;
    background-size: 20%;
    font-size: 5vw !important;
    line-height: 1.5 !important;
    margin: 20px 4vw 0;
    padding: 0 0 11vw;
}

.cta-text br {
	display: none;
}

#overview-inside .whole-bg {
	width: 94% !important;
}

h2::before {
	display: none;
}

h2 {
	font-size: 6vw;
}

#overview h2 span {
    letter-spacing: -2px;
}

h2::after {
    margin-bottom: 20px;

}

.section.movie {
    border-radius: 0;
    background-size: contain;
	box-sizing: border-box;
	margin: 0 !important;
	width: 100% !important;
}

.movietitle {
    font-size: 5vw !important;
    line-height: 1.3 !important;
    padding-top: 10px;
}

.gift-block p {
    width: 100%;
}

.gift-block img {
width: 100%;
}


#overview .whole-bg {
	margin: 0 3% 20px !important;
	width: 94% !important;
	box-sizing: border-box;
}

#overview .whole-bg img {
    width: 65%;
    margin: 0 auto;
}

#contentspage-link {
    width: 100%;
    margin: 30px auto;
}

.uvlist {
    padding-left: 20px;
    padding-right: 20px;
    background: #54902e;
    margin: 0 !important;
    width: 100% !important;
	box-sizing: border-box;
}

.uvlist .col2-1 {
	margin-bottom: 0;
}

.uvlist h2 {
	margin-bottom: 20px;
}

.uvlist .male,
.uvlist .female {
  background-size: 20%;
	padding: 8px;
	margin-bottom: 10px;
}

.uvlist .uv p {
    margin-left: 15vw;
    font-size: 4.5vw !important;
    line-height: 1.6;
}

.uvlist a {
    padding: 15px 5vw;
    width: 100%;
    font-size: 4vw;
    box-sizing: border-box;
    line-height: 1.4;
}

#contents-block {
    margin-top: 60px;
}

.con1 {
    font-size: 6vw;
}

.con2 {
    font-size: 9vw;
    padding: 10px 0 5px;
}

.con3 {
    font-size: 5vw;
    width: 100%;
    padding: 6px 0;
    margin: 5px auto;
}

.puzzle-info {
    margin-top: 0;
}

.puzzle-info .high-height {
	min-height: auto;
}

.column2 {
    width: 100%;
    padding: 10px 15px 28vh;
    margin: 10px 0 0;
    box-sizing: border-box;
}

#guidebook {
    margin-top: 20px;
}

#guidebook,
#guidebook .section {
	margin-bottom: 0 !important;
}

.guidebook-title {
    position: relative;
    width: 100%;
    background: url(../../puzzle/img/puzzled_5_title_sp.jpg) top left no-repeat;
    height: 22vw;
	background-size: 100%;
	top: 0;
}

#guidebook .section {
    background: #fff !important;
    border-radius: 0;
    position: relative;
    padding-top: 0;
    padding: 0 !important;
}

#guidebook .section p {
	padding-left: 3%;
	padding-right: 3%;
}

.book-contents {
    margin: 0 3% 20px;
}

#interview .whole-bg,
#interview .whole-bg .section {
	margin-bottom: 0 !important;
}

#interview h2 {
    font-size: 7vw;
    letter-spacing: -2px;
	margin-bottom: 30px;
}

#interview h2 span {
    font-size: 4.5vw;
}

#interview h3 {
    font-size: 5vw;
    margin-bottom: 10px;
}

#interview .underline {
    border-color: #146ab4;
    font-size: 4.8vw;
}

#interview .profile p img {
    width: 50%;
    margin: 0 auto;
}

#interview .per20 img {
	width: 60%;
	margin: 0 auto;
}

#interview ul .title span {
    margin-left: auto;
    margin-right: auto;
	width: 90%;
	box-sizing: border-box;
}

#point {
    background-size: 125%;
	margin-bottom: 0;
}

#point .section {
    margin-top: 50vw;
}

#point h2 {
    font-size: 8vw;
    line-height: 1;
}

#point p.point-number {
    margin-left: 10px;
    height: 48px;
    width: 60px;
}

p.point-number span {
    font-size: 42px;
}

#point .feature h3 {
    padding-left: 85px;
    font-size: 5.5vw;
    padding-top: 6px;
}

#point .feature div {
    min-height: 75px;
}

#sns_btm {
    width: 200px;
}

#guidebook .section h2 {
	width: 94%;
	margin-left: 3%;
	margin-right: 3%;
}

#guidebook .section h2::after {
	margin-bottom: 0;
	}

#guidebook h2 .itemtitle {
	color: #E33D24;
	letter-spacing: 0;
}


}/* Media Query for SmartPhone */
