@charset "utf-8";
/* CSS Document */

/*＝＝＝＝＝スタイルのリセット＝＝＝＝＝＝*/

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;
}
/* HTML5 display-role reset for older browsers */	
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	margin: 0;
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
a{
	text-decoration: none;
	color: #333;
}
/*＝＝＝＝＝スタイルのリセット＝＝＝＝＝＝*/

body{
	background: #fff;
	line-height: 1.6;
	color: #454545;
	font-size:1.125em;
	font-family: "Noto Sans Japanese",sans-serif;
	font-weight: 300;
}
body header{
	background:#ffffff;
	padding:10px;
	border-bottom: 1px solid #ddd;
	overflow: hidden;
}
body header div{
	margin:0 auto;
}
body header div h1{display: inline-block;margin: 0;}
body header div>img{
	height: 50px;
	float:right;
	display: inline-block;
}
body div.main_image{
	background-image: url(../../../images/kensyui_syugi/main_bnr_bk.png);
	text-align: center;
	padding-bottom: 15px;
}
body div.main_image img.top_cpn{
	width: 100%;
	max-width: 1200px;
}
body div.top_text .desc_top_text{
	margin-top: 20px;
	line-height: 1.8;
}
body div.top_text .desc_top_text a{
	text-decoration: underline;
    color: #00a4bf;
}
body div.top_text .desc_top_text p{
	padding: 8px 0;
}
body #cpn{
	clear: both;
	margin:32px auto 24px;
	width: 100%;
	max-width: 1200px;
	position: relative;
}
body #price{
	clear: both;
	margin:20px auto 20px;
	width: 100%;
	max-width: 800px;
	position: relative;
}
body #cpn .cpn_box{
	border:2px solid #BA1064;
	padding: 16px;
	background: #fff;
}	

body #cpn .cpn_box .cpn_title{
	color: #BA1064;
	text-align: center;
	font-size:1.125em; 
	font-weight: 300;
	line-height: 2;
	padding-bottom: 8px;
}	
body #cpn .cpn_box table {
	width: 100%;
	font-size:0.875em; 
	line-height:1.6;
	text-align: left;
}
body #cpn .cpn_box table td {
	border-top: 1px dotted #A1A1A1;
	vertical-align: middle;
	padding:8px 0; 
}
body #cpn .cpn_box table td .item {
	line-height:1.5;
	font-weight: 300;
	white-space:nowrap;
}
body #cpn .cpn_box table td .item {
	line-height:1.5;
	font-weight: 300;
	white-space:nowrap;
}
body #cpn .cpn_box .item_content table {
	width: 50%;
}
body #cpn .cpn_box .item_content table td {
	border: none;
	padding: 0;
}
body #cpn .cpn_box table .item_content .date{
	font-size:0.875px; 
	color:#4d85b2;
	font-weight: 300;
}
body #cpn .cpn_box table .item_content span{
	color:#BA1064;
	font-weight: 300;
}
body #cpn .cpn_box table td em {
	font-weight: 300;
}
body #cpn .cpn_box table td .cap_text{
	color: #E3373A;
	font-size:0.625em;
	vertical-align:text-top;
}
body #cpn img{
	position: absolute;
    bottom: 70px;
    right: -29px;
    width: 340px;
}
.btn_top{
	display:block;
	box-sizing: border-box;
	background:#BA1064;
	color: #fff;
	border-radius: 4px;
	font-weight:600;
	padding: 8px;
	text-align: center;
	margin: 8px 0;
	font-size: 1.25em;
	/*▼表示用*/
	position:relative;
	/*hover用*/
	/*outline: none;*/
	box-shadow: 2px 2px 2px #ccc;
}
.btn_set{
	background:#000066;
}

/*hover用*/
.btn_top::before {
  position: absolute;
  z-index: 2;
  display: block;
  content: '';
}
.btn_top,
.btn_top::before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.btn_top:hover {
  background-color: #D91676;
  color: #fff;
  z-index: 3;
}
.btn_set:after{
	top:22px; 
}
.btn_set:hover{
	background-color: #0000B2;
	color: #fff;
}
.btn_set:hover:after{
	border-color: transparent transparent transparent #fff !important; 
}
.btn_top:hover:after{
	border-color: transparent transparent transparent #0000B2; 
}
.btn_center{
	margin:10px auto 0;
}
body div.top_text{
	width: 100%;
	max-width:1200px;
	margin: 0 auto;
}
body div.top_text p{
	font-size: 0.875em;
	font-weight: 300;
}
body div.top_text .desc{
	font-size: 1.375em;
    font-weight: 600;
    line-height: 1.4;
    padding: 40px 0 10px;
    border-bottom: 1px dashed #ddd;
    text-align: center;
    color: #88308D;
    letter-spacing: 0.1rem;
}

body div #upg_price div.wrapper_price{
	background: #fbfbfb;
    padding: 15px 20px 10px;
    overflow: hidden;
    border-radius: 10px;
    box-sizing: border-box;
	text-align: center;
}
body div #upg_price div.wrapper_price p{
	font-weight: bold;
    font-size:1.375em;
	border-bottom: 1px dotted #bb0323;
	margin-bottom: 16px;
	color: #bb0323;
}
body div #upg_price div.wrapper_price em{
	color: #bb0323;
    font-size:1.125em;
	font-weight: 600;
}
body div #upg_price div.wrapper_price em span{
	color: #bb0323;
    font-size:0.875em;
}
body div #upg_price div.wrapper_price span{
	font-size:0.875em;
}
body div #upg_price div.wrapper_price .btn_center{
	margin-bottom: 20px;
}
body div.main_image>div p.price em{
	font-size: 26px;
	font-weight:300;
}
body div.main_image>div p.point,
div.top_text p.point{
	font-size: 1.125em;
}
body div.main_image>div p.point span,
div.top_text p.point span{
	color:#bb0323;
	font-weight:300;
}
div.top_text p.point{
	text-align: center;
}
body div.main_contents{
	width: 100%;
	max-width: 1200px;
	padding: 16px;
	margin:0 auto;
	clear: both;
}
body div.main_contents h2{
	margin: 32px 0 16px;
    padding: 0 0 3px 10px;
    border-left: 4px solid #284457;
    border-bottom: 1px solid #284457;
    font-weight:600;
	color: #284457;
    font-size: 1.375em
}
body div.main_contents #contents table{
	margin-bottom: 16px;
}
body div.main_contents #contents table td,
body div.main_contents #contents table th{
	padding:10px;
	border-bottom:1px dotted #ccc;
	vertical-align: middle;
	font-size: 0.875em;
}
body div.main_contents #contents table th {
    font-weight: 700;
    text-align: left;
	font-size: 16px;
}
body div.main_contents #contents table td.order{
	text-align: left;
	font-weight: 600;
	width:90px;
	border-bottom:1px dotted #ccc;
}
body div.main_contents #comment table{
	width: 100%;
	margin-bottom: 40px;
}
body div.main_contents #comment table span{
	font-weight: 500;
	color: #4a7cd3;
}
body div.main_contents #comment table td p{
	margin-bottom: 4px;
}
body div.main_contents #comment table em{
	color: #f99e29;
	font-weight: 300;
	font-size: 140%;
}
body div.main_contents #comment table img{
	width: 60px;
}
body div.main_contents #comment table th,
body div.main_contents #comment table td{
	border-bottom: 1px solid #ddd;
	padding: 18px;
}
body div.main_contents #comment table td{
	padding: 15px 10px;
	font-size: 0.875em;
}
body div.main_contents #comment .voice{
	padding: 10px;
    font-size: 75%;
    border-bottom: 1px dashed #ddd;
}
body div.main_contents #comment.voice em{
	color: #f99e29;
    font-weight: 300;
    font-size: 150%;
}

body div.main_contents ul{
	padding-left: 25px;
	padding-right: 10px;
}
body div.main_contents li{
	list-style:disc;
	font-size: 0.875em;
}
body div.main_image>div p.point, div.top_text p.point{
	text-align: center;
	margin-bottom: 10px;
	font-size: 17px;
}
body div.main_contents .set_item{
	width:50%;
	float:left;
}
body div.main_contents #set_item h3{
    font-weight: 600;
    font-size: 120%;
    margin-bottom: 20px;
    padding: 15px;
    color: #00bcd4;
    background: #f6f6f6;
}
body div.main_contents .contents .text_box,
body div.main_contents #set_item .text_box {
	display: block;
	text-align: right;
	font-size: 0.625em;
	padding-bottom: 5px;
}
body div.main_contents #set_item p span{
	font-weight: 300;
	color: #bb0323;
}
body div.main_contents #set_item div>a>p{
	text-align: center;
	font-size: 0.625em;
}
body div.main_contents #set_item .item_container{
	display: flex;
	justify-content: left;
    flex-wrap: wrap;
}
body div.main_contents #set_item .pre_item_description{
	padding: 20px;
}
body div.main_contents #set_item h5{
	color: #454545;
	font-size: 0.875em;
	font-weight: 600;
	padding: 8px 0 0;
}
body div.main_contents #set_item .pre_item_description .price{
	padding: 32px 0 0;
}
body div.main_contents #set_item .pre_item_description .price span.price_down{
	background-color:#ff4444; 
	color: #fff;
	padding: 3px 10px;
	line-height: 1.8;
	font-weight: 300;
}
body div.main_contents #set_item .pre_container h4{
	font-size: 1.125em;
	font-weight: 600;
}
body div.main_contents #set_item .pre_item_description .price p{
	text-align: left;
    padding-top: 16px;
    font-size: 0.875em;
    font-weight: 300;
    line-height: 1.5;
}
body div.main_contents #set_item .pre_item_description .price p:nth-child(3){
	padding-top: 4px;
	font-size: 0.875em;
}
body div.main_contents #set_item .pre_item_description .price p:nth-child(3) span{
	font-size: 1.25em;
	font-weight: 600;
	padding-top: 0;
	color: #ff4444!important;
}
body div.main_contents #set_item .pre_item_description .price p.point{
	font-size: 1.125em;
	color: #ff4444;
	line-height: 1.4;
}
body div.main_contents #set_item .pre_item_description .price p span{
	font-size: 0.875em;
	color: #454545;
	font-weight: normal;
}

body div.main_contents #set_item .pre_item_description .price em{
	font-size: 0.625em;
	color: #454545;
	font-weight: normal;
	padding-left: 4px;
}
body div.main_contents #set_item .pre_item_description ul{
	list-style: disc;
	line-height: 1.7;
	padding:8px 0 0 24px;
	font-size: 0.875em;
}
body div.main_contents #set_item .pre_item_description ul li.link{
	list-style: none;
}
body div.main_contents #set_item .pre_item_description ul a{
	text-decoration: underline;
	color: #00a4bf;
}
body div.main_contents #set_item h3 a{
	display: block;
}
body div.main_contents #set_item table td{
	padding: 10px 2px;
	vertical-align: top;
}
body div.main_contents #set_item table.pre td{
	text-align: center;
}
body #function h4{
    padding: 8px;
    border-radius: 5px;
    font-weight: 300;
	font-size: 20px;
}
#feature{
	overflow: hidden;
}
#feature .heightLineParent{
	display: flex;
	flex-wrap: wrap;
}
.box_f,
.box_m{
    width: 33.3%;
    box-sizing: border-box;
    margin-bottom: 16px;
    padding: 10px;
	position: relative;
}
.box_s{
    width: 100%;
    box-sizing: border-box;
    padding: 16px 8px 32px;
	position: relative;
}

.box_s span{
    font-weight: bold;
}
.box_f img,
.box_m img{
	margin: 0 16px 8px 0;
	width: 90px;
	border: 1px solid #ccc;
}
.box_f_img,
.box_m_img{
	margin-right: 10px;
    width: 84px;
    border: 1px solid #ccc;
    display: block;
    float: left;
}
.box_s img{
    margin: 0 20px 20px 0;
    width: 120px;
    border: 1px solid #ccc;
}
.box_s_img{
	margin-right: 10px;
    width: 120px;
    border: 1px solid #ccc;
    display: block;
    float: left;
}
.box_f p, .box_s p, .box_m p{
	font-size: 0.875em;
    display: block;
	padding-bottom: 8px;
	line-height: 1.7;
}
body div.main_contents .box_f h3,
body div.main_contents .box_s h3,
body div.main_contents .box_m h3{
	font-size: 1.125em;
}
body div.main_contents .box_f h4,
body div.main_contents .box_s h4,
body div.main_contents .box_m h4{
	font-size: 1.125em;
}
.box_f .symptom,
.box_m .symptom, 
.box_s .symptom{
	padding-top: 7px;
	font-size: 0.625em;
    display: block;
}
.box_s .fig_expansion,
.box_m .fig_expansion{
	width: 40px;
    position: absolute;
    left: 60px;
	border: none;
	top:200px;
}
.box_f .fig_expansion{
	width: 40px;
    position: absolute;
    left: 60px;
	border: none;
    top: 175px;
}

.box_s .fig_expansion_2,
.box_m .fig_expansion_2,
.box_f .fig_expansion_2{
	width: 40px;
    left: 60px;
    top: 200px;
	border: none;
	position: absolute;
}
.box_s .fig_expansion_2{
    left: 90px;
    top: 230px;
}
body div.main_contents .box_f h3,
body div.main_contents .box_m h3,
body div.main_contents .box_s h3{
	background: none;
    color: #88308D;
    line-height: 1.4;
    border-bottom: 1px solid #ccc;
    margin: 0 0 16px 0;
    padding:0 0 8px 0;
	font-size: 0.875em;
    font-weight: 300;
}

body div.main_contents .box_f .cap_text,
body div.main_contents .box_m .cap_text,
body div.main_contents .box_s .cap_text{
	font-size: 0.625em;
	display: block;
	margin-top: 5px;
}
body div.main_image>div div.main_item p.price em,
div.top_text p.price em{
	font-size: 30px;
	font-weight:300;
	color: #bb0323;
}

/*ーーーーーーーaccordionーーーーーーーーーー*/
.cp_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
	color: #ffffff;
}
.cp_actab input {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.cp_actab label {
	line-height: 2.5;
	position: relative;
	display: block;
	cursor: pointer;
	font-size: 0.875em;
	border-bottom: 1px dotted #ccc;
}
.cp_actab .cp_actab-content {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.35s;
	transition: max-height 0.35s;
	color: #333333;
}
.cp_actab .cp_actab-content p {
	margin: 0 0 16px;
	font-size: 0.825;
}
/* :checked */
.cp_actab input:checked ~ .cp_actab-content{
	max-height: 100em;
}
/* Icon */
.cp_actab label::after {
	line-height: 2.5;
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 2em;
	height: 2em;
	-webkit-transition: all 0.35s;
	transition: all 0.35s;
	text-align: center;
}
.cp_actab input[type=checkbox] + label::after {
	content: '+';
}
.cp_actab input[type=checkbox]:checked + label::after {
	transform: rotate(315deg);
}


/*ーーーーーーーセット商品部分ーーーーーーーーーー
（セット商品LPと同じ）*/

div.preitem .book_image img{
	width: 260px;
}
div.item{
	margin-bottom: 25px;
}
div.item h4:hover,
div.item .book_image:hover{
	opacity: 0.8;
}
div.main_contents#ebook div.item{
	border-right:solid 1px #eee;
}
div.main_contents#ebook div.item:nth-child(3n+1){
	border-right:none;
}
div.item h4{
	border-left:solid 7px #00bcd4;
	padding:8px 0 8px 5px;
}
div.item h4 span{
	color: #808080;
	font-size: 0.625em;
	display: block;
	margin: 5px;
	font-weight: 300;
}
div.item a >p{
	margin: 5px 0;
}
ul.navi li a{
	vertical-align: top;
	position: relative;
}
div.item h4>em{
	text-decoration: underline;
	color: #00a4bf;
}
div.item h4 em span{
	color: #ff4444;
	display: inline-block;
	font-size: 0.875em;
	padding-left: 5px;
	font-weight: bold;
}
div.item h4 span em{
	background: #ff4444;
    color: #fff;
    padding: 2px 4px;
    display: inline-block;
    margin: 0 4px 0 0;
    border-radius: 2px;
    font-size: 0.625em;
    font-weight: 200;
}
div.item p{
	text-align: center;
}
div.item .book_image{
	width: 100%;
}
div.item table{
	margin: 0 auto;
	line-height: 1.2;
}
div.item table td:nth-child(2){
	font-weight: 600;
}
div.item table td:nth-child(3){
	color: #ff4444;
	font-weight: 600;
	font-size: 1.125em;
}
div.item table td:nth-child(3) em,
div.item table td:nth-child(3) span{
	color: #454545;
	font-weight: 300;
	font-size: 0.625em;
}
div.item table td span{
	font-size: 0.625em;
	display: block;
}
div.item table td.point{
	color: #ff4444;
	font-weight: 500;
	font-size: 1.125em;
}
div.item table td.point span{
	font-size: 0.625em;
	display: inline;
	padding-right: 5px;
}
div.item table td.point em:nth-child(n){
	color: #ff4444;
}
div.item table td em{
	font-size: 0.625em;
}
div.top_return {
    position: fixed;
    bottom: 16px;
    right: 16px;
    z-index: 999;
}
div.top_return a {
    display: block;
    text-decoration: none;
    background: #000;
    padding: 10px 15px 10px 10px;
    padding: 10px 15px 10px 10px;
    border-radius: 5px;
    color: #FFF;
	font-weight: 100;
    z-index: 0;
    opacity: 0.6;
}

@media screen and (min-width:641px) { 
	/*　画面サイズが641px以上はここを読み込む　*/
	.sp_view{
		display: none;
	}
	.bnr_set img{
		margin: 0 auto;
	}
	body div.main_image>div{
		width:1200px;
	}
	body div.main_contents #contents table td{
		width: 1200px;
	}
	body div #upg_price　div.wrapper_price{
		line-height: 1.8;
	}
	body #cpn .cpn_box table .item_content table th,
	body #cpn .cpn_box table .item_content table td{
		white-space: nowrap;
		padding-right: 5px;
	}
	body div.main_contents #set_item table{
		margin: 0 auto;
	}
	body div.main_contents #set_item table td{
		white-space: nowrap;
	}
	body div.main_contents #set_item .pre_container .item img{
		width: 323px;
		-webkit-backface-visibility: hidden;
	}
	body div.main_contents .box_m h3{
		min-height: 55px;
	}
	.btn_top{
		width: 1000px;
		margin: 16px auto;
		clear: both;
	}
	body div #upg_price div.wrapper_price{
		margin:24px auto 40px;
	}
	body div.main_contents>div{
		margin-bottom: 56px;
	}
	body div.wrapper_cpn div.main_contents>div{
		background: #fff;
		border-radius: 10px;
		margin: 60px 0 !important;
	}
	body div.main_contents #set_item .pre_item_description .price span.price_down{
		font-size: 0.875em;
}
/*ーーーーーセット商品部分ーーーーーー*/
div.price.pre_price{
	width: 500px;
	margin-left: 300px;
	overflow: hidden;
}
ul.navi{
	width: 1200px;
	margin:0px auto;
	box-sizing: border-box;
}
ul.navi li{
	background: #00bcd4;
	margin: 15px 10px 15px 0;
	display: inline-block;
	font-weight: 300;
	font-size: 22px;
	width: 297px;
	border-radius: 3px;
	text-align: center;
	box-shadow:0px 4px 0px 0px #0f8e9e;
}
ul.navi li:last-child{
    margin: 15px 0 15px 0;
}
ul.navi li:hover{
	opacity: 0.7;
}
ul.navi li a{
	color: #fff;
	display: block;
	width: 100%;
	height: 100%;
	padding:15px 20px 15px 35px;
	font-size: 1.125em;
	box-sizing: border-box;
}
ul.navi li a em{
	background: #ff4444;
    color: #fff;
    padding: 5px 4px;
    display: inline-block;
    margin-right: 6px;
    border-radius: 2px;
    font-size: 13px;
    font-weight: 200;
    position: absolute;
	left: 15px;
	top:12px;
}
.pre_container .btn_top{
	width: 100%;
    font-size: 1.125em;
}
.pre_container .btn_top:after {
    top: 16px;
}
#box-item1 .item,#box-item2 .item,#box-item3 .item,#box-item4 .item,#box-item5 .item,#box-item6 .item,#box-item7 .item,#box-item8 .item{
    width: 60%;
}	
#box-item1 .pre_item_description,#box-item2 .pre_item_description,#box-item3 .pre_item_description,#box-item4 .pre_item_description,#box-item5 .pre_item_description,#box-item6 .pre_item_description,#box-item7 .pre_item_description,#box-item8 .pre_item_description{
    width: 40%;
}
	
div.item{
    width: 33.3%;
    margin-bottom: 24px;
    float: left;
    padding: 8px;
    box-sizing: border-box;
    margin-bottom: 0;
	}
	div.item .book_image{
		text-align: center;
		height: 150px;
	}
	div.item .book_image img{
		width: 215px;	
	}
	.fig_upgrade{
		display: block;
		margin: 16px auto;
	}
	.wrapper_cpn{
		background:#fff;
	}	
}
/* バナーエリア */
.link-banner {
    max-width: 1200px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 32px;
    margin: 32px auto 64px;
    text-align: center;
}

.link-banner a:hover  {
    opacity: .75
}

@media screen and (max-width:640px) { 
    /*　画面サイズが640px以下はここを読み込む　*/
	.heightLineParent{
		width: 100%;
	}
	.cp_actab label {
		font-size: 0.875em;
	}
	.cp_actab .cp_actab-content p {
		font-size: 0.875em;
	}
	div.item .book_image img{
		width: 200px;
	}
	div.item {
		margin-bottom: 10px;
	}
	body div.main_contents #set_item .pre_item_description .price p {
		padding-top: 8px;
	}
	body div.main_contents #set_item .pre_item_description .price p.point,
	body div.main_contents #set_item .pre_item_description .price p:nth-child(3){
		font-size: 0.875em;
	}
	body div.main_contents #set_item .pre_container h4{
		font-size: 0.875em;
	}
	#feature .box_f{
		margin: 0 auto 10px;
	}
	.box_s img{
		width: 85px;
	}
	.box_f p,
	.box_m p,
	.box_l p{
		font-size: 0.875em;
		display: block;
	}
	.bnr_set img{
		width: 100%;
	}
	.box_f,
	.box_m,
	.box_s{
		width: 100%;
		display: block;
		padding: 0;
	}
	.box_s{
		padding-bottom: 24px;
	}
    .box_s .fig_expansion,
	.box_s .fig_expansion_2,
	.box_f .fig_expansion,
	.box_f .fig_expansion_2,
	.box_m .fig_expansion,
	.box_m .fig_expansion_2{
		left: 50px;
	}
    .box_s .fig_expansion{
		top: 175px;
	}
    .box_s .fig_expansion_2{
		top: 125px;
	}
	.box_f .fig_expansion{
		top: 170px;
	}
	.box_f .fig_expansion_2 {
		top: 175px;
	}
	.box_m .fig_expansion {
		top: 185px;
	}
	.box_m .fig_expansion_2 {
		top: 164px;
	}
	body div.main_contents .box_s h4{
		padding: 10px 0 5px;
	}
	body div.main_contents h2+p {
		font-size: 0.875em;	
	}
	body div.main_contents .box_f h3 {
		font-size: 1.125em;
	}
	body{
		font-size: 1.125em;
	}
	body header div{
		width: 100% !important;
		box-sizing: border-box;
	}
	body div.main_image{
		box-sizing: border-box;
	}
	body div.main_image>div{
		width: 100%;
		box-sizing: border-box;
		padding: 10px;	
		margin: auto;
		box-shadow: none;
	}
	.wrapper_cpn{
		margin:20px 0 0;
	}
	body div.main_contents h2{
		line-height: 1.4;
		font-size: 1.25em;
		margin: 10px 0;
	}
	body div.top_text p.desc span{
		font-size:0.875em;
		font-weight: 300;
	}
	body div.top_text{
		width: 100%;
		box-sizing: border-box;
		padding: 8px 4px 0;
		font-size: 0.875em;
	}
	body div.top_text .desc_top_text{
		display: block !important;
		margin: 10px 10px 15px;
		font-size: 1.125em;
	}
	body div.top_text p.desc{
		font-size: 1.125em;
		padding: 8px 0;
	}
	body div.main_image>div p.desc{
		clear: both;
	}
	body div.main_image>div div.main_item p.price{
		font-size: 1.125em;
	}
	body div.main_image>div div.main_item p.price em{
		font-size: 20px;	
	}
	.btn_top:after{
		border-width: 5px 5px 5px 7px;
		top:14px;
	}
	.btn_set:after{
		top:14px;
	}
	body #cpn .cpn_box{
		padding: 8px;
	}
	body #cpn .cpn_box table .item_content table th,
	body #cpn .cpn_box table .item_content table td{
		display: block;
		vertical-align: top;
	}
	body #cpn .cpn_box table .item_content table:nth-child(2) th,
	body #cpn .cpn_box table .item_content table:nth-child(2) td{
		display: table-cell;
	}
	body #cpn, body #price {
		margin: 0 auto 20px;
		width: 100%;
	}
	body #cpn {
		margin:6px auto 16px;
		width: 95%;
	}
	body #cpn .cpn_box .item_content table {
		width: 100%;
	}
	body div.main_image>div p.desc{
		display: block;
		margin-top: 0px;
		border-top:1px dashed #ddd;
		font-size: 1.125em;
		padding: 10px 0;
	}
	body div.main_contents #set_item .text_box {
		font-size: 0.625em;
	}
	body div.main_contents #set_item .pre_item_description ul{
		padding:8px 0 16px 24px;
	}
	a.btn_top{
		font-size: 1.125em;
		width: 91%;
		box-sizing: border-box;
		padding: 8px;
		overflow: hidden;
		margin: 8px auto 8px;
	}
	.btn_top{/*button用*/
		font-size: 1.125em;
		width: 100%;
		box-sizing: border-box;
		padding: 5px;
		overflow: hidden;
		margin: 10px;
	}
	body div #upg_price p{
		padding-bottom: 5px;
	}
	body div #upg_price　div.wrapper_price{
		margin:20px auto 10px;
		padding: 15px 10px 10px;
	}
	body div #upg_price　div.wrapper_price em {
		font-size: 1.25em;
	}
	body div #upg_price div.wrapper_price p {
		font-size: 1.125px;
	}
	body div.main_contents{
		width: 100%;
		padding: 10px;
		box-sizing: border-box;
	}
	body div.main_contents #comment{
		margin-bottom: 30px;
	}
	body div.main_contents #comment table{
		margin: 0px auto 20px;
		width: 100%;
	}
	body div.main_contents #comment table img{
		width: 50px;
	}
	body div.main_contents #comment table tr td,
	body div.main_contents #comment table tr th{
		padding:8px 8px 16px;
		border-bottom:1px solid #ccc;
		font-size: 0.875em;
	}
	body div.main_contents #set_item table td{
		font-size: 0.875em;
		line-height: 1.6;
	}
	body div.main_contents #set_item table td.image img{
		width: 130px;
	}
	body div.main_contents #set_item table.pre td.image img{
		width: 100%;
	}
	body div.main_contents #set_item table.pre tr td{
		padding: 0 10px;
	}
	body div.main_contents #set_item table.pre tr:nth-child(2) td{
		padding: 10px;
	}
	body div.main_contents #set_item .pre_item_description{
		padding: 0;
	}
	body div.main_contents #set_item .pre_item_description .price{
		padding-top: 0;
	}
	body div.main_contents #set_item .pre_item_description .price span.price_down{
		padding: 2px 4px;
		font-size: 0.625em;
	}
	body div.main_contents #set_item>div table td.image_pre img{
		width: 90%;
	}
	body div.main_contents>div{
		margin-bottom: 32px;
	}	
/*セット商品部分*/
	div.item{
		width: 100%;
	}
	div.item.pre img{
		width: 100%;
	}
	div.item table{
		margin: auto;
	}
	div.item .book_image{
		text-align: center;
	}
	.fig_upgrade{
		width: 80%;
		display: block;
		margin: 5px auto 0;
	}
	.link-banner img{
		width: 100%;
	}
	.pc_view{
		display: none;
	}
}

