@charset "utf-8";

/*----------all----------*/
html {
	font-size: 14px;
}

body {
	font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color: #302121;
	line-height:1.5;
	background: #ffe009;
	background-image: radial-gradient(#ffea57 15%, transparent 0), radial-gradient(#ffea57 15%, transparent 0);
	background-position: 0 0, 20px 20px;
	background-size: 40px 40px;
}

a {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
    color: #302121;
	outline : none;
}

a:hover {
opacity: .7;
-webkit-opacity: .7;
-moz-opacity: .7;
filter: alpha(opacity=50);	/* IE lt 8 */
-ms-filter: "alpha(opacity=50)"; /* IE 8 */
-webkit-transition: opacity .7s ease-out;
-moz-transition: opacity .7s ease-out;
-ms-transition: opacity .7s ease-out;
transition: opacity .7s ease-out;
}

img {
	max-width: 100%;
}

[class*="hidden"] {
	display: none !important;
}

[class*="-title"] {
	font-size: 1.4rem;
	text-align: center;
	line-height: 2;
	color: #000;
	font-weight: bold;
	letter-spacing: 1px;
}

.sfont {
	font-size: 0.7em;
}

strong {
	font-weight: bold;
}

.pc {
	display: none;
}

/*----------header----------*/

header {
	text-align: center;
	margin: 0 auto;
	background: url(../img/top_bg.gif);
	background-position: center;
	background-size: cover;
}

.top-img {
	position: relative;
}

.top-img-pc {
	display: none;
}

.logo {
	position: absolute;
	padding: 5px;
}

.logo img {
	width: 60px;
}

#about .end {
	font-size: 0.8rem;
	font-weight: bold;
	color: 	#e70012;
	text-align: center;
	background: #fff;
	padding: 10px 10px 8px;
	width: 100%;
	margin: 0;
}

/*----------main----------*/
main {
	width: 96%;
	margin: 0 auto;
}

#about {
	padding: 20px 0 60px;
	text-align: center;
	line-height: 1.8;
}

#about p {
	margin: 20px 0;
	font-weight: bold;
	font-size: 1.1rem;
    padding: 0 4px;
}

#about .about-img img {
	width: 70%;
	margin: 0 auto;
}

.line {
	background: -webkit-linear-gradient(transparent 75%, #ffffff 0%);
	background: -o-linear-gradient(transparent 75%, #ffffff 0%);
	background: linear-gradient(transparent 75%, #ffffff 0%);
}

.font-red {
	color: #e70012;
}

#howto {
	margin: 0 auto 80px;
	padding: 60px 10px 20px;
	max-width: 768px;
	background: #fff;
	border: 3px solid #8b8987;
	position: relative;
}

.howto-img img {
	width: 80%;
	max-width: 308px;
}

.howto-img {
	margin-bottom: 22px;
	text-align: center;
	position: absolute;
	top: -35px;
	right: 0;
	left: 0;
	margin: auto;
}

.howto-title {
	line-height: 1.2;
	margin-bottom: 30px;
}

.howto-detail {
	padding-left: 1.5em;
	font-size: 0.97em;
	margin: auto;
}

.howto-detail li {
	list-style-type : decimal;
	margin-bottom: 10px;
	font-weight: bold;
	color: #e50012;
}

.howto-zu {
	padding:20px 0;
    margin: auto;
    display: block;
}

.howto-notes {
	padding-left: 1em;
	font-size: 0.8em;
	margin: 0 auto 25px;
}

.howto-notes li {
	margin-bottom: 5px;
}

.howto-notes li::before {
	content: "※";
	margin-left: -1em;
}

.past {
	margin: 0 auto 10px;
}

.sfont {
	font-size: 0.8em;
}

#books {
	margin-bottom: 20px;
}

.books-title {
	margin-bottom: 30px;
	text-align: center;
}

.books-list {
	overflow: hidden;
}

.books-list li {
	float: left;
	width: 48%;
	margin: 0 1% 20px;
}

.books-list li.books-list-person {
	width: 100%;
	background: #fff;
}

.books-list li a {
	display: block;
	vertical-align: middle;
	-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);
	box-shadow: 0 0 1px transparent;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-property: box-shadow, transform;
	transition-property: box-shadow, transform;
}

.books-list li a:hover, .books-list li a:focus, .books-list li a:active {
	box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.5);
	-webkit-transform: scale(1.03);
	transform: scale(1.03);
	opacity: 1;
}

.more {
	text-align: center;
}

.more a {
	display: inline-block;
	background: #e70012;
	width: 60%;
	max-width: 300px;
	line-height: 3;
	color: #fff;
	font-weight: bold;
	box-shadow: 0 6px 0 #980914;
	position: relative;
	top: 0;
	-moz-transition: 100ms all linear;
	-o-transition: 100ms all linear;
	transition: 100ms all linear;
	border-radius: 50px;
}

.more a:hover {
	box-shadow: none;
	top: 6px;
	opacity: 1;
}

/*----------footer----------*/
#page-top {
	position: fixed;
	bottom: 0px;
	width: 44px;
	line-height: 3.2;
	right: 0;
	background: #e70012;
	text-align: center;
	vertical-align: middle;
	/*opacity: .5;*/
	border-radius: 22px;
	cursor: pointer;
	margin: 5px;
}

#page-top a {
	color: #fff;
}

footer {
	text-align: center;
	margin-top: 60px;
	padding: 20px 0 0;
	background: #67624a;
	color: #fff;
	font-size: 0.85em;
}

footer a {
	color: #fff;
}

.footer-links li:first-child,
.footer-links li:last-child {
	margin-bottom: 10px;
}

.footer-links li:last-child {
	color: #c5c1ac;
}

footer p {
	background: #e70012;
	padding: 5px 0;
}

/******************************************************/
@media all and (min-width: 768px) {

.top-img-sp {
	display: none !important;
}

.top-img-pc {
	display: inline-block;
	position: absolute;
	top: 80px;
	right: -25px;
	left: 0;
	margin: auto;
}

html {
	font-size: 16px;
}

header {
	height: 900px;
	background-position: center 42%;
}

.top-img {
	position: relative;
	margin: auto;
	text-align: center;
}

.logo {
	padding: 20px;
}

.logo img {
	width: 90px;
}

#about .end {
	font-size: 1rem;
	width: 80%;
	margin:0 auto;
}

.howto-detail {
	margin: auto;
    max-width: 475px;
    font-size: 1.2rem;
}

.howto-zu {
	max-width: 340px;
    margin: auto;
}

.howto-notes {
	max-width: 580px;
}

.past {
	max-width: 420px;
}

.books-title img {
	max-width: 450px;
}

.books-list li {
	width: 23%;
}

.books-list {
	justify-content: space-around;
}

.books-list li.books-list-person {
	width: 48%;
}

.footer-links li:first-child,
.footer-links li:last-child {
	margin-bottom: 0;
}

.footer-links ul {
	display: flex;
	justify-content: space-around;
	padding-bottom: 20px;
}

#page-top {
	margin: 10px;
}

#page-top {
	width: 50px;
	border-radius: 25px;
}

}


/******************************************************/
@media all and (min-width: 1024px) {

.sp {
	display: none !important;
}

.pc {
	display: block;
}

html {
	font-size: 18px;
}

main {
	max-width: 1280px;
	width: 100%;
}

.logo img {
	width: 133px;
}

#about .end {
	font-size: 1.2rem;
}

#about {
	line-height: 2.15;
}

#about p {
	margin: 30px 0;
	font-size: 1.2rem;
}

.howto-detail {
    max-width: 550px;
}

.howto-notes {
	max-width: 650px;
}

.past {
	max-width: 480px;
}

.books-title {
	margin-bottom: 40px;
}


#page-top {
	width: 55px;
	border-radius: 28px;
}

}


/******************************************************/
@media all and (min-width: 1200px) {

.top-img {
	width: 1200px;
}

#howto {
	max-width: 1024px;
	padding: 60px 60px 30px;
}

#books {
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
}

.howto-detail {
	float: left;
	margin-top: 15px;
}

.howto-zu {
	padding: 0;
}

.howto-notes {
	clear: both;
}

.footer-links ul {
	max-width: 1024px;
	margin: auto;
}

}


/******************************************************/
@media all and (min-width: 1400px) {

}