@charset "utf-8";
/* CSS Document */
html{
	scroll-behavior: smooth;
	overflow: hidden;
}
body {
    overflow: hidden;
}

@media screen and (max-width:640px) {
	html{
		scroll-behavior: smooth;
		overflow: visible;
	}
	body {
		overflow: visible;
	}
}

div#main_content{
	
	
	
}



/* 左コンテンツ */
div#main_content div#content div#left_content{
	width: 50vw;
/*	position: fixed;*/
	position: relative;
	top:0;
	left: 0;
	overflow-y: scroll;
	scrollbar-width: none;
	-ms-overflow-style: none;/**/
}
div#main_content div#content div#left_content::-webkit-scrollbar{
	display: none;/**/
}
div#main_content div#content div#left_content div#inner_content{
	position: relative;
	top:0px;
}
div#main_content div#content div#left_content div#content1{
	height: 100vh;
	min-height: 600px;
}

div#main_content div#content div#left_content div#logo_area{
	background-image: url("../images/content_bg_pc_2x.png");
	background-size: cover;
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
}

div#main_content div#content div#left_content div#logo_area img{
	width: 30vw;
	height: auto;
	margin-top: 35vh;
}
div#main_content div#content div#left_content div.content{
	margin: 0;
	padding: 0;
	padding-bottom: 45px;
	font-family: "Lato", sans-serif;
}
div#main_content div#content div#left_content div.content h2{
	margin: 0;
	padding: 0;
	padding-bottom: 50px;
	overflow: hidden;
	font-weight: 400;
	font-size: 2rem;
	font-family: "Lato", sans-serif;
}
div#main_content div#content div#left_content div.content h2 span{
	display: block;
	width: 100%;
	height: 100px;
	line-height: 65px;
	margin: 0;
	padding: 20px;
	box-sizing: border-box;
}
div#main_content div#content div#left_content div.content h2::after{
	display: block;
	width: 120%;
	content: "";
	border-bottom-width: 1px;
	border-bottom-color: #333;
	border-bottom-style: solid;
	transform:rotate(-20deg);
	transform-origin: 140px 30px;
}
div#main_content div#content div#left_content div#content5 h2::after{
	border-bottom-color: #FFF;
}
div#main_content div#content div#left_content div.content div.content_box{
	margin: 50px;
	margin-top: 0;
	padding: 0;
	border-style: solid;
	border-width: 1px;
	border-color: #000;
}
div#main_content div#content div#left_content div.content div.content_box h3{
	margin: 0;
	padding: 0;
	padding-bottom: 20px;
	margin-top: 0;
	margin-left: 45px;
	margin-right: 45px;
}
div#main_content div#content div#left_content div.content div.content_box h3:first-of-type{
	margin-top: 50px;
}
div#main_content div#content div#left_content div.content div.content_box p{
	margin: 0;
	padding: 0;
	text-align: justify;
	padding-bottom: 40px;
	margin-left: 45px;
	margin-right: 45px;
}
@media screen and (max-width:640px) {
	div#main_content div#content div#left_content div.content div.content_box img:first-of-type{
		display: inline-block;
		margin-top: 1.5em;
	}
}
div#main_content div#content div#left_content div#content1{
	background-image: url("../images/content01_bg_pc_1x.png");
	background-size: cover;
}
div#main_content div#content div#left_content div#content2{
	background-image: url("../images/content02_bg_pc_1x.png");
	background-size: cover;
}
div#main_content div#content div#left_content div#content3{
	background-image: url("../images/content03_bg_pc_1x.png");
	background-size: cover;
}
div#main_content div#content div#left_content div#content4{
	background-image: url("../images/content04_bg_pc_1x.png");
	background-size: cover;
}
div#main_content div#content div#left_content div#content3 div.content_box img:first-of-type{
	margin-bottom: 40px;
}
div#main_content div#content div#left_content div#content4 div.content_box img:first-of-type{
	margin-bottom: 40px;
}
div#main_content div#content div#left_content div#content2 h2 span{
	background-color: rgba(208,114,21,0.5);
}
div#main_content div#content div#left_content div#content3 h2 span{
	background-color: rgba(56,138,162,0.5);
}
div#main_content div#content div#left_content div#content4 h2 span{
	background-color: rgba(208,186,21,0.5);
}
div#main_content div#content div#left_content div#content5 h2 span{
	background-color: rgba(0,0,0,0.60);
	color: #FFF;
}
div#main_content div#content div#left_content div#content5 {
	background-color: rgba(0,0,0,0.70);
}
div#main_content div#content div#left_content div#content5 div#book_area{
	
}
div#main_content div#content div#left_content div#content5 div#book_area a{
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 275px;
	height: 80px;
	border-radius: 40px;
	background-color: #FFF;
	text-align: center;
	line-height: 80px;
	color: #000;
	text-decoration: none;
	font-size: 30px;
	font-family: "Lato", sans-serif;
}
/* フッター */
div#main_content div#content div#left_content div#content6 {
	background-color: #000;
	height: 430px;
}

/* メニュー */
div#main_content div#content div#left_content div#content3 div#menu{
	margin-left: 33px;
	margin-right: 33px;
	margin-bottom: 40px;
	padding-bottom: 60px;
	border-style: solid;
	border-width: 1px;
	border-color: #000;
	overflow: hidden;
}
div#main_content div#content div#left_content div#content3 div#menu::before{
	display: block;
	width: 120%;
	content: "";
	border-top-width: 1px;
	border-top-color: #333;
	border-top-style: solid;
	transform:rotate(-20deg);
	transform-origin: 320px 100px;
}
div#main_content div#content div#left_content div#content3 div#menu::after{
	display: block;
	width: 120%;
	content: "";
	border-bottom-width: 1px;
	border-bottom-color: #333;
	border-bottom-style: solid;
	transform:rotate(-20deg);
	transform-origin: 500px -100px;
}
@media screen and (max-width:640px) {
	div#main_content div#content div#left_content div#content3 div#menu::before{
		transform-origin: 180px 100px;
	}
	div#main_content div#content div#left_content div#content3 div#menu::after{
		transform-origin: 240px -100px;
	}
}

div#main_content div#content div#left_content div#content3 div#menu div.menu_item{
	width:100%;
	font-size: 1rem;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-left: 25px;
	padding-right: 25px;
}
div#main_content div#content div#left_content div#content3 div#menu div.menu_item span{
	display: block;
	font-size: 1.2rem;
}
div#main_content div#content div#left_content div#content3 div#menu div.menu_item span.name{
	padding-right: 10px;
	white-space: nowrap;
	font-weight: bold;
}
div#main_content div#content div#left_content div#content3 div#menu div.menu_item span.dash_line{
	overflow: hidden;
}
div#main_content div#content div#left_content div#content3 div#menu div.menu_item span.value{
	padding-left: 10px;
	white-space: nowrap;
	font-weight: bold;
}
div#main_content div#content div#left_content div#content3 div#menu h3{
	margin: 0;
	padding: 0;
	text-align: center;
	font-size: 2.4rem;
	font-weight: 400;
	padding-top: 80px;
}
@media screen and (max-width:640px) {
	div#main_content div#content div#left_content div#content3 div#menu h3{
		padding-top: 60px;
	}
}
div#main_content div#content div#left_content div#content3 div#menu h4{
	margin: 0;
	padding: 0;
	padding-left: 25px;
	padding-right: 25px;
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 10px;
	font-size: 1.4rem;
	font-weight: bold;
}
div#main_content div#content div#left_content div#content3 div#menu p{
	padding-left: 25px;
	padding-right: 25px;
	margin-left: 0;
	margin-right: 0;
	font-size: 1.0rem;
}

/*
div#main_content div#content div#left_content div#book_area{
	background-image: url("../images/content_bg_pc_2x.png");
	background-size: cover;
	background-color: #000;
	height: 22.2vh;
	display: flex;
	justify-content: center;
	align-items: center;
}
div#main_content div#content div#left_content div#book_area a{
	display: block;
	width: 285px;
	height: 80px;
	border-radius: 40px;
	background-color: #FFF;
	text-align: center;
	line-height: 80px;
	color: #000;
	text-decoration: none;
	font-size: 30px;
	font-family: "Lato", sans-serif;
}
*/


/* フッター */
div#main_content div#content div#left_content div#footer_area{
	background-color: #000;
	height: 430px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-top: 95px;
	box-sizing: border-box;
	padding-left: 50px;
	padding-right: 50px;
}
div#main_content div#content div#left_content div#footer_area div.copyright{
	text-align: left;
	color: #FFF;
	font-family: "EB Garamond", serif;
	font-size: 10px;
	line-height: 30px;
	padding-top: 25px;
}
div#main_content div#content div#left_content div#footer_area nav ul{
	margin: 0;
	padding: 0;
	padding-top: 250px;
	text-align: right;
}
div#main_content div#content div#left_content div#footer_area nav ul li{
	list-style-type: none;
	display: inline-block;
	margin-left: 1em;
}
div#main_content div#content div#left_content div#footer_area nav ul li a{
	color: #FFF;
	text-decoration: none;
}
div#main_content div#content div#left_content div#footer_area nav ul li a:first-of-type{
	text-decoration: underline;
	font-size: 1.0rem;
	font-family: "Lato", sans-serif;
	font-weight: bold;
}
@media screen and (max-width:640px) {
	div#main_content div#content div#left_content div#footer_area{
		height: 480px;
		display: flex;
		flex-wrap: wrap;
		padding-top: 35px;
		text-align: left;
		box-sizing: border-box;
		padding-left: 0;
		padding-right: 0;
	}
	div#main_content div#content div#left_content div#footer_area div{
		width: 40%;
		margin: 0;
		padding: 0;
	}
	div#main_content div#content div#left_content div#footer_area nav{
		width: 60%;
		margin: 0;
		padding: 0;
	}
	div#main_content div#content div#left_content div#footer_area div img{
		display: inline-block;
		margin-left: 20px;
		margin-top: 90px;
		width: 30vw;
		height: auto;
	}
	div#main_content div#content div#left_content div#footer_area nav ul{
		padding-top: 250px;
		text-align: right;
		padding-right: 20px;
	}
	div#main_content div#content div#left_content div#footer_area div.copyright{
		width: 100%;
		text-align: left;
		color: #FFF;
		font-family: "EB Garamond", serif;
		font-size: 10px;
		line-height: 30px;
		padding-top: 5px;
		padding-left: 20px;
	}
	div#main_content div#content div#left_content div#footer_area nav ul li:last-of-type{
		padding-top: 20px;
	}
	
}

/* 右コンテンツ */
div#main_content div#content div#right_content{
	width: 50%;
	min-height: 100vh;
	position: fixed;
	top: 0;
	right: 0;
}
div#main_content div#content div#image_boxes{
	overflow-x: scroll;
}
div#main_content div#content div#image_boxes div.image_box{
	display: inline-block;
	width: 50vw;
	height: 100vh;
	background-size: cover;
	background-position: center center;
	
}
div#main_content div#content div#image_boxes div.image_box img{
	width: 100%;
	height: 100vh;
	object-fit: cover;
}
div#main_content div#content div#right_content div#add_button{
	position: absolute;
	top:auto;
	bottom: 60px;
	width: 100%;
	text-align: center;
}
div#main_content div#content div#right_content div#add_button a{
	display: inline;
}

div#main_content div#content div#right_content div#add_button a img{
	max-width: 100%;
}
@media screen and (max-width:640px) {
	div#main_content div#content div#right_content div#add_button{
		position: absolute;
		top:120px;
		bottom: auto;
		bottom: 100px;
		width: 100%;
		text-align: center;
	}
	div#main_content div#content div#right_content div#add_button a img{
		max-width: 70%;
	}
}

/*
div#main_content div#content div#image_boxes div.image_box:nth-of-type(12),
div#main_content div#content div#image_boxes div.image_box:nth-of-type(2){
	background-image: url("../images/right01_2x.png");
}
div#main_content div#content div#image_boxes div.image_box:nth-of-type(13),
div#main_content div#content div#image_boxes div.image_box:nth-of-type(3){
	background-image: url("../images/right02_2x.png");
}
div#main_content div#content div#image_boxes div.image_box:nth-of-type(14),
div#main_content div#content div#image_boxes div.image_box:nth-of-type(4){
	background-image: url("../images/right03_2x.png");
}
div#main_content div#content div#image_boxes div.image_box:nth-of-type(15),
div#main_content div#content div#image_boxes div.image_box:nth-of-type(5){
	background-image: url("../images/right04_2x.png");
}
div#main_content div#content div#image_boxes div.image_box:nth-of-type(16),
div#main_content div#content div#image_boxes div.image_box:nth-of-type(6){
	background-image: url("../images/right05_2x.png");
}
div#main_content div#content div#image_boxes div.image_box:nth-of-type(17),
div#main_content div#content div#image_boxes div.image_box:nth-of-type(7){
	background-image: url("../images/right06_2x.png");
}
div#main_content div#content div#image_boxes div.image_box:nth-of-type(18),
div#main_content div#content div#image_boxes div.image_box:nth-of-type(8){
	background-image: url("../images/right07_2x.png");
}
div#main_content div#content div#image_boxes div.image_box:nth-of-type(19),
div#main_content div#content div#image_boxes div.image_box:nth-of-type(9){
	background-image: url("../images/right08_2x.png");
}
div#main_content div#content div#image_boxes div.image_box:nth-of-type(20),
div#main_content div#content div#image_boxes div.image_box:nth-of-type(10){
	background-image: url("../images/right09_2x.png");
}
div#main_content div#content div#image_boxes div.image_box:nth-of-type(21),
div#main_content div#content div#image_boxes div.image_box:nth-of-type(11){
	background-image: url("../images/right10_2x.png");
}
div#main_content div#content div#image_boxes div.image_box:nth-of-type(22),
div#main_content div#content div#image_boxes div.image_box:nth-of-type(1){
	background-image: url("../images/right11_2x.png");
}
*/
div#main_content div#content .bx-wrapper {
    background-color: transparent;
    margin: 0px auto;
    border: none;
    box-shadow: none;
	margin-bottom: 0px;
}
div#main_content div#content .bx-wrapper img {
    display: block;
    margin: 0px auto;
}
/*
div#main_content div#content .bx-wrapper .bx-prev,
div#main_content div#content .bx-wrapper .bx-next {
    background: none;
	text-indent: 0;
}
*/
div#main_content div#content .bx-wrapper .bx-controls-direction a {
    z-index: 100;
	color: #CCC;
	font-size: 32px;
	text-decoration: none;
	display: inline-block;
	height: 40px;
	line-height: 40px;
}
div#slider_nav{
}
p#previcon {
	display:block;
	width:21px;
	height:38px;
	position:absolute;
	background: url("../images/arrow_left.png") left center no-repeat;
	color:#fff;
	top:50vh;
	left:20px;
	text-indent:-9999px;
	cursor: pointer;
}
p#nexticon {
	display:block;
	width:21px;
	height:38px;
	position:absolute;
	background: url("../images/arrow_right.png") left center no-repeat;
	color:#fff;
	top:50vh;
	right:20px;
	text-indent:-9999px;
	cursor: pointer;
}
p#previcon .bx-prev {
	width: 100%;
	height: 38px;
	display: block;
}
p#nexticon .bx-next {
	width: 100%;
	height: 38px;
	display: block;
}
@media screen and (max-width:640px) {
	div#main_content div#content div#right_content{
		position: relative;
	}
	div#main_content div#content div#right_content > img{
		display: block;
		width: 80vw;
		height: auto;
		position: absolute;
		bottom:14vh;
		right: 0;
		left: 0;
		z-index: 10;
		margin: 0;
		margin-left: auto;
		margin-right: auto;
	}
	div#main_content div#content div#right_content>a{
		display: block;
		position: absolute;
		bottom:10px;
		right: 0;
		left: 0;
		z-index: 10;
		margin: 0;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
		text-decoration: none;
		color: #FFF;
	}

	.mainVisual-scroll {
	  position: absolute;
	  right: 100px;
	  bottom: 0;
	  transform: rotate(90deg);
	  transform-origin: right bottom;
	}
	.mainVisual-scroll a {
	  display: block;
	  width: 90px;
	  position: relative;
	  overflow: hidden;
	  color: #FFF;
	  text-decoration: none;
	  font-family: "Lato", sans-serif;
	  font-size: 14px;
		transform: rotate(-90deg);
		border-style: solid;
		border-color: #FFF;
		border-width: 1px;
		text-align: center;
		font-weight: bold;
		height: 24px;
		line-height: 21px;
		border-radius: 12px;
		margin-right: 27px;
	}
	.mainVisual-scroll::before,
	.mainVisual-scroll::after {
	  content: "";
	  display: block;
	  width: 60px;
	  height: 1px;
	  position: absolute;
	  right: 0;
	  top: 50%;
	  transform-origin: left;
	  background-color: rgba(255, 255, 255, 0.5);
	}
	.mainVisual-scroll::before{
	  background-color: rgba(255, 255, 255, 0.1);
	}
	.mainVisual-scroll::after {
	  transform: scaleX(0);
	  animation: anim-mainVisualScroll 2.5s cubic-bezier(0.65, 0, 0.35, 1) infinite;
	}
}
@keyframes anim-mainVisualScroll {

  0% {
    transform: scaleX(0)
  }
  35% {
    transform: scaleX(1);
    transform-origin: left
  }
  40% {
    transform-origin: right
  }
  50% {
    transform: scaleX(1)
  }
  85% {
    transform: scaleX(0);
    transform-origin: right
  }
  100% {
    transform-origin: left
  }
}
/*
*	=================SP用=================
*/

@media screen and (max-width:640px) {

	/* ヘッダ */
	div#main_content div#content div#header_content{
		width: 100%;
		position: fixed;
		top:0;
		left: 0;
		background-color: rgba(0,0,0,0.70);
		height: 100px;
		z-index: 100;

		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	div#main_content div#content div#header_content ul{
		display: none;
		
		list-style-type: none;
		padding: 0;
		margin: 0;
		font-family: "Lato", sans-serif;
		font-weight: bold;
		font-size: 17px;
		line-height: 100px;
		padding-left: 50px;
	}
	
	/* 左コンテンツ */
	div#main_content div#content div#left_content{
		width: 100vw;
		position: relative;
		top:100vh;
		left: 0;
	}
	div#main_content div#content div#left_content div.content div.content_box{
		margin: 15px;
	}
	
	div#main_content div#content div#left_content div.content h2::after{
		display: block;
		width: 120%;
		content: "";
		border-bottom-width: 1px;
		border-bottom-color: #333;
		border-bottom-style: solid;
		transform:rotate(-20deg);
		transform-origin: 80px 30px;
	}
	div#main_content div#content div#left_content div#content5 h2::after{
		border-bottom-color: #FFF;
	}
	
	div#main_content div#content div#left_content div.content div.content_box h3{
		margin: 0;
		padding: 0;
		padding-bottom: 10px;
		margin-top: 0;
		margin-left: 15px;
		margin-right: 15px;
	}
	div#main_content div#content div#left_content div.content div.content_box h3:first-of-type{
		margin-top: 15px;
	}
	div#main_content div#content div#left_content div.content div.content_box p{
		margin: 0;
		padding: 0;
		text-align: left;
		padding-bottom: 10px;
		margin-left: 15px;
		margin-right: 15px;
	}

	/* メニュー */
	div#main_content div#content div#left_content div#content3 div#menu{
		margin-left: 15px;
		margin-right: 15px;
		margin-bottom: 20px;
		padding-bottom: 40px;
	}

	/* 右コンテンツ */
	div#main_content div#content div#right_content{
		width: 100vw;
		height: 100vh;
		position: absolute;
		top: 0;
		left: 0;
	}
	div#main_content div#content div#image_boxes{
		overflow-x: scroll;
	}
	div#main_content div#content div#image_boxes div.image_box{
		display: inline-block;
		width: 100vw;
		height: 100vh;
	}
}





/*
div#main_content div#sp_content{
	background-color: #000;
}
div#main_content div#sp_content div#top_content{
	background-image: url("../images/bg_sp_2x.png");
	background-size: contain;
	background-position: center center;
	width: 100%;
	height: 117.96875vw;
}
div#main_content div#sp_content div#top_content img{
	display: block;
	width: 76.5vw;
	height: auto;
	position: absolute;
	right: 0;
	left: 0;
	margin-left: auto;
	margin-right: auto;
	top: 74vw;
}
div#main_content div#sp_content div#bottom_content{
	text-align: center;
}
div#main_content div#sp_content div#bottom_content>a{
	display: block;
	width: 70%;
	max-width: 380px;
	height: 60px;
	border-radius: 60px;
	background-color: #FFF;
	text-align: center;
	line-height: 60px;
	color: #000;
	text-decoration: none;
	font-size: 26px;
	font-family: "Lato", sans-serif;
	margin-top: 135px;
	margin-bottom: 85px;
	margin-left: auto;
	margin-right: auto;
}
div#main_content div#sp_content div#bottom_content nav{
	padding-top: 0px;
	padding-bottom: 20px;
}
div#main_content div#sp_content div#bottom_content nav ul{
	margin: 0;
	padding: 0;
	text-align: center;
}
div#main_content div#sp_content div#bottom_content nav ul li{
	list-style-type: none;
	display: inline-block;
	margin-left: 0.5em;
	margin-right: 0.5em;
}
div#main_content div#sp_content div#bottom_content nav ul li a{
	color: #FFF;
	text-decoration: none;
}
div#main_content div#sp_content div#bottom_content div.copyright{
	text-align: center;
	color: #FFF;
	font-family: "EB Garamond", serif;
	font-size: 10px;
	line-height: 70px;
}
*/