@charset "utf-8";

:root {
	--siteWidth:560px;
	--headerHeight:60px;
	--bottomNavHeight:55px;

	--fontMincho:'Zen Old Mincho', serif;
}

html {
	width:100%;
	/*max-width:var(--siteWidth);
	min-width:320px;*/
	min-height:100%;
	font-size:62.5%; /*10px*/
	margin:0 auto;
}

@font-face {
	font-family:'ShinGoPro';
	font-weight:normal;
	src:url('font/A-OTF-ShinGoPro-Light.woff') format('woff');
}
@font-face {
	font-family:'ShinGoPro';
	font-weight:bold;
	src:url('font/A-OTF-ShinGoPro-Medium.woff') format('woff');
}
@font-face {
	font-family:'ShinGoPro';
	font-weight:900;
	src:url('font/A-OTF-ShinGoPro-Bold.woff') format('woff');
}

body {
	position:relative;
	background-color: #ffffff;
	font-size:15px;
	line-height:1.6;
	width:100%;
	max-width:var(--siteWidth);
	min-width:320px;
	min-height:100%;
	margin-left:auto;
	margin-right:auto;
	text-align:left;
	color: #000000;
	z-index:1;
	overflow-x:hidden;
	-webkit-text-size-adjust: 100%;
}
main {
	position:relative;
}


.branchIndex .headerInner .bn,
.ageAuth .headerInner .bn {
	display:none !important;
}






a { color:#000000; text-decoration:none; }
a[data-remodal-target] {cursor:pointer;}
img, video { width:100%; }
br.sp { display:none; }
br.pc { display:none; }
@media only screen and (max-width:560px) {
	br.sp {
		display:inline;
	}
}
.red { color:#ff0000; }
.yel { color:#fdee00; }
.bold { font-weight:bold; }
/*.mincho { font-family: 'Noto Serif JP', serif; }*/


.mincho { font-family:'Zen Old Mincho', serif;}
	.mincho.bold { font-weight:700; }
.tax1 { text-align:right; }
.wideBanner {padding:0 4%; margin:2em 0;}

.blockTitle {
	margin-bottom:1.5em;
	text-align:center;
	color:#000000;
	font-family:'ShinGoPro';
}
@media only screen and (max-width: 560px) {
	.blockTitle {
		font-size:3.5vw;
	}
}
	.blockTitle p,
	.blockTitle h2 {
		font-size:1.2em;
		line-height:2.4;
		background: linear-gradient(170deg, #f2f2f2 58%,#f2f2f2 58%,#e4e4e4 100%);
		border-radius:1.2em;
		font-weight:500;
	}

ul.pointList {
}
	ul.pointList li,
	p.pointList,
	span.pointList {
		position: relative;
		display: block;
		line-height:1.3;
		padding:0.2em 0 0.2em 1em;
	}
	ul.pointList li::before,
	p.pointList::before,
	span.pointList::before {
		content: "・";
		position: absolute;
		left:0;
	}

ul.pointList2 {
}
	ul.pointList2 li,
	p.pointList2,
	span.pointList2 {
		position: relative;
		display: block;
		line-height:1.3;
		padding:0.2em 0 0.2em 1em;
	}
	ul.pointList2 li::before,
	p.pointList2::before,
	span.pointList2::before {
		content: "※";
		position: absolute;
		left:0;
	}


.textBlink {
	animation: textBlink 1.2s ease-in-out infinite alternate;
}
	@keyframes textBlink {
		0% {opacity:0.1;}
		100% {opacity:1;}
	}

.btnBlink {
	animation: btnBlink 1.2s ease-in-out infinite alternate;
}
	@keyframes btnBlink {
		0% {opacity:0.2;}
		100% {opacity:1;}
	}

.bannerBlink {
	animation: bannerBlink 1.3s ease-in-out infinite alternate;
}
	@keyframes bannerBlink {
		0% {opacity:0.3;}
		100% {opacity:1;}
	}

.acGrad {
	position:relative;
	padding-bottom:4em;
}

.acGrad .acGrad_hide {
	position: relative;
	overflow: hidden;
	/*transition:.5s ease;*/
}
	.acGrad .acGrad_hide.is-hide {
		height: 10em;

	}

.acGrad .acGrad_hide::before {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 4em; /*グラデーションで隠す高さ*/
	background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 70%, #fff 100%);
	background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 70%, #fff 100%);
	transition:.4s ease;
}

.acGrad .acGrad_trigger {
	z-index:2;
	display:inline-block;
	position:absolute;
	right:0;
	bottom:0;
	left:0;
	width:7em;
	margin:auto;
	text-align:center;
	cursor: pointer;
}
	
	.acGrad .acGrad_trigger.is-show {
		/*bottom: -2em;*/
	}
	
	.acGrad .acGrad_trigger.is-show::after {
		content: "閉じる"
	}
	.acGrad .acGrad_trigger.is-show + .acGrad_hide::before {
		height: 0; /*グラデーションで隠す高さ*/
	}
	.acGrad .acGrad_trigger.is-show em {
		display: none;
	}


.privacyplicyContents {
	/*background:#f6f6f6;
	height:150px;
	margin:0 20px 5px 20px;
	padding:15px 20px;
	overflow-y:scroll;
	-webkit-overflow-scrolling:touch;*/
	/*background:#ffffff;*/
	/*border:solid 1px #000000;*/
	padding:0 3%;
	color:#000000;
}
	.recruit .privacyplicyContents {
		color:#858585;
	}

.privacyplicyContents dl {
	margin-bottom:3em;
}
	.privacyplicyContents dl dt {
		border-bottom:1px solid #999999;
		padding-bottom:0.5em;
		margin-bottom:0.5em;
		font-weight:bold;
	}
	.privacyplicyContents dl dd {
		font-size:0.9em;
	}
	.privacyplicyContents dl dd p {
		margin-bottom:0.5em;
	}
	.privacyplicyContents dl dd > ol {
		list-style-position:outside;
		list-style-type:decimal;
		margin-left:1.5em;
	}
	.privacyplicyContents dl dd > ol > ol {
		list-style-position:outside;
		list-style-type:lower-roman;
		margin-left:1.5em;
		margin-bottom:0.5em;
	}
	.privacyplicyContents dl dd li {
		margin-bottom:0.5em;
	}
	.privacyplicyContents dl dd li:last-child {
		margin-bottom:0;
	}


.notFoundContents {
	display:flex;
	flex-wrap:wrap;
	align-content:center;
	min-height:calc(100vh - height:var(--headerHeight) - var(--bottomNavHeight) - 3em);
	padding-top:5em;
	text-align:center;
}
	.notFoundContents .en {
		font-size:1.2em;
		display:flex;
		align-items:center;
		flex-wrap:wrap;
		align-content:center;
		width:90%;
		padding:3em 2%;
		margin:2em auto 0;
		font-family: 'Archivo Narrow', sans-serif;
		border-top:solid 1px #cccccc;
	}

.notFoundContents .text {
	font-size:1.4em;
	width:100%;
	margin-bottom:2em;
	color:#333333;
}
.notFoundContents .link {
	font-size:1.2em;
	width:100%;
}
.notFoundContents .link a {
	position:relative;
	display:inline-block;
	padding:0.5em 0 0.5em 1.4em;
	margin:0 0.5em 0.5em;
	color:#333333;
}
	.notFoundContents .link a::before {
		content:"";
		position:absolute;
		top:0; left:0.5em; bottom:0;
		border-top:1px solid rgba(255,255,255,1);
		border-right:1px solid rgba(255,255,255,1);
		line-height:3em;
		margin:auto;
		width:4px;
		height:4px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

.notFoundContents .link a.recruit {
	color:#ff8888;
}

.coverageContents {
	padding:0 2%;
}
.coverageContents .media > p {
	border-bottom:solid 1px #a7a7a7;
	line-height:2.5;
	margin-bottom:0.5em;
}
	.recruit .coverageContents .media > p {
		border-bottom:solid 1px #000000;
		color:#000000;
	}

.coverageContents .media ul {
	margin:1em 0 2em;
}
	.coverageContents .media ul .prev-arrow {/* スライダー矢印 */
		position:absolute;
		top:50%; left:-0.5em;
		width:3em;
		height:3em;
		margin-top:-1.5em;
		z-index:10;
	}
	.coverageContents .media ul .next-arrow {/* スライダー矢印 */
		position:absolute;
		top:50%; right:-0.5em;
		width:3em;
		height:3em;
		margin-top:-1.5em;
		z-index:10;
	}

.coverageContents .media ul li > div {
	display:block;
	height: 15em;
	margin:0 1px;
}
@media only screen and (max-width:560px) {
	.coverageContents .media ul li > div {
		height: 40vw;
	}
}

.coverageContents .media ul li > div img {
	width:auto;
	height: 100%;
}
.coverageContents .complete {
	text-align:center;
}

.video-item {
    width: 150px; /* 幅を統一 */
    height: 100px; /* 高さを統一 */
    overflow: hidden; /* はみ出した部分を非表示 */
    display: flex;
    align-items: center;
    justify-content: center;
}

.specialVideo {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 画像を枠にフィットさせる */
	border-radius: 10px;
}

.special_video_wrap{
	background-color: white;
	width: 90%;
}

.video_container {
    display: flex;
    flex-direction: row; /* 横並び（デフォルト値） */
    width: 100%;
    height: 200px;
	justify-content: center;
	color: #333333;
}

@media screen and (max-width: 768px) {
    .video_container {
        height: 140px;
    }
}

.left-column {
    width: 49%; /* 左の列の幅 */
    background-color: #EEEEEE; /* 色をつけて見やすく */
	margin: 5px;
	border-radius: 10px;
	text-align: center;
}

.right-column {
    width: 49%; /* 右の列の幅 */
    background-color: #EEEEEE;
	margin: 5px;
	border-radius: 10px;
	text-align: center
}

.video-thumb {
	position: relative;
	display: inline-block;
  }
  
  .video-thumb img.specialVideo {
	display: block;
	width: 100%;
	height: auto;
  }
  
  .video-thumb .play-button {
	position: absolute;
	top: 33%;
	left: 50%;
	width: 30px; /* 必要に応じてサイズ調整 */
	height: 30px;
	transform: translate(-50%, -50%);
	pointer-events: none; /* クリックを下の画像に通すなら */
	opacity: 0.5;
  }
  