@charset "shift_jis";
/* CSS Document */

:root {
	--color-bg: #e7dccf; /* コンセプトセクションの淡いベージュ */
	--color-text: #4e433a;
	--color-mute: #7a6d61;
	--color-cta: #5b4a3d;
	--color-cta-text: #ffffff;
	--color-footer: #5a0f16; /* ボルドー */
  }

  html, body {
	margin: 0;
	padding: 0;
	font-family: "Noto Serif JP", serif;
	color: var(--color-text);
	background: var(--color-bg);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
  }

  .hero {
	position: relative;
	min-height: 100svh;
	min-height: 100vh;
	background: #2e2e2e; /* プレースホルダ */
	display: grid;
	place-items: center;
	overflow: hidden;
  }

  .hero-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transform: scale(1.02);
	transition: opacity .6s ease, transform .8s ease;
	z-index: 0;

  }
  .hero-bg.is-loaded { opacity: 0.6; transform: none; }

  .hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(255,255,255,0) 60%, rgba(231,220,207,1) 100%);
	pointer-events: none;
  }

  .logo {
	width: clamp(440px, 22vw, 420px);
	height: auto;
  }

img {
	border: 0px;
}

p,h2,h3,h4 {
	margin:0px;
	padding: 0px;
}
ul{
	margin:0px;
	padding: 0px;
}
li {
	margin:0px;
	padding: 0px;
	list-style:none;
}

a{
	text-decoration:none;
}
.entrance {
	display:flex;
	flex-direction: column;
	justify-content:center;
	align-items: center;
    height: auto;
	margin:0 auto;
	z-index: 999;
}
.entrance .logo{ width: 540px; height: auto; margin: 100px auto 80px; }
.entrance .enter_btn{ width: 500px; height: auto; }
.entrance .r18_logo{ width: 540px; height: auto; }
.entrance p{
	margin: 0.5rem 0;
	font-size:0.9rem;
	color:#f3f3f3;
	letter-spacing: 0.2rem;
}
.entrance a {
	text-align: center;
	color:#ffffff;
}
.entrance .foreigners_box{
	display: flex;
	justify-content: space-between;
	width: 500px;
	margin: 3rem auto 2rem;
}
.entrance .foreigners_box .for_foreigners{
	width: 50%;
	text-align: center;
}
.entrance .foreigners_box .for_foreigners img{
	width: 200px;
	clip-path: inset(10px 0 10px 0);
}
.entrance .foreigners_box .for_outcalls{
	width: 50%;
	text-align: center;
}
.entrance .foreigners_box .for_outcalls img{
	width: 200px;
	clip-path: inset(10px 0 10px 0);
}
  .footer {
	background: var(--color-footer);
	color: #fff;
	text-align: center;
	font-size:0.8rem;
	padding: 1rem 0;
  }

.bn_wrap{
	width:940px;
	margin:0 auto;
	font-size:12px;
	line-height:1.6;
	padding-top:85px;
	display: flex;
	flex-wrap: wrap;
}
.bn_wrap a:link{
	color:#7d7d7d;
}
.bn_wrap a:visited{
	color:#707070;
}

.bn{
	width:50%;
	padding-bottom:20px;
	font-size:14px;
	text-align: center;
}
.bn img{
	width:400px;
	height: 90px;
}

.bn2{
	width:50%;
	text-align: center;
	padding-top:20px;
	padding-bottom:20px;
	font-size:14px;

}
.bn2 img{
	width:300px;
}

.bn_job {
    width: 50%;
	text-align: center;
    padding-bottom: 20px;
    font-size: 14px;
    margin: 0 auto;
}
.bn_job img {
    width: 420px;
    height: auto;
}
.bn_job a:link{
	color:#7d7d7d;
}
.bn_job a:visited{
	color:#707070;
}

a:hover{
	opacity: 0.5;
	transition: opacity 0.2s ease;
}
