@charset "UTF-8";

#menu .mainvisual{
	position: relative;
	z-index: 2;
	width:100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

#menu .mainvisual figure{
	width:100%;
	height: 100dvh;
	position: relative;
}

#menu .mainvisual figure::after{
	content: "";
	width:100%;
	height: 100dvh;
	display: block;
	position: absolute;
	top:0;
	left:0;
	background: linear-gradient(0deg, rgba(28,24,24,1) 0%, rgba(28,24,24,0) 51%);
}

#menu .mainvisual .innerbox{
	padding:0 min(8vw,100px);
	position: absolute;
	top:0;
	left:0;
	height: 100dvh;
	width:100%;
	display: flex;
	align-items: center;
}

#menu .mainvisual h1{
	color:#e2d8c9;
	border-left:5px solid #e2d8c9;
	padding:0 0 0 25px;
	display: flex;
	flex-direction: column;
	font-size: 2.6em;
	letter-spacing: 0.1em;
	position: relative;
	margin:0 0 120px 0;
}

#menu .mainvisual h1::after{
	content: "";
	height:100%;
	border-left:1px solid #e2d8c9;
	position: absolute;
	top:0;
	left:2px;
}

#menu .mainvisual h1 span{
	font-size: 0.4em;
	letter-spacing: 0.4em;
	margin:0.3em 0 1.8em 0;
	display: block;
}

#menu .mainvisual p{
	font-size: 2em;
	line-height: 2.2em;
	letter-spacing: 0.1em;
	color:#fff;
}

#menu .w100_cont{
	width:100%;
	margin:85px 0 0 0;
	padding-top:65px;
	position: relative;
}

#menu .w100_cont .tlbox{
	padding:0 min(8vw,100px); 
	position: absolute;
	top:0;
	left:0;
	width:100%;
	display: flex;
	flex-direction: row-reverse;
	z-index: 2;
}

#menu .w100_cont .tlbox.left{
	padding:0 min(8vw,100px); 
	position: absolute;
	top:0;
	left:0;
	width:100%;
	display: flex;
	flex-direction: row;
}

#menu .w100_cont .tlbox h2{
	font-size: 3.8em;
	letter-spacing: 0.1em;
	line-height: 1.57em;
	color:#e2d8c9;
	margin:0 0 0 0;
	writing-mode: vertical-rl;
}

#menu .w100_cont figure{
	position: relative;
	z-index: 1;
}

#menu .w100_cont figure figcaption{
	font-size: 1.6rem;
	color:#fff;
	position: absolute;
	bottom:40px;
	left:min(8vw,100px);
}

#menu .w100_cont figure figcaption.right{
	font-size: 1.6rem;
	color:#fff;
	position: absolute;
	bottom:40px;
	right:min(8vw,100px);
	left: auto;
}

#menu .flex_cont{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding:min(12vw,150px) min(8vw,100px);
		
}

#menu .flex_cont .txbox{
	width:calc(50% - min(6vw,70px));
	order:-1;	
}

#menu .flex_cont .txbox.left{
	width:calc(50% - min(6vw,70px));
	order:1;	
}

#menu .flex_cont .txbox h2{
	font-size: 2.6em;
	letter-spacing: 0.1em;
	line-height: 1.57em;
	color:#e2d8c9;
	margin:0 0 40px 0;
}

#menu .flex_cont.w100{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding:min(12vw,150px) 0 0;
}

#menu .flex_cont.w100 .txbox{
	width:calc(50% - min(6vw,70px));
	padding:0 0 0 min(8vw,100px);
	order:-1;	
}

#menu .flex_cont.w100 .txbox.left{
	width:calc(50% - min(6vw,70px));
	padding:0 min(8vw,100px) 0 0;
	order:1;	
}

#menu .flex_cont.w100 .txbox h2{
	font-size: 3.8em;
	letter-spacing: 0.1em;
	line-height: 1.57em;
	color:#e2d8c9;
	margin:0 0 50px 0;
}

#menu .flex_cont.w100 .txbox h3{
	font-size: 2.6em;
	letter-spacing: 0.1em;
	line-height: 1.57em;
	color:#e2d8c9;
	margin:0 0 40px 0;
}

#menu .flex_cont .txbox .tx{
	font-size: 1.4em;
	letter-spacing: 0.1em;
	line-height: 2.2em;
	color:#fff;
	margin:0 0 0 0;
}

#menu .flex_cont figure{
	position: relative;
	width:50%;
}

#menu .flex_cont figure figcaption{
	font-size: 1.6rem;
	color:#fff;
	position: absolute;
	bottom:20px;
	right:20px;
	left: auto;
}

#menu .bottom_btnbox{
	padding:180px min(12.5vw, 150px) 50px;
	background:#1c1818;
	display: flex;
	justify-content: center;
	align-items: center;
}

#menu .bottom_btnbox .innerbox{
	display: flex;
	flex-direction: column;
	width:100%;
}

#menu .bottom_btnbox h3{
	font-size: 2.6rem;
	line-height: 1.57em;
	letter-spacing: 0.1em;
	text-align: center;
	color:#e2d8c9;
	margin:0 0 40px 0;
}

#menu .bottom_btnbox .link_area {
  display: flex;
  justify-content: space-between;
  margin: 0 0 0 0;
  width: 100%;
}

#menu .bottom_btnbox .link_area a{
  width: calc((100% - 20px) / 2);
	position: relative;
}

#menu .bottom_btnbox .link_area a .inbox{
  padding:30px 0;
}

#menu .bottom_btnbox .link_area a .inbox::after{
  content: "";
	width:30px;
	height: 18px;
	background:url("/images/pdf_icon.svg") no-repeat;
	background-size: contain;
	position: absolute;
	bottom:10px;
	right: 10px;
}

#menu .bottom_btnbox .link_area a .tl{
  font-size: 2rem;
}

#menu .bottom_btnbox .link_area a .sub{
  font-size: 1rem;
}

@media screen and (max-width:750px) {
	
#menu .mainvisual{
	position: relative;
	z-index: 2;
	width:100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

#menu .mainvisual figure{
	width:100%;
	height: 100dvh;
	position: relative;
}

#menu .mainvisual figure::after{
	content: "";
	width:100%;
	height: 100dvh;
	display: block;
	position: absolute;
	top:0;
	left:0;
	background: linear-gradient(0deg, rgba(28,24,24,1) 0%, rgba(28,24,24,0) 51%);
}

#menu .mainvisual .innerbox{
	padding:0 5%;
	position: absolute;
	top:0;
	left:0;
	height: 100dvh;
	width:100%;
	display: flex;
	align-items: center;
}

#menu .mainvisual h1{
	color:#e2d8c9;
	border-left:3px solid #e2d8c9;
	padding:0 0 0 15px;
	display: flex;
	flex-direction: column;
	font-size: 2em;
	letter-spacing: 0.1em;
	line-height: 1.57em;
	position: relative;
	margin:0 0 30px 0;
}

#menu .mainvisual h1::after{
	content: "";
	height:100%;
	border-left:1px solid #e2d8c9;
	position: absolute;
	top:0;
	left:2px;
}

#menu .mainvisual h1 span{
	font-size: 0.4em;
	letter-spacing: 0.4em;
	line-height: 1;
	margin:0 0 10px 0;
	display: block;
}

#menu .mainvisual p{
	font-size: 1.3em;
	line-height: 1.8em;
	letter-spacing: 0.1em;
	color:#fff;
}
	
#menu .w100_cont{
	width:100%;
	margin-top:55px;
	padding-top:45px;
	position: relative;
}

#menu .w100_cont .tlbox{
	padding:0 min(8vw,100px); 
	position: absolute;
	top:0;
	left:0;
	width:100%;
	display: flex;
	flex-direction: row-reverse;
}
	
#menu .w100_cont .tlbox h2{
	font-size: 2.6em;
	letter-spacing: 0.1em;
	line-height: 1.57em;
	color:#e2d8c9;
	margin:0 0 0 0;
	writing-mode: vertical-rl;
}
	
#menu .w100_cont figure{
	aspect-ratio: 1 / 1;
}
	
#menu .w100_cont figure img{
	object-fit: cover;
	width:100%;
	height: 100%;
}
	
#menu .w100_cont figure{
	position: relative;
	z-index: 1;
}

#menu .w100_cont figure figcaption{
	font-size: 1.3rem;
	color:#fff;
	position: absolute;
	bottom:20px;
	left:5vw;
}

#menu .w100_cont figure figcaption.right{
	font-size: 1.3rem;
	color:#fff;
	position: absolute;
	bottom:20px;
	right:5vw;
	left: auto;
}
	
#menu .flex_cont{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: column;
	padding:min(12vw,150px) 5vw;
		
}

#menu .flex_cont .txbox{
	width:100%;
	margin:40px auto 0;
	order:1;
}
	
#menu .flex_cont .txbox.left{
	width:90%;
	margin:40px auto 0;
	order:1;
}

#menu .flex_cont .txbox .subtl{
	font-size: 0.8em;
	letter-spacing: 0.4em;
	color:#e2d8c9;
	margin:0 0 10px 0;
}

#menu .flex_cont .txbox h2{
	font-size: 2em;
	letter-spacing: 0.1em;
	line-height: 1.57em;
	color:#e2d8c9;
	margin:0 0 20px 0;
}

#menu .flex_cont .txbox .tx{
	font-size: 1.3em;
	letter-spacing: 0.1em;
	line-height: 2.2em;
	color:#fff;
	margin:0 0 0 0;
}
	
#menu .flex_cont.w100{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding:min(12vw,150px) 0 0;
}

#menu .flex_cont.w100 .txbox{
	width:100%;
	padding:0 5vw 5vw;
	order:1;	
}

#menu .flex_cont.w100 .txbox.left{
	width:100%;
	padding:0 5vw 5vw;
	order:1;	
}

#menu .flex_cont.w100 .txbox h2{
	font-size: 2.4em;
	letter-spacing: 0.1em;
	line-height: 1.57em;
	color:#e2d8c9;
	margin:0 0 25px 0;
}

#menu .flex_cont.w100 .txbox h3{
	font-size: 2em;
	letter-spacing: 0.1em;
	line-height: 1.57em;
	color:#e2d8c9;
	margin:0 0 20px 0;
}

#menu .flex_cont figure{
	position: relative;
	width:100%;
}
	

#menu .flex_cont figure figcaption{
	font-size: 1.3rem;
	color:#fff;
	position: absolute;
	bottom:15px;
	right:15px;
	left: auto;
}

	
#menu .bottom_btnbox{
	padding:100px 5vw 0;
	background:#1c1818;
	display: flex;
	justify-content: center;
	align-items: center;
}

#menu .bottom_btnbox .innerbox{
	display: flex;
	flex-direction: column;
	width:100%;
}

#menu .bottom_btnbox h3{
	font-size: 2rem;
	line-height: 1.57em;
	letter-spacing: 0.1em;
	text-align: center;
	color:#e2d8c9;
	margin:0 0 30px 0;
}

#menu .bottom_btnbox .link_area {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  margin: 0 0 0 0;
  width: 100%;
}

#menu .bottom_btnbox .link_area a{
  width: 100%;
	position: relative;
	margin-bottom: 40px;
}
	
#menu .bottom_btnbox .link_area a:last-child{
  margin-bottom: 0;
}

#menu .bottom_btnbox .link_area a .inbox{
  padding:20px 0;
}

#menu .bottom_btnbox .link_area a .inbox::after{
  content: "";
	width:25px;
	height: 15px;
	background:url("/images/pdf_icon.svg") no-repeat;
	background-size: contain;
	position: absolute;
	bottom:5px;
	right: 5px;
}

#menu .bottom_btnbox .link_area a .tl{
  font-size: 1.4rem;
}

#menu .bottom_btnbox .link_area a .sub{
  font-size: 0.8rem;
}
}
