@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600&family=Noto+Sans+JP:wght@300;500&display=swap');


body {
	/*font-feature-settings: "palt" 1;*/
	line-height: 1.6em;
	letter-spacing: 0;
	overflow-x: hidden
	-webkit-text-size-adjust: 100%;
}

html { font-size: 62.5%; }
body { font-size: 13px; font-size: 1.3rem; background-color: #f3f0e7;}

.en {
	font-family: "Barlow Condensed", serif;
	font-weight: 600;
	font-style: normal;
	line-height: 1.2em;
}

.jpn {
	font-family: "Noto Sans JP", serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
}

.jpn.bld {
	font-weight: 500;
}

::selection {
	color: #f3f0e7;
	background-color: #000;
}

a {
	color: #000;
	text-decoration: underline;
}

a:hover {
	text-decoration: none;
}

img {
	max-width: 100%;
}

header {
	z-index: 1000;
	max-width: 798px;
	margin: 140px auto -80px;
	position: relative; /* 他の要素より前面に表示するために必要 */
}

h1 {
	transition: opacity 0.3s ease-in-out;
	opacity: 1;
	position: relative;
	z-index: 1010; /* 他の要素より前面に表示 */
}

h1 img {
	position: relative;
	z-index: 1020; /* `h1` よりもさらに前面に */
}

.chapter {
		display: flex;
		width: 100%;
		align-items: center;
}

.chapter .img_area {
		width: 50%;
		display: flex;
		justify-content: center;
		align-items: center; /* 画像を中央配置 */
}

.chapter .img_area img {
		width: 100%; /* 横幅50%のdivにフィット */
		height: auto; /* 画像の比率を保持 */
		object-fit: cover; /* コンテナいっぱいに表示 */
}

.chapter .txt_area {
		flex: 1;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 10%;
}

.chapter .tate {
		writing-mode: vertical-rl;
		text-align: justify;
		height: 211px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		margin-bottom: 38px;
}

.chapter .tate.last {
		height: 150px;
}

.chapter .txt_area h2 {
	font-size: 14px;
	font-size: 1.4rem;
	margin-left: 2rem;
}

.chapter .txt_area .en p {
	width: 340px;
	margin: 0 auto 1em;
}

.chapter .txt_area .en.last p {
	width: 270px;
}

.chapter .txt_area .jpn p.sml {
	font-size: 10px;
	font-size: 1.0rem;
	margin-right: 1em;
}

.chapter .company {
	text-align: center;
	margin-top: 2em!important;
	line-height: 1.4em;
}

.photo {
	padding: 10%;
	display: flex;
}

.photo div {
	flex: 1;
}

/* slide */
.slider {
	margin-top: 90px;
	/*チラ付き対策*/
	transform: translateZ(0);
	backface-visibility: hidden;
	will-change: transform;
}

.slider div img {
	width: 435px;
	height: auto;
}

/* slide2 */
.swiper-container {
	margin-top: 90px;
	/*チラ付き対策*/
	transform: translateZ(0);
	backface-visibility: hidden;
	will-change: transform;
}

.swiper-container div img {
	width: 435px;
	height: auto;
}

.w435 {
	 width: 435px;
	 margin: 16px auto 0;
}

.size {
	text-align: center;
	margin: 60px auto;
}

.spec {
	position: relative;
}

.spec p {
	margin-bottom: 1em;
}

.spec p.mrg20 {
	margin-bottom: 2em;
}

.spec p.mrg30 {
	margin-bottom: 3.2em;
}

.spec .cholder {
	position: absolute;
	top: 0;
	right: -45px;
}

.spec p.btn {
	text-align: center;
	margin: 90px auto;
}

.chapter p.inyo {
	text-indent: -.6em;
}

footer {
	padding-inline: 3%;
	margin-bottom: 140px;
}

footer h2 {
	max-width: 798px;
	margin: 0 auto;
}

.pc {
	display: flex!important;
}

.tbl {
	display: none!important;
}

.sp {
	display: none!important;
}


@media (max-width: 1000px) {
	.tbl {
			display: block!important;
	}

	header {
		padding-inline: 3%;
		margin: 40px auto -40px;
	}

	h1 {
		max-width: 798px;
		width: 100%;
		margin-inline: auto;
	}

	h1 img {
		width: 100%!important;
	}

	.chapter .txt_area .en p {
		width: 100%;
		margin: 0 auto 1em;
	}

	.
}

@media (max-width: 768px) {

	.pc {
		display: none!important;
	}

	.tbl {
		display: none!important;
	}

	.sp {
		display: block!important;
	}

	html, body {
		overflow-x: hidden;
	}

	header {
		height: auto;
		margin: 0 auto -80px;
	}

	h1 img {
		position: relative;
		top: 7.8vw;
		padding-inline: 6%;
	}

	main {
		width: 100%;
	}

	.chapter {
			flex-direction: column;
	}

	.chapter.second {
			flex-direction: column-reverse;
	}

	.chapter .img_area {
			width: 100%;
	}

.chapter .img_area img {
		width: 100%; /* 横幅50%のdivにフィット */
		height: auto; /* 画像の比率を保持 */
		object-fit: cover; /* コンテナいっぱいに表示 */
}

	.chapter .txt_area {
		padding: 10% 3%;
	}

.chapter .tate {
		writing-mode: vertical-rl;
		text-align: justify;
		height: 211px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		margin-bottom: 38px;
}

	.chapter .tate.last {
			height: 150px;
	}

.chapter .txt_area h2 {
	font-size: 14px;
	font-size: 1.4rem;
	margin-left: 2rem;
}

	.chapter .txt_area .en p {
		width: 100%;
		margin: 0 auto 1em;
		text-align: justify;
	}

	.chapter .txt_area .en p.nomrg {
		margin-bottom: 0;
	}

	.chapter .txt_area .en.last p {
		width: 270px;
	}

.chapter .txt_area .jpn p.sml {
	font-size: 10px;
	font-size: 1.0rem;
	margin-right: 1em;
}

	.chapter .company {
		text-align: center!important;
	}

	.photo {
		padding: 0 3%;
		flex-direction: column;
	}

	.photo div {
		padding-bottom: 3%;
	}

	/* slide */
	.slider {
		margin-top: 3%;
	}

	.slider div img {
		width: 100vw!important;
		height: auto;
		padding-inline: 1.5%;
	}

	/* slide2 */
	.swiper-container {
		margin-top: 2.8%;
	}

	.swiper-container div img {
		width: 100vw!important;
		height: auto;
		padding-inline: 1.5%;
	}

	.w435 {
		 width: 100%;
		 margin: 3% auto 0;
		 padding-inline: 3%;
	}

.size {
	text-align: center;
	margin: 60px auto;
}

.spec {
	position: relative;
}

.spec p {
	margin-bottom: 1em;
}

	.spec span.sp_mrg {
		margin-left: 1em;
	}

	.spec .cholder {
		right: 3%;
	}

	.spec .cholder img {
		width: 130px;
	}

	.spec p.btn {
		margin: 30px auto;
	}

	footer {
		padding-inline: 6%;
		margin-bottom: 40px;
	}

footer h2 {
	max-width: 798px;
	margin: 0 auto;
}

}