@charset "UTF-8";
/* CSS Document */

a:not(.popbtn):not(.lb_a):not(.lb_al):not(.lb_alb):not(.lb_b):not(.lb_c):not(.tagbtn):not(.tab):hover:not(.org):hover {
	color: #f39cc6 !important;
}

#mimg {
	position: relative;
	height: 764px;
	background-image: url(../img/kangoshi_mimg.jpg);
	background-size: cover;
	background-position: center;
}
#mimg div {
	position: absolute;
	width: 539px;
	bottom: -160px;
	left: 0;
	right: 0;
	margin: auto;
	padding-left: 380px;
}

#mynavi {
	position: absolute;
	left: 50px;
	top: 820px;
}
#mynavi_links {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	gap: 32px;
}
#mynavi_links a {
	display: block;
	box-sizing: border-box;
	width: 288px;
	height: 86px;
	border: 1px solid #0087CB;
	border-radius: 6px;
	background-color: #fff;
	overflow: hidden;
	position: relative;
}
#mynavi_links a span {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	transform: translate(-50%, -50%) scale(0.9);
	text-indent: -9999px;
	overflow: hidden;
}

#topmes {
	background-image: url(../img/kangoshi_i03.png);
	background-size: 559px auto;
	background-repeat: no-repeat;
	background-position: left 40px top 435px;
	min-height: 850px;
}
#topmes > div {
	position: relative;
	max-width: 1248px;
	margin: 0 auto;
	padding: 150px 30px 0;
}
#topmes h2 {
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	font-size: 37px;
	line-height: 1.45;
	color: #525252;
	letter-spacing: 8.65px;
	text-align: justify;
}
#topmes h2 span {
	display: block;
	font-size: 19px;
	letter-spacing: 4.44px;
	text-align: justify;
}
#topmes div.i1 {
	position: absolute;
	width: 608px;
	left: 78px;
	top: 180px;
	z-index: -1;
}
#topmes div.i2 {
	position: absolute;
	width: 559px;
	left: 0;
	top: 435px;
	z-index: 1;
}
#topmes p {
	display: block;
	width: 608px;
	padding: 38px 40px 44px;
	background-color: #fff;
	font-size: 16px;
	line-height: 2.375;
	letter-spacing: 1.44px;
	text-align: justify;
	margin: 108px 0 0 auto;
}
#nums {
	width: 977px;
	margin: 0 auto 70px;
}
.btns {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	gap: 56px;
	padding-bottom: 90px;
}
.btns a {
	background: rgba(255,255,255,0.90);
	border: 1px solid #C9C9C9;
	display: block;
	text-decoration: none;
	width: 350px;
	font-size: 18px;
	line-height: 84px;
	text-align: center;
	color: #2A2F32 !important;
	position: relative;
}
.btns a::after {
	content: '〉';
	color: #f39cc6;
	display: block;
	font-size: 20px;
	line-height: 1;
	height: 20px;
	position: absolute;
	right: 5px;
	top: 0;
	bottom: 0;
	margin: auto;
}
.btns a:hover {
	opacity: 0.8;
}
#movie {
	max-width: 1027px;
	margin: 0 auto;
	background: url(../img/kangoshi_mov.png) no-repeat center top;
	height: 751px;
	padding: 80px 0 0;
}
#movie h2 {
	font-family: 'Noto Serif JP', serif;
	font-size: 47px;
	line-height: 1;
	font-weight: 500;
	color: #525252;
	letter-spacing: 10.98px;
	text-align: justify;
	padding-bottom: 40px;
}
#movie .slick_set {
	position: relative;
	max-width: 680px;
	margin: 0 auto;
}
#movie .slick-dots li button::before {
	content: '';
	width: 13px;
	height: 13px;
	background-color: #FFF;
	border-radius: 13px;
	border: 1px solid #858585;
	box-sizing: border-box;
	opacity: 1;
	z-index: 1;
}
#movie .slick-dots li.slick-active button::before {
	opacity: 1;
}
#movie .slick-dots li.slick-active button::after {
	content: '';
	width: 7px;
	height: 7px;
	background-color: #858585;
	border-radius: 7px;
	position: absolute;
	top: 3px;
	left: 3px;
	z-index: 2;
}
#movie .slick-dots {
	bottom: -40px;
}
#movie .slick-arrow {
	display: none !important;
}
#jobt {
	max-width: 1260px;
	margin: 0 auto;
	box-sizing: border-box;
	padding: 0 30px 45px;
}
#jobt h2 {
	font-family: 'Noto Serif JP', serif;
	font-size: 47px;
	line-height: 1;
	font-weight: 500;
	color: #525252;
	letter-spacing: 10.98px;
	text-align: justify;
}
#jobt a {
	display: inline-block;
	font-size: 15px;
	color: #525252 !important;
	letter-spacing: 3.51px;
	text-align: justify;
	text-decoration: underline;
	margin-top: 10px;
}

#news {
	max-width: 1260px;
	margin: 80px auto 90px;
	box-sizing: border-box;
	padding: 50px;
	background-color: #FFF;
	display: flex;
	flex-wrap: nowrap;
	gap: 75px;
}
#news_title {
	font-family: 'Noto Serif JP', serif;
}
#news_title h2 {
	font-size: 47px;
	line-height: 1.42;
	font-weight: 500;
	color: #525252;
	letter-spacing: 10.98px;
	text-align: justify;
}
#news_title a {
	display: inline-block;
	font-size: 15px;
	color: #525252 !important;
	letter-spacing: 3.51px;
	text-align: justify;
	text-decoration: underline;
	margin-top: 10px;
}
#news_list {
	width: 854px;
}
#news_list a {
	display: block;
	text-decoration: none;
	font-size: 16px;
	line-height: 1.5;
	color: #2A2F32;
	letter-spacing: 1.8px;
	text-align: justify;
	border-bottom: 1px solid #979797;
	padding-bottom: 10px;
	margin-top: 10px;
}
#news_list a span {
	display: block;
	font-size: 12px;
	letter-spacing: 2.8px;
	padding-bottom: 3px;
}

#message_title {
	max-width: 1260px;
	margin: 0 auto;
	box-sizing: border-box;
	padding: 0 30px;
}
#message_title h2 {
	font-family: 'Noto Serif JP', serif;
	font-size: 47px;
	line-height: 1;
	font-weight: 500;
	color: #525252;
	letter-spacing: 10.98px;
	text-align: justify;
}
#message {
	background-color: #FFF;
	background-image: url(../img/kangoshi_i04.png);
	background-repeat: no-repeat;
	background-position: left top -15px;
}
#message_list {
	max-width: 1200px;
	margin: 0 auto;
	padding: 45px 30px 5px;
}
#message_list strong {
	font-family: 'Noto Serif JP', serif;
	font-size: 30px;
	line-height: 1.46;
	font-weight: 500;
	color: #525252;
	letter-spacing: 7.01px;
	text-align: justify;
}
#message_list div {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	gap: 26px;
	padding-top: 40px;
}
#message_list div a {
	display: block;
	text-decoration: none;
	width: 221px;
	position: relative;
}
#message_list div a:hover {
	opacity: 0.8;
}
#message_list div a span {
	position: absolute;
	bottom: -40px;
	left: 0;
	right: 0;
	margin: auto;
	display: block;
	width: 196px;
	background: #FFFFFF;
	box-shadow: 4px 4px 0 0 #FAD9E8;
	font-size: 15px;
	line-height: 64px;
	color: #2A2F32;
	letter-spacing: 0.18px;
	box-sizing: border-box;
	padding: 0 12px;
}

#btmmes {
	background-image: url(../img/kangoshi_i03.png);
	background-size: 559px auto;
	background-repeat: no-repeat;
	background-position: right 40px top 435px;
	min-height: 850px;
	margin-top: 50px;
}
#btmmes > div {
	position: relative;
	max-width: 1248px;
	margin: 0 auto;
	padding: 125px 30px 0;
}
#btmmes h2 {
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	font-size: 37px;
	line-height: 1.45;
	color: #525252;
	letter-spacing: 8.65px;
	display: flex;
	justify-content: flex-end;
	text-shadow: 
		0 0 10px #FFF,
		0 0 15px #FFF,
		0 0 20px #FFF;
}
#btmmes h2 > span {
	display: block;
}
#btmmes div.i1 {
	position: absolute;
	width: 608px;
	right: 35px;
	top: 180px;
	z-index: -1;
}
#btmmes p {
	display: block;
	width: 608px;
	padding: 38px 40px 44px;
	background-color: #fff;
	font-size: 16px;
	line-height: 2.375;
	letter-spacing: 1.44px;
	text-align: justify;
	margin: 108px auto 0 0;
}
#btmmes .btn {
	padding: 90px 0 70px;
	text-align: center;
}
#btmmes .btn a {
	background: rgba(255,255,255,0.90);
	border: 1px solid #C9C9C9;
	display: block;
	margin: 0 auto;
	text-decoration: none;
	width: 350px;
	font-size: 18px;
	line-height: 84px;
	text-align: center;
	color: #2A2F32 !important;
	position: relative;
}
#btmmes .btn a::after {
	content: '〉';
	color: #f39cc6;
	display: block;
	font-size: 20px;
	line-height: 1;
	height: 20px;
	position: absolute;
	right: 5px;
	top: 0;
	bottom: 0;
	margin: auto;
}
#btmmes .btn a:hover {
	opacity: 0.8;
}


@media screen and (max-width: 1260px) {
	#topmes p {
		width: 40%;
	}
}
@media screen and (max-width: 999px) {
	body {
		padding-top: 48px;
	}
	#mimg {
		height: 207px;
	}
	#mimg div {
		width: 232px;
		bottom: -100px;
		padding-left: 135px;
	}
	#mynavi {
		left: 10px;
		top: 210px;
	}
	#mynavi_links {
		gap: 5px;
		flex-direction: column;
	}
	#mynavi_links a {
		width: 144px;
		height: 43px;
	}
	#topmes {
		background-size: 158px auto;
		background-position: left 0 top 240px;
		min-height: auto;
		padding-bottom: 30px;
	}
	#topmes > div {
		padding: 90px 24px 0;
	}
	#topmes h2 {
		font-size: 16px;
		letter-spacing: 3.63px;
	}
	#topmes h2 span {
		font-size: 8px;
		letter-spacing: 2.4px;
	}
	#topmes div.i1 {
		width: 243px;
		left: 74px;
		top: 115px;
	}
	#topmes p {
		width: auto;
		padding: 20px 12px;
		margin: 186px auto 0;
		font-size: 14px;
		line-height: 1.85;
		letter-spacing: 0.29px;
	}
	#nums {
		width: 328px;
		margin: 0 auto 30px;
	}
	.btns {
		gap: 18px;
		padding-bottom: 40px;
	}
	.btns a {
		width: 150px;
		font-size: 14px;
		line-height: 50px;
	}
	.btns a::after {
		right: 0;
		font-size: 16px;
		height: 16px;
	}
	#movie {
		padding: 40px 0 60px;
		height: auto;
		background-color: #FFF;
		background-image: none;
		overflow: hidden;
	}
	#movie h2 {
		font-size: 24px;
		letter-spacing: 2.3px;
		text-align: center;
		padding-bottom: 20px;
	}
	#movie .slick_set {
		padding: 0 24px;
	}
	#movie .slick_set div {
		width: 100%;
	}
	#movie iframe {
		width: 100%;
		height: 200px;
	}
	#movie .slick-dots {
		width: calc(100% - 48px);
	}

	#jobt {
		padding: 40px 24px 28px;
	}
	#jobt h2 {
		font-size: 24px;
		letter-spacing: 2.3px;
	}
	#jobt a {
		font-size: 12px;
		letter-spacing: 1.2px;
	}
	#joblist {
		justify-content: center;
	}
	#jobinfo {
		padding: 0 24px 30px;
	}
	#jobinfo .item {
		padding: 12px;
		margin-bottom: 28px;
	}
	#jobinfo .item h3 {
		font-size: 28px;
		letter-spacing: 1.75px;
		padding-bottom: 0;
	}
	#jobinfo .item dl {
		flex-direction: column;
	}
	#jobinfo .item dl dt {
		margin-right: 0;
	}
	#jobinfo .item dl dd {
		padding-left: 30px;
	}
	#jobinfo .item dl dd a {
		margin-top: 5px;
	}
	#jobinfo > strong {
		font-size: 18px;
		letter-spacing: 1.2px;
	}
	#jobinfo > h4 {
		font-size: 22px;
		letter-spacing: 2.5px;
		padding: 35px 0 8px;
		border-bottom: 2px solid #F39CC6;
		margin-bottom: 7px;
	}
	#jobinfo > p {
		font-size: 14px;
		letter-spacing: 0.8px;
	}
	#news {
		margin: 40px auto 30px;
		padding: 30px 24px;
		flex-direction: column;
		gap: 20px;
	}
	#news_title h2 {
		font-size: 24px;
		letter-spacing: 2.3px;
	}
	#news_title a {
		font-size: 12px;
		letter-spacing: 1.2px;
	}
	#news_list {
		width: auto;
	}
	#news_list a {
		font-size: 14px;
	}
	#news_list a span {
		letter-spacing: 1px;
	}
	#message_title {
		padding: 0 24px;
	}
	#message_title h2 {
		font-size: 24px;
		letter-spacing: 2.3px;
	}
	#message_list {
		padding: 20px 24px 30px;
	}
	#message_list strong {
		font-size: 18px;
		letter-spacing: 1.2px;
	}
	#message_list div {
		gap: 20px;
		flex-wrap: wrap;
		padding-top: 20px;
	}
	#message_list div a {
		width: 150px;
		height: 170px;
	}
	#message_list div a span {
		bottom: 0;
		width: 150px;
		font-size: 14px;
		line-height: 40px;
		padding: 0 10px;
	}
	#btmmes {
		height: auto;
		min-height: 0;
		margin-top: 30px;
	}
	#btmmes > div {
		padding: 0 30px;
	}
	#btmmes h2 {
		font-size: 18px;
		letter-spacing: 1.2px;
		justify-content: center;
		padding-bottom: 20px;
		text-shadow: none;
	}
	#btmmes p {
		width: auto;
		padding: 15px 20px;
		margin: 20px auto 0;
		font-size: 14px;
		line-height: 1.85;
		letter-spacing: 0.29px;
	}
	#btmmes div.i1 {
		position: relative;
		width: 100%;
		right: 0;
		top: 0;
		font-size: 0;
	}
	#btmmes .btn {
		padding: 30px 0 40px;
	}
	#btmmes .btn a {
		width: 200px;
		font-size: 14px;
		line-height: 50px;
	}
	#btmmes .btn a::after {
		right: 0;
		font-size: 16px;
		height: 16px;
	}
}