@charset "UTF-8";
/*
@media (hover: hover) {
&:hover {
}
}
@media (hover: none) {
&:active {
}
}
*/
/*--------------------------------------------------------------
# スライダー
--------------------------------------------------------------*/
section#hero {
		margin: 10rem 0;
		/* スライド全体 */
		/* 左右のスライド */
		/* 前へ次への矢印カスタマイズ */
		/* 前へ次への矢印カスタマイズ */
		/* 前への矢印カスタマイズ */
		/* 次への矢印カスタマイズ */
}

@media (max-width: 991px) {
		section#hero {
				margin: 8rem 0;
		}
}

@media (max-width: 888px) {
		section#hero {
				margin: 6rem 0;
		}
}

@media (max-width: 767px) {
		section#hero {
				margin: 4rem 0;
		}
}

section#hero .slider_area {
		position: relative;
		padding: 0 8rem;
}

@media (max-width: 991px) {
		section#hero .slider_area {
				padding: 0 4rem;
		}
}

@media (max-width: 888px) {
		section#hero .slider_area {
				padding: 0 2rem;
		}
}

@media (max-width: 767px) {
		section#hero .slider_area {
				padding: 0 0;
		}
}

section#hero .swiper-slide {
		-webkit-transition: -webkit-transform 0.6s;
		transition: -webkit-transform 0.6s;
		-o-transition: transform 0.6s;
		transition: transform 0.6s;
		transition: transform 0.6s, -webkit-transform 0.6s;
		position: relative;
		padding-top: 62%;
		display: -webkit-box;
		display: -webkit-flex;
		display: -moz-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		   -moz-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		-webkit-align-items: center;
		   -moz-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}

@media (max-width: 640px) {
		section#hero .swiper-slide {
				padding-top: 61%;
		}
}

@media (max-width: 480px) {
		section#hero .swiper-slide {
				padding-top: 71%;
		}
}

section#hero .swiper-slide a.js-smartPhoto::after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		right: -6px;
		display: block;
		width: 1.5em;
		height: 1.5em;
		background-color: rgba(0, 0, 0, 0.5);
		background-image: url(../img/zoom.png);
		background-size: 1em 1em;
		background-position: center center;
		background-repeat: no-repeat;
		z-index: 4;
}

section#hero .swiper-slide a.link::after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		right: -6px;
		display: block;
		width: 1.5em;
		height: 1.5em;
		background-color: rgba(0, 0, 0, 0.5);
		background-image: url(../img/link.png);
		background-size: 1em 1em;
		background-position: center center;
		background-repeat: no-repeat;
		z-index: 4;
}

section#hero .swiper-slide img {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		width: auto;
		height: auto;
		display: block;
		display: block;
		border: solid 1px #ddd;
}

section#hero .swiper-slide-prev,
section#hero .swiper-slide-next,
section#hero .swiper-slide-duplicate-prev,
section#hero .swiper-slide-duplicate-next {
		-webkit-transform: scale(0.94);
		    -ms-transform: scale(0.94);
		        transform: scale(0.94);
}

section#hero .swiper-slide-active {
		-webkit-transform: scale(0.98);
		    -ms-transform: scale(0.98);
		        transform: scale(0.98);
}

section#hero .swiper-button-prev,
section#hero .swiper-button-next {
		height: 50px;
		width: 50px;
}

@media (max-width: 640px) {
		section#hero .swiper-button-prev,
		section#hero .swiper-rtl .swiper-button-next {
				left: 0;
		}
}

@media (max-width: 640px) {
		section#hero .swiper-button-next,
		section#hero .swiper-rtl .swiper-button-prev {
				right: 0;
		}
}

section#hero .swiper-button-prev::after,
section#hero .swiper-button-next::after {
		background-repeat: no-repeat;
		background-size: contain;
		content: "";
		margin: auto;
		height: 35px;
		width: 35px;
		background: #a7ce38;
		border-radius: 100%;
}

section#hero .swiper-button-prev::after {
		background-image: url(../img/slider-left.png);
		background-repeat: no-repeat;
		background-position: center;
}

section#hero .swiper-button-next::after {
		background-image: url(../img/slider-right.png);
		background-repeat: no-repeat;
		background-position: center;
}

section#hero .swiper-horizontal > .swiper-pagination-bullets, section#hero .swiper-pagination-bullets.swiper-pagination-horizontal, section#hero .swiper-pagination-custom, section#hero .swiper-pagination-fraction {
		bottom: -45px;
}

section#hero .swiper-pagination-bullet {
		background: #acacac;
		opacity: 1;
}

section#hero .swiper-pagination-bullet-active {
		background: #a7ce38;
}

.smartphoto-img {
		-o-object-fit: contain;
		   object-fit: contain;
		font-family: "object-fit: contain;";
}

.smartphoto {
		background-color: rgba(0, 0, 0, 0.8);
}

/*--------------------------------------------------------------
# パーツ
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# 書籍情報
--------------------------------------------------------------*/
section#book_info {
		margin: 10rem 0;
}

section#book_info .book_information h2 {
		text-align: center;
		position: relative;
		bottom: -40px;
}

section#book_info .book_information .book_list {
		background: #f4f7e3;
		font-weight: 500;
		padding: 8rem 8rem 5rem;
		border-radius: 2rem;
}

@media (max-width: 1100px) {
		section#book_info .book_information .book_list {
				padding: 7rem 2rem 3rem;
		}
}

@media (max-width: 640px) {
		section#book_info .book_information .book_list {
				padding: 7rem 4rem 4rem;
		}
}

section#book_info .book_information .book_list .js-scrollable .scrollable_inner {
		display: -webkit-box;
		display: -webkit-flex;
		display: -moz-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		   -moz-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		min-width: 95rem;
		padding: 0 0 2rem;
}

section#book_info .book_information .book_list .book {
		width: 160px;
}

section#book_info .book_information .book_list .book p.book_label {
		text-align: center;
		background: #ddd;
		color: #fff;
		border-radius: 10px;
		padding: 2px 2px;
}

section#book_info .book_information .book_list .book p.book_label.new {
		background: #4172ee;
}

section#book_info .book_information .book_list .book p.book_label.reco {
		background: #f1595b;
}

section#book_info .book_information .book_list .book p.book_label.week {
		background: #f7931d;
}

section#book_info .book_information .book_list .book figure {
		margin: 15px 0 0;
		position: relative;
		padding-top: 100%;
}

section#book_info .book_information .book_list .book figure img {
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		-o-object-fit: contain;
		   object-fit: contain;
		font-family: "object-fit: contain;";
}

section#book_info .book_information .book_list .book .title {
		letter-spacing: 0;
		line-height: 1.3;
		color: #b08956;
		margin: 10px 0;
}

section#book_info .book_information .book_list .book p.author {
		letter-spacing: 0;
		line-height: 1.3;
		color: #6f706e;
}

/*--------------------------------------------------------------
# お知らせ
--------------------------------------------------------------*/
section#notice {
		margin: 10rem 0;
}

section#notice .notice_title {
		text-align: center;
}

section#notice .notice_title h2 {
		font-size: 38px;
		color: #6a9558;
}

section#notice .notice_box {
		margin: 4rem auto;
}

/*--------------------------------------------------------------
# スペシャル
--------------------------------------------------------------*/
section#special {
		margin: 10rem 0 0;
}

section#special .special_contents {
		background: #fff;
		margin-top: 3rem;
		padding: 8rem 8rem 5rem;
		border-radius: 2rem;
}

@media (max-width: 640px) {
		section#special .special_contents {
				padding: 3rem 3rem 4rem;
		}
}

section#special .special_contents .special_main {
		display: -webkit-box;
		display: -webkit-flex;
		display: -moz-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		   -moz-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: start;
		-webkit-align-items: flex-start;
		   -moz-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
		gap: 3%;
}

section#special .special_contents .special_info {
		width: 47%;
}

section#special .special_contents .special_info h3 {
		color: #b08956;
		font-size: 2rem;
}

@media (max-width: 991px) {
		section#special .special_contents .special_info {
				width: 100%;
				-webkit-box-ordinal-group: 1;
				-ms-flex-order: 1;
				-webkit-order: 1;
				-moz-box-ordinal-group: 2;
				     order: 1;
		}
}

section#special .special_contents .embed-container {
		width: 50%;
		position: relative;
		padding-bottom: 28.125%;
		overflow: hidden;
		height: auto;
}

@media (max-width: 991px) {
		section#special .special_contents .embed-container {
				width: 100%;
				padding-bottom: 56.25%;
				margin-top: 1rem;
				-webkit-box-ordinal-group: 2;
				-ms-flex-order: 2;
				-webkit-order: 2;
				-moz-box-ordinal-group: 3;
				     order: 2;
		}
}

section#special .special_contents .embed-container iframe,
section#special .special_contents .embed-container object,
section#special .special_contents .embed-container embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
}

section#special .special_contents .other {
		display: -webkit-box;
		display: -webkit-flex;
		display: -moz-box;
		display: -ms-flexbox;
		display: flex;
		gap: 3%;
		margin-top: 5rem;
}

section#special .special_contents .other a figure {
		position: relative;
		padding-top: 60%;
}

section#special .special_contents .other a figure img {
		position: absolute;
		top: 0;
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
}

@media (max-width: 991px) {
		section#special .special_contents .other {
				gap: 3%;
				-webkit-flex-wrap: wrap;
				    -ms-flex-wrap: wrap;
				        flex-wrap: wrap;
		}
		section#special .special_contents .other a {
				width: 100%;
				display: -webkit-box;
				display: -webkit-flex;
				display: -moz-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-align: start;
				-webkit-align-items: flex-start;
				   -moz-box-align: start;
				    -ms-flex-align: start;
				        align-items: flex-start;
		}
		section#special .special_contents .other a figure {
				width: 15rem;
				height: 12rem;
				padding-top: 15%;
				position: relative;
		}
		section#special .special_contents .other a p {
				width: calc(100% - 15rem);
				padding-left: 2rem;
		}
}

@media (max-width: 480px) {
		section#special .special_contents .other {
				gap: 3%;
		}
		section#special .special_contents .other a {
				-webkit-flex-wrap: wrap;
				    -ms-flex-wrap: wrap;
				        flex-wrap: wrap;
		}
		section#special .special_contents .other a figure {
				width: 100%;
				padding-top: 60%;
		}
		section#special .special_contents .other a p {
				width: 100%;
				padding-left: 0;
		}
		section#special .special_contents .other a:not(:last-child) {
				margin-bottom: 3rem;
		}
}
