/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html,
button,
input,
select,
textarea {
    color: #546c74;
}

html {
    font-size: 0.625em;
    line-height: 1;
}

body {
    min-width: 980px;
    border-top: solid 5px #0099cc;
    background-color: #fcfcfc;
}

@media screen and (max-width: 979px) {
	body {
		min-width: 320px;
		border-top: none;
		background-color: #0099cc;
	}
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 0;
    padding: 0;
}

/*
 * Remove the gap between images, videos, audio and canvas and the bottom of
 * their containers: h5bp.com/i/440
 */

audio,
canvas,
img,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

:before,
:after {
	transition: 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

#main_header,
#global_nav ul,
#contents,
#breadcrumb,
footer #footer_nav,
footer #foot_inner02 {
	width: 980px;
	margin: 0 auto;
}

/*
strong {
 font-weight: 400;
}
*/

.txtColorRed {
	color: #f63e3e;
}
.txtColorBlue {
	color: #0099cc;
}
.txtColorPurple {
	color: #730087;
}
.txtColorPink {
	color: #dc2dab;
}

.markerYellow {
	font-weight: bold;
	background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 43%, rgba(255, 243, 0, 0.75) 43.1%);
	background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 43%, rgba(255, 243, 0, 0.75) 43.1%);
	background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 43%, rgba(255, 243, 0, 0.75) 43.1%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fff', endColorstr='#2989d8', GradientType=0 );
}

.txtSmall {
	font-size: 1.2rem !important;
}
.txtLarge {
	font-size: calc(1em + 0.2rem);
}
.txtLarge02 {
	font-size: calc(1em + 0.4rem);
}
.txtLarger {
	font-size: calc(1em + 0.8rem);
}

.wrapTxt {
	max-width: 670px;
	margin: 25px auto 0;
	padding: 10px 15px;
	border: solid 2px rgba(0, 153, 204, 0.3);
	border-radius: 8px;
	background-color: rgba(227, 241, 245, 0.5);
}
.wrapTxt p {
	padding: 0 !important;
}
.wrapTxt p:first-child {
	margin-top: 0 !important;
}

.db {
	display: block;
}
.dib {
	display: inline-block;
}
.bold {
	font-weight: bold;
}

.mt5 {
	margin-top: 5px;
}
.mt10 {
	margin-top: 10px;
}
.mt15 {
	margin-top: 15px;
}
.mt20 {
	margin-top: 20px;
}

.mb3 {
	margin-bottom: 3px;
}
.mb5 {
	margin-bottom: 5px;
}
.mb10 {
	margin-bottom: 10px;
}
.mb15 {
	margin-bottom: 15px;
}
.mb20 {
	margin-bottom: 20px;
}

@media screen and (max-width: 979px) {
	#global_nav ul,
	#contents,
	#breadcrumb,
	footer #foot_inner02 {
		width: auto;
	}
	.wrapTxt {
		max-width: 909px;
	}
}
@media screen and (max-width: 739px) {
	.wrapTxt {
		padding: 10px 12px;
		margin-top: 15px;
	}
}


/* =============== main header =============== */

#main_header {
	/* height: 120px; */
	height: 80px;
}

/*
#main_header > * {
	float: left;
}
*/

#main_header #header_logo {
	width: 245px;
	margin: 17px auto 0;
/*
	margin-top: 27px;
	margin-top: 30px;
*/
	display: block;
}

#main_header #btn_h_contact {
	margin: 35px 20px 0 20px;
	border-radius: 3px;
	background-color: #0099cc;
	transition: 400ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

#main_header #btn_h_contact:hover {
	background-color: #65d0f3;
}

#main_header #btn_h_contact a {
	padding: 10px;
	display: block;
}

#main_header #header_banner {
	margin: 21px 0 0 20px;
	transition: 400ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
	border-radius: 3px;
	overflow:hidden;
}

#main_header #header_banner:hover {
	opacity:0.8;filter: alpha(opacity=80);
}

#main_header div {
	margin-top: 20px;
}

#main_header div ul {
	margin-top: 7px;
	padding-left: 25px;
}

#main_header div ul li {
	font-size: 1.2em;
	float: left;
}

#main_header div ul li:first-child {
	margin-right: 15px;
	text-align: center;
}

/*
#main_header div ul li:nth-child(2) {
	display: none;
}
*/

#main_header div ul li a:before {
	content: '\f0da';
	margin-right: 5px;
	color: #0099cc;
}

#main_header #homeicon,
#main_header #contact,
#main_header #navicon {
	display: none;
}

@media screen and (max-width: 979px) {
	#main_header {
		width: 100%;
		height: auto;
		background-color: rgba(252,252,252,0.85);
		border-top: solid 5px #0099cc;
		box-shadow: 0 0 0 4px rgba(26,97,120,0.2);
		position: fixed;
		top: 0;
		z-index: 9999;
	}

	#main_header #header_logo {
		width: 102px;
		margin: 15.5px auto;
		/* margin: 15.5px 0 15.5px 15px; */
		float: none;
	}

	#main_header #btn_h_contact,
	#main_header #header_banner,
	#main_header div {
		display: none;
	}

	#main_header #homeicon,
	#main_header #contact,
	#main_header #navicon {
		color: #0099cc;
		text-align: center;
		display: block;
		position: absolute;
	}

	#main_header #homeicon {
		top: 9px;
		right: 98px;
	}

	#main_header #contact {
		top: 9px;
		/* left: 15px; */
		right: 56px;
	}

	#main_header #homeicon a,
	#main_header #contact a {
		color: #0099cc;
	}

	#main_header #navicon {
		top: 9px;
		right: 15px;
	}

	#main_header #homeicon .fa-home,
	#main_header #contact .fa-envelope-o,
	#main_header #navicon .fa-bars,
	#main_header #navicon .fa-times {
		font-size: 3em;
	}

	#main_header #homeicon span,
	#main_header #contact span,
	#main_header #navicon span {
		font-size: 0.9em;
		font-weight: bold;
		display: block;
	}

	#main_header #navicon.open .fa-bars,
	#main_header #navicon.open .fa-bars + span,
	#main_header #navicon .fa-times,
	#main_header #navicon .fa-times + span {
		display: none;
	}

	#main_header #navicon.close .fa-bars,
	#main_header #navicon.close .fa-bars + span,
	#main_header #navicon.open .fa-times,
	#main_header #navicon.open .fa-times + span {
		display: block;
	}
}


/* =============== global nav =============== */

#global_nav {
	background-color: #0099cc;
	box-shadow: 0 4px rgba(26,97,120,0.2);
}

#global_nav ul * {
	float: left;
}

#global_nav ul li:first-child:before,
#global_nav ul .addBord:before {
	content: '';
	width: 1px;
	height: 30px;
	margin: 15px 0;
	background-color: #fcfcfc;
	float: left;
}

#global_nav ul li:after {
	content: '';
	width: 1px;
	height: 30px;
	margin: 15px 0;
	background-color: #fcfcfc;
	float: left;
}

#global_nav ul li a {
	/* width: 120px; */
	width: 131px;
	padding: 20px 0;
	color: #fcfcfc !important;
	font-size: 1.7em;
	text-align: center;
	line-height: 1.2;
	display: block;
	transition: 400ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

#global_nav ul .large a {
	width: 186px;
}

#global_nav ul li a:hover,
#global_nav ul li .active {
	background-color: #65d0f3;
}

#global_nav ul .other,
#global_nav ul .sub_list {
	display: none;
}

#global_nav ul .other.bnr a {
	padding: 10px 15px 10px 0;
}
#global_nav ul .other.bnr a:after {
	display: none;
}
#global_nav ul .other.bnr img {
	width: 200px;
}

@media screen and (max-width: 979px) {
	#global_nav {
		width: 93%;
		height: 100%;
		position: fixed;
		right: 0;
		top: 0;
		opacity: 0;
		box-shadow: none;
		visibility: hidden;
		transform: translate3d(-5%,0,0)scale(.97);
		-moz-transform: translate3d(-5%,0,0)scale(.97);
		-webkit-transform: translate3d(-5%,0,0)scale(.97);
	}

	#global_nav.open {
		opacity: 1;
		visibility: visible;
		animation: slideIn .35s ease-in-out;
		transform: translate3d(0,0,0)scale(1);
		-moz-animation: slideIn .35s ease-in-out;
		-moz-transform: translate3d(0,0,0)scale(1);
		-webkit-animation: slideIn .35s ease-in-out;
		-webkit-transform: translate3d(0,0,0)scale(1);
	}

	@keyframes slideIn {
		0% {opacity: 0; visibility: hidden; transform: translate3d(-5%,0,0)scale(.97);}
		100% {opacity: 1; visibility: visible; transform: translate3d(0,0,0)scale(1);}
	}

	@-moz-keyframes slideIn {
		0% {opacity: 0; visibility: hidden; -moz-transform: translate3d(-5%,0,0)scale(.97);}
		100% {opacity: 1; visibility: visible; -moz-transform: translate3d(0,0,0)scale(1);}
	}

	@-webkit-keyframes slideIn {
		0% {opacity: 0; visibility: hidden; -webkit-transform: translate3d(-5%,0,0)scale(.97);}
		100% {opacity: 1; visibility: visible; -webkit-transform: translate3d(0,0,0)scale(1);}
	}

	#global_nav.close {
		opacity: 0;
		visibility: hidden;
		animation: slideOut .3s ease-in-out;
		transform: translate3d(-5%,0,0)scale(.97);
		-moz-animation: slideOut .3s ease-in-out;
		-moz-transform: translate3d(-5%,0,0)scale(.97);
		-webkit-animation: slideOut .3s ease-in-out;
		-webkit-transform: translate3d(-5%,0,0)scale(.97);
	}

	@keyframes slideOut {
		0% {opacity: 1; visibility: visible; transform: translate3d(0,0,0)scale(1);}
		100% {opacity: 0; visibility: hidden; transform: translate3d(-5%,0,0)scale(.97);}
	}

	@-moz-keyframes slideOut {
		0% {opacity: 1; visibility: visible; -moz-transform: translate3d(0,0,0)scale(1);}
		100% {opacity: 0; visibility: hidden; -moz-transform: translate3d(-5%,0,0)scale(.97);}
	}

	@-webkit-keyframes slideOut {
		0% {opacity: 1; visibility: visible; -webkit-transform: translate3d(0,0,0)scale(1);}
		100% {opacity: 0; visibility: hidden; -webkit-transform: translate3d(-5%,0,0)scale(.97);}
	}

	#global_nav > ul {
		height: 100%;
		overflow: scroll;
		-webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;
	}

	#global_nav ul * {
		float: none;
	}

	#global_nav ul li:first-child:before,
	#global_nav ul .addBord:before,
	#global_nav ul li:after {
		display: none;
	}

	#global_nav ul li a {
		width: auto !important;
		padding: 15px 15px 15px 0;
		font-size: 1.5em;
		font-weight: bold;
		text-align: right;
	}

/*
	#global_nav > ul > li:first-child a {
		border-bottom: solid 1px #fcfcfc;
	}
*/

	#global_nav ul li a:after {
		content: '\f138';
		margin-left: 10px;
	}

	#global_nav > ul > li:first-child a:after {
		content: '\f015';
		margin-left: 10px;
	}

	#global_nav ul li a:hover:after {
		color: #fcfcfc !important;
	}

	#global_nav ul .other {
		display: block;
		border-bottom: solid 1px #fcfcfc;
	}

	#global_nav ul .other:last-child {
		border-bottom: none;
	}

	#global_nav ul .sub_list {
		background-color: #e3f1f5;
		display: block;
	}

	#global_nav ul .sub_list li a {
		color: #005673 !important;
		font-size: 1.3em;
		border-top: dotted 1px #0099cc;
	}

	#global_nav ul li .active:hover,
	#global_nav ul li .active {
		background-color: #65d0f3;
	}

	#global_nav ul .sub_list li:first-child a {
		border-top: none;
	}

	#global_nav ul .sub_list li a:after {
		content: '\f105';
		padding-right: 3px;
	}

	#global_nav ul .sub_list li a:hover:after {
		color: #005673 !important;
	}

	.cont_slide {
		z-index: 1;
		transform: translate3d(0,0,0);
		-moz-transform: translate3d(0,0,0);
		-webkit-transform: translate3d(0,0,0);
	}

	#global_nav ul li a:hover,
	#global_nav ul .sub_list li a:hover {
		background-color: transparent;
	}

	#main_header.open,
	.cont_slide.open {
		animation: open .5s ease-in-out;
		transform: translate3d(-240px,0,0);
		-moz-animation: open .5s ease-in-out;
		-moz-transform: translate3d(-240px,0,0);
		-webkit-animation: open .5s ease-in-out;
		-webkit-transform: translate3d(-240px,0,0);
	}

	@keyframes open {
		0% {transform: translate3d(0,0,0);}
		70% {transform: translate3d(-260px,0,0);}
		100% {transform: translate3d(-240px,0,0);}
	}

	@-moz-keyframes open {
		0% {-moz-transform: translate3d(0,0,0);}
		70% {-moz-transform: translate3d(-260px,0,0);}
		100% {-moz-transform: translate3d(-240px,0,0);}
	}

	@-webkit-keyframes open {
		0% {-webkit-transform: translate3d(0,0,0);}
		70% {-webkit-transform: translate3d(-260px,0,0);}
		100% {-webkit-transform: translate3d(-240px,0,0);}
	}

	#main_header.close,
	.cont_slide.close {
		animation: close .3s ease-in-out;
		transform: translate3d(0,0,0);
		-moz-animation: close .3s ease-in-out;
		-moz-transform: translate3d(0,0,0);
		-webkit-animation: close .3s ease-in-out;
		-webkit-transform: translate3d(0,0,0);
	}

	@keyframes close {
		0% {transform: translate3d(-240px,0,0);}
		100% {transform: translate3d(0,0,0);}
	}

	@-moz-keyframes close {
		0% {-moz-transform: translate3d(-240px,0,0);}
		100% {-moz-transform: translate3d(0,0,0);}
	}

	@-webkit-keyframes close {
		0% {-webkit-transform: translate3d(-240px,0,0);}
		100% {-webkit-transform: translate3d(0,0,0);}
	}
}

/* =============== breadcrumb =============== */
	#breadcrumb {
		font-size: 1.2em;
		overflow: hidden;
		padding: 0 0 25px 10px;
	}
	
	#breadcrumb li {
		float: left;
	}
	
	#breadcrumb li a {
		position: relative;
		display: block;
		margin-right: 8px;
		padding-right: 10px;
	}
	
	#breadcrumb li a:after {
		position: absolute;
		right: 0;
		content: '\f105';
	}

@media screen and (max-width: 979px){
	#breadcrumb {
		font-size: 1.0em;
		padding: 0 0 20px 10px;
	}
}

/* =============== sidebar =============== */

/* fit-sidebar */
.fit-sidebar-fixed{
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	position: fixed;
}

.fit-sidebar-blank{
	z-index: 0;
	background-color: transparent;
	visibility: hidden;
}

#contents aside {
	width: 230px;
}

#contents aside {
	float: left;
}

#contents aside #listbox {
	margin-bottom: 20px;
	border-radius: 5px;
	box-shadow: 5px 5px rgba(26,97,120,0.2);
}

#contents aside h2,
#contents aside #contents_list > li > a:first-child {
	color: #fcfcfc !important;
}

#contents aside h2 {
	padding: 12px 0 12px 15px;
	/* font-size: 2.6em; */
	font-size: 2.0em;
	background-color: #0099cc;
	border-radius: 5px 5px 0 0; 
}

#contents aside h2 a {
	color: #fff;
	display: block;
}

#contents aside #contents_list {
	background-color: #0099cc;
	border-radius: 0 0 5px 5px; 
}

#contents aside #contents_list li a {
	display: block;
}

#contents aside #contents_list .parent_li {
	border-top: solid 1px #e3f1f5;
}

#contents aside #contents_list .parent_li > a {
	padding: 16px 0 16px 15px;
	font-size: 1.8em;
	transition: 400ms cubic-bezier(0.25, 0.46, 0.45, 0.94); 
}

#contents aside #contents_list .parent_li > a:hover {
	background-color: #65d0f3;
}

#contents aside #contents_list .parent_li > a:before {
	content: '\f138';
	margin-right: 10px;
	color: #fcfcfc !important;
}

#contents aside #contents_list .ac .sub_list {
	display: none;
}

#contents aside #contents_list .sub_list li {
	background-color: #e3f1f5;
}

#contents aside #contents_list .sub_list li a {
	padding: 17px 0 17px 21px;
	color: #005673;
	font-size: 1.4em;
	line-height: 1.1;
	border-top: dotted 1px #0099cc;
}

#contents aside #contents_list .sub_list li a:before {
	content: '\f105';
	margin-right: 10px;
	color: #005673;
}

#contents aside #contents_list .sub_list li:first-child a {
	border-top: none;
	box-shadow: 0 4px rgba(26,97,120,0.2) inset;
}

#contents aside #contents_list .list_end {
	border-radius: 0 0 5px 5px; 
}

#contents aside #btn_sbn_contact p {
	margin-top: 15px;
	text-align: center;
	background-color: #0099cc;
	border-radius: 5px; 
	box-shadow: 5px 5px rgba(26,97,120,0.2);
	transition: 400ms cubic-bezier(0.25, 0.46, 0.45, 0.94); 
}
#contents aside #btn_sbn_contact div {
	margin-top: 15px;
	text-align: center;
	background-color: #0099cc;
	border-radius: 5px; 
	box-shadow: 5px 5px rgba(26,97,120,0.2);
	transition: 400ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
	overflow:hidden;
}
#contents aside #btn_sbn_contact p:first-child {
	margin-top: 0;
}
#contents aside #btn_sbn_contact .bnr a {
	padding: 0;
}

#contents aside #btn_sbn_contact p:hover {
	opacity: 0.6;
}

#contents aside #btn_sbn_contact div:hover {
	opacity: 0.6;
}

#contents aside #btn_sbn_contact a {
	padding: 10px 0 15px 0;
	display: block;
}
#contents aside #btn_sbn_contact div a{
	padding:0;
}

@media screen and (max-width: 979px) {
	#contents aside {
		display: none;
	}
}


/* =============== main footer =============== */

footer #foot_inner01,
#copyright {
	background-color: #0099cc;
}

footer #copyright,
footer #foot_inner01 #footer_nav li a,
footer #foot_inner02 li {
	font-size: 1.2em;
}

footer #foot_inner01 {
	padding: 40px 0 50px 0;
	box-shadow: 0 8px rgba(26,97,120,0.2) inset;
}

footer #foot_inner01 #footer_nav {
	display: flex;
	flex-wrap: wrap;
}

footer #foot_inner01 #footer_nav > li {
	width: calc(100% / 4);
}

footer #foot_inner01 #footer_nav > li:nth-child(n+5) {
	margin-top: 25px;
}

footer #foot_inner01 #footer_nav > li:first-child {
	margin-left: 0;
}

footer #foot_inner01 #footer_nav li a {
	color: #fcfcfc;
}

footer #foot_inner01 #footer_nav > li > a {
	font-size: 1.4em;
}

footer #foot_inner01 #footer_nav > li > a:before {
	content: '\f138';
	margin-right: 8px;
	color: #fcfcfc;
}

footer #foot_inner01 #footer_nav > li:first-child > a:before {
	content: '\f015';
}


footer #foot_inner01 #footer_nav .sub_list {
	margin: 14px 0 0 4px;
	line-height: 1.8;
}

footer #foot_inner01 #footer_nav .sub_list li a:before {
	content: '\f105';
	margin-right: 8px;
	color: #fcfcfc;
}

footer #foot_inner02 {
	padding: 15px 0;
}

footer #foot_inner02 #footer_logo,
footer #foot_inner02 li {
	float: left;
}

footer #foot_inner02 #footer_logo {
	width: 220px;
}

footer .sitemap_link {
	display: none;
}

footer #foot_inner02 ul {
	margin: 35px 0;
	float: right;
}

footer #foot_inner02 li {
	margin-left: 15px;
}

/*
footer #foot_inner02 li:nth-child(2) {
	display: none;
}
*/

footer #foot_inner02 li a:before {
	content: '\f0da';
	margin-right: 5px;
	color: #0099cc;
}

footer #copyright,
footer #copyright a {
	padding: 14px 0;
	color: #fcfcfc;
	text-align: center;
}

@media screen and (max-width: 979px) {
	footer {
		padding-top: 15px;
		background-color: #0099cc;
		border-top: solid 4px #058ebb;
		box-shadow: 4px 0 rgba(26,97,120,0.2);
	}

	footer #foot_inner01,
	footer #foot_inner02 ul {
		display: none;
	}

	footer #foot_inner02 {
		text-align: center;
		background-color: #fcfcfc;
	}

	footer #foot_inner02 #footer_logo {
		width: 140px;
		margin: 0 auto;
		float: none;
	}

footer .sitemap_link {
	display: inline-block;
	margin-top: 10px;
}

footer .sitemap_link a:after {
	content: '\f105';
	padding-left: 5px;
}

	footer #copyright {
		font-size: 1em;
		font-weight: bold;
	}
}


/* =============== to top =============== */

#to_top {
	width: 70px;
	position: fixed;
	right: 30px;
	bottom: 48px;
}

@media screen and (max-width: 979px) {
	#to_top {
		width: 40px;
		right: 20px;
		bottom: 50px;
	}
}


/* =============== slider =============== */

.lst-slide_itm {
	border: solid 2px #a9bfc3;
	border-radius: 5px;
}
.box-thumb {
	margin: 8px 0 20px;
	padding: 30px 0;
	/*
		border-top: solid 2px #0099cc;
		border-bottom: solid 2px #0099cc;
	*/
	position: relative;
}
.box-thumb .bx-next,
.box-thumb .bx-prev {
	width: 100%;
	height: 26px;
	text-indent: 100%;
	white-space: nowrap;
	background-color: #afbfc5;
	overflow: hidden;
	display: block;
	position: absolute;
	left: 0;
}
.box-thumb .bx-next::before,
.box-thumb .bx-prev::before {
	content: '';
	width: 0;
	height: 0;
	color: #fff;
	border-style: solid;
	border-width: 10px 8px;
	border-color: #fff transparent;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.box-thumb .bx-next {
	top: 0;
}
.box-thumb .bx-next::before {
	border-top: 0;
}
.box-thumb .bx-prev {
	bottom: 0;
}
.box-thumb .bx-prev::before {
	border-bottom: 0;
}


/* =============== main contents =============== */

#bg_diagonal {
	padding-bottom: 60px;
	background-color: #fcfcfc;
	background-image: url(/common/img/bg_diagonal.png);
}

#bg_diagonal.no_visual {
	/* padding-top: 25px; */
	box-shadow: 0 4px rgba(26,97,120,0.2) inset;
}

#mian_visual {
	height: 280px;
	padding-top: 25px;
	background-color: #83ddfb;
	box-shadow: 0 4px rgba(26,97,120,0.2) inset;
}

#mian_visual p {
	height: 335px;
	background-image: url(/common/img/main_img.png);
	background-repeat: no-repeat;
	background-position: center top;
}

#mian_visual p img {
	display: none;
}

#mian_visual + #contents {
	margin-top: 115px;
}

/*
#contents article {
	width: 720px;
	float: right;
}
*/

#contents section {
	margin-top: 50px;
}

#contents section:first-child {
	margin-top: 0;
}

/*
#contents section.bgRd {
	background-image: url( /common/img/img_rd.png);
	background-repeat: no-repeat;
	background-position: calc(100% - 25px) bottom;
	background-size: 120px;
}
*/

#contents .ttlX1Cname {
	height: 64px;
	margin: 0 auto 30px;
	color: #fff;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.3;
	border-radius: 5px;
	box-shadow: 5px 5px rgba(26,97,120,0.2);
	background-color: #0099cc;
	display: flex;
	align-items: center;
	justify-content: center;
}
#contents .ttlX1Cname + section {
	margin-top: 0;
}

#contents section h1,
#contents section h2 {
	margin-bottom: 30px;
	padding: 22px 0 22px 25px;
	color: #0099cc;
	font-size: 2.6em;
	line-height: 1.2;
	background-color: #fcfcfc;
	border-top: solid 3px #0099cc;
	border-bottom: solid 2px #0099cc;
	box-shadow: 5px 5px rgba(26,97,120,0.2);
}

#contents section h1:before,
#contents section h2:before {
	content: '\f055';
	margin-right: 10px;
}

#contents section p {
	margin-top: 25px;
	padding: 0 25px;
	font-size: 1.4em;
	line-height: 2;
	text-align: justify;
	text-justify : inter-ideograph ; /* for IE */
}

#contents section .rep {
	margin-top: 30px;
	/* padding-right: 165px; */
	text-align: right;
	line-height: 1.6;
}
#contents section .rep ~ .rep {
	margin-top: 10px;
}

#contents section .images {
	margin: 30px 0;
	padding: 0 25px;
	text-align: center;
}

#contents section .images .txtCapt {
	margin-top: 15px;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1.5;
	display: inline-block;
}

#contents section .sub_section .images {
	padding: 0;
}

#contents section .images.end {
	margin-bottom: 0;
}

#contents section .therapy_list li {
	width: 230px;
	margin-left: 15px;
	padding: 20px;
	color: #005673;
	background-color: #e3f1f5;
	border-radius: 5px;
	box-shadow: 5px 5px rgba(26,97,120,0.2);
	float: left;
}

#contents section .therapy_list li:first-child {
	margin: 0;
}

#contents section .therapy_list li h3 {
	font-size: 2.4em;
}

#contents section .therapy_list li h3:before {
	content: '\f0da';
	margin-right: 10px;
}

#contents section .therapy_list li p {
	margin-top: 10px;
	padding: 0;
	line-height: 1.8;
}

#contents section .therapy_list li .btn_details {
	font-size: 1.6em;
	line-height: 1.5;
	text-align: center;
	background-color: #0099cc;
	border-radius: 3px; 
	box-shadow: 4px 4px rgba(26,97,120,0.2);
	transition: 400ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

#contents section .therapy_list li .btn_details:hover {
	background-color: #65d0f3;
}

#contents section .therapy_list li .btn_details a {
	padding: 9px 0;
	color: #fcfcfc !important;
	display: block;
}

#contents section .therapy_list li .btn_details a:after {
	content: '\f105';
	margin-left: 15px;
	color: #fcfcfc !important;
}

#contents section .sub_section {
	margin-top: 30px;
	padding: 0 25px;
}

#contents section .sub_section h3 {
	margin-bottom: 10px;
	color: #0099cc;
	font-size: 2em;
	line-height: 1.8;
	border-bottom: solid 3px #0099cc;
}
#contents section .sub_section.typPurple h3 {
	color: #730087;
	border-bottom: solid 3px #730087;
}

#contents section .sub_section p {
	padding: 0;
}

#contents section .sub_section #ctr_list li {
	width: 220px;
	margin: 10px 0 0 5px;
	float: left;
}

#contents section .sub_section #ctr_list .return,
#contents section .sub_section #ctr_list li:first-child {
	margin-left: 0;
}

#contents section #weakness_list {
	font-size: 1.4em;
	text-align: justify;
	text-justify: inter-ideograph;
}

#contents section #mechanism_list,
#contents section #gt_list {
	font-size: 1.4em;
	font-weight: bold;
	text-align: justify;
	text-justify: inter-ideograph;
	list-style-type: decimal;
}

#contents section #weakness_list {
	margin: 25px 0;
	padding: 0 22px;
}

#contents section #weakness_list > li {
	width: 33.3%;
	padding: 0 3px;
	float: left;
}

#contents section #weakness_list li div {
	padding: 12px 10px;
	border-radius: 8px;
}

#contents section #weakness_list > li h3 {
	margin-bottom: 10px;
	font-size: 1.286em;
	font-weight: bold;
}

#contents section #weakness_list li li {
	margin: 5px 0 0 1em;
	text-indent: -1em;
	line-height: 1.4;
}

#contents section #weakness_list #weakness01 div {
	border: 4px solid #e62b83;
}

#contents section #weakness_list #weakness01 h3 {
	color: #e62b83;
}

#contents section #weakness_list #weakness02 div {
	border: 4px solid #33a138;
}

#contents section #weakness_list #weakness02 h3 {
	color: #33a138;
}

#contents section #weakness_list #weakness03 div {
	border: 4px solid #1c7fb0;
}

#contents section #weakness_list #weakness03 h3 {
	color: #1c7fb0;
}

#contents section #mechanism_list {
	margin-top: 25px;
	padding: 0 45px;
	line-height: 1.6;
}

#contents section #mechanism_list li {
	margin-bottom: 5px;
}

#contents section #gt_list {
	margin-top: 25px;
	padding-left: 30px;
}

#contents section #gt_list li {
	margin-top: 15px;
}

#contents section #gt_list li > * {
	float: left;
}

#contents section #gt_list li div {
	width: 70%;
	margin-top: -19px;
	padding-right: 20px;
}

#contents section #gt_list li img {
	width: 30%;
	margin-top: -14px;
}

#contents section #gt_list h4 {
	margin-bottom: 5px;
	font-weight: bold;
	line-height: 1.8;
}

#contents section #gt_list p {
	margin: 0;
	font-size: inherit;
	font-weight: normal;
	line-height: 1.6;
}

#contents .price .informed,
#contents .price .informed + p {
	margin-top: 16px;
}

#contents .price .informed {
	font-size: 1.6rem;
	line-height: 1.5;
}

#contents .price h4.sub_ttl {
	margin: 25px 0 10px;
	font-size: 1.8rem;
	font-weight: bold;
}

#contents .price table {
	width: 100%;
	font-size: 1.4em;
	line-height: 1.3;
	border: solid 2px rgba(0,153,204,0.3);
}

#contents .price table .slash:before {
	content: '／';
	margin: 0 3px;
}

#contents .price th,
#contents .price td {
	padding: 18px 15px 18px 0;
}

#contents .price tr:nth-child(n+2) {
	border-top: dotted 1px #0099cc;
}

#contents .price th {
	width: 27%;
	padding-left: 15px;
	background-color: rgba(227,241,245,0.5);
}

#contents .price td {
	width: 73%;
	padding-left: 25px;
}

#contents .price table + .annot {
	margin-top: 10px;
	font-size: 1.2rem;
	line-height: 1.5;
}

#contents .tblAnalys {
	width: 100%;
	font-size: 1.4em;
	line-height: 1.3;
	border: solid 2px rgba(0,153,204,0.3);
}
#contents .tblAnalys tr > * {
	padding: 12px 15px;
	text-align: justify;
}
#contents .tblAnalys th {
	font-size: 1.8rem;
	font-weight: normal;
	border-bottom: dotted 1px #0099cc;
	background-color: rgba(227,241,245,0.5);
}
#contents .tblAnalys td {
	line-height: 1.9;
}

#contents section .link-text {
	text-decoration: underline;
}

#contents section .link-arrow {
	text-align: right;
}

#contents section .link-arrow a::before{
	margin-right: 10px;
	color: #005673;
	content: '\f105';
}

#contents section .sec_list {
	overflow: hidden;
	padding: 16px 25px 0;
	background: #E3F1F5;
	font-size: 1.2em;
}

#contents section .sec_list li{
	float: left;
	margin: 0 24px 16px 0;
}

#contents section .sec_list a {
display: block;
}

#contents section .sec_list li a::before{
	margin-right: 3px;
	color: #005673;
	content: '\f105';
}


@media screen and (max-width: 979px) {
	#bg_diagonal {
		/* padding-bottom: 80px; */
		border-top: solid 63px #fcfcfc;
		box-shadow: 4px 0 rgba(26,97,120,0.2) !important;
	}

/*
	#bg_diagonal.no_visual {
		padding-top: 20px;
	}
*/

	#mian_visual {
		height: auto;
		padding-top: 0;
		border-top: solid 20px #83ddfc;
		background-color: transparent;
	}

	#mian_visual p {
		height: auto;
		padding-top: 30.5%;
		background-size: contain;
	}

	#mian_visual + #contents {
		margin-top: 4%;
	}

	#contents article {
		width: auto;
		float: none;
	}

	#contents section {
		margin-top: -50px;
		padding: 100px 10px 0 10px;
	}

	#contents .ttlX1Cname + section,
	#contents section:first-child {
		padding-top: 0;
	}

	#contents .ttlX1Cname {
		width: calc(100% - 20px);
	}
	#contents .ttlX1Cname + section {
		margin-top: 0;
	}

	#contents section .therapy_list {
		width: 720px;
		margin: 0 auto;
	}

	#contents section .sub_section #ctr_list {
		width: 670px;
		margin: 0 auto;
	}

	#contents section #surgery,
	#contents section #ac_agent,
	#contents section #radiation_therapy {
		margin-top: -100px;
		padding-top: 100px;
	}
}

@media screen and (max-width: 739px) {
	#mian_visual,
	#mian_visual p {
		height: auto;
	}

	#mian_visual p {
		padding-top: 0;
		background-image: none;
	}

	#mian_visual p img {
		width: 100%;
		display: inline-block;
	}

	#mian_visual + #contents {
		margin-top: 30px;
	}

	#contents section {
		margin-top: -60px;
	}

/*
	#contents section.bgRd {
		background-position: calc(100% - 245px) bottom;
	}
*/

	#contents .ttlX1Cname {
		height: 50px;
		margin-bottom: 20px;
		font-size: 21px;
		border-radius: 3px;
	}

	#contents section h1,
	#contents section h2 {
		margin-bottom: 20px;
		padding: 15px 10px;
		font-size: 1.8em;
		font-weight: bold;
	}

	#contents section h1:before,
	#contents section h2:before {
		margin-right: 5px;
	}

	#contents section p {
		margin-top: 15px;
		padding: 0;
	}

	#contents section .images {
		margin: 20px 0;
		padding: 0;
	}

	#contents section .therapy_list {
		width: auto;
		margin: 0 auto;
	}

	#contents section .therapy_list li {
		width: auto;
		margin: 20px 0 0 0;
		padding: 15px;
		float: none;
	}

	#contents section .therapy_list li h3 {
		font-size: 1.7em;
		font-weight: bold;
	}

	#contents section .therapy_list li h3:before {
		margin-right: 5px;
	}

	#contents section .therapy_list li .btn_details {
		font-size: 1.7em;
	}

	#contents section .therapy_list li .btn_details a {
		padding: 12px 0;
		font-weight: bold;
	}

	#contents section .sub_section {
		margin-top: 25px;
		padding: 0;
	}

	#contents section .sub_section h3 {
		padding-bottom: 4px;
		font-size: 1.6em;
		font-weight: bold;
		line-height: 1.4;
		border-bottom: solid 2px #0099cc;
	}
	#contents section .sub_section.typPurple h3 {
		border-bottom: solid 2px #730087;
	}

	#contents section #weakness_list {
		margin: 15px 0 20px 0;
		padding: 0;
	}

	#contents section #weakness_list > li h3 {
		font-size: 1.143em;
	}

	#contents section .sub_section #ctr_list {
		width: auto;
	}

	#contents section .sub_section #ctr_list li {
		width: 50%;
		margin: 0;
		padding: 1% 0.5% 0 0.5%;
	}

	#contents section #mechanism_list {
		margin-top: 15px;
		padding: 0 0 0 21px;
	}

	#contents section #gt_list {
		margin-top: 15px;
	}

	#contents section #gt_list p {
		margin-left: -30px;
	}

	#contents .price h4.sub_ttl {
		margin: 15px 0 10px;
		font-size: 1.6rem;
	}

	#contents .tblAnalys tr > * {
		padding: 10px 12px;
	}
	#contents .tblAnalys th {
		font-size: 1.6rem;
	}
}

@media screen and (max-width: 559px) {
	#contents section.bgRd {
		background-position: 10px bottom;
	}

	#contents section.bgRd {
		background-position: calc(100% - 10px) bottom;
	}

	#contents section #weakness_list > li {
		width: auto;
		padding: 0;
		float: none;
	}	

	#contents section .rep {
		padding-right: 0;
		/* text-align: left; */
	}

	#contents section #weakness_list #weakness02 {
		margin: 10px 0;
	}

	#contents section #gt_list li:first-child {
		margin-top: 15px;
	}

	#contents section #gt_list li {
		margin-top: 20px;
		text-align: center;
	}

	#contents section #gt_list li > * {
		float: none;
	}

	#contents section #gt_list li div {
		width: auto;
		padding-right: 0;
	}

	#contents section #gt_list li img {
		width: 200px;
		margin: 8px 0 0 -25px;
	}

	#contents section #gt_list h4 {
		text-align: justify;
		text-justify : inter-ideograph ; /* for IE */
	}

	#contents .price th,
	#contents .price td {
		width: 100%;
		padding: 10px 12px;
		text-align: center;
		display: block;
	}

	#contents .price table .slash {
		display: block;
	}

	#contents .price table .slash:before {
		display: none;
	}
}

@media screen and (max-width: 374px) {
/*
	#contents section.bgRd {
		padding-bottom: 155px;
		background-position: center bottom;
	}
*/

	#contents section .rep {
		margin-top: 15px;
	}
}

/* =============== overview & form =============== */


#contents .styl_ov div {
	padding: 0 25px;
}

#contents .styl_ov table {
	width: 100%;
	margin-top: 25px;
	font-size: 1.4em;
	line-height: 1.5;
}

#contents .styl_ov table tr {
	border-top: dotted 1px #0099cc;
}

#contents .styl_ov table tr:first-child {
	border: none;
}

#contents .styl_ov table th,
#contents .styl_ov table td {
	padding: 18px 0;
}

#contents .styl_ov table th {
	padding-left: 15px;
}

#contents .styl_ov table tr:first-child th,
#contents .styl_ov table tr:first-child td {
	padding-top: 0;
}

#contents .styl_ov table #ov_end th,
#contents .styl_ov table #ov_end td {
	padding-bottom: 0;
}

#contents .styl_ov table th {
	width: 20%;
	text-align: left;
}

#contents .styl_ov table td {
	width: 80%;
}

#contents .styl_ov table a {
	color: #0099cc;
}

#contents #inquiry > p {
	margin-bottom: 25px;
}

#contents #inquiry > p a {
	color: #0099cc;
}

#contents #inquiry > p span {
	margin-top: 5px;
	color: #d23433;
	display: block;
}

#contents #inquiry h3 {
	margin: 0 25px;
	color: #0099cc;
	font-size: 2em;
	line-height: 1.8;
	border-bottom: solid 3px #0099cc;
}

#contents #inquiry form {
	padding: 0 25px;
	line-height: 1.4;
}

#contents #inquiry form table {
	width: 100%;
	border-bottom: solid 2px #0099cc;
}

#contents #inquiry form table tr:first-child th,
#contents #inquiry form table tr:first-child td {
	border: none;
}

#contents #inquiry form table th,
#contents #inquiry form table td {
	padding: 18px 0;
	font-size: 1.4em;
	font-weight: normal;
	text-align: left;
	border-top: dotted 1px #0099cc;
}

#contents #inquiry form table th {
	width: 27%;
	padding-left: 15px;
	background-color: rgba(227,241,245,0.5);
}

#contents #inquiry form table td {
	width: 73%;
	padding-left: 25px;
}

#contents #inquiry form .required {
	color: #d23434;
}

#contents #inquiry form input,
#contents #inquiry form textarea {
	padding: 4px 6px;
	line-height: 1.4;
	border: 1px solid #c4d3d7;
	outline: none;
}

#contents #inquiry form input[type="text"],
#contents #inquiry form textarea {
	border-radius: 3px;
	-webkit-appearance:none;
}

#contents #inquiry form textarea {
	width: 95%;
	height: 150px;
}

#contents #inquiry form label {
	margin: 0 6px 0 3px;
	vertical-align: baseline;
}

#contents #inquiry form #y_o {
	width: 40px;
	text-align: center;
}

#contents #inquiry form #relationship br {
	display: none;
}

#contents #inquiry form .box_l {
	width: 95%;
}

#contents #inquiry form .box_s {
	width: 220px;
}

#contents #inquiry form #privacy {
	width: 95%;
	height: 200px;
	padding: 10px;
	overflow-y: scroll;
	background-color: #fff;
	border: 1px solid #ccd6d9;
	border-radius: 3px;
}

#contents #inquiry form #privacy h4 {
	margin: 15px 0 5px 0;
}

#contents #inquiry form #privacy h4:first-child {
	margin-top: 0;
} 

#contents #inquiry form #privacy p {
	margin: 0;
	padding: 0;
	font-size: 0.857em;
	line-height: 1.4;
}

#contents #inquiry form #privacy li {
	margin: 5px 0 0 1em;
	font-size: 0.857em;
	text-indent: -1em;
	text-align: justify;
	text-justify : inter-ideograph ; /* for IE */
}

#contents #inquiry form #annot {
	margin: 12px 0 0 1em;
	padding: 0;
	font-size: 0.857em;
	line-height: 1.4;
	text-indent: -1em;
}

#contents #inquiry #btn_area {
	width: 300px;
	margin: 25px auto 0 auto;
}

#contents #inquiry #btn_area p {
	width: 140px;
	margin: 0;
	padding: 0;
	font-size: 1.5em;
	float: left;
}

#contents #inquiry #btn_area p:first-child {
	margin-right: 20px;
}

#contents #inquiry #btn_area.single p {4
	width: 100%;
	margin: 0 auto;
	float: none;
}

#contents #inquiry #btn_area p input {
	width: 100%;
	padding: 15px 0;
	color: #fcfcfc;
	font-weight: bold;
	line-height: 1.4;
	border: none;
	border-radius: 5px;
	background-color: #0099cc;
	box-shadow: 5px 5px rgba(26,97,120,0.2);
	transition: 400ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

#contents #inquiry #error {
	margin-bottom: 15px;
	text-align: center;
}

#contents #inquiry #error + .error_messe {
	margin-top: 0;
}

#contents #inquiry .error_messe {
	margin-top: 5px;
	color: #d23434;
	text-align: center;
}

#contents #inquiry #btn_area p input:hover {
	background-color: #65d0f3;
}

#contents #thanks p,
#contents #thanks #back_top {
	text-align: center;
}

#contents #thanks #back_top {
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.4;
}

#contents #thanks #back_top a {
	width: 200px;
	padding: 15px 0;
	color: #fcfcfc;
	border-radius: 5px;
	background-color: #0099cc;
	display: inline-block;
	box-shadow: 5px 5px rgba(26,97,120,0.2);
}

#contents #thanks #back_top a:hover {
	color: #fcfcfc !important;
	background-color: #65d0f3;
}

/*
@media screen and (max-width: 979px) {
	#contents #thanks .nbr {
		display: none;
	}
}
*/

@media screen and (max-width: 739px) {
	#contents .styl_ov div {
		padding: 0;
	}

	#contents .styl_ov table {
		margin-top: 15px;
	}

	#contents .styl_ov table tr:first-child {
		padding-top: 0;
	}

	#contents .styl_ov table #ov_end {
		padding-bottom: 0;
	}

	#contents #inquiry > p {
		margin-bottom: 15px;
	}

	#contents #inquiry h3 {
		margin: 0;
		padding-bottom: 4px;
		font-size: 1.6em;
		font-weight: bold;
		line-height: 1.4;
		border-bottom: solid 2px #0099cc;
	}

	#contents #inquiry form {
		padding: 0;
	}
}

@media screen and (max-width: 680px) {
/*
	#contents #inquiry h2 + p br {
		display: none;
	}
*/

	#contents .styl_ov table tr,
	#contents .styl_ov table th,
	#contents .styl_ov table td,
	#contents #inquiry form table tr,
	#contents #inquiry form table th,
	#contents #inquiry form table td {
		width: 100%;
		display: block;
	}

	#contents .styl_ov table tr {
		padding: 10px 0;
	}

	#contents .styl_ov table th,
	#contents .styl_ov table td {
		padding: 0 0 0 10px;
	}

	#contents #inquiry form table th,
	#contents #inquiry form table td {
		padding: 15px 18px;
	}

	#contents #inquiry form table td {
		border: none;;
	}

	#contents #inquiry form .box_l,
	#contents #inquiry form textarea,
	#contents #inquiry form #privacy {
		width: 100%;
	}

	#contents #inquiry #error,
	#contents #thanks p {
		text-align: justify;
		text-justify : inter-ideograph ; /* for IE */
	}

	#contents #thanks .nbr {
		display: none;
	}
}

@media screen and (max-width: 440px) {
	#contents #inquiry form #relationship br {
		display: block;
	}

	#contents #inquiry form #relationship td {
		line-height: 1.6;
	}
}


/* =============== sitemap =============== */
	#contents #sitemap {
		margin-top: 25px;
		padding: 0 25px;
	}
	
	#contents #sitemap a {
		display: block;
	}

	#contents #sitemap >  li > a {
		margin-left: calc(1em + 8px);
		line-height: 1.3;
		text-indent: calc(-1em - 8px);
	}

	#contents #sitemap > li:first-child {
		float: none;
	}
	
	#contents #sitemap > li:first-child,
	#contents #sitemap .sub_list {
		margin-bottom: 24px;
	}

	#contents #sitemap {
		display: flex;
		flex-wrap: wrap;
	}
	#contents #sitemap > li:first-child {
		width: 100%;
	}
	#contents #sitemap > li {
		width: calc(100% / 3);
		padding-right: 12px;
	}
	
	#contents #sitemap > li > a {
		font-size: 1.6em;
		margin-bottom: 10px;
	}
	
	#contents #sitemap > li > a:before {
		margin-right: 8px;
		content: '\f138';
	}
	
	#contents #sitemap > li:first-child > a:before {
		content: '\f015';
	}
	
	#contents #sitemap .sub_list a {
		font-size: 1.4em;
		margin: 0 0 8px 25px;
	}
	
	#contents #sitemap .sub_list a:before {
		margin-right: 8px;
		content: '\f105';
	}
	
@media screen and (max-width:670px) {
	#contents #sitemap {
		padding: 0;
	}
	#contents #sitemap > li {
		width: calc(100% / 2);
	}
}
@media screen and (max-width:420px) {
	#contents #sitemap > li {
		width: 100%;
	}
}

/* =============== books =============== */

#contents section.book_info_page h2{
	margin-bottom: 35px;
    color: #0099cc;
    font-size: 2em;
    line-height: 1.8;
    border-bottom: solid 3px #0099cc;
    padding: 0;
    border-top: none;
   	box-shadow: none;
}
#contents section.book_info_page h2:before{
	content: '';
	display: none;
}
.book_info_box{
	margin-bottom: 40px;
}
.book_info_box img, .book_info_box .info_box {
    display: inline-block;
    vertical-align: top;
}
.book_info_box img{
    width: 170px;
    margin-right: 20px;
    }

.book_info_box .info_box{
    width: 475px;
    line-height: 1.3;
    font-size: 1.4em;
}
.info_box dt {
    font-weight: bold;
    color: #0099cc;
    border-bottom: 1px dashed #09c;
}
.info_box .book_info_txt{
	border-bottom: none;
}
.book_info_txt dd{
	margin: 5px 0;
	font-size: 10px;
}
#contents section .book_info_txt dd p{
  margin-top:0;
}
.book_info_txt dd p a{
    color: #fff;
    display: block;
    background: #0099cc;
    text-align: center;
    margin: 20px 0 0;
    padding: 10px;
    width: 200px;
    border-radius: 5px;
}
.book_info_txt dd p a:before{
    content: '\f138';
    margin-right: 10px;
    color: #fcfcfc !important;
}
#contents aside #btn_sbn_contact .side_btn{
  font-size: 1.6em;
  line-height: 1;
  text-align: left;
  background-color: snow;
  border-radius: 3px;
  box-shadow: none;
  transition: none;
  margin-top: 10px;
  padding-left: 5px;
}
#contents aside #btn_sbn_contact .side_btn a{
  padding: 9px 0;
  color: #0099cc !important;
  display: block;
}
.side_btn a:before{
  content: '\f138';
  margin-right: 5px;
  color: #0099cc !important;
}
@media screen and (max-width:768px) {
	.book_info_box img{
		width: 40%;
	}
	.book_info_box .info_box{
		width: 55%;
	}
}
@media screen and (max-width:533px) {
	.book_info_box img {
	    width: 60%;
	    margin: 0 auto 15px;
	    display: block;
	}
	.book_info_box .info_box {
	    width: 100%;
	    display: block;
	}
	.book_info_txt dd p a {
	    margin: 15px auto 0;
	    padding: 15px 10px;
	    width: 250px;
    }

}


/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Image replacement
 */

.ir {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

.hidden {
    display: none !important;
    visibility: hidden;
}

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screenreaders, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.cf:before,
.cf:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.cf:after {
    clear: both;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.cf {
    *zoom: 1;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media print,
       (-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important; /* Black prints faster: h5bp.com/s */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links for images, or javascript/internal links
     */

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group; /* h5bp.com/t */
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
