@charset "UTF-8";

/* -------------- gakusan.com base css --------------*/
template {
	display: none;
}

body {
	font-size: 12px;
	line-height: 120%;
	color: #333333;
	font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}

* html body {
	margin: 0px auto;
}

table {
	empty-cells: show;
	width: 100%;
}

td,th {
	font-size: 12px;
	line-height: 120%;
}

h1 {
	font-size: 16px;
	line-height: 120%;
}

h2 {
	font-size: 14px;
}

a {
	text-decoration:none;
	color: #003399;
}

a:visited {
	color: #6655BB;
}

a:hover {
	color: #666666;
	text-decoration: underline;
}


/* =============================================================================
   module
============================================================================= */
/* ----------------------------------------------
   button
---------------------------------------------- */
.mod_link_btn {
	-webkit-appearance: none;
	appearance: none;
	display: inline-block;
	padding: .5em 1em;
	background: transparent;
	border: 1px solid #00418f;
	text-align: center;
}


/* ----------------------------------------------
   list
---------------------------------------------- */
.mod-link-list {
}
.mod-link-list__item {
	display: inline-block;
	margin-right: 3%;
	width: 20%;
	min-width: 200px;
	box-sizing: border-box;
}
.mod-link-list__link {
	display: block;
	padding: 0.5em;
}

/* ----------------------------------------------
   itembox
---------------------------------------------- */
.mod-item-1col {
	display: -ms-flexbox;
	display: flex;
	padding: 10px;
 border-top: 1px solid #c7def4;
}
.mod-item-1col:last-child {
 border-bottom: 1px solid #c7def4;
}
.mod-item-1col__image {
	padding-right: 20px;
}
.mod-item-1col__itemname {
	margin-bottom: 1em;
	font-size: 16px;
	font-weight: bold;
}
.mod-item-1col__body {
	padding-right: 30px;
	width: 70%;
}
.mod-item-1col__spec {
	margin-bottom: 1em;
}
.mod-item-1col__description {
	line-height: 1.7;
}
.mod-item-1col__price {
	display: -ms-flexbox;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	flex-direction: column;
	width: 20%;
}
.mod-item-1col__price .price {
	font-size: 14px;
}
.mod-item-1col__cart {
	margin: 1em 0 0;
}
.mod-item-1col__cart a {
	white-space: nowrap;
}


/* ----------------------------------------------
   form
---------------------------------------------- */
.mod-table__form th,
.mod-table__form td {
	padding: 2px;
}

.mod-table__form th {
	padding-right: 10px;
	text-align: left;
	font-weight: normal;
}

.mod-btn__submit {
	-webkit-appearance: none;
	appearance: none;
	display: block;
	margin: auto;
	padding: .5em;
	width: 8em;
	max-width: 100%;
	height: auto;
	background: #13428b;
	border: 0;
	border-radius: 1.25em;
	color: #fff;
	text-align: center;
	line-height: 1.5;
	font-weight: bold;
}

/* ----------------------------------------------
   modal
---------------------------------------------- */
.js-modal-target {
	display: none;
}
.modaal-container .js-modal-target {
	display: block;
}

/* 背景白のモーダル（送料で使用） */
.modal-light .modaal-container {
	max-width: 600px;
	background: transparent;
	border-radius: 8px;
}
.modal-light .modaal-content {
	overflow: hidden;
	border: 1px solid #06c;
	border-radius: 8px;
	background: #fff;
}
.modal-light .modaal-content-container {
	padding: 0;
}
.modal-light-title {
	padding: 10px 20px;
	background: #06c;
	font-size: 14px;
	color: #fff;
}
.modal-light-body {
	padding: 20px;
	line-height: 1.6;
}
.modal-light-body p {
	margin-bottom: 1em;
}
.modal-light-body p:last-child {
	margin-bottom: 0;
}
.modal-light-attention {
	color: #f00;
	font-weight: bold;
}

/* 閉じるボタン */
.modal-light .modaal-close {
	position: absolute;
	top: -50px;
	right: -50px;
}
.modal-light .modaal-close::before,
.modal-light .modaal-close:hover::before,
.modal-light .modaal-close::after,
.modal-light .modaal-close:hover::after {
	background: #06c;
}
.modal-light .modaal-close:hover {
	background: transparent;
}


/*スマートフォン対応120227 */
#pmenu, .pc-btn { display: none; }

.phone-btn a {/*スマートフォン版ボタン*/
	margin: 10px auto;
	text-align: center;
	display: block;
	width: 350px;
	font-size: 36px;
	padding: 20px;
	border-radius: 5px;
	box-shadow: 1px 1px 2px 1px #cfcfcf;
	text-decoration: none;
	background: -moz-linear-gradient(top,#298ee9,#115da2);
	background: -webkit-gradient(linear, left top, left bottom, from(#298ee9),to(#115da2));
	color: #FFF;
	border: solid 1px #116ec2;	
}

/*ヘッダー変更181025 */
.header_btn_tosp_frompc {
	position: relative;
	padding: .5em 0;
	box-shadow: 0 0 8px rgba(0,0,0,.25);
	font-size: 48px;
	font-weight: bold;
	text-align: center;
}
.header_btn_tosp_frompc p {
	line-height: 1.2;
}

div#header {
	-js-display: flex;
	display: flex;
	margin: 0 20px;
	padding: 15px 0 10px;
	min-width: 960px;
}

.header_first,
.header_second {
	-js-display: flex;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
}
.header_first {
	position: relative;
	justify-content: flex-start;
	width: 55%;
}

.header_second {
	width: 43%;
	justify-content: flex-end;
}

.header_logo {
	margin-right: 30px;
}

.header_logo img {
	width: 220px;
}

#header_home_h1 {
	color: #13428b;
	font-size: 10px;
	margin-left: 53px;
}

.header_search {
	overflow: hidden;
	width: 45%;
	border: 2px solid #00418f;
	border-radius: 6px;
}
.header_search form {
	-js-display: flex;
	display: flex;
	flex: 1 0 0%;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.header_search_input {
	padding: 0 .5em;
	width: 100%;
	width: 60%\9;
	border: 0;
	border-radius: 6px;
	vertical-align: middle;
	line-height: 32px;
	font-size: 16px;
}
.header_search_submit {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	margin-left: auto;
	padding: 0 1em;
	width: 6em;
	border: 0;
	background-color: #00418f;
	color: #fff;
	line-height: 34px;
	vertical-align: middle;
	font-size: 16px;
	cursor: pointer;
	box-sizing: border-box;
	word-break: keep-all;
}
.header_search_detail {
	margin-left: 16px;
	line-height: 34px;
	font-size: 12px;
	font-weight: bold;
	color: #13428b;
}
.header_search_detail:hover,
.header_search_detail:visited {
	color: #13428b;
}

.header_link_priority {
}

.header_link_cart {
	font-size: 14px;
	font-weight: bold;
}
.header_link_cart_link {
	position: relative;
	display: inline-block;
	padding-left: 28px;
	background: url('../imgs/common/icon_cart.svg') no-repeat left center;
	background-size: 22px;
	line-height: 22px;
	color: #13428b;
}
.header_link_cart_link:hover,
.header_link_cart_link:visited {
	color: #13428b;
}
.header__link-cart-link--num {
	position: absolute;
	top: -1.3em;
	left: 100%;
	display: block;
	margin-left: -.8em;
	padding: 0 .5em;
	min-width: 2em;
	line-height: 2em;
	border-radius: 1em;
	background-color: #f00;
	font-size: 10px;
	color: #fff;
	text-align: center;
	box-sizing: border-box;
}

/* 閲覧履歴 */
.header_link_history {
	margin-top: 10px;
}
.header_link_history_link {
	position: relative;
	display: inline-block;
	padding-left: 28px;
	background: url('../imgs/common/icon_history.svg') no-repeat 2px center;
	background-size: 18px;
	line-height: 22px;
	font-size: 14px;
	color: #13428b;
}
.header_link_history_link:hover,
.header_link_history_link:visited {
	color: #13428b;
}

.header_link_other {
	margin-left: 30px;
}
.header_link_other_item {
	margin-bottom: 10px;
}
.header_link_other_item:last-child {
	margin-bottom: 0;
}
.header_link_other_link {
	font-size: 10px;
	font-weight: bold;
	color: #13428b;
}
.header_link_other_link:hover,
.header_link_other_link:visited {
	color: #13428b;
}
.header_link_how_link {
	display: inline-block;
	padding-left: 22px;
	background: url('../imgs/common/icon_how.svg') no-repeat left center;
	background-size: 16px;
	line-height: 16px;
}
.header_link_policy_link {
	display: inline-block;
	padding-left: 22px;
	background: url('../imgs/common/icon_policy.svg') no-repeat left center;
	background-size: 16px;
	line-height: 16px;
}
.header_link_bnr {
	margin-left: 30px;
}


@media screen and (max-width: 1410px) {
	.header_first {
		width: 50%;
	}
	.header_second {
		width: 50%;
	}
}

@media screen and (max-width: 1250px) {
	.header_first {
		width: 45%;
	}
	#header_home_h1 {
		margin-left: 40px;
	}
	.header_second {
		width: 55%;
	}

	.header_logo img {
		width: 170px;
	}
}

@media screen and (max-width: 1150px) {
	.header_first {
		display: block;
	}

	.header_logo {
		float: left;
	}

	.header_search_input,
	.header_search_submit	{
		font-size: 14px;
	}

	.header_search_detail {
		display: inline-block;
		margin: 5px 0 0;
		line-height: 1.3;
	}

	.header_link_bnr {
		margin-left: 20px;
	}
	.header_link_bnr img {
		height: 45px;
	}
}


/* headerのお知らせエリア */
.header_announce {
	position: fixed;
	z-index: 999;
	padding: 0 10px 2px;
	width: 100%;
	background: #fff2c0;
	text-align: center;
	font-weight: bold;
	box-sizing: border-box;
}
.header_announce + #header {
	padding-top: 55px;
}
.header_announce p {
	margin: 0;
	font-size: 12px;
}
.header_announce a,
.header_announce a:visited {
	color: #000;
	text-decoration: underline;
}
.header_announce a:hover {
	text-decoration: none;
}
.header_announce img {
	max-width: 100%;
	max-height: 40px;
	height: auto;
}
.header_announce a:hover img {
	opacity: .8;
}


div#header_home_box {
	width: 360px;
	margin: 8px 0 2px 0;
	float: left;	
}

div#header_home_l {
	width: 95px;
	float:left;	
}

/*logo変更120227 */
div#header_home_l a {
	display: block;
	width: 87px;
	height: 112px;
}

div#header_home_r {
	padding-left: 95px;
}

/*logo変更120227 */
div#header_home_r p a {
	display: block;
	width: 217px;
	height: 62px;
}

div#header_r {
	margin-left: 360px;	
}

div#header_bnr {
	padding-right: 15px;
	text-align: right;
}

div#header_tab {
	margin-bottom: 15px;
	padding-right: 15px;
}

div#header_tab ul {
	width: 516px;
	height: 30px;
	padding: 1px 6px 5px 6px;
	margin: 0 0 0 auto;
	background-image: url(/home/imgs/header_tab.jpg);
	background-repeat: no-repeat;		
}

div#header_tab li {
	float:left;	
}

div#header_tab a {
	height: 30px;
	display: block;
	text-indent: -9999px;	
}

div#header_tab a:hover {
	background-image: url(/home/imgs/header_tab_ov.gif);
}

.tab_top a {
	width: 115px;
	background-position: -6px -1px;
	background-repeat: no-repeat
}

.tab_cart a {
	width: 115px;
	margin-left: 3px;
	background-position: -124px -1px;
}

.tab_mail_order_sales a {
	width: 139px;
	margin-left: 3px;
	background-position: -242px -1px;	
}

.tab_privacy_policy a {
	width: 138px;
	margin-left: 3px;
	background-position: -384px -1px;
}

div#header_menu {
	/*background-image: url(/home/imgs/header_menu_bg.gif);*/
	background: #ecf4fd;
	border-top: 1px #06c solid;
	border-bottom: 1px #06c solid;
	height: 60px;
	min-width: 1000px;
	box-sizing: border-box;
}

div#header_menu ul{
	width: 970px;
	height: 60px;
	margin: 0px auto;
}

div#header_menu li {
	float: left;
}

div#header_menu a {
	height: 54px;
	display: block;
	background-image: url(/home/imgs/global_menu_2020.png);
	text-indent: -9999px;
	background-repeat: no-repeat;	
}

div#header_menu a:hover {
	background-image: url(/home/imgs/global_menu_2020_ov.png);
}

div#header_menu .menu_forcorporate a {
	width: 83px;
	background: url(/home/imgs/global_menu_corporate.png) no-repeat 0 0;
}

div#header_menu .menu_forcorporate a:hover {
	background: url(/home/imgs/global_menu_corporate_ov.png) no-repeat 0 0;
}

.menu_newbook a {
	width: 65px;
	background-position: -67px 0;
}

.menu_senior a {
	width: 65px;
	background-position: -132px 0;
}

.menu_junior a {
	width: 65px;
	background-position: -197px 0;
}

.menu_ele a {
	width: 65px;
	background-position: -262px 0;
}

.menu_pre a {
	width: 65px;
	background-position: -327px 0;
}

.menu_center a {
	width: 150px;
	background-position: -392px 0;
}

.menu_guide a {
	width: 111px;
	background-position: -542px 0;
}

.menu_keisetsu a {
	width: 83px;
	background-position: -653px 0;
}

.menu_jiten a {
	width: 59px;
	background-position: -736px 0;
}

.menu_gogaku a {
	width: 59px;
	background-position: -795px 0;
}

.menu_link a {
	width: 94px;
	background-position: -854px 0;
}

* html div#header_menu a {/* forIE6 */
	width: 70px;
	height: 100%;
	line-height: 100%;
	padding-top: 5px;
	padding-bottom: 5px;
	margin-right: 5px;
	margin-top: 12px;
	display: block;
	font-size: 14px;
	font-weight: bold;
	color: #FFF;
	text-align: center;
	background-image:none;
	text-indent: 0;
	border: solid 2px #FFF;
}

* html div#header_menu a:active, 
* html div#header_menu a:visited { /* forIE6 */
	color: #FFF;
}

* html div#header_menu a:hover { /* forIE6 */
	color: #01387b;
	background-image: none;
	background-color: #fae5b6;	
}

* html .menu_appli a {/* forIE6 */
	background-color: #fd3636;
}

* html .menu_newbook a {/* forIE6 */
	background-color: #fd6e6e;
}

* html .menu_senior a {/* forIE6 */
	background-color: #945fea;
}

* html .menu_junior a {/* forIE6 */
	background-color: #52a2e7;
}

* html .menu_ele a {/* forIE6 */
	background-color: #debd08;
}

* html .menu_pre a {/* forIE6 */
	background-color: #f693e2;
}

* html .menu_center a {/* forIE6 */
	background-color: #2ba551;
}

* html .menu_guide a {/* forIE6 */
	background-color: #46b5c9;
}

* html .menu_keisetsu a {/* forIE6 */
	background-color: #f49233;
}

* html .menu_jiten a {/* forIE6 */
	background-color: #1e59a0;
}

* html .menu_gogaku a {/* forIE6 */
	background-color: #73c339;
}

* html .menu_link a {/* forIE6 */
	background-color: #f96b97;
}

input.search {
	background-image: url(/home/imgs/search_icon.gif);
	background-repeat: no-repeat;
	background-position: 2px center;
	padding-left: 21px;
	width: 120px;
}

input.search_bt {
	vertical-align: -3px;
}

div.top_bnr {
	margin-top: 10px;
	text-align: center;
}

div.top_bnr_zkai {
	margin-top: 10px;
	text-align: center;
}

.top_bnr_list {
	padding: 10px 5px;
	text-align: center;
}
li.top_bnr {
	margin-top: 10px;
}
li.top_bnr:first-child {
	margin-top: 0;
}
li.top_bnr img {
	width: 325px;
	max-width: 100%;
	height: auto;
}

div#container {
	overflow: hidden;
	margin: 0 auto;
	padding: 0px 20px;
	min-width: 960px;
	width: auto !important;
	width: 960px;
}

* html #container {
	zoom: 1;
}

.layout-body-nosmartphone div#container {
	padding: 0;
}

.clearfix {
	overflow: hidden;
}

* html .clearfix {
	zoom: 1;
}

.clearfix_p10 {
	padding: 10px;
	overflow: hidden;
}

* html .clearfix_p10 {
	zoom: 1;
}

.clearfix_p20 {
	padding: 20px;
	overflow: hidden;
}

* html .clearfix_p20 {
	zoom: 1;
}

div#top_col_left {
	clear:both;
	width: 65%;
	float: left;
}

div#top_col_right {
	width: 34%;
	float: right;
}

.p5 {
	padding: 5px;
}

.p10 {
	padding: 10px;
}

.p20 {
	padding: 20px;
}
.pt10 {
	padding-top: 10px;
}
.pb10 {
	padding-bottom: 10px;
}
.m10 {
	margin: 10px;
}
.m20 {
	margin: 20px;
}
.my20 {
	margin-top: 20px;
	margin-bottom: 20px;
}
.mt10 {
	margin-top: 10px;
}
.mb10 {
	margin-bottom: 10px;
}
.text-center {
	text-align: center;
}
.text-red {
	color: #ff0000;
}
.font-normal {
	font-weight: normal;
}


div.top_box {
	border: 1px #0066CC solid;
	margin-top: 10px;
}

div.top_title_bar {
	/* border-top: 1px #97C0EA solid; */
	/* border-bottom: 1px #0066CC solid; */
	color: #FFFFFF;
	padding: .8em 1em;
	font-weight: bold;
	font-size:14px;
	/* background-image: url(../imgs/bar_gra_top.gif); */
	background: #06c;
	white-space: nowrap;
}

div.top_title_bar a {
	color: #FFFFFF;
	display: block;
}

div.top_title_bar a:visited {
	color: #FFFFFF;
}

div.top_title_bar a:hover {
	text-decoration: none;
}

div.top_sub_bar_top {
	padding: 6px;
	background-image: url(/home/imgs/bar_gra_sub.gif);
	background-repeat: repeat-x;
	white-space: nowrap;
	border-bottom: 1px solid #C7DEF4;
}

div.top_sub_bar_bottom {
	padding: 6px;
	/* background-image: url(/home/imgs/bar_gra_sub.gif); */
	/* background-repeat: repeat-x; */
	background: #ecf4fd;
	white-space: nowrap;
	border-top: 1px solid #C7DEF4;
}

div.top_sub_bar_bottom a {
	color: #333333;
}

div#top_guide {
	width: 49%;
	float: left;
}

div#top_keisetsu {
	width: 49%;
	float: right;
}

div.top_search {
	width: 30%;
	float: left;
	padding: 6px;
}

div.top_search p {
	padding: 3px;
	text-align: left;
}

div.top_search li {
	padding: 3px;
}

div.top_search form {
	padding: 15px 5px;
}

div#top_new_box {
	width: 99%;
	margin: 0px auto;
}

ul#top_new_link {
	display: inline;
	padding-left: 10px;
}

ul#top_new_link li {
	display: inline;
	border-left: 1px dotted #333333;
	padding: 0px 3px 0px 5px;
}

div#top_mobile {
	height: 70px;
	background-image: url(/home/imgs/gakusan_qr.gif);
	background-repeat: no-repeat;
	padding: 25px 10px 0px 90px;
}

.top_box_content {
	padding: 10px;
}

.top_list_externallink_item {
	margin-right: auto;
	margin-left: auto;
	padding-left: 15px;
	line-height: 1.7;
}
.top_list_externallink_item + .top_list_externallink_item {
	margin-top: 5px;
}
.top_list_externallink_link::before {
	content: '';
	display: inline-block;
	margin-left: -15px;
	width: 5px;
	height: 5px;
	box-sizing: border-box;
	border-top: 1px solid #333;
	border-right: 1px solid #333;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	vertical-align: 0.2em;
}
.top_list_externallink_suppletext {
	margin-top: 0.5em;
	text-align: right;
	color: #666;
	font-size: 12px;
}

.box_description {
	padding: 6px;
	line-height: 1.5;
	font-size: .875rem;
}
div.book_box {
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	padding: 10px;
}

div.book_box_rank {
	padding: 5px;
	vertical-align: top;
	overflow: hidden;
	border-bottom:1px solid #C7DEF4;
}

div.book_box_list_item {
	float: left;
	text-align: center;
	width: 25%;
}


/* IE6 */
* html div.book_box {
	zoom: 1;
}

div.book_box50 {
	width: 48%;
	float: left;
	padding: 10px 5px;
	vertical-align: top;
	overflow: hidden;
}

/* IE6 */
* html div.book_box50 {
	width: 47%;
	zoom: 1;
}


div.book_box_line {
	border-top:1px solid #C7DEF4;
	clear: both;
}

div.book_box_line_kanren {
	border-top:1px solid #8AF4BF;
	clear: both;
}

div.book_box_line_apps {
	border-top:1px solid #FF9900;
	clear: both;
}

div.book_image {
	width: 72px;
	padding-right: 5px;
	text-align: center;
	vertical-align: top;
	float: left;
}

div.book_detail {
	flex: 1;
	text-align: left;
	vertical-align: top;
	margin-left: 5px;
}

div.book_box_rank div.book_detail {
	margin-left: 0px;
}

div.book_detail p {
	padding: 2px 0px;
}

div.book_detail li {
	padding-left: 0px;
	line-height: 1.6;
}

.book_detail__textlist {
	margin-left: 2em;
}
.book_detail__textlist li {
	display: inline-block;
	margin-right: 1.5em;
}
p.book_detail__before-release {
	color: #CC0000;
	font-weight: bold;
	padding: 5px 0;
}
div.book_detail p.book_detail__before-release {
	padding: 5px 0;
	clear: both;
}

.page_center div.book_detail .book_detail__textlist li {
	margin-bottom: 0;
	border-bottom: 0;
}

div.apps_image {
	width: 80px;
	float: left;
	text-indent: -9999px;
}

div.apps_image a {
	width: 79px;
	height: 81px;
	display: block;	
	background-repeat: no-repeat;
}

html > body div.apps_image span {/* forIE6以外に適用 */
	width: 79px;
	height: 81px;
	background: url(/apps/top_images/mask.png) no-repeat;
	display:block;
	text-indent: -9999px;	
}

html > body div.apps_image span.android-mask {
	background: url(/apps/top_images/mask_a.png) no-repeat;
}

div.apps_detail {
	text-align: left;
	vertical-align: top;
}

div.apps_detail p {
	padding: 2px 0px;
	line-height: 120%;
}

div.apps_new {
	position: absolute;
	top: 2px;
	right: 5px;
	display: block;
}

div.book_rank {
	width: 16px;
	margin-right: 5px;
	padding: 2px;
	/* font-weight: bold; */
	color: #FFFFFF;
	background-color: #00aa33;
	/* border: 1px solid; */
	/* border-color: #00FF00 #006600 #006600 #00FF00; */
	text-align: center;
	float: left;
}

ul.footer_link {
	padding: 8px;
	border-top: 1px #0066CC solid;
	text-align: center;
	list-style-type: square;
	min-width: 1000px;
	box-sizing: border-box;
}

ul.footer_link li {
	padding: 0px 5px;
	display: inline;
}

div#foot_bnr {
	clear: both;
	padding: 5px;
	border-top: 1px #0066CC solid;
	text-align: center;
	white-space: nowrap;
	font-size: 11px;
	margin-bottom: 5px;
}

div#footer_copylight {
	clear: both;
	padding: 5px;
	border-top: 1px #0066CC solid;
	text-align: center;
	white-space: nowrap;
	font-size: 11px;
	margin-bottom: 20px;
	min-width: 1000px;
	box-sizing: border-box;
}

.price {
	color:#CC0000;
	white-space:nowrap;
}

.price span {
	font-weight: bold;
}

.f14 {
	font-size: 14px;
}

div.main_box {
	border: 1px #0066CC solid;
	margin: 0px;
	margin-top: 10px;
	padding: 0px;
	background-color: #FFFFFF;
}

div.main_title_bar {
	height: 14px;
	/* border-top: 1px #97C0EA solid; */
	/* border-bottom: 1px #0066CC solid; */
	color: #FFFFFF;
	margin: 0px;
	padding: 8px 10px;
	font-weight: bold;
	font-size:14px;
	line-height: 14px;
	/* background-image: url(/home/imgs/bar_gra_main.gif);  */
	background: #06c;
	white-space: nowrap;
}

div.p10 {
	padding: 10px;
}


/* ----------------------------------------------
   search 検索ページ
---------------------------------------------- */
.search-table__form th {
	text-align: right;
}
.search-btn__submit.mod-btn__submit {
	margin: 10px 0 0;
}


/* ----------------------------------------------
   result 検索結果ページ
---------------------------------------------- */
.result_content_wrapper {
	display: flex;
	flex-direction: row-reverse;
}

.result_content_wrapper .main_box {
	flex: 1;
}

.result_content_wrapper .result_box_refine_form {
	margin: 10px 2% 0 0;
	width: 280px;
}

.result_content_wrapper .result_refine_form {
	padding: 10px 10px 20px;
	background: #f2f2f2;
}

.result_refine_form__title {
	margin: 0 -10px 15px;
	padding: 0 10px 10px;
	border-bottom: 1px solid #ddd;
	line-height: 1.7;
	font-size: 14px;
	font-weight: bold;
}

.result_refine_form th,
.result_refine_form td {
	display: block;
	text-align: left;
	max-width: 100%;
}

.result_refine_form .mod-table__form th {
	margin: .5em 0 0;
	font-weight: bold;
}

.result_refine_form .mod-table__releaseyear {
	display: flex;
	align-items: center;
}

.result_refine_form .mod-table__releaseyear select {
	width: auto;
}

.mod-table__releaseyear-rangesymbol {
	margin: 0 .5em;
}


.result_refine_form input[type="text"],
.result_refine_form select {
	width: 100%;
	box-sizing: border-box;
}

div.result_comment {
	padding-bottom: 10px;
	line-height: 120%;
	text-align: left;
}

div.result_comment span {
	color: #CC0000;
}

.result_adjust_area {
	margin-bottom: 20px;
	background: #f2f2f2;
}


form.result_option {
	padding: 5px 0;
	line-height: 120%;
	text-align: right;
}

form.result_option input[type="submit"] {
	display: none;
}
.no-js form.result_option input[type="submit"] {
	display: inline-block;
}

.result_akahon_univ_list {
	padding: 20px 10px;
}
.result_akahon_univ_list .book_detail__textlist {
	margin-left: 0;
}


/* ----------------------------------------------
   guide 教科書ガイドページ
---------------------------------------------- */
.guide_table_search {
	margin-top: 10px;
}
.guide_table_search th,
.guide_table_search td {
	padding: 2px;
}
.guide_table_search th {
	padding-right: 10px;
	text-align: right;
	font-weight: normal;
}
.guide_table_search tr:last-child th,
.guide_table_search tr:last-child td {
	padding-top: 10px;
}


/* ----------------------------------------------
   center センターページ
---------------------------------------------- */
.center_commontest_textlink {
	margin: 20px auto 30px;
	font-size: 14px;
	font-weight: bold;
}


ul.page_navi {
	border-top:1px solid #C7DEF4;
	clear: both;
	overflow: hidden;
//	cursor: default;
}

* html ul.page_navi {
	zoom: 1;
}

ul.page_navi li {
	margin: 3px 3px 1px 3px;
}

ul.page_navi li.page_prev {
	width: 100px;
	text-align: left;
	float: left;
}

ul.page_navi li.page_next {
	width: 100px;
	text-align: right;
	float: right;
}

ul.page_navi li.page_jump {
	text-align: center;
}

ul.page_navi li.page_jump span{
	font-weight: bold;
}

ul.page_navi li.page_jump a{
	padding: 1px;
}



/*
table#form_table {
	margin: 10px;
}

table#form_table th {
	padding: 2px;
	text-align: right;
	font-weight: normal;
}

table#form_table td {
	padding: 2px;
}

table#form_table span {
	color: #00CF00;
}
*/



/* ----------------------------------------------
   info 商品ページ
---------------------------------------------- */
div#info_title {
	font-size: 14px;
}

div#info_title p {
	padding: 3px 0px;
}

.info_itembox {
	display: flex;
	margin: 30px 0 20px;
}

.info_image {
	width: 150px;
	padding: 0 20px;
}

table#info_spec {
	width: auto;
}

table#info_spec th {
	padding: 2px;
	text-align: right;
	border-bottom: 1px #C7DEF4 solid;
}

table#info_spec td {
	padding: 2px;
	text-align: left;
	border-bottom: 1px #C7DEF4 solid;
}

table#info_spec td.price{
	font-size: 14px;
}

table#info_spec .info_spec_aboutshipping th,
table#info_spec .info_spec_aboutshipping td {
	border: 0;
}
table#info_spec .info_spec_aboutshipping td {
	padding: 10px 0;
	text-align: right;
}
table#info_spec .info_spec_aboutshipping img {
	margin-right: .5em;
	vertical-align: middle;
}

div#info_cart {
	display: inline-block;
	margin: 20px 0;
	padding: 10px;
	padding-left: 0;
	text-align: left;
}

#info_cart .mod_btn_cta {
	padding: 10px 2rem;
	color: #fff;
	font-size: 1.25rem;
}

div#info_detail {
	border: 1px solid #C7DEF4;
	background-color: #f5faff;
	/* background-color: #EAF3FB; */
	padding: 10px 20px;
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 160%;
	border-radius: 5px;
/*	box-shadow: 1px 1px 3px #000; */
	/* background: -moz-linear-gradient(top,#FFFFFF,#EAF3FB); */
	/* background: -webkit-gradient(linear, left top, left bottom, from(#FFFFFF), to(#EAF3FB)); */
/*	behavior: url(/home/css/ie-css3.htc);*/
}

.info_detail_images {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
}
.info_detail_images img {
	width: 100%;
}

div#info_iphone {
	padding-bottom: 10px;
	text-align: right;
}

div#info_return {
	width: 30%;
	padding: 10px;
}

/* 会員登録なしの説明分 */
.info_ex_noregist {
	display: inline-block;
	margin: 0;
	font-size: 12px;
	color: #666;
}

div.kanren_box {
	border: 1px #00aa33 solid;
	margin: 0px;
	margin-top: 10px;
	padding: 0px;
	background-color: #FFFFFF;
}

div.kanren_title_bar {
	/* border-top: 1px #97EAC0 solid; */
	/* border-bottom: 1px #00CC66 solid; */
	height: 14px;
	color: #FFFFFF;
	margin: 0px;
	padding: 8px 10px;
	font-weight: bold;
	font-size:14px;
	line-height: 14px;
	background: #00aa33;
	/* background-image: url(/home/imgs/bar_gra_kanren.gif);  */
	white-space: nowrap;
}

div.apps_box {
	border: 1px #FF9900 solid;
	margin: 0px;
	margin-top: 10px;
	padding: 0px;
	background-color: #FFFFFF;
}

div.apps_title_bar {
	/* border-top: 1px #97EAC0 solid; */
	/* border-bottom: 1px #FF9900 solid; */
	height: 14px;
	color: #FFFFFF;
	margin: 0px;
	padding: 8px 10px;
	font-weight: bold;
	font-size:14px;
	line-height: 14px;
	background: #FF9900;
	/* background-image: url(/home/imgs/bar_gra_apps.gif);  */
	white-space: nowrap;
}

div.apps_title_bar a {
	color: #FFFFFF;
}

div.apps_title_bar a:visited {
	color: #FFFFFF;
}

div.apps_title_bar a:hover {
	text-decoration: none;
}

/* シリーズ表示
---------------------------------------------- */
.info_series_section {
	margin-top: 70px;
	padding: 20px;
	background: #f2f2f2;
}
.info_series_section + .info_series_section {
	margin-top: 30px;
}
.info_series_title {
	margin: 0 0 30px;
	padding-bottom: 10px;
	border-bottom: 1px solid #ddd;
}
.has_textlist .info_series_title {
	margin-bottom: 15px;
}
/* シリーズ表示にバナーが続く場合 */
.info_series_section + .special_banner {
	margin-top: 30px;
}

.info_series_title_text {
	font-size: 16px;
}
.info_series_title_series_link {
	margin-left: 30px;
}
.has_textlist .info_series_title_series_link {
	margin-top: 20px;
}

.has_textlist .info_series_body {
	line-height: 1.7;
}
.has_textlist .info_series_textitem + .info_series_textitem {
	margin-top: 0.5em;
}

.info_series_itemlist {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	margin-right: -20px;
}

.info_series_itemlist_item {
	margin-bottom: 50px;
	margin-right: 20px;
	width: 150px;
}

.info_series_itemlist_image {
	margin-bottom: 10px;
	text-align: center;
}

.info_series_itemlist_detail {
	line-height: 1.7;
}
.info_series_itemlist_detail .price {
	padding: 1em 0;
	font-size: 10px;
}
.info_series_itemlist_detail .price span {
	font-size: 12px;
}



table#cart_list th {
	padding: 5px;
	border: 0px #A9CCEE solid;
	border-width: 1px 0px;
	background-color: #DFECF9;
	color: #333333;
	white-space: nowrap;
}

table#cart_list td {
	padding: 5px;
	border-bottom: 1px #A9CCEE solid;
	white-space: nowrap;
}

table#cart_list td.cart_price,table#cart_list th.cart_price {
	text-align: right;
}

div#cart_sub_total {
	width: 300px;
	margin: 10px 0px 10px auto;
	padding: 5px 10px 1px 3px;
	text-align: right;
	vertical-align: bottom;
	border-bottom: 1px #A9CCEE solid;
	font-weight: bold;
	font-size: 14px;
	line-height: 140%;
	vertical-align: bottom;
	background-color:#FFFFCC;
}

div#cart_sub_total span {
	color: #CC0000;
	padding-left: 10px;
}

div#cart_no_charge {
	margin-left: auto;
	padding: 0 5px 15px;
	font-size: 12px;
}

.cart_about_charge {
	text-align: right;
	line-height: 1.7;
}

.cart_about_freeshipping {
	color: #ff0000;
	font-weight: bold;
	font-size: 14px;
}

.cart_about_shipping img {
	margin-right: 5px;
	vertical-align: -2px;
}
.cart_item_disabled {
	background-color: #dedede;
}

p.cart_msg {
	clear: both;
	padding: 10px 0px;
}

p.cart_msg span {
	font-weight: bold;
	color: #6633FF;
}

div#cart_continue {
	margin-top: 10px;
	float: left;
}

div#cart_regist {
	margin-top: 10px;
	text-align: right;
}

div#cart_cookie_err {
	width: 600px;
	margin: 10px auto;
	padding: 10px;
	background-color: #FFFFAA;
	border: 1px solid #CC0000;
}

div#cart_cookie_err p {
	text-align: center;
}

div#cart_cookie_err span {
	font-size: 14px;
	font-weight: bold;
	color: #CC0000;
}

/* カートページのギフトラッピング表示 */
.cart_giftwrapping {
	clear: both;
	padding: 1em 0;
	text-align: right;
}

.cart_giftwrapping_description {
	display: none;
}

.modaal-container .cart_giftwrapping_description {
	display: block;
}


/* ギフトラッピング */
.cart_giftwrapping_btn {
	display: inline-block;
	margin: .5em 0;
	padding: .5em 1em;
	border: 1px solid #024395;
	border-radius: 1.5em;
	line-height: 1.4;
}
.cart_giftwrapping_btn::before {
	content: '\0bb';
	display: inline-block;
	padding-right: .5em;
}
.cart_giftwrapping_suppletext {
	font-size: .857em;
}
.cart_giftwrapping_btn:visited {
	color: #003399;
}
.cart_giftwrapping_description_inner {
	background: #fff;
}
.cart_giftwrapping_description_inner .mod_itembox_title {
	margin-bottom: 1em;
}
.cart_giftwrapping_list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.cart_giftwrapping_item {
	margin-bottom: 2em;
	width: 31%;
}
.cart_giftwrapping_item img {
	max-width: 100%;
}
.cart_giftwrapping_addcart {
	padding: 10px;
	border: 0;
	background: transparent;
	cursor: pointer;
}
.cart_giftwrapping_addcart_btn.mod_btn_cta {
	margin-top: 1em;
	padding-right: .5em;
	padding-left: .5em;
}
.cart_giftwrapping_addcart_btn--suppletext {
	font-size: .857em;
}

.cart_giftwrapping_attentionlist {
	margin-top: 1em;
}
.cart_giftwrapping_attentionlist li {
	position: relative;
	margin-bottom: .5em;
	padding-left: 1.5em;
	color: #666;
}
.cart_giftwrapping_attentionlist li::before {
	content: '※';
	display: inline-block;
	position: absolute;
	left: 0;
}

/* カートページの補足テキスト + 数研バナーエリア */
.cart_etc_area {
	clear: both;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%;
}
.cart_etc_area_first {
	padding-right: 50px;
}
.cart_etc_area_second {
	padding: 20px;
	border: 1px solid #f2de93;
	background: #fff7d7;
	width: 480px;
	box-sizing: content-box;
}
.cart_etc_area_second_text {
	font-weight: bold;
	margin-bottom: 10px;
}
.cart_etc_area_second_image {
	text-align: center;
}
.cart_etc_area_second_image img {
	max-width: 100%;
}


div.sub_box, div.sub_box50 {
	border: 1px #A9CCEE solid;
	margin: 0px;
	margin-bottom: 10px;
	padding: 0px;
	background-color: #FFFFFF;
}

div.sub_box50 {
	width: 49%;
	float: left;
	overflow: hidden;
}

* html div.sub_gox50 {
	zoom: 1;
}

div.sub_box_l {
	width: 49%;
	border: 1px #A9CCEE solid;
	margin: 0px;
	margin-bottom: 10px;
	padding: 0px;
	background-color: #FFFFFF;
	float: left;
}

div.sub_box_r {
	width: 49%;
	border: 1px #A9CCEE solid;
	margin: 0px;
	margin-bottom: 10px;
	padding: 0px;
	background-color: #FFFFFF;
	float: right;
}

div.sub_title_bar {
	background-image: url(/home/imgs/bar_gra_sub.gif);
	background-repeat: repeat-x;
	background-color: #e5f1fe;
	border-bottom: 1px #C7DEF4 solid;
	margin: 0px;
	padding: 8px;
	font-size:12px;
	font-weight: bold;
}

div.sub_return_bar {
	/* background-image: url(/home/imgs/bar_gra_sub.gif); */
	/* background-repeat: repeat-x; */
	border-top: 1px #C7DEF4 solid;
	margin: 0px;
	padding: 10px;
	font-size:12px;
	text-align: center;
}

table#tokutei th {
	text-align: right;
	font-weight: normal;
	padding: 5px;
	padding-right: 2px;
	white-space: nowrap;
}

table#tokutei td {
	padding: 5px;
	padding-left: 2px;
}

table.link_table {
	margin: 10px 0px;
}

table.link_table th {
	text-align: right;
	vertical-align: middle;
	font-weight: normal;
	padding: 5px;
	white-space: nowrap;
	width: 250px;
}

table.link_table td {
	padding: 5px;
}

div.guide_box_l {
	width: 50%;
	border: 1px #FF6633 solid;
	margin: 0px;
	margin-bottom: 10px;
	padding: 0px;
	background-color: #FFFFDD;
	float: left;
}

div.guide_box_r {
	width: 48%;
	border: 1px #FF6633 solid;
	margin: 0px;
	margin-bottom: 10px;
	padding: 0px;
	background-color: #FFFFDD;
	float: right;
}

div.guide_title_bar {
	background-image: url(/home/imgs/bar_gra_guide.gif);
	background-repeat: repeat-x;
	border-bottom: 1px #FF6633 solid;
	margin: 0px;
	padding: 5px;
	font-size:12px;
	font-weight: bold;
	white-space: nowrap;
}

div.genre_list {
	width: 33%;
	float: left;
	font-size: 14px;
	margin-bottom: 10px;
}

div.genre_list p {
	background-image: url(/home/imgs/genre_mark.gif);
	background-repeat: no-repeat;
	background-position: 3px 2px;
	font-weight: bold;
	padding: 5px 22px;
	margin-right: 40px;
	border: 1px solid #0099CC;
	border-left: 3px solid #0099CC;
	background-color: #DFEEFD;
}

div.genre_list li {
	background-image: url(/home/imgs/genre_line.gif);
	background-repeat: no-repeat;
	padding: 3px;
	margin-left: 20px;
	padding-left: 25px;
	line-height: 14px;
}

div.genre_list li.genre_list_end {
	background-image: url(/home/imgs/genre_line_end.gif);
}

.form_bt_l {
	background-image: url(/home/imgs/form_bt_l.gif);
	width: 100px;
	height: 20px;
	border: 0px;
	background-color: #FFFFFF;
}

.form_bt_s {
	background-image: url(/home/imgs/form_bt_s.gif);
	width: 50px;
	height: 20px;
	border: 0px;
	background-color: #FFFFFF;
}

div#sys_msg {
	margin-top: 10px;
	padding: 10px 20px;
	line-height: 140%;
	border: 1px solid #DDDDAA;
	background-color: #FFFFCC;
	border-radius: 10px;
/*	box-shadow: 1px 1px 3px #000; */
	background: -moz-linear-gradient(top,#FFFFFF,#FFFFEE);
	background: -webkit-gradient(linear, left top, left bottom, from(#FFFFFF), to(#FFFFEE));
/*	behavior: url(/home/css/ie-css3.htc);*/

}

div#sys_msg p {
	padding: 3px 0px;
}

/* iPhoneでの音声ファイルの再生方法の画像掲載 */

.howto_play_smp {
	display: none;
}

.howto_play_pc {
	display: block;
	max-width: 100%;
	margin: 0 0 10px 0;
}


/* ----------------------------------------------
   linkpage
---------------------------------------------- */
.link-wrapper {
	padding: 20px;
}
dl.link {
	float: left;
	padding: 10px;
}

dl.link dt {
	text-align: center;
}

dl.link dd {
	text-align: center;
	padding: 2px;
}



span.c_red {
	color:#FF0000;
}
/*
dl.zkai_sankosho_list {
	padding: 10px;
	line-height: 140%;
}

dl.zkai_sankosho_list dt {
	font-size: 14px;
	font-weight: bold;
}

dl.zkai_sankosho_list dd {
	padding-left: 5px;
	font-size: 14px;
}
*/

dl.zkai_sankosho_list {
	padding: 10px;
	
}

dl.zkai_sankosho_list dt {
	padding: 8px 0 8px 5px;
	font-size: 14px;
	font-weight: bold;
	background: url(/home/imgs/mds_bg.jpg) repeat-x;
}

dl.zkai_sankosho_list dd {
	margin: 0 0 10px 0;
	padding:10px 10px 10px 10px;
	font-size: 14px;
	line-height: 140%;
	border-top: none;
	border-right: solid 2px #ccc;
	border-left: solid 1px #ccc;
	border-bottom: solid 2px #ccc;
	background-color: #FFF;
	background-position:bottom right;
	background-repeat:no-repeat;
}
div.zkai_sankosho_box_l {
	width: 198px;
	float: left;
	background: #f4f9ff;
	border: solid 1px #b3d2f0;
}
div.zkai_sankosho_box_l ul {
	padding: 10px 7px;	
}
div.zkai_sankosho_box_l ul li {
	font-weight: bold;
	color: #333;
}
div.zkai_sankosho_box_l ul li.act a {
	width: 157px;
	display: block;
	padding: 10px 5px 10px 22px;
	color: #333;
	border-bottom: solid 1px #b3d2f0;
	background-color: #81c1ff;
	background-image:url(/home/imgs/bt_arrow02.gif);
	background-repeat: no-repeat;
	background-position: 5px 10px;
}
div.zkai_sankosho_box_l ul li a {
	width: 157px;
	display: block;
	padding: 10px 5px 10px 22px;
	color: #333;
	border-bottom: solid 1px #b3d2f0;
	background-image:url(/home/imgs/bt_arrow02.gif);
	background-repeat: no-repeat;
	background-position: 5px 10px;
}
div.zkai_sankosho_box_l ul li a:hover {
	width: 157px;
	display: block;
	padding: 10px 5px 10px 22px;
	color: #333;
	border-bottom: solid 1px #b3d2f0;
	background-color: #81c1ff;
	background-image:url(/home/imgs/bt_arrow02.gif);
	background-repeat: no-repeat;
	background-position: 5px 10px;
	text-decoration: none;
}
div.zkai_sankosho_box_r {
	margin-left: 230px;	
}

ul.zkai_sankosho_menu {
	padding-top: 10px;
	padding-bottom: 30px;
}

ul.zkai_sankosho_menu li {
	display: inline;
	font-size: 14px;
	font-weight: bold;
	padding-right: 10px;
}

.special_banner {
	padding-bottom: 10px;
	text-align: center;
}

.special_banner p {
	padding: 5px 0px;
}

nav#breadcrumbs {
	margin-top: 10px;
	margin-bottom: 10px;
	padding: 0 20px;
}
nav#breadcrumbs ol li {
	display: inline;
	list-style-type: none;
}
nav#breadcrumbs ol li:before {
	content: " > ";
}
nav#breadcrumbs ol li:first-child:before {
	content:"";
}

/* add 201807 */

.top_box_pickup {
	background: #fdfdf5;
}
.top_box_pickup_title {
	margin: 0;
	padding: .8em 1em;
	background: #06c;
	font-size: 1rem;
	color: #fff;
}
.top_box_pickup_body {
	padding: 1em 1em 3em;
}
.top_box_pickup_intro {
	line-height: 1.5;
	font-size: .875rem;
}
.top_box_pickup_itemlist {
	display: flex;
	-ms-flex-pack: justify;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 2rem;
}

.top_box_pickup_item {
	display: inline-block\9;/* ie9 */
	margin-bottom: 2rem;
	width: 48%;
}
.top_box_pickup_item_info {
	-js-display: flex;
	display: flex;
}

.top_box_pickup_item_image {
	margin-right: 1em;
}
.top_box_pickup_item_image img {
	max-width: 100px;
}

.top_box_pickup_item_detail {
	line-height: 1.4;
}
.top_box_pickup_item_title {
	margin: 0 0 1em;
	font-size: .875rem;
}

.top_box_pickup_item_description {
	margin-top: 1rem;
	padding: .5em 1em;
	border: 1px solid #eee;
	border-radius: 5px;
	background-color: #fff;
	font-size: 12px;
	line-height: 1.5;
}

/* カートに入れるボタン */
a.top_box_cart {
	display: inline-block;
	margin: 1em 0 0;
	padding: .5em 1em;
	background-color: #ff660f;
	border-radius: 1.4em;
	line-height: 1.4;
	color: #fff;
}
a.top_box_cart:hover {
	text-decoration: none;
	opacity: .9;
}

/* まとめてカートに入れるボタン */
.top_box_pickup_atonce {
	margin: 0;
	text-align: center;
}
a.top_box_pickup_atonce_btn {
	display: inline-block;
	padding: .5em 3em;
	background-color: #ff660f;
	border-radius: 2.178571428em;
	line-height: 1.4;
	font-size: .875rem;
	color: #fff;
}
a.top_box_pickup_atonce_btn:hover {
	text-decoration: none;
	opacity: .9;
}
.top_box_pickup_atonce_btn_text_cart {
	display: inline-block;
	font-size: 1.25rem;
}

/* スマホの時だけ表示する */
.mod_sp_nl {
	display: none;
}


/* カルーセルで表示(2個) */
.mod_crousel_col2 {
	position: relative;
	padding: 10px 50px;
}
.mod_crousel_col2_item {
	overflow: hidden;
	float: left;
	width: 50%;
	padding: 10px 5px;
	box-sizing: border-box;
}
.mod_crousel_col2_item .price {
	white-space: normal;
}

/* カルーセルで表示(5個) */
.mod_crousel_col5 {
	position: relative;
	padding: 10px 50px;
}
.mod_crousel_col5_item {
	overflow: hidden;
	float: left;
	width: 20%;
	padding: 10px 5px;
	box-sizing: border-box;
}
.mod_crousel_col5_item .price {
	white-space: normal;
}

.mod_btn_cart img {
	max-width: 100%;
	height: auto;
}

.main_box_table th {
	padding: 10px;
	border: 1px solid #b3d2f0;
	color: #FFF;
	Background-color: #81c1ff;
}
.main_box_table td {
	padding: 7px;
	border: 1px solid #b3d2f0;
}

.main_box_table_search {
	padding: 5px;
	max-width: 100%;
}

.keyword_list {
	padding: 5px;
}
.keyword_list li {
	display: inline-block;
	padding: 5px 0px 0px 5px;
}


.related_search_box {
	margin: 10px 0;
	padding: 5px;
	border: 1px solid #C7DEF4;
	background-color: #fdfdf5;
}
.related_search_box .related_search_text {
	padding: 10px;
	text-align: center;
	line-height: 1.3em;
}
.related_search_box .related_search_text a {
	text-decoration: underline;
}
.related_search_box .related_search_label {
	margin-bottom: 10px;
	text-align: left;
}
.related_search_box ul.related_search_list li {
	display: inline-block;
	margin-bottom: 10px;
	margin-right: 15px;
}

/* CTAボタン配置 */
.cart_description {/* カートについての説明文エリア */
	float: left;
	padding-bottom: 1em;
	line-height: 1.7;
}
.cart_regist_upperofform {
	float: right;
	padding-bottom: 1em;
	text-align: right;
}


/* コンテンツのwrapper */
.content_wrapper {
	overflow: hidden;
	margin: 0 auto;
	padding: 0px 20px;
	min-width: 960px;
}


/* =============================================================================
   汎用module
============================================================================= */
/* CTAボタン */
.mod_btn_cta {
	-webkit-appearance: none;
	appearance: none;
	display: inline-block;
	padding: .5em 3em;
	background-color: #ff660f;
	border: 0;
	border-radius: 1.4em;
	line-height: 1.4;
	font-size: 14px;
	color: #fff;
	cursor: pointer;
}
.mod_btn_cta:visited {
	color: #fff;
}
.mod_btn_cta:hover {
	text-decoration: none;
	opacity: .9;
}
.mod_btn_cta:disabled {
	background-color: #cccccc;
}


/*
 * snsボタン
 */
.mod_sns_list {
	margin: 20px 0;
	padding: 0;
	list-style: none;
}
.mod_sns_list__item {
	display: inline-block;
}
.mod_sns_list__item + .mod_sns_list__item {
	margin-left: 10px;
}


/* テキストリンク
---------------------------------------------- */
.mod_btn_detaillink {
	display: inline-block;
	padding: 1em 2em;
	background: #024395;
	color: #fff;
	border-radius: 1.8em;
}
.mod_btn_detaillink:link,
.mod_btn_detaillink:visited,
.mod_btn_detaillink:hover {
	color: #fff;
}
.mod_btn_detaillink::before {
	content: '\0bb';
	display: inline-block;
	margin-right: .5em;
}


/* 商品ボックス
 * トップページおすすめ商品のような青のフラットデザイン
---------------------------------------------- */
.mod_itembox {
	border: 1px #0066CC solid;
	margin-top: 10px;
}
.mod_itembox_title {
	margin: 0;
	padding: .8em 1em;
	background: #06c;
	font-size: 1rem;
	color: #fff;
}

.mod_itembox_body {
	padding: 1em 1em 3em;
}

.mod_itembox_image {
	width: 150px;
	padding: 20px;
	float: left;
}

.mod_itembox_spec {
	margin: 30px 0 0;
	width: auto;
}

.mod_itembox_spec th {
	padding: 2px;
	text-align: right;
	border-bottom: 1px #C7DEF4 solid;
}

.mod_itembox_spec td {
	padding: 2px;
	text-align: left;
	border-bottom: 1px #C7DEF4 solid;
}

.mod_itembox_spec .price {
	font-size: 14px;
}

.mod_itembox_cart {
	display: inline-block;
	margin: 20px 0;
	padding: 10px;
	padding-left: 0;
	text-align: left;
}

.mod_itembox_cart .mod_btn_cta {
	padding: 10px 2rem;
	color: #fff;
	font-size: 1.25rem;
}


/* 検索フォーム
 * 入力エリア1つ + ボタン1つ
---------------------------------------------- */
.mod_searchbox,
.mod_searchbox__body {
	display: flex;
	line-height: 2em;
}
.mod_searchbox__input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0 5px;
	line-height: 2em;
	border: 1px solid #ccc;
}
.mod_searchbox__btn {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0 1em;
	line-height: 2em;
	background-image: none;
	background-color: #00418f;
	border: 1px solid #00418f;
	color: #fff;
}


/*
 * ピックアップアイテム
 */
.mod_box_pickup {
	margin: 0 auto;
	padding: 20px;
	max-width: 1000px;
}
.mod_box_pickup_title {
	margin: 0;
	padding: .8em 1em;
	background: #06c;
	font-size: 1rem;
	color: #fff;
}
.mod_box_pickup_intro {
	font-size: .875rem;
}
.mod_box_pickup_itemlist {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 2rem;
}

.mod_box_pickup_item {
	display: inline-block\9;/* ie9 */
	vertical-align: top\9;/* ie9 */
	width: 30%;
}
.mod_box_pickup_item_info {
	display: flex;
}

.mod_box_pickup_item_image {
	margin-right: 1em;
}
.mod_box_pickup_item_image img {
	max-width: 100px;
}

.mod_box_pickup_item_detail {
	line-height: 1.4;
}
.mod_box_pickup_item_title {
	margin: 0 0 1em;
	font-size: .875rem;
}

.mod_box_pickup_item_description {
	margin-top: 1rem;
	padding: .5em 1em;
	border: 1px solid #eee;
	border-radius: 5px;
	background-color: #fff;
	font-size: 12px;
	line-height: 1.5;
}

/* カートに入れるボタン */
a.mod_box_cart {
	display: inline-block;
	margin: 1em 0 0;
	padding: .5em 1em;
	background-color: #ff660f;
	border-radius: 1.4em;
	line-height: 1.4;
	color: #fff;
}
a.mod_box_cart:hover {
	text-decoration: none;
	opacity: .9;
}

/* まとめてカートに入れるボタン */
.mod_box_pickup_atonce {
	margin: 20px 0 0;
	text-align: center;
}
a.mod_box_pickup_atonce_btn {
	display: inline-block;
	padding: .5em 3em;
	background-color: #ff660f;
	border-radius: 2.178571428em;
	line-height: 1.4;
	font-size: .875rem;
	color: #fff;
}
a.mod_box_pickup_atonce_btn:hover {
	text-decoration: none;
	opacity: .9;
}
.mod_box_pickup_atonce_btn_text_cart {
	display: inline-block;
	font-size: 1.25rem;
}


/*
 * キャンペーンエリア
 */
.mod_area_campaign {
	margin-bottom: 2em;
	border: 2px solid #efde9c;
}
.mod_area_campaign_header {
	padding: .8em;
	border-bottom: 2px solid #efde9c;
	background-color: #fff7da;
	text-align: center;
}
.mod_area_campaign_title {
	font-weight: bold;
}
.mod_area_campaign_body {
	padding: 25px;
	text-align: center;
	line-height: 1.5;
}
.mod_area_campaign_copy {
	margin-bottom: .5em;
	font-size: 32px;
	font-weight: bold;
	font-family: 'Noto Sans JP', sans-serif;
}
.mod_area_campaign_pickup {
	color: #ee6f31;
}
.mod_area_campaign_term {
	margin-bottom: .5em;
	font-weight: bold;
	font-size: 14px;
	font-family: 'Noto Sans JP', sans-serif;
}
.mod_area_campaign_term_num {
	font-size: 24px;
}
.mod_area_campaign_supple {
	font-size: 10px;
}
.mod_area_campaign_related {
	margin-top: 1em;
	font-weight: bold;
	font-size: 14px;
}


/* ----------------------------------------------
   プライバシーポリシー
---------------------------------------------- */
.mod_privacy_heading {
	margin: 1em 0;
	font-weight: bold;
}
.mod_privacy_date {
	margin-bottom: 10px;
	text-align: right;
}
.mod_privacy_numlist {
	margin: 1rem 0;
	padding-left: 1em;
	text-indent: -1.25em;
}
.mod_privacy_numlist li {
	margin-bottom: .5em;
}
.mod_policy_sign {
	margin-top: 10px;
	margin-bottom: 10px;
	text-align: right;
}
.mod_policy_information {
	margin: 1em 0;
	padding: 1em;
	border: 1px solid #333;
	text-align: center;
}


.search_category {
  padding: 10px;
}
.search_category__link {
  border: 1px solid #C7DEF4;
  padding: 5px;
}
.search_category__link-selected {
  font-weight: bold;
  background-color: #C7DEF4;
  color: black;
}
a.search_category__link-selected:visited {
  color: black;
}

/*
 * search genre
 */
.search_genre_refine {
  display: block;
  margin-bottom: .5em
}
.search_genre_refine label {
  display: inline-block;
  vertical-align: middle;
  margin-right: 1em;
  color: #333;
}
.search_genre_refine label input {
  vertical-align: middle;
}

.search_optionalarea {
  margin-top: 1em;
  margin-bottom: 2em;
  padding: .5em;
  border: 1px solid #e9e9e9;
  max-width: 400px;
}

.result_refine_form .search_optionalarea {
  margin-bottom: 0;
  background: #fff;
  border: 0;
}

.search_optionalarea.is-disabled {
  background: #e9e9e9;
  color: #aaa;
}
.search_optionalarea_guidlink {
	margin-top: .5em;
  text-align: right;
	font-size: 11px;
}

/* ----------------------------------------------
   download item modules
---------------------------------------------- */
.mod_dl_icon_top {
	margin-bottom: .5em;
}
.mod_dl_icon_itemlist {
	margin-bottom: .5em;
}
.mod_dl_icon_detail {
	margin-bottom: 1em;
}

/* ----------------------------------------------
   download page
---------------------------------------------- */
.dl_info_title {
	margin: 2em 0 1em;
	font-weight: bold;
}
.dl_info_subtitle {
	margin: 1.5em 0 .5em;
	font-weight: bold;
}
.dl_info_heading .dl_info_title,
.dl_info_heading .dl_info_link {
	display: inline-block;
}

.dl_info_date {
	line-height: 1.5;
}
.dl_info_link {
	font-size: 14px;
	font-weight: bold;
	line-height: 1.5;
}
.dl_info_heading .dl_info_link {
	margin-left: 1em;
}
.mod_dl_faq_link {
	font-size: 14px;
	padding: 1em;
	border: 1px solid #00418f;
	width: 320px;
	text-align: center;
	margin: 10px auto;
}
.mod_dl_faq_link_small {
	margin: .2em;
	font-size: 12px;
	padding: .5em;
	border: 1px solid #00418f;
	width: 200px;
	text-align: center;
}

.mod_dl_content {
	margin: 4px 0;
}
.mod_dl_content span {
	border: 1px solid #00418f;
	background-color: #00418f;
	padding: 3px;
	color: #ffffff;
	font-weight:bold;
	border-radius: 2px;
}

.mod_dl_page_notice {
	margin: 0 20px;
	padding: 6px;
	border: 1px solid #00418f;
}
.mod_dl_page_notice ul {
	padding-left: 15px;
}
.mod_dl_page_notice li {
	padding: 5px 0;
	list-style-type: disc;
}

.mod_dl_info_title {
	font-size: 14px;
}

.mod_dl_info_title p {
	padding: 3px 0px;
}

.mod_dl_info_image {
	width: 150px;
	padding: 20px;
	float: left;
}

.mod_dl_info_spec {
	margin: 30px 20px 0px 20px;
	width: auto;
}

.mod_dl_info_spec th {
	padding: 8px;
	text-align: right;
	border-bottom: 1px #C7DEF4 solid;
}

.mod_dl_info_spec td {
	padding: 8px;
	text-align: left;
	border-bottom: 1px #C7DEF4 solid;
}

.mod_dl_info_spec td.price{
	font-size: 14px;
}

.mod_dl_info_dllink {
	font-weight: bold;
}

.mod_icon_arrow {
	position: relative;
}
.mod_icon_arrow::after {
    content: '';
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 8px;
    height: 8px;
    box-sizing: border-box;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* item notfound */
.item_notfound {
	display: flex;
	margin-top: 20px
}
.item_notfound_message {
	width: 100%;
	padding: 10px;
}
.item_notfound_search {
	overflow: hidden;
	width: 300px;
	border: 2px solid #00418f;
	border-radius: 6px;
}
.item_notfound_search form {
	-js-display: flex;
	display: flex;
	flex: 1 0 0%;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.item_notfound_search_input {
	padding: 0 .5em;
	width: 100%;
	width: 60%\9;
	border: 0;
	border-radius: 6px;
	vertical-align: middle;
	line-height: 32px;
	font-size: 16px;
}
.item_notfound_search_submit {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	margin-left: auto;
	padding: 0 1em;
	width: 6em;
	border: 0;
	background-color: #00418f;
	color: #fff;
	line-height: 34px;
	vertical-align: middle;
	font-size: 16px;
	cursor: pointer;
	box-sizing: border-box;
	word-break: keep-all;
}
.item_notfound_search_detail {
	margin-left: 16px;
	line-height: 34px;
	font-size: 12px;
	font-weight: bold;
	color: #13428b;
}
.item_notfound_search_detail:hover,
.item_notfound_search_detail:visited {
	color: #13428b;
}

.mod-box-attention {
    padding: .75em 1.25em;
    background-color: #fff3cd;
    border: 1px solid #ffeeba;
    border-radius: .25em;
    line-height: 1.5;
}

/* =============================================================================
   アクセスコード入力エリア
============================================================================= */
.access_code-box {
	text-align: center;
	padding: 10px;
	border: 1px #A9CCEE solid;
	background-color: #DFECF9;
	margin: 10px auto;
	max-width: 520px;
}
.access_code-box__inputarea {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 10px;
}
.access_code-box__inputarea input[type="text"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: .4em 1em;
	border: 0;
}
.access_code-box__inputarea button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: .4em 1em;
	background-color: #00418f;
	border: 0;
	color: #fff;
	min-width: 6em;
}

.access_code-error {
	color: #CC0000;
	margin: 4px;
}

.recommended_env_box {
	magin-bottom: 50px;
}

.recommended_env_box p {
	font-weight: normal;
}

.recommended_env_table {
	font-wight: normal;
	max-width: 720px;
	margin: 0 auto;
}
.recommended_env_table thead th {
	background-color: #e4f0ff;
	color: #014295;
	padding: 8px 2px;
	font-size: 14px;
	text-align: center;
	font-wight: bold;
}
.recommended_env_table tbody td {
	border: 1px #e4f0ff solid;
	padding: 8px 2px;
	font-size: 14px;
	font-weight: normal;
	text-align: center;
}
.checkbox-list {
	margin: 20px auto;
	max-width: 640px;
}
.checkbox-list li {
	font-weight: normal;
	padding: 10px 0;
	border-bottom: 1px solid #e4f0ff;
}
