@charset "UTF-8";

/* Reset CSS
 * --------------------------------------- */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,
form,fieldset,input,textarea,p,blockquote,th,td {
    padding: 0;
    margin: 0;
}
a {
	text-decoration: none;
}
table {
    border-spacing: 0;
}
fieldset,img {
    border: 0;
}
address,caption,cite,code,dfn,em,strong,th,var {
    font-weight: normal;
    font-style: normal;
}
strong {
	font-weight: bold;
}
ol,ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
caption,th {
    text-align: left;

}
h1,h2,h3,h4,h5,h6 {
	text-align: left;
	font-weight: normal;
    font-size: 100%;
    margin: 0;
    padding: 0;
    color: #333;
}
q:before,q:after {
    content:'';
}
abbr,acronym {
	border: 0;
}


/* Custom CSS
 * --------------------------------------- */
body {
	font-family: arial,helvetica;
	color: #333;
}

.container {
	width: 90%;
	max-width: 1440px;
	padding: 1em 0;
}

.section {
	text-align: center;
}



h1 {
	margin: 0;
	padding: 0;
}
h2 {
	font-size: 2.75em;
	margin: 0.5em 0;
	padding: 0;
	line-height: 1.25em;
}

h3 {
	font-size: 2.5em;
	font-weight: bold;
	line-height: 1.25em;
	margin: 0.5em 0;
	padding: 0;
}

h3 rt,rp {
	font-size: 0.3em;
	font-weight: normal;
}

h3 span {
	display :inline-block;
	font-size: 0.75em;
	color: #072080;
	line-height: 1.25em;
}

h4 {
	font-size: 2.2em;
	line-height: 1.25em;
	margin: 0.5em 0;
	padding: 0;
	font-weight: bold;
}

p {
	font-size: 1.5em;
	margin: 0.5em auto;
	line-height: 1.5em;
	text-align: left;
	padding: 0 0 0 0;
}

.container img {
	width: auto;
	max-width: 100%;
	height: auto;
}
.container ul {
	margin: 0.5em 0;
	padding: 0;
	font-size: 1.8em;
	text-align: left;
	list-style-type: disc;
	font-weight: bold;
}
.container li {
	margin-left: 1em;
}

.colorBlue {
	color: #072080;
	font-weight: bold;
}



.footer {
	background-color: #76CEF1;
	width: 100%;
}

.footer1 {
	text-align: right;
}

.footer1Nest {
	display: inline-block;
	width:300px;
}

.footer1Nest p {
	text-align: left;
}

.footer2 p {
	text-align: left;
	padding-left: 3em;
}

.footer3 p {
	text-align: center;
}

.footer p {
	font-size: 1.3em;
}

.textCenter {
	text-align: center;
}

.textRight {
	text-align: right;
}

.imageCaption {
	font-size: 1em;
	text-align: right;
}

.imageShadow {
	margin: 0.5em 0;
	box-shadow: 8px 8px 10px rgba(0,0,0,0.3);
    -webkit-box-shadow: 8px 8px 10px rgba(0,0,0,0.3);
    -moz-box-shadow: 8px 8px 10px rgba(0,0,0,0.3);
}

.linkBack {
	margin: 2em auto;
	text-align: center;
	color: #DF0075;
}

.shinwaImg{
	max-width: 450px!important;
	width: 100%!important;
	margin-bottom: 30px!important;
}

.linkBack a,a:hover {
	color: #DF0075;
}


.drawer-brand a,a:hover {
	color: #02348B;
}

.drawer-hamburger-icon,
.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
	background-color: #EA0024;
}


span.TriangleLeft {
	display: inline-block;
	moz-transform: rotate( -90deg );
	-webkit-transform: rotate( -90deg );
	-o-transform: rotate( -90deg );
	-ms-transform: rotate( -90deg );
	transform: rotate( -90deg );
}

span.TriangleRight {
	display: inline-block;
	moz-transform: rotate( 90deg );
	-webkit-transform: rotate( 90deg );
	-o-transform: rotate( 90deg );
	-ms-transform: rotate( 90deg );
	transform: rotate( 90deg );
}

.squareBoxA {
	background-color: #FFC968;
	padding: 1em 2em;
	border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
}

.bookCover {
	margin: 0 auto;
	width: 100%;
	max-width: 365px;
}
.bookCover2 {
	margin: 0 auto;
	width: 100%;
	max-width: 269px;
}

.topPcSmall{
	font-size: 90%;
}
.topPcSmall h3 > span{	/* 行間調整 */
	padding-bottom: 0.5em;
}

/* Link button
* --------------------------------------- */

.buttonArea {
	text-align: left;
}

.buttonText {
	margin: 0;
	padding: 1.25em;
	line-height: 1em;
	display: inline-block;
	width: auto;
	text-align: center;
	color: #EA0024;
	vertical-align: top;
	font-weight: bold;
}

.button {
	margin: 0.5em 0;
	display: inline-block;
	width: 200px;
	height: 54px;
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
	font-weight: bold;
}
.button::before,
.button::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button,
.button::before,
.button::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.button {
	position: relative;
	-webkit-perspective: 300px;
	perspective: 300px;
}
.button span {
	display: block;
	position: absolute;
	width: 200px;
	height: 60px;
	border: 2px solid #EA0024;
	text-align: center;
	line-height: 56px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
	pointer-events: none;
}
.button span:nth-child(1) {
	background-color: #EA0024;
	color: #fff;
	-webkit-transform: rotateX(90deg);
	-moz-transform: rotateX(90deg);
	transform: rotateX(90deg);
	-webkit-transform-origin: 50% 50% -30px;
	-moz-transform-origin: 50% 50% -30px;
	transform-origin: 50% 50% -30px;
}
.button span:nth-child(2) {
	background-color: #fff;
	color: #EA0024;
	-webkit-transform: rotateX(0deg);
	-moz-transform: rotateX(0deg);
	transform: rotateX(0deg);
	-webkit-transform-origin: 50% 50% -30px;
	-moz-transform-origin: 50% 50% -30px;
	transform-origin: 50% 50% -30px;
}
.button:hover span:nth-child(1) {
	-webkit-transform: rotateX(0deg);
	-moz-transform: rotateX(0deg);
	transform: rotateX(0deg);
}
.button:hover span:nth-child(2) {
	background-color: #EA0024;
	-webkit-transform: rotateX(-90deg);
	-moz-transform: rotateX(-90deg);
	transform: rotateX(-90deg);
}

.topImage{
	padding: 0;
	line-height: 0;
}

@media ( min-width : 768px ) {
	.gutters .span_2_2 { width: 18.4%; }
	
	.gutters2 .col {
		margin-left: 3%!important;
	}
	.gutters2 .col:first-child { 
		margin-left: 0!important; 
	}
	.gutters2 .span_4 { width: 31.333%!important; }
	.gutters2 .span_6 { width: 48.5%!important; }

	.gutters3 .col {
		margin-left: 2.5%!important;
	}
	.gutters3 .col:first-child { 
		margin-left: 0!important; 
	}
	.gutters3 .span_4 { width: 31.666%!important; }
}



/* -----------------------------------
■スマホ対応
----------------------------------- */

.pcOnly {
	display: inline;
}

.smOnly, .smOnly2 {
	display: none;
}
 
 @media only screen and (max-width: 768px) {

	body {
		-webkit-text-size-adjust: 100%;
		font-size: 75%;
	}
	
	h2 {
		font-size: 2.5em;
	}

	h3 {
		font-size: 2.25em;
	}
	
	.container{
		width: 80%;
	}
	
	.pcOnly {
		display: none;
	}

	.smOnly {
		display: inline;
	}
	.smOnly2 {
		display: block;
	}
	 
	 .buttonArea {
		text-align: center;
	}
	
	.bookCover, .bookCover2 {
		max-width: 100%;
	}

	.topPcSmall{
		font-size: 100%;
	}
	.topImage{
		padding: 50px 0;
		/*background: #92C50F;*/
	 }

	.shinwaImg{
		max-width: 100%!important;
	}

	.col {
		padding-top: 1em;
		padding-bottom: 1em;
	}
	
	.footer .col {
		padding-top: 0!important;
		padding-bottom: 0!important;
	}
	
	.footer1 {
		text-align: left;
	}
	
	.footer1Nest {
		display: block;
		width: 100%;
	}
	
	.footer2 p {
		padding-left: 0;
	}

	.footer3 p {
		text-align: left;
	}

}

@media (min-width: 769px) and (max-width: 959px) {
	body {
		font-size: 80%;
	}
}

@media (min-width: 960px) and (max-width: 1280px) {
	body {
		font-size: 90%;
	}
}

@media (min-width: 1281px) {
		font-size: 100%;
}

/* -----------------------------------
■出力対応
----------------------------------- */

@media print {

	html.fp-enabled,.fp-enabled body {
		height: auto !important;
	}

	.fp-scrollable {
		height: auto !important;
	}

	.slimScrollDiv {
		height: auto !important;
	}

	#fp-nav {
		display: none !important;	/* ここまで調整に必須 */
	}
	
	body {
		font-size: 50%;
	}

	.button {
		width: 100px;
		height: 27px;
		line-height: 27px;
	}

	.button {
		-webkit-perspective: 150px;
		perspective: 150px;
	}
	.button span {
		font-size: 13px;
		width: 100px;
		height: 30px;
		line-height: 28px;
	}
	

/* chrome windows 出力対策（@mediaのみだと効かない為） */

	.gutters .col {
		margin-left: 2%;
	}
	
	.gutters .col:first-child { 
		margin-left: 0; 
	}
	.span_1 { width: 8.33333333333%; }
	.span_2 { width: 16.6666666667%; }
	.span_3 { width: 25%; }
	.span_4 { width: 33.3333333333%; }
	.span_5 { width: 41.6666666667%; }
	.span_6 { width: 50%; }
	.span_7 { width: 58.3333333333%; }
	.span_8 { width: 66.6666666667%; }
	.span_9 { width: 75%; }
	.span_10 { width: 83.3333333333%; }
	.span_11 { width: 91.6666666667%; }
	.span_12 { width: 100%; }
	
	.gutters .span_1 { width: 6.5%; }
	.gutters .span_2 { width: 15.0%; }
	.gutters .span_3 { width: 23.5%; }
	.gutters .span_4 { width: 32.0%; }
	.gutters .span_5 { width: 40.5%; }
	.gutters .span_6 { width: 49.0%; }
	.gutters .span_7 { width: 57.5%; }
	.gutters .span_8 { width: 66.0%; }
	.gutters .span_9 { width: 74.5%; }
	.gutters .span_10 { width: 83.0%; }
	.gutters .span_11 { width: 91.5%; }
	.gutters .span_12 { width: 100%; }

	.gutters .span_2_2 { width: 18.4%; }

	.gutters2 .col {
		margin-left: 3%!important;
	}
	.gutters2 .col:first-child { 
		margin-left: 0!important; 
	}
	.gutters2 .span_4 { width: 31.333%!important; }
	.gutters2 .span_6 { width: 48.5%!important; }
	
	.gutters3 .col {
		margin-left: 2.5%!important;
	}
	.gutters3 .col:first-child { 
		margin-left: 0!important; 
	}
	.gutters3 .span_4 { width: 31.666%!important; }
}
