@charset "utf-8";

/*+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-     Site Contents     -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+*/
/*          loading          */
#overlay{position:fixed;width:100%;height:100%;text-align:center;background:#FFF;z-index:9999;}

/*          Site Contents          */
#siteWrap {
	position: relative;
	width: 100%;
	min-width: 1200px;
	height: 100%;
	height: auto !important;
	min-height: 100%;
	overflow: hidden;
}
.arrowBox {
	position: relative;
	display: inline-block;
	padding: 0 0 5px;
	line-height: 1;
	transition: .45s cubic-bezier(.39,.58,.57,1);
}
.circle {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	border: 1px solid;
	transition: .45s cubic-bezier(.39,.58,.57,1);
}
.arrow {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
}
.arrow::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	height: 1px;
}
.arrow::after {
	content: "";
	position: absolute;
	top: -3.3px;
	display: block;
	width: 7px;
	height: 7px;
	margin-left: -8px;
	border-right: 1px solid;
	border-top: 1px solid;
	transform: rotate(45deg);
}
.arrowBox:hover {
	transform: translateX(5px);
}
.arrowBox:hover .circle {
	opacity: 0;
}
.imageHover {
	transition: .45s cubic-bezier(.39,.58,.57,1);
}
.imageHover:hover {
	opacity: .7;
}

/*          keyframes          */
@keyframes drop1 {
	0% {
		top : -30px;
		margin-left: -38px;
		opacity: 0;
	}
	40% {
		opacity: .7;
	}
	50% {
		opacity: .7;
	}
	100% {
		top : 3px;
		opacity: 0;
		margin-left: -38px;
	}
}
@keyframes drop2 {
	0% {
		top : -30px;
		margin-left: -10px;
		opacity: 0;
	}
	40% {
		opacity: .7;
	}
	50% {
		opacity: .7;
	}
	100% {
		top : 3px;
		margin-left: -10px;
		opacity: 0;
	}
}
@keyframes drop3 {
	0% {
		top : -30px;
		margin-left: 32px;
		opacity: 0;
	}
	40% {
		opacity: .7;
	}
	50% {
		opacity: .7;
	}
	100% {
		top : 3px;
		margin-left: 32px;
		opacity: 0;
	}
}

@keyframes drop4 {
	0% {
		top : -30px;
		margin-left: 20px;
		opacity: 0;
	}
	40% {
		opacity: .7;
	}
	50% {
		opacity: .7;
	}
	100% {
		top : 3px;
		margin-left: 20px;
		opacity: 0;
	}
}
@keyframes drop5 {
	0% {
		top : -30px;
		margin-left: -25px;
		opacity: 0;
	}
	40% {
		opacity: .7;
	}
	50% {
		opacity: .7;
	}
	100% {
		top : 0px;
		margin-left: -25px;
		opacity: 0;
	}
}

@keyframes drop6 {
	0% {
		top : -30px;
		margin-left: 6px;
		opacity: 0;
	}
	40% {
		opacity: .7;
	}
	50% {
		opacity: .7;
	}
	100% {
		top :0px;
		margin-left: 6px;
		opacity: 0;
	}
}
.headingSakura {
	position: relative;
	text-align: center;
}
.headingSakura h2 {
	position: relative;
}
.headingSakura h2 .textSvgBox {
	width: 175px;
	margin: 0 auto;
}
.headingSakura h2 .textSvg svg {
	fill: #424242;
}
.headingSakura h2 .textSvg.white svg {
	fill: #FFF;
}
.hanabira li {
	position: absolute;
	left: 50%;
	background-repeat: no-repeat;
	animation-duration: 3.4s;
	animation-timing-function: cubic-bezier(.39,.58,.57,1);
	animation-iteration-count: infinite;
	animation-fill-mode: forwards;
	opacity: 0;
}
.hanabira.left li {
	transform: rotate(210deg);
}
.hanabira.right li {
	transform: rotate(150deg);
}

.hanabira li.hana1 {
	animation-name: drop1;
	animation-delay: 3s;
}
.hanabira li.hana2 {
	animation-name: drop2;
	animation-delay: .6s;
}
.hanabira li.hana3 {
	animation-name: drop3;
	animation-delay: 1.8s;
}
.hanabira li.hana4 {
	animation-name: drop4;
}
.hanabira li.hana5 {
	animation-name: drop5;
	animation-delay: 1.2s;
}
.hanabira li.hana6 {
	animation-name: drop6;
	animation-delay: 2.4s;
}
.hanabira li.hanaL-P {
	width: 8px;
	height: 15px;
}
.hanabira li.hanaS-P {
	width: 4px;
	height: 8px;
}
.hanabira li.hanaS-B {
	width: 4px;
	height: 8px;
}
/*          SP          */
@media screen and (max-width:768px) {
	#siteWrap {
		min-width: unset;
	}
	.circle {
		top: 3px;
		width: 40px;
		height: 40px;
	}
	
	.headingSakura h2 .textSvgBox {
		width: auto;
		max-width: 175px;
	}
	.headingSakura h2 .textSvg {
		position: relative;
		width: 13rem;
		max-width: 175px;
		margin: 0 auto;
		padding-top: 10.8%;
	}
	.headingSakura h2 .textSvg svg {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}
/*+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-     Header Contents     -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+*/
/*Navigation Button*/
.navigationBtn {
	position: fixed;
	top: 20px;
	left: 5%;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	border: 1px solid;
	z-index: 100;
	cursor: pointer;
	transition: .45s cubic-bezier(.39,.58,.57,1);
}
.first .navigationBtn {
	border-color: #e57ea2;
}
.shiro .navigationBtn {
	border-color: #ba66a5;
}
@media screen and (min-width:1350px) {
	.navigationBtn {
		/*left: calc(50% - 600px);*/
		left: calc(50% - 645px);
	}
}
.naviBtn {
	position: absolute;
	display: -webkit-flex; display: flex;
	-webkit-flex-direction: column; flex-direction: column;
	-webkit-justify-content: space-between; justify-content: space-between;
	-webkit-align-content: space-between; align-content: space-between;
	width: 20px;
	height: 15px;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
.naviBtn span {
	width: 100%;
	height: 1px;
	transition: .45s cubic-bezier(.39,.58,.57,1);
}
.first .naviBtn span {
	background-color: #e57ea2;
}
.shiro .naviBtn span {
	background-color: #ba66a5;
}

/*Navigation Button  --  show*/
.show .naviBtn .naviBtn1 {
	transform: translateY(6px) rotate(-45deg);
}
.show .naviBtn .naviBtn2 {
	opacity: 0;
}
.show .naviBtn .naviBtn3 {
	transform: translateY(-8px) rotate(45deg);
}
/*Navigation*/
.navigationWrap {
	position: fixed;
	-webkit-display: flex; display: flex;
	-webkit-justify-content: center; justify-content: center;
	-webkit-align-items: center; align-items: center;
	width: 100%;
	height: 220px;
	top: 0;
	right: 0;
	transition: .45s cubic-bezier(.39,.58,.57,1);
	opacity: 0;
	visibility: hidden;
	z-index: 99;
}
.first .navigationWrap {
	background: #f4a7c0;
}
.shiro .navigationWrap {
	background: #d792c6;
}
.navClose {
	display: none;
	position: fixed;
	width: 100%;
	height: 100vh;
	z-index: 90;
	visibility: hidden;
}
.navClose.show {
	display: block;
	visibility: visible;
}
.navigationWrap .container {
	display: -webkit-flex; display: flex;
	-webkit-justify-content: space-between; justify-content: space-between;
	-webkit-align-items: center; align-items: center;
	width: 950px;
	margin: 0 auto;
}
/*.shiro .navigationWrap > .container {
	-webkit-justify-content: center; justify-content: center;
}*/
.navigationWrap .headerLogo {
	width: 180px;
}
.shiro-headerLogo {
	width: 184px;
}
.navigationList {
	display: -webkit-flex; display: flex;
	-webkit-flex-wrap: wrap; flex-wrap: wrap;
	width: 700px;
}
/*.shiro .navigationList {
	max-width: 525px;
	margin-left: 100px;
}*/
.navigationList>li {
	margin: 15px 45px 15px 0;
}
.navigationWrap .headerLogo a, .navigationWrap .shiro-headerLogo a, .navigationList>li>a {
	display: block;
	transition: .45s cubic-bezier(.39,.58,.57,1);
}
.navigationWrap .headerLogo a:hover, .navigationWrap .shiro-headerLogo a:hover, .navigationList>li>a:hover {
	opacity: .6;
}
.navigationList>li .imgSvg {
	height: 19.0167px;
}

/*Navigation  --  show*/
.show.navigationWrap {
	opacity: 1;
	visibility: visible;
}

/*          SP          */
@media screen and (max-width:768px) {
/*Navigation Button*/
	.navigationBtn {
		width: 40px;
		height: 40px;
		background: rgba(255, 255, 255, .5)
	}
	.naviBtn {
		width: 15px;
		height: 12px;
	}
/*Navigation Button  --  show*/
	.show .naviBtn .naviBtn3 {
		transform: translateY(-5px) rotate(45deg);
	}
/*Navigation*/
	.navigationWrap {
		display: block;
		height: 100%;
	overflow: auto;
	}
	.navigationWrap .container {
		flex-direction: column;
		width: 100%;
		padding: 3.5rem 0 0;
	}
	.navigationWrap .headerLogo {
		width: 40%;
		max-width: 200px;
	}
	.navigationList {
		-webkit-flex-direction: column; flex-direction: column;
		-webkit-align-items: center; align-items: center;
		width: 100%;
		padding: 25px 0 0;
	}
	/*.shiro .navigationList {
		margin-left: 0;
	}*/
		.navigationList>li {
		margin: 12.5px 0;
	}
	.navigationList>li>a {
		width: 13rem;
		max-width: 175px;
	}
	.navigationList>li>a img {
		height: auto;
	}
}
/*+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-     Footer Contents     -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+*/
.footerWrap {
	background: #fcf2f9;
}
.footer_wrap {
	margin: 0 75px;
	padding: 55px 75px 110px;
	border-top: 1px solid #424242;
}
.footer_wrap a {
	transition: .45s cubic-bezier(.39,.58,.57,1);
}
.footer_wrap a:hover {
	opacity: .7;
}
.footerBox {
	display: -webkit-flex; display: flex;
	-webkit-justify-content: center; justify-content: center;
	-webkit-align-items: center; align-items: center;
}
.footerBox .link {
	display: -webkit-flex; display: flex;
	-webkit-align-items: center; align-items: center;
	margin: 0 0 0 70px;
}
/*social*/
.socialList {
	display: -webkit-flex; display: flex;
}
.socialList>li {
	margin: 0 8px;
}
.socialList>li>a {
	display: block;
	padding: 3px;
	font-size: 30px;
	border: 1px solid #e57ea2;
	border-radius: 50%;
	color: #e57ea2;
	overflow: hidden;
}
.shiro .socialList>li>a {
	border-color: #ba66a5;
	color: #ba66a5;
}
/*banner*/
.bannerList {
	display: -webkit-flex; display: flex;
	-webkit-justify-content: center; justify-content: center;
}
.bannerList li {
	margin: 0 0 0 40px;
}
.bannerList .ka_esumabunko {
	width: 140px;
}
.bannerList .kyotoanimation {
	width: 185px;
}
.copyright {
	padding: 30px 0 0;
	text-align:center; 
	font-size: 12px;
	white-space: nowrap;
}
/*          SP          */
@media screen and (max-width:768px) {
	.footerWrap {
		background: #fcf2f9;
	}
	.footer_wrap {
		width: 92%;
		margin: 0 auto;
		padding: 40px 0 55px;
	}
.footerBox {
	-webkit-justify-content: space-between; justify-content: space-between;
}
	.footerBox .logo {
		width: 38%;
		margin: 0 auto;
	}
	.footerBox .logo img {
		display: block;
		width: 50%;
		max-width: 100px;
		margin: 0 auto;
	}
	.footerBox .link {
		width: 58%;
		-webkit-align-items: baseline; align-items: baseline;
		-webkit-flex-direction: column; flex-direction: column;
		margin: 0 auto 0 0;
	}
/*social*/
	.socialList>li {
		margin: 0 5px;
	}
	.socialList>li>a {
		font-size: 25px;
	}
/*banner*/
	.bannerList {
		-webkit-flex-direction: column; flex-direction: column;
	}
	.bannerList li {
		margin: 15px 0 0;
	}
	.bannerList .ka_esumabunko {
		width: 70%;
	}
	.bannerList .kyotoanimation {
		width: 90%;
	}
	.copyright {
		padding: 15px 0 0;
		font-size: 10px;
	}
}
/*          書籍情報コンテンツ          */
.books .container {
	position: relative;
}
.books .detail .overview {
	line-height: 2;
}
.books .cursive {
	position: absolute;
}
.books .link .arrowBox {
padding-top: 2.5px;
}
.dir-index .first .books {
	background: #fcf2f9;
}
.first .books .detail {
	background: #FFF;
}
.first .books .link .circle {
	border-color: #e57ea2;
}
.first .books .link .arrow::before {
	background: #e57ea2;
}
.first .books .link .arrow::after {
	border-color: #e57ea2;
}
.shiro .books .detail {
	background: rgba(235, 235, 235, .6);
}
.shiro .books .link .circle {
	border-color: #a84190;
}
.shiro .books .link .arrow::before {
	background: #a84190;
}
.shiro .books .link .arrow::after {
	border-color: #a84190;
}
/*          PC          */
@media screen and (min-width:769px) {
	.dir-index .books {
		padding: 200px 0 160px;
	}
	.books .cursive {
		top: -25px;
		left: -63px;
	}
	.books .container {
		width: 825px;
		margin: 80px auto 0;
	}
	.books .detail .heading {
		padding: 45px 0 0;
		font-size: 23px;
	}
	.books .detail {
		width: 630px;
		padding: 130px 130px 80px;
	}
	.books .detail .overview {
		padding: 55px 0 0;
	}
	.first .books .copy {
		width: 214px;
	}
	.shiro .books .copy {
		width: 251px;
	}
	.books .Illust {
		width: 696px;
		padding: 120px 0 0;
	}
	.books .image {
		position: absolute;
		top: 60px;
		right: 0;
		width: 336px;
	}
	.books .link {
		display: -webkit-flex; display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between; 
		width: 825px;
		margin: 60px auto 0;
	}
	.books .link.sp {
		display: none;
	}
	.books .link .arrowBox {
	width: 390px;
	padding-top: 2.5px;
	font-size: 18px;
	}
	.books .link .arrow::before {
		width: 370px;
	}
	.books .link .arrow::after {
		left: 370px;
	}
}
/*          SP          */
@media screen and (max-width:768px) {
	.dir-index .books {
		padding: 80px 0;
	}
	.books .cursive {
		top: -20rem;
		left: 1rem;
		width: 12rem;
	}
	.books .container {
		width: 92%;
		max-width: 400px;
		margin: 21rem auto 0;
	}
	.books .detail {
		width: 100%;
		padding: 30px;
	}
	.books .inner {
		margin-top: -20rem;
	}
	.books .detail .heading {
		padding: 30px 0 0;
		font-size: 23px;
	}
	.books .detail .copy {
		padding: 25px 0 0;
	}
	.books .detail .overview {
		padding: 25px 0 0;
		font-size: 14px;
	}
	.first .books .copy {
		width: 75%;
		max-width: 214px;
	}
	.shiro .books .copy {
		width: 75%;
		max-width: 251px;
	}
	.books .image {
		position: relative;
		transform: none;
		width: 100%;
		max-width: 336px;
	}
	.books .Illust {
		padding-top: 25px;
	}
	.books .link.pc {
		display: none;
	}
	.books .link.sp {
		display: -webkit-flex; display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		-webkit-flex-direction: column; flex-direction: column;
		width: 100%;
		margin: 30px auto 0;
	}
	.books .link .arrowBox {
		width: 270px;
		font-size: 16px;
	}
	.books .link li .arrowBox:first-child {
		margin: 0 0 40px;
	}
	.books .link .arrow::before {
		width: 253px;
	}
	.books .link .arrow::after {
		left: 253px;
	}
}

