@charset "utf-8";
/*------------------------------------
	.basic
-----------------------------------------------------------------------------------------------------*/
* {
	margin: 0;
	padding: 0;
}


header,
footer,
nav,
section,
article {
	display: block;
}

body, div, ol, ul, dl, form {
	margin: 0;
	padding: 0;
	list-style: none;
}

body {
	width: 100%;
	color: #333;
	font: normal 100% "Meiryo UI",'ＭＳ Ｐゴシック', 'ヒラギノ角ゴ Pro W3', Arial, sans-serif;
	line-height: 1.9;
	font-size: 16px;
	background: #ddd;
	-webkit-text-size-adjust: 100%;
}

p, h1, h2, h3, h4, h5, h6, dt, dd, input, textarea {
	font-size: 100%;
	margin: 0;
	padding: 0;
}

img {	border: 0;}

.clearfix:after {
  content: ".";
  display: block;  
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

a:link {
	color: #03F;
	text-decoration: underline;
	-webkit-transition: all 0.8s;
	transition: all 0.8s;
}

a:visited {
	color: #03F;
	text-decoration: none;
}

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

a:active {
	color: #03F;
	text-decoration: none;
}

a:hover img {
 	opacity: 0.8;
	filter: alpha(opacity=80);
 	-moz-opacity: 0.8;
}

.red { color: #682d87;}
.blue { color: #1980ff; }
.yellow { color: #ffff4d;}
.orange { color: #682d87;}
.pink { color: #F9F;}
.green { color: #390;}
.purple { color: #683667;}

.sizea { font-size: 110%;}
.sizeb { font-size: 120%;}
.sizec { font-size: 130%;}
.sized { font-size: 140%;}
.sizeL { font-size: 170%;}
.sizeLL { font-size: 340%;}

.stripe_pink { background: url(../image/bg_stripe_pink.gif) repeat;}

.bg_orange { background: #682d87;}
.bg_white {
	background: #fff;
	padding: 10px 20px;
}

ul.disc {
	list-style: disc !important;
	margin-left: 1em;
}

ol.decimal {
	list-style: decimal;
	list-style-position: inside;
}

ol.decimal li {
	background: #ff0;
	color: #f00;
	display: inline-block;
	margin: 0 0 7px;
	padding-left: 1.5em;
	text-indent: -1em;
}

ol.decimal span {
	background: #ff0;
	color: #f00;
	font-weight: bold;
}

.minc {
	font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, serif;
	font-size: 120%;
	font-weight: 600;
}

.call { text-align: center;}

.check {
	font-size: 110%;
	font-weight: 600;
	display: inline-block;
}

.check li {
	background: url(../image/check.png) no-repeat left 0.2em;
	padding-left: 38px;
	margin-bottom: 2px;
	text-align: left;
}


@media print, screen and (max-width: 640px) {
.sizea { font-size: 110%;}
.sizeb { font-size: 120%;}
.sizec { font-size: 130%;}
.sized { font-size: 140%;}
.sizeL { font-size: 150%;}
.sizeLL { font-size: 300%;}


.call { text-align: left;}
}






/*-------------------------------------------------------------
	header
-------------------------------------------------------------*/
header {
	background: #fff;
	background-image: linear-gradient(to top, #f8ece0 10%, #fdfcfb 50%);
	margin: 0 auto;
	padding: 10px 0 20px;
	text-align: center;
}

.kikan {
	box-sizing: border-box;
	background: #efc676;
	padding: 10px 0 !important;
	margin: 0 0 20px !important;
	width: 100%;
}

.kikan p {
	clear: both;
	color: #333;
	font-size: 120%;
	font-weight: 600;
	padding: 0 10px;
}

.kikan p span {
	background: #fff;
	border-radius: 15px;
	color: #3f3e3e;
	font-size: 110%;
	font-weight: 600;
	margin-left: 10px;
	padding: 1px 20px;
}

.kikan p br { display: none;}

.kikan img {
	vertical-align: bottom;
	margin-right: 20px;
	margin-bottom: 5px;
}

header .pr { position: relative;}

h1 img {
	position: relative;
	margin: 5px auto 15px;
	z-index: 100;
}

img.author {
	position: absolute;
	margin: auto;
	bottom: 595px;
	right: 120px;
	width: 170px;
}

img.sk {
	position: relative;
	z-index: 100;
}

img.book {
	border: solid 1px #ccc;
	position: absolute;
	margin: auto;
	bottom: 140px;
	right: -70px
}

img.office {
	position: absolute;
	margin: auto;
	bottom: 170px;
	right: -350px;
	z-index: 100;
}

img.ors {
	position: absolute;
	margin: auto;
	top: 40px;
	left: -220px;
	z-index: 1;
}

.cau_box {
	box-sizing: border-box;
	width: 720px;
	border-radius: 10px;
	background: #fff;
	padding: 10px 20px;
	margin: 30px auto;
	text-align: left;
}

.cau_box p {
	font-size: 80%;
	margin: 0;
}



@media print, screen and (max-width: 800px) {
header div.in { padding: 0;}

.kikan { padding: 30px 1% 10px !important;}

.kikan img {
	display: block;
	text-align: left;
}

.kikan p {
	margin: -20px auto 20px;
	text-align: center;
}

.kikan p br {	display: inline-block;}

img.author {
	position: absolute;
	margin: auto;
	top: 100px;
	right: 50px;
	width: 170px;
}

img.book { display: none;}

img.ors {	left: -180px;}

.cau_box {
	box-sizing: border-box;
	font-size: 90%;
	margin: 20px 5% 30px;
	width: auto;
}
}

@media print, screen and (max-width: 640px) {
img.stxt1 {
	width: 90%;
	margin: 0 auto;
	text-align: center;
}

h1 img {
	display: block;
	margin: 0 auto;
	width: 92%;
}

img.author {
	top: 70px;
	right: 15px;
	width: 140px;
}

img.ors {
	width: 110%;
	left: -180px;
}

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


@media print, screen and (max-width: 480px) {
h2 { font-size: 120% !important;}

img.author {
	top: 170px;
	right: 10px;
	width: 70px;
}

img.ors {	left: -100px;}
}

/*------------------------------------
	contents
-----------------------------------------------------------------------------------------------------*/
#container {
	width: 100%;
	background: #fff;
	margin: 0 auto;
	padding: 0;
	overflow: hidden; /*スマホで幅を戻す為の指定*/
}

.can_end {
	background: #f60;
	padding: 15px 0;
	color: #fff;
	font-size: 180%;
	text-align: center;
	font-weight: bold;
}

.fwarp {
	text-align: center;
	margin: 0 auto;
}

.fwarp a:hover {
 	opacity: 0.8;
	filter: alpha(opacity=80);
 	-moz-opacity: 0.8;
}

article {
	width: 100%;
	margin: 0;
	padding: 0;
}

section {
	padding-bottom: 100px;
	width: 100%;
}

div.in {
	width: 960px;
	margin: 0 auto;
}

.small { width: 750px !important;}

h2 {
	clear: both;
	color: #333;
	font-size: 200%;
	font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, serif;
	margin: 0 auto 20px;
	padding: 10px;
	text-align: center;	
}

h2 strong {
	background: #f00;
	color: #fff;
	font-size: 90%;
	padding: 2px 5px;
	margin-right: 10px;
}

.hs {
	display: block;
	margin: 0 0 20px 20px;
	float: right;
}

.tp_01 {
	list-style: disc;
	margin-left: 1em;
	margin-bottom: 1em;
	font-size: 120%;
	font-weight: bold;
}

.cs a {
	background: #333;
	border-radius: 5px;
	color: #fff;
	display: block;
	font-size: 110%;
	font-weight: bold;
	margin: 0 auto;
	padding: 10px;
	text-align: center;
	text-decoration: none;
}

.cs a:hover {
 	opacity: 0.8;
	filter: alpha(opacity=80);
 	-moz-opacity: 0.8;
}

.ntn { margin: 20px 0 10px;}

.ntn li {
	color: #aaa;
	font-weight: 600;
	margin-bottom: 5px;	
}

.ss_btn {
	margin: 10px auto;
	text-align: center;
}

.ss_btn a {
	box-sizing: border-box;
	display: block;
	width: 50%;
	margin: 0 auto;
	padding: 10px;
	background: #e60018;
	background: -moz-linear-gradient(top, #e60018 0%, #d1081d 55%);
	background: -webkit-linear-gradient(top, #e60018 0%, #d1081d 55%);
	background: linear-gradient(top, #e60018 0%, #d1081d 55%);
	color: #fff;
	font-size: 120%;
	font-weight: 600;
	text-decoration: none;
	border: solid 2px #fff;
	border-radius: 10px;
	/*-webkit-appearance: button;*/
	box-shadow: 0 0 3px #ccc;
}

.ss_btn a:hover {
	cursor: pointer;
 	opacity: 0.8;
 	-moz-opacity: 0.8;
	filter: alpha(opacity=80);
}


@media print, screen and (max-width: 800px) {
h2 {
	font-size: 180%;
	padding: 20px 5px;
}

h2 img { max-width: 100%;}

h3 { font-size: 120%;}

div.in {
	-moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
	width: 100%;
}

.small { width: 100% !important;}

section .spd0 p {	margin: 0 5%;}

section .spd0 ul,
section .spd0 ol {	margin: 0 5% 10px;}

.hs {
	display: block;
	margin: 0 auto 20px;
}

.spd { padding: 0 5%;}
}

@media print, screen and (max-width: 640px) {
section p { margin-bottom: 1em !important;}

section .in br { display: none;}

h2 { margin-bottom: 0;}

h2 br,
h3 br { display: block !important;}

.hs {
	float: none;
	margin: 0 auto 20px;
	text-align: center;
}

.hs img { max-width: 100%;}

.switch { width: 100%;}

}


@media print, screen and (max-width: 480px) {
h3 { font-size: 100%;}
}




/*------------------------------------
	イベント
-----------------------------------------------------------------------------------------------------*/
.event_box {
	background-image: linear-gradient(to top, #fdf4e7 50%, white 80%);
	padding-top: 40px;
	padding-bottom: 10px;
}

.event_box .nttl { position: relative;}

.nttl img.new {
	position: absolute;
	margin: auto;
	top: 5px;
	left: 35px;
}

.event_box .kanko { text-align: center;}

.event_box h3 {
	font-size: 120%;
	margin: 0 auto 10px;
	text-align: center;	
}

.event_box table {
	background: #fff;
	border: solid 2px #a1590b;
	border-collapse: collapse;
	margin-bottom: 20px;
}

.ps {	position: relative;}
.ps .ssy {
	position: absolute;
	margin: auto;
	right: -380px;
	bottom: -30px;
}

.event_box caption {
	background: #a1590b;
	color: #fff;
	font-size: 120%;
	font-weight: 600;
	padding: 10px;
	text-align: center;
}

.event_box table th {
	background: #e9e2cd ;
	border: solid 1px #a1590b;
	padding: 7px 10px;
	width: 7.5em;
}

.event_box table td {
	background: ;
	border: solid 1px #a1590b;
	padding: 7px 10px;
}

.event_box table p {
	font-size: 90%;
	margin-left: 1em;
	margin-bottom: 0 !important;
	text-indent: -1em;
}

.event_box ul {
	list-style: circle;
	list-style-position: inside;
	font-size: 90%;
}

.event_box table img.tss {
	border: solid 1px #ccc;
	float: right;
	margin: 10px 10px 10px 20px;
	width: 120px;
}


@media print, screen and (max-width: 800px) {
.event_box .kanko { text-align: left;}

.event_box .ssy {	display: none;}
}


@media print, screen and (max-width: 640px) {
.event_box .nttl { position: relative;}

.event_box table img.tss {
	display: block;
	clear: both;
	float: none;
	margin: 10px auto;
}

.nttl h2 { padding-top: 5px;}

.nttl img.new {
	position: static;
	display: block;
	margin: 0 auto;
	text-align: center;
	width: 100px;
}

.event_box table th {	width: 4.5em;}
}



/*------------------------------------
	本書の内容
-----------------------------------------------------------------------------------------------------*/
.th {
	padding-top: 40px;
	border-bottom: solid 1px #ccc;
}

.th h3 {
	font-size: 140%;
	/*background-image: linear-gradient(to top, #886534 20%, #a4722c 100%);*/
	background: #a4722c;
	color: #fff;
	padding: 15px 10px;
	margin-bottom: 20px;
	text-align: center;
}

.dd li{
	font-size: 120%;
	font-weight: 600;
	margin-bottom: 5px;
}

.ss,
.otz {
	font-size: 110%;
	padding: 10px;
	border-radius: 10px;
	margin-bottom: 10px;
	border: solid 4px #a2e6fa;
}

.ss {	background-image: linear-gradient(135deg, #f3fefe 30%, #e7FFFE 100%);}
.otz {
	background-image: linear-gradient(135deg, #fdfcfb 30%, #ebdccf 100%);
	border: solid 4px #ceaa9f;
}

.otz li {
	margin: 0 0 5px 1em;
	text-indent: -1em;
}

.ss li {
	list-style: disc !important;
	margin: 0 0 5px 1.5em;
}

.skill { width: 380px;}


.bp {
	display: block;
	margin: 0 auto 20px;
	text-align: center;
}


@media print, screen and (max-width: 800px) {
.th h2 {
	margin: 0 auto 15px;
	text-align: center;
}

.th h3 {
	font-size: 130%;
	margin-top: 50px;
}

.th h3:first-child { margin-top: 0;}
}




/*------------------------------------
	著者プロフィール
-----------------------------------------------------------------------------------------------------*/
.pf {
	background: #fff;
	border-bottom: solid 1px #ccc;
	padding: 40px 0 0 !important;
	margin-bottom: 30px;
}

.pf div.in {
	padding-bottom: 20px !important;
	position: relative;
}

.pf .ssk {
	position: absolute;
	margin: auto;
	right: -120px;
	bottom: 0;
	width: 300px;	
}

.pf .ssk2 { display: none;}

.pf .name {
	font-size: 110%;
	font-weight: bold;
	margin-bottom: 5px !important;
}

.pf ul.glink li {
	margin-bottom: 7px;
}

.pf p {
	font-size: 90%;
	margin-bottom: 10px;
}

.pf p.asr {	margin: 10px 0;}



@media print, screen and (max-width: 800px) {
.pf h3 {
	margin: 30px auto 15px;
	text-align: center;
}

.pf .ssk { display: none;}

.pf .ssk2 {
	display: block;
	margin: 0 auto 20px;
	text-align: center;
}

.pf br { display: none;}

}

@media print, screen and (max-width: 640px) {
.pf h3 {
	margin: 30px auto 15px;
	text-align: center;
}


.pf p {
	font-size: 75%;
	margin-bottom: 5px;
}

}



/*------------------------------------
	目次
-----------------------------------------------------------------------------------------------------*/
.toc {
	padding-bottom: 30px !important; 
	padding-top: 0 !important;
}

.toc div.in { padding-bottom: 10px;}

.chapter { text-align: center;}

.chapter ul {
	display: inline-block;
	text-align: left;
	list-style: circle;
	margin-bottom: 10px;
}

.chapter li {
	list-style-type: circle;
	margin-bottom: 7px;
}

dl.acmenu { border: solid 1px #ccc;}

dl.acmenu dt {
	border-top: solid 1px #ccc;	
	padding: 10px;
	position: relative;
	font-size: 90%;
}

dl.acmenu dt:first-child { border: none;}

dl.acmenu dt:hover {
	background: #ffe;
	cursor: pointer;
}

dl.acmenu .active {
	background: #ffe;
	color: #990012;
}

dl.acmenu dd {
	border-top: solid 1px #ccc;
	font-size: 80%;
	padding: 10px 10px 1px;
}

dl.acmenu dt:after {
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -1rem;
  content: '>';
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -moz-transition: all, 0.25s, linear;
  -o-transition: all, 0.25s, linear;
  -webkit-transition: all, 0.25s, linear;
  transition: all, 0.25s, linear;
}

dl.acmenu dt.active:after {
  -moz-transform: translate(0, 50%);
  -ms-transform: translate(0, 50%);
  -webkit-transform: translate(0, 50%);
  transform: translate(0, 50%);
  -moz-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}


@media print, screen and (max-width: 800px) {
.toc { margin-bottom: 10px !important;}

img.cbook {
	float: none;
	margin: 0 auto 30px;
	text-align: center;
}
}


@media print, screen and (max-width: 640px) {
.chapter ul { margin-left: 1em;}
.chapter li {	font-size: 90%;}
}

/*------------------------------------
	キャンペーン参加方法
-----------------------------------------------------------------------------------------------------*/
section.part {
	background: #fdf4e7;
	padding: 40px 0 20px;
}

section.part h2 {	padding: 1px 0 0 !important;}

section.part div.in { padding-bottom: 0;}

.box_buy2 a {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	display: block;
	background: #d81f1c;
	border: double 1px #fff;
	border-radius: 10px;
	color: #fff;
	width: 100%;
	font-size: 140%;
	margin: 0 0.5% 30px;
	padding: 20px 10px;
	text-align: center;
	text-decoration: none !important;
}

.box_buy2 a:hover {
	text-decoration: none;
	background: -moz-linear-gradient(top, #f1c453 60%, #f9b002 90%);
	background: -webkit-linear-gradient(top, #f1c453 60%, #f9b002 90%);
	background: linear-gradient(top, #f1c453 60%, #f9b002 90%);
	color: #333;
}

.kk {
	font-weight: 600;
	text-align: center;
	margin: 0 auto 10px;
}

.box_buy { margin-bottom: 20px;}

.box_buy a {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	display: block;
	background: #fae6b6;
	background: -moz-linear-gradient(top, #fae6b6 0%, #fbd676 65%);
	background: -webkit-linear-gradient(top, #fae6b6 0%, #fbd676 65%);
	background: linear-gradient(top, #fae6b6 0%, #fbd676 65%);
	border: solid 1px #846a29;
	border-radius: 3px;
	color: #000;
	margin-top: 7px;
	width: 24%;
	float: left;
	margin: 0 0.5%;
	padding: 20px 0 7px;
	text-align: center;
}

.box_buy a:hover {
	text-decoration: none;
	background: -moz-linear-gradient(top, #f1c453 60%, #f9b002 90%);
	background: -webkit-linear-gradient(top, #f1c453 60%, #f9b002 90%);
	background: linear-gradient(top, #f1c453 60%, #f9b002 90%);
}

@media print, screen and (max-width: 800px) {
section.part { padding: 40px 0 10px;}

.box_buy a {
	width: 100%;
	float: none;
	margin: 0 auto 5px;
	padding: 16px 0 1px;
}

.box_buy2 a { margin: 0 auto 30px;}
}




/*------------------------------------
 footer
---------------------------------------------------------------------------------------------------*/
.br1 { border-top: solid 1px #ccc;}

footer {
	height: auto;
	margin: 0 auto;
	padding: 15px;
	color: #333;
	font-size: 70%;
	text-align: left;
}

footer p { margin-bottom: 3px;}

footer .f_link {
	float: right;
	margin: 0 auto 10px;
	font-size: 90%;
	color: #333 !important;
}

footer .f_link a,
footer .f_link a:active,
footer .f_link a:visited {
	color: #333 !important;
	text-decoration: underline !important;
}

footer .f_link a:hover {
	color: #F00 !important;
	text-decoration: underline !important;
}

footer .com_box {	float: left;}


@media print, screen and (max-width: 800px) {
footer {
	font-size: 80%;
	padding-top: 30px;
	text-align: center;
}

footer .f_link,
footer .com_box {
	float: none;
	font-size: 90%;
}

footer .company,
footer .add { display: none;}
}

@media print, screen and (max-width: 640px) {
.box_form dd { margin: 3px 0 15px;}

.sub_btn input { width: 80%;}
}





/*------------------------------------
 トップページへ戻る
---------------------------------------------------------------------------------------------------*/
#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 77%;
	border: solid 3px #eee;
	border-radius: 50%;
}
	
#page-top a {
	display: table-cell;
	/*background: rgba(204,204,204,1);*/
	background: #bbb;
	border-radius: 50%;
	text-decoration: none;
	color: #fff;
	width: 40px;
	height: 40px;
	vertical-align: middle;
	text-align: center;
}
	
#page-top a:hover {
	text-decoration: none;
	opacity: 0.7;
}
