@charset "UTF-8";

html {
	width: 100%;
	font-size: 62.5%;
}
body {
	color: #444444;
	font-family:  "ヒラギノ丸ゴ ProN W4", "ヒラギノ丸ゴ ProN","Hiragino Maru Gothic ProN", "Hiragino Maru Gothic ProN", Meiryo, Arial, sans-serif;
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: .03em;
	width: 100%;
	height: 100%;
	-webkit-text-size-adjust: 100%;
}
a {
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	text-decoration: none;
	transition: all .6s ease 0s;
	-webkit-transition: top 0.65s ease-in;
	-moz-transition: top 0.65s ease-in;
}
a:hover {
	opacity: .7;
}
strong, em {
	font-style: normal;
	font-weight: 300
}
ul, li {
	list-style: none;
}
#wrapper {
	position: relative;
	width: 100%
}
.mincho {
	font-family: "ヒラギノ明朝 Pro W4", "Hiragino Mincho Pro", "HGS明朝B", "MingLiU", "SimSun", "ＭＳ Ｐ明朝", serif !important;
	transform: rotate(.03deg);
}
.times {
	font-family: Times, "Times New Roman", serif !important;
}
.baloo {
	font-family: 'Baloo Paaji', cursive;
}
.maru {
	font-family: "Lucida Grande", "segoe UI", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic ProN", Meiryo, Arial, sans-serif;
	transform: rotate(.03deg);
}
.kaku {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Meiryo, "Noto Sans Japanese", sans-serif;
}
.tx-red {
	color: #E6001F;
}
.tx-pink {
	color: #ff5992;
}
.bold {
	font-weight: bold;
}
.cfx:after {
	content: ".";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden
}
.cfx {
	display: inline-block
}
* html .cfx {
	height: 1%
}
.cfx {
	display: block
}
@media screen and (min-width: 769px) {
	.smt {
		display: none !important;
	}
}
@media screen and (max-width: 768px) {
	.pc {
		display: none !important
	}
	body {
		color: #444444;
		font-size: 1.4rem;
		letter-spacing: 0;
	}
	img {
		max-width: 100%;
	}
}

main + .closing{
	margin-top: 60px;
}
.__ac_box .__ac_box_cont {
	display: none;
}
.__ac_box .__ac_box_btn{
	cursor: pointer;
}

.modal {
	display: none;
	height: 100vh;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 101;
}
.modal__bg {
	background: rgba(0, 0, 0, 0.8);
	height: 100vh;
	position: absolute;
	width: 100%;
}
.modal__content {
	width: 90%;
	max-width: 1100px;
	height: 80%;
	overflow: scroll;
	background: #fff;
	padding: 5% 3%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
/*
.js-modal-close_btn {
	box-sizing: border-box;
	display: block;
	background: #444;
	height: 50px;
	width: 50px;
	line-height: 38px;
	border: 2px solid #fff;
	color: #fff;
	text-align: center;
	font-size: 4.5rem;
	border-radius: 100%;
	position: absolute;
	bottom: 5%;
	left: 50%;
	transform: translate(-50% , 50%);
}
*/
.js-modal-close_btn {
	box-sizing: border-box;
	display: block;
	background: #444;
	height: 50px;
	max-width: 400px;
	line-height: 50px;
	margin: 30px auto 0;
	color: #fff;
	text-align: center;
	font-size: 2rem;
}
@media screen and (max-width: 768px) {
	.modal__content {
		width: 90%;
		height: 80%;
	}
}
/* ======================================================
	Header
====================================================== */
.site_header {
	border-bottom: 1px solid #ebb7c4;
	line-height: 1;
}
.site_h_f_ttl {
	background: #f9faf5;
	text-align: center;
	padding: 15px 10px 20px;
}
.site_h_f_ttl_01 {
	font-size: 1.2rem;
	margin-bottom: 10px;
}
.site_h_f_ttl_02 {
	font-size: 2rem;
}
.site_h_f_ttl_02 > strong {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
.site_h_f_ttl_02 > strong > span {
	display: block;
}
.site_h_f_ttl_02 > strong > span:not(:last-child) {
	margin-right: .5em;
}
.site_h_f_ttl_02_and {
	line-height: 25px;
	background-color: #fa5a5a;
	color: #fff;
	height: 25px;
	width: 25px;
	border-radius: 100%;
}
.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
.site_header_toggle {
	display: none;
}
@media screen and (min-width: 769px) {
	.site_header_menu {
		background-color: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 10px;
		box-sizing: border-box;
	}
	.site_header_menu_nav {
		width: 600px;
		max-width: calc(100% - 335px)
	}
	.site_header_menu_nav ul {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
	}
	.site_header_menu_nav ul li {
		margin: 5px 15px 5px 0;
	}
	.site_header_menu_nav li a {
		display: block;
		padding-left: 12px;
		position: relative;
		font-size: 1.8rem;
	}
	.site_header_menu_nav li a::before {
		content: "";
		display: block;
		width: 0;
		height: 0;
		border-style: solid;
		border-color: transparent transparent transparent #f48210;
		border-width: 6px 8px;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}
	.site_header_menu_btnarea {
		width: 335px;
		display: flex;
		justify-content: space-between;
	}
	.site_header_menu_btnarea a {
		display: flex;
		align-items: center;
		width: 48%;
		height: 75px;
		box-sizing: border-box;
	}
	.site_header_menu_btnarea_recruit {
		background-color: #f08209;
		color: #fff;
	}
	.site_header_menu_btnarea_contact {
		background-color: #fff;
		color: #fa5a5a;
		border: 1px solid #fa5a5a;
	}
	.site_header_menu_btnarea span {
		display: block;
		padding: 0 35px 0 20px;
		position: relative;
		box-sizing: border-box;
		width: 100%;
	}
	.site_header_menu_btnarea span::before {
		content: "";
		display: block;
		width: 12px;
		height: 12px;
		border-radius: 100%;
		position: absolute;
		top: 50%;
		right: 12px;
		transform: translateY(-50%);
	}
	.site_header_menu_btnarea span::after {
		content: "";
		display: block;
		width: 3px;
		height: 3px;
		border-top: 1px solid;
		border-right: 1px solid;
		position: absolute;
		top: 50%;
		right: 16px;
		transform: translateY(-50%) rotate(45deg);
	}
	.site_header_menu_btnarea_recruit span::before {
		background-color: #fff;
	}
	.site_header_menu_btnarea_contact span::before {
		background-color: #fa5a5a;
	}
	.site_header_menu_btnarea_recruit span::after {
		border-top-color: #f08209;
		border-right-color: #f08209;
	}
	.site_header_menu_btnarea_contact span::after {
		border-top-color: #fff;
		border-right-color: #fff;
	}
}
@media screen and (max-width: 768px) {
	.site_header_inr {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.site_header_menu_head_smt {
		display: flex;
		align-items: center;
	}
	.site_header_menu_head_smt p {
		width: calc(100% - 55px);
		text-align: center;
		font-size: 1.8rem;
	}
	.site_header .site_h_f_ttl {
		background: none;
		padding: 5px 10px;
		text-align: left;
		font-size: 1rem;
		box-sizing: border-box;
		width: calc(100% - 70px);
	}
	.site_h_f_ttl_02 > strong {
		justify-content: flex-start;
		row-gap: 5px;
	}
	.site_h_f_ttl_02 > strong > span:first-child {
		/*padding-left: 5px;*/
	}
	.site_h_f_ttl_02 > strong > span:first-child img {
		height: 25px;
	}
	.site_h_f_ttl_02 > strong > span:nth-child(2) img {
		height: 13px;
	}
	.site_h_f_ttl_02 > strong > span:last-child img {
		max-height: 25px;
	}
	.site_h_f_ttl_02_and {
		line-height: 14px;
		height: 14px;
		width: 14px;
		font-size: 1.1rem;
	}
	.site_h_f_ttl_02 > strong > span:not(:last-child) {
		margin-right: .2em;
	}
	.site_h_f_ttl_01 {
		display: block;
		width: 280px;
		height: 0;
		padding-top: calc((13/347)*100%);
		white-space: nowrap;
		overflow: hidden;
		text-indent: 100%;
		background: url(../img/common/site_h_txt_02.png) 0 0 no-repeat;
		background-size: contain;
	}
	.site_header_toggle {
		display: block;
		width: 55px;
		height: 0;
		padding-top: 55px;
		white-space: nowrap;
		overflow: hidden;
		text-indent: 100%;
		background: #ef820b url(../img/common/icn_site_header_toggle_menu.png) 0 0 no-repeat;
		background-size: contain;
		border-radius: 100%;
		margin-right: 10px;
	}
	.fixed .site_header_toggle {
		background-image: url(../img/common/icn_site_header_toggle_close.png);
		border-radius: 0;
		margin: 0;
	}
	.site_header_menu {
		width: 100vw;
		margin-top: 1px;
		position: fixed;
		right: -100vw;
		top: 0;
		bottom: 0;
		opacity: 0;
		background-color: #fffdec;
		transition: all .6s;

		font-size: 1.6rem;
	}
	.fixed .site_header_menu {
		right: 0;
		opacity: 1;
		z-index: 9999;
	}
	.site_header {
		position: relative;
	}
	.site_header_menu_nav li {
		border-top: 1px solid #d9d8cf;
	}
	.site_header_menu_nav li a {
		display: block;
		padding: 20px 40px;
		background-color: #fffdec;
	}
	.site_header_menu_btnarea a {
		display: block;
	}
	.site_header_menu_btnarea_recruit {
		border-top: 1px solid #d9d8cf;
		background-color: #f08209;
		color: #fff;
	}
	.site_header_menu_btnarea_contact {
		background-color: #fff;
		color: #fa5a5a;
		border: 1px solid #fa5a5a;
	}
	.site_header_menu_btnarea span {
		box-sizing: border-box;
		width: 100%;
		display: block;
		padding: 30px 40px;
		position: relative;
		font-size: 2rem;
	}
	.site_header_menu_btnarea span::before {
		content: "";
		display: block;
		width: 12px;
		height: 12px;
		border-radius: 100%;
		position: absolute;
		top: 50%;
		right: 35px;
		transform: translateY(-50%);
	}
	.site_header_menu_btnarea span::after {
		content: "";
		display: block;
		width: 3px;
		height: 3px;
		border-top: 1px solid;
		border-right: 1px solid;
		position: absolute;
		top: 50%;
		right: 39px;
		transform: translateY(-50%) rotate(45deg);
	}
	.site_header_menu_btnarea_recruit span::before {
		background-color: #fff;
	}
	.site_header_menu_btnarea_contact span::before {
		background-color: #fa5a5a;
	}
	.site_header_menu_btnarea_recruit span::after {
		border-top-color: #f08209;
		border-right-color: #f08209;
	}
	.site_header_menu_btnarea_contact span::after {
		border-top-color: #fff;
		border-right-color: #fff;
	}
}
/* ======================================================
	Footer
====================================================== */
.site_footer_menu {
	padding: 25px 10px 30px;
	border-bottom: 1px solid #dc3d59;
	display: flex;
	justify-content: center;
}
.site_footer_left {
	width: 520px;
}
.site_footer_right {
	width: 440px;
	max-width: calc(100% - 520px)
}

.site_footer_tel_sns 
{	display: flex;
	align-items: center;
}


.site_footer_menu_tel {
	margin-bottom: 20px;
	color: #5d5d5d;
	line-height: 1;
	margin-right: 20px;
}
.site_footer_menu_tel_txt_01 {
	font-size: 1.4rem;
	margin-bottom: 5px;
}
.site_footer_menu_tel_num {
	font-size: 3rem;
	letter-spacing: -.05em;
	margin-bottom: 5px;
	background: url(../img/common/icn_tel.png) 0 50% no-repeat;
	padding-left: 25px;
}
.site_footer_menu_tel_txt_02 {
	font-size: 1.2rem;
}

.site_footer_menu_sns
{	display: flex;
	align-items: center;
}
.site_footer_menu_sns > *
{	width: 50px;
}
.site_footer_menu_sns > *:first-of-type
{	margin-right: 5px;
	border-radius: 10px;
	overflow: hidden;
}
.site_footer_menu_sns img
{	width: 100%;
	display: block;
}

.site_footer_menu_btnarea {
	width: 430px;
	display: flex;
	justify-content: space-between;
}
.site_footer_menu_btnarea a {
	display: flex;
	align-items: center;
	width: 48%;
	height: 75px;
	box-sizing: border-box;
}
.site_footer_menu_btnarea_recruit {
	background-color: #f08209;
	color: #fff;
}
.site_footer_menu_btnarea_contact {
	background-color: #fff;
	color: #fa5a5a;
	border: 1px solid #fa5a5a;
}
.site_footer_menu_btnarea span {
	display: block;
	padding: 0 35px 0 20px;
	position: relative;
	box-sizing: border-box;
	width: 100%;
}
.site_footer_menu_btnarea span::before {
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 100%;
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
}
.site_footer_menu_btnarea span::after {
	content: "";
	display: block;
	width: 3px;
	height: 3px;
	border-top: 1px solid;
	border-right: 1px solid;
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%) rotate(45deg);
}
.site_footer_menu_btnarea_recruit span::before {
	background-color: #fff;
}
.site_footer_menu_btnarea_contact span::before {
	background-color: #fa5a5a;
}
.site_footer_menu_btnarea_recruit span::after {
	border-top-color: #f08209;
	border-right-color: #f08209;
}
.site_footer_menu_btnarea_contact span::after {
	border-top-color: #fff;
	border-right-color: #fff;
}
.site_footer_menu_nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.site_footer_menu_nav ul li {
	margin: 5px 20px 5px 0;
	min-width: calc(42% - 20px);
}
.site_footer_menu_nav li a {
	display: block;
	padding-left: 12px;
	position: relative;
	font-size: 1.8rem;
}
.site_footer_menu_nav li a::before {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent transparent #f48210;
	border-width: 6px 8px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.site_footer_copyright {
	text-align: center;
	font-size: 1.2rem;
	padding: 10px 0 25px;
}

#pageTop {
	position: fixed;
	z-index: 100;
	/*right: 5%;
	bottom: 10%;*/
	right: 2%;
    bottom: 5%;
}
@media screen and (max-width: 768px) 
{
	.site_footer_menu {
		display: block;
		padding: 25px 20px 20px;
	}
	.site_footer_left,
	.site_footer_right {
		width: 100%;
		max-width: 100%;
	}

	.site_footer_tel_sns 
	{	display: block;
		display: flex;
		justify-content: center;
	}

	.site_footer_menu_tel {
		display: block;
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		margin-right: 10px;
	}
	.site_footer_menu_tel p 
	{
		display: inline-block;
	}
	.site_footer_menu_tel_txt_01,
	.site_footer_menu_tel_txt_02 {
		width: 100%;
	}

	.site_footer_menu_sns
	{	display: flex;
		align-items: center;
		justify-content: center;
		margin-bottom: 20px;
	}


	.site_footer_menu_btnarea {
		width: 100%;
		margin-bottom: 25px;
	}
	.site_footer_menu_btnarea a {
		font-size: 1.8rem;
		height: 60px;
	}
	.site_footer_menu_nav ul li {
		margin: 0;
		min-width: auto;
		width: 45%;
	}
	.site_footer_menu_nav ul li:nth-child(odd) {
		width: 55%;
		width: 100%;
	}
	.site_footer_menu_nav li a {
		font-size: 1.4rem;
		line-height: 2;
	}
	.site_footer .site_h_f_ttl {
		padding: 10px 20px;
		text-align: left;
		font-size: 1rem;
	}
	#pageTop {
		right: 5%;
		width: 50px;
	}
}

/*@media screen and (max-width: 359px) */
@media screen and (max-width: 400px) 
{	.site_footer_tel_sns 
	{	display: block;
	}

	.site_footer_menu_tel {
		margin-right: 0;
	}

	.site_footer_menu_sns > *
	{	width: 40px;
	}
}

/* ======================================================
	下層
====================================================== */
/* ===========================
パンくず
=========================== */
#breadcrumb-wrap {
	background-color: #fff;
}
#breadcrumb {
	box-sizing: border-box;
	display: block;
	max-width: 1100px;
	margin: 0 auto;
	padding: 1.0em;
	font-size: 1.2rem;
}
#breadcrumb li {
	display: inline-block;
	white-space: nowrap;
	text-overflow: ellipsis;
}
#breadcrumb li:not(:last-child)::after {
	display: inline-block;
	content: '>';
}
#breadcrumb li a {
	text-decoration: underline;
}
/* ===========================
closing
=========================== */
.closing {
	padding: 30px;
	background-color: #FFFDEC;
	text-align: center;
}
.closing_txt {
	font-size: min(5vw,4rem);
	margin-bottom: 10px;
}
.closing_btn_area a {
	display: block;
	width: 100%;
	max-width: 940px;
	height: 0;
	padding-top: 162px;
	margin: 0 auto;
	white-space: nowrap;
	overflow: hidden;
	text-indent: 100%;
	background: url(../img/common/btn_closing_01.png) 0 0 no-repeat;
	background-size: contain;
}
@media screen and (max-width: 768px) {
	.closing {
		padding: 5%;
	}
	.closing_txt {
		font-size: 1.8rem;
	}
	.closing_btn_area a {
		display: block;
		width: 100%;
		max-width: 940px;
		height: 0;
		padding-top: calc((162/940)*100%);
		margin: 0 auto;
		white-space: nowrap;
		overflow: hidden;
		text-indent: 100%;
		background: url(../img/common/btn_closing_01.png) 0 0 no-repeat;
		background-size: contain;
	}
}
@media screen and (max-width: 500px) {
	.closing_txt {
		font-size: 1.5rem;
	}
}

/* ===========================
page
=========================== */
.page_mv {
	display: flex;
	justify-content: center;
	background: url(../img/common/bg_02.png) 0 0 repeat;
}
.page_mv img {
	max-width: 100%;
}
.page_ttl {
	background: url(../img/common/bg_03.png) 0 0 repeat;
	text-align: center;
	padding: 40px 20px;
	margin-bottom: 50px;
}
.page_ttl_style_01 {
	text-align: center;
	font-size: 3rem;
	background: url(../img/top/bg_ttl_01.png) 50% 100% no-repeat;
	background-size: 110px auto;
	padding-bottom: 35px;
	line-height: 1.5;
}
.page_ttl_style_01:not(:last-child) {
	margin-bottom: 35px;
}
.page_ttl_style_02 {
	font-size: 2.5rem;
	padding-bottom: 15px;
	margin-bottom: 30px;
	line-height: 1;
	border-bottom: 2px solid #f0820a;
}
.page_ttl_style_03 {
	font-size: 2rem;
	padding: 10px;
	margin-bottom: 20px;
	line-height: 1;
	background-color: #fff2e6;
}
.page_sec {
	box-sizing: border-box;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px;
}
.page_sec:not(:last-child) {
	margin-bottom: 80px;
}
.page_txt_block_01:not(:last-child) {
	margin-bottom: 80px;
}
.page_txt_block_01 p {
	line-height: 2;
}
.page_txt_block_01 p:not(:last-child) {
	margin-bottom: 2em;
}
.page_table_style_01 {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.page_table_style_01 dt {
	box-sizing: border-box;
	display: block;
	background-color: #f2f2f2;
	padding: 20px;
	width: 200px;
	border-top: 2px solid #bfbfbf;
}
.page_table_style_01 dd {
	box-sizing: border-box;
	display: block;
	width: calc(100% - 200px);
	padding: 20px;
	border-top: 2px solid #bfbfbf;
}
.page_table_style_01 dt:nth-last-child(2),
.page_table_style_01 dd:last-child {
	border-bottom: 2px solid #bfbfbf;
}
@media screen and (max-width: 768px) {
	.page_mv {
		overflow: hidden;
	}
	.page_mv img {
		max-width: none;
		width: 120%;
	}
	.page_ttl {
		padding: 20px 20px 10px;
		margin-bottom: 20px;
	}
	.page_ttl_style_01 {
		font-size: 1.8rem;
		padding-bottom: 15px;
		margin-bottom: 15px;
	}
	.page_ttl_style_02 {
		font-size: 1.6rem;
		margin-bottom: 15px;
		padding-bottom: 10px;
	}
	.page_ttl_style_03 {
		font-size: 1.4rem;
		margin-bottom: 15px;
	}
	.page_sec:not(:last-child) {
		margin-bottom: 40px;
	}
	.page_txt_block_01:not(:last-child) {
		margin-bottom: 40px;
	}
	.page_txt_block_01 p:not(:last-child) {
		margin-bottom: 2em;
	}
	.page_table_style_01 dt {
		width: 100%;
		padding: 10px;
		border-top: 1px solid #bfbfbf;
	}
	.page_table_style_01 dd {
		width: 100%;
		padding: 10px 0;
		border: none;
	}
	.page_table_style_01 dt:nth-last-child(2),
	.page_table_style_01 dd:last-child {
		border-bottom: none;
	}
}

/* ADD 2021-02-13 */
.tac {
	text-align: center !important;
}
.mt-s1 {
	margin-top: calc(2% + 20px) !important;
}
.mt-s2 {
	margin-top: calc(1.5% + 15px) !important;
}
.mb-s1 {
	margin-bottom: calc(2% + 20px) !important;
}
.mx-auto {
	margin-left: auto !important;
	margin-right: auto !important;
}
.px-s1 {
	padding-left: 5% !important;
	padding-right: 5% !important;
}
.mw-s1 {
	max-width: 600px;
}

.dib {
	display: inline-block !important;
}
.pc-di {
	display: inline !important;
}
.pc-dib {
	display: inline-block !important;
}
.smt-di {
	display: none !important;
}
.smt-dib {
	display: none !important;
}

@media screen and (max-width: 768px) {
	.pc-di {
		display: none !important;
	}
	.pc-dib {
		display: none !important;
	}
	.smt-di {
		display: inline !important;
	}
	.smt-dib {
		display: inline-block !important;
	}
}

/* 20220727 add */
#recruit-banner {
    position: fixed;
    z-index: 100;
	right: calc(90px + 4%);
    bottom: 4%;
    width: 260px;
}
#recruit-banner img {
    width: 100%;
}
@media screen and (max-width: 768px) {
	#recruit-banner {
		max-width: 230px;
		bottom: 1.7%;
		right: calc(50px + 10vw);
	}
}