@charset "utf-8";
body {
		background: #DCDDDD;
}
.kv {
		height: 1050px;
}
.kv_inner {
		max-width: 1140px;
		margin: 0 auto;
		position: relative;
		padding-top: 25px;
}
.kv_inner img {
		width: 100%;
		height: auto;
}
.kv_bg {
		position: relative;
		width: 700px;
		left: -130px;
}
.kv_bg div:not(.kv_cake) {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
}
.kv_bg div.kv_ingen {
		width: 705px;
}
.kv_bg div.kv_line {
		width: 1500px;
		top: -68px;
		left: -320px;
		pointer-events: none;
}
.kv_inner .kv_catch_gr {
		position: absolute;
		right: 0;
		top: 110px;
		width: 385px;
}
.kv_catch_gr div {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
}
.main_inner {
		width: 1140px;
		margin: 0 auto;
		position: relative;
}
@media(max-width: 1150px) {
		.main_inner {
				width: auto;
		}
}
.main_inner div.kv_line {
		width: 1500px;
		position: absolute;
		top: -1092px;
		left: -451px;
		pointer-events: none;
}
.kv_line img {
		width: 100%;
		height: auto;
}
@media(max-width: 1300px) {
		.kv_inner .kv_catch_gr {
				right: 40px;
		}
}
@media(max-width: 1140px) {
		.kv_inner {
				padding-top: 40px;
		}
		.kv {
				height: 850px;
		}
		.kv_inner .kv_catch_gr {
				right: 60px;
				top: 110px;
				width: 308px;
		}
		.kv_bg {
				width: 560px;
				left: -80px;
		}
		.kv_bg div.kv_ingen {
				width: 562px;
		}
		.kv_bg div.kv_line {
				width: 1200px;
				top: -50px;
				left: -262px;
		}
}
@media (min-width: 768px) and (max-width: 1140px) {
		.main_inner div.kv_line {
				display: none
		}
}
@media(max-width: 960px) {
		.kv_inner .kv_catch_gr {
				right: 30px;
		}
		.kv_bg {
				width: 560px;
				left: -100px;
		}
		.kv_bg div.kv_line {
				width: 1200px;
				top: -50px;
				left: -262px;
		}
}
@media(max-width: 767px) {
		.kv {
				height: 153vw;
		}
		.kv_inner {
				padding-top: 13vw;
		}
		.kv_inner .kv_catch_gr {
				right: 0;
				top: 13vw;
				width: 100%;
		}
		.kv_bg {
				width: 100%;
				left: 0;
		}
		.kv_bg div.kv_ingen {
				width: 100%;
		}
		.kv_bg div.kv_line {
				width: 100%;
				top: 0;
				left: 0;
		}
		.main_inner div.kv_line {
				width: 100%;
				top: -26vw;
				left: 0;
		}
}
/* ================ */
hgroup {
		display: flex;
		flex-direction: column-reverse;
		margin: 0 0 30px;
}
hgroup .en {
		font-family: "Jost", sans-serif;
		font-size: 24px;
		font-weight: 500;
		margin: 0 0 25px;
}
hgroup h2.jp {
		font-size: 32px;
		font-weight: 700;
		line-height: 1.4;
}
.jp .large {
		font-size: 130%;
}
.jp .small {
		font-size: 70%;
}
@media(max-width: 767px) {
		hgroup .en {
				font-size: 16px;
				margin: 0 0 10px;
		}
		hgroup h2.jp {
				font-size: 22px;
		}
}
/* ================ */
.introduction_inner {
		max-width: 1020px;
		margin: 0 auto;
		padding: 80px 40px 150px;
		position: relative;
		z-index: 5;
}
.introduction_inner .introduction_line {
		position: absolute;
		bottom: -550px;
		right: -270px;
		width: 545px;
		z-index: 0
}
.introduction_line img {
		width: 100%;
		height: auto;
}
.introduction_exhibition {
		display: flex;
		padding-bottom: 130px;
}
.introduction_exhibition_left {
		width: 420px;
}
.introduction_exhibition_right {
		flex: 1
}
.introduction_exhibition_right p, .introduction_about p {
		line-height: 2.2;
		margin: 0 0 1.5em;
		font-size: 18px;
}
.introduction_about {
		margin: 0 auto;
		padding-top: 80px;
		padding-bottom: 160px;
}
@media(max-width: 840px) {
		.introduction_line {
				display: none
		}
}
@media(max-width: 767px) {
		.introduction_inner {
				padding: 8vw 20px 40px;
		}
		.introduction_exhibition {
				display: block;
				padding-bottom: 180px;
		}
		.introduction_exhibition_left {
				width: auto;
				display: flex;
				justify-content: flex-end;
		}
		.introduction_exhibition_left hgroup {
				text-align: right;
		}
		.introduction_exhibition_right p, .introduction_about p {
				line-height: 1.8;
				margin: 0 0 1.5em;
				font-size: 15px;
		}
}
.exhibition_inner {
		margin-left: calc(calc(100vw - 1080px) / 2);
		position: relative;
		top: -220px;
		margin-bottom: -220px;
		z-index: 1;
		padding-bottom: 100px;
		border-bottom: 1px solid #fff;
}
.exhibition_figure {
		max-width: 1230px;
		margin-bottom: 110px;
}
.exhibition_figure img {
		width: 100%;
		height: auto;
		border-radius: 20px;
}
@media(max-width: 1200px) {
		.exhibition_inner {
				margin-left: 40px;
		}
		.exhibition_figure img {
				border-radius: 20px 0 0 20px;
		}
		.exhibition_figure {
				margin-bottom: 40px;
		}
}
@media(max-width: 767px) {
		.exhibition_inner {
				margin-left: 20px;
				top: -100px;
				margin-bottom: -100px;
				border-bottom: none;
				padding-bottom: 0;
				position: relative;
		}
		.exhibition_inner::before {
				content: '';
				display: block;
				position: absolute;
				top: -33vw;
				left: 0;
				width: 100%;
				height: 36.5vw;
				background-repeat: no-repeat;
				background-position: 0 0;
				background-size: 100%;
				background-image: url("../images/top_exhibition_line_sp.png")
		}
		.exhibition_figure {
				position: relative;
				z-index: 2
		}
		.exhibition_figure img {
				border-radius: 16px 0 0 16px;
		}
}
.exhibition_gr {
		display: flex;
}
.exhibition_gr_left {
		margin-right: 80px;
}
.exhibition_data {
		display: flex;
		margin: 0 0 1em;
		font-family: 'Roboto', "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.exhibition_data dt {
		line-height: 1.8;
		width: 4.5em;
		display: flex;
		justify-content: space-between;
		padding-right: 15px;
		margin-right: 15px;
		position: relative;
}
.exhibition_data dt ::after {
		content: '';
		display: block;
		position: absolute;
		top: 7px;
		right: 0;
		width: 1px;
		height: 1em;
		background: #fff;
}
.exhibition_data dd {
		flex: 1;
		line-height: 1.8;
}
.exhibition_data dd p:nth-child(2) {
		margin-top: 1em;
}
.exhibition_data dd p.googlemap {
		margin-top: 1em;
		font-family: 'Roboto', sans-serif;
		font-size: 90%;
}
p.googlemap a {
		color: #ddd;
		text-decoration: none;
		position: relative;
		display: inline-block;
		padding-left: 20px;
}
p.googlemap a span {
		display: inline-block;
		position: relative;
}
p.googlemap a span::after {
		content: '';
		display: block;
		position: absolute;
		bottom: 2px;
		left: -20px;
		width: calc(100% + 20px);
		height: 1px;
		background: #ddd;
		transition: opacity 0.2s;
}
.googlemap a::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 7px);
		left: 0px;
		width: 14px;
		height: 14px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 14px;
		background-image: url("../images/icon_blank_wht.svg")
}
@media (hover: hover) {
		p.googlemap a:hover span::after {
				opacity: 0;
		}
}
@media(max-width: 767px) {
		.exhibition_data dt {
				width: 4em;
		}
}
.product_inner {
		margin-left: calc(calc(100vw - 1080px) / 2);
}
@media(max-width: 1200px) {
		.product_inner {
				margin-left: 40px;
		}
}
hgroup.products .en {
		font-size: 66px;
		font-weight: 400;
		margin: 0 0 15px;
}
hgroup.products .jp {
		font-size: 16px;
		font-weight: 500;
}
@media(max-width: 960px) {
		hgroup.products .en {
				font-size: 52px;
		}
}
@media(max-width: 840px) {
		.introduction_exhibition {
				padding-bottom: 0;
		}
		.exhibition_gr {
				display: block;
		}
		.introduction_exhibition {
				display: block;
				padding-bottom: 0;
		}
}
@media(max-width:767px) {
		.product_inner {
				margin-left: 20px;
		}
		hgroup.products .en {
				font-size: 36px;
				margin: 0 0 10px;
		}
		hgroup.products .jp {
				font-size: 16px;
		}
		.exhibition_data {
				margin: 0 0 1.25em;
		}
		.exhibition_data dd p.googlemap {
				margin-top: 0em;
		}
}