@charset "UTF-8";

/*メインイメージ
---------------------------------------------------------*/
.contentpage .m_img_area {
  margin-bottom: 0;
}



/*bosyu
---------------------------------------------------------*/
#bosyu .bg{
	padding: 100px 0 130px;
}
#bosyu .bosyu_txt{
	font-size: 130%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	text-align: center;
	color: #ba494c;
	font-weight: bold;
	margin-bottom: 1em;
}
#bosyu .tbl_bosyu{
	width: 100%;
}
#bosyu .tbl_bosyu th{
	width: 21%;
	color: #fff;
	font-weight: bold;
	vertical-align: top;
	padding: 1.8em;
	box-sizing: border-box;
	border-bottom: 1px solid #e6e6e6;
}
#bosyu .tbl_bosyu tr:last-child th{
	border-bottom: none;
}
#bosyu .tbl_bosyu td{
	width: 79%;
	background-color: #fff;
	vertical-align: top;
	padding: 1.8em;
	box-sizing: border-box;
	border-bottom: 1px solid #e6e6e6;
}
#bosyu .tbl_bosyu tr:last-child td{
	border-bottom: none;
}
#bosyu .tbl_bosyu td li{
	padding-left: 1em;
	text-indent: -1em;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 835px) {
#bosyu .bg{
	padding: 9% 0 12%;
}
#bosyu .tbl_bosyu th,
#bosyu .tbl_bosyu td{
	padding: 1.5em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#bosyu .bg{
	padding: 12% 0 14%;
}
#bosyu .bosyu_txt{
	font-size: 120%;
	letter-spacing: 0.05em;
}
#bosyu .tbl_bosyu,
#bosyu .tbl_bosyu .tbody,
#bosyu .tbl_bosyu tr,
#bosyu .tbl_bosyu th,
#bosyu .tbl_bosyu td{
	display: block;
	width: 100%;
}
#bosyu .tbl_bosyu th{
	padding: 0.8em 5%;
	text-align: center;
	border-bottom: none;
}
#bosyu .tbl_bosyu td{
	padding: 1.5em 5%;
	border-bottom: none;
}
}



/*contact_us
---------------------------------------------------------*/
#contact_us .bg{
	padding: 120px 0 130px;
}
#contact_us .contact_us_tit{
	text-align: center;
}
#contact_us .contact_us_tit p{
	font-size: 477%;
	letter-spacing: 0.05em;
	line-height: 1em;
}
#contact_us .contact_us_tit h2{
	font-weight: bold;
	margin-top: 0.5em;
}
#contact_us .contact_tel{
	padding-top: 65px;
	margin-top: 50px;
	margin-bottom: 60px;
	position: relative;
}
#contact_us .contact_tel::before{
	position: absolute;
	content: "";
	background: #120f10;
	width: 22.353em;
	height: 1px;
	left: 0;
	right: 0;
	margin: auto;
	top: 0;
}
#contact_us .contact_tel dt{
	font-weight: bold;
	line-height: 1.5em;
	text-align: center;
	margin-bottom: 1.5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 835px) {
#contact_us .bg{
	padding: 11% 0 12%;
}
#contact_us .contact_tel{
	padding-top: 6.5%;
	margin-top: 5%;
	margin-bottom: 6%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#contact_us .bg{
	padding: 13% 0 14%;
}
#contact_us .contact_us_tit{
	font-size: 90%;
}
#contact_us .contact_tel{
	padding-top: 8.5%;
	margin-top: 7%;
	margin-bottom: 8%;
}
#contact_us .contact_tel dt{
	font-weight: bold;
	line-height: 1.5em;
	text-align: center;
	margin-bottom: 1.2em;
}
}



/*tbl_form
---------------------------------------------------------*/
#contact_us .tbl_form {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	font-size: min(1.8vw,100%);
	line-height: 1.5em;
}
.kakunin #contact_us .tbl_form{
	border-bottom: 1px solid #DADADA!important;
}
#contact_us .tbl_form tr,
#contact_us .tbl_form th,
#contact_us .tbl_form td {
	text-align: left;
}
#contact_us .tbl_form th,
#contact_us .tbl_form td{
	border-top: 1px solid #DADADA;
}
#contact_us .tbl_form tr {
	width: 100%;
	box-sizing: border-box;
}
#contact_us .tbl_form th {
	width:27.5%;
	padding:2em 1.7em;
	box-sizing: border-box;
	font-weight: bold;
}
#contact_us .tbl_form th p{
	max-width: 12em;
	margin: 0 auto;
}
#contact_us .tbl_form th.top{
	vertical-align: top;
}
#contact_us .tbl_form th{
}
#contact_us .tbl_form th span{
	font-size: 0.8em;
	color: #fff;
	letter-spacing: 0.1em;
	line-height: 1em;
	padding: 0.4em 0.8em;
	display: inline-block;
	border-radius: 0.23em;
	background: #baaba6;
	margin-right: 0.8em;
}
#contact_us .tbl_form th span.required{
	background-color: #ba494c;
}
#contact_us .tbl_form td {
	vertical-align: middle;
	width:72.5%;
	padding:2em 1.7em;
	box-sizing: border-box;
}
#contact_us .tbl_form.free{
	border-bottom: 1px solid #DADADA;
}
#contact_us .tbl_form.free tr,
#contact_us .tbl_form.free tr th,
#contact_us .tbl_form.free tr td{
	display: block!important;
	width: 100%!important;
}
#contact_us .tbl_form.free tr th{
	padding-bottom: 1em;
}
#contact_us .tbl_form.free tr td {
	border-top: none!important;
	padding-top: 0;
}
/* テキストボックス */
#contact_us .tbl_form .max_txt {
	width: 100%;
	box-sizing: border-box;
}
#contact_us .tbl_form .age_txt {
	width:6em;
	box-sizing: border-box;
	margin-right: 1em;
}

#contact_us .tbl_form textarea{
	height: 144px;
	padding: 1em;
	box-sizing: border-box;
	background: #fbf9fc;
	border: 1px solid #e6e6e6;
	border-radius: 0.42em;
}
#contact_us .tbl_form textarea:focus {
	outline: 0;
}

/* ラジオボタン */
#contact_us .radio_list {
	display: flex;
    flex-wrap: wrap;
}
#contact_us .radio_list li {
	margin: 0.5em 2.5em 0.5em 0;
}
#contact_us .radio_list li:last-child {
	margin-right: 0;
}

/* チェックボタン */
#contact_us .check_list li {
	float: left;
	margin: 0.5em 2.5em 0.5em 0;
}
#contact_us .check_list li:last-child {
	margin-right: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1070px) {
#contact_us .tbl_form th {
	padding:2em 1em;
	width:28%;
}
#contact_us .tbl_form td {
	padding:2em 1em;
	width:72%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#contact_us .tbl_form th {
	width:30%;
}
#contact_us .tbl_form td {
	width:70%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#contact_us .tbl_form {
	font-size: 100%;
}
#contact_us .tbl_form tr,
#contact_us .tbl_form th,
#contact_us .tbl_form td {
	display: block;
	width: 100%!important;
	box-sizing: border-box;
}
#contact_us .tbl_form th {
	padding: 5% 0 3%!important;
	border-bottom: none;
}
#contact_us .tbl_form th p{
	max-width: 100%;
}
#contact_us .tbl_form td {
	padding: 0 0 5%!important;
	border-top: none;
}
#contact_us .tbl_form.free tr th span{
	margin-bottom: 0.2em;
}
}



/* 入力項目デザイン
-----------------------------------------------------------------------------*/
/********************/
/* テキストボックス */
/********************/
#contact_us input[type="text"] {
	padding: 0.725em 1.2em;
	box-sizing: border-box;
	background: #fbf9fc;
	letter-spacing: 0.05em;
	line-height: 1.5em;
	outline: none;
	border: 1px solid #e6e6e6;
	border-radius: 0.42em;
}
#contact_us input[type="text"]::placeholder {
  color: #b2b2b2;
}

/****************/
/* ラジオボタン */
/****************/
#contact_us input[type=radio], #contact_us input[type=checkbox] {
	display: inline-block;
	letter-spacing: normal;
}
#contact_us input[type=radio] + label, #contact_us input[type=checkbox] + label {
	position: relative;
	display: inline-block;
	cursor: pointer;
}

@media (min-width: 1px) {
#contact_us input[type=radio], #contact_us input[type=checkbox] {
	position: absolute;		/* 上に別の要素が乗るようにする */
	z-index: -1;			/* 最背面にする */
	pointer-events: none;	/* クリック無効 */
	visibility: hidden;		/* 非表示 */
	margin: 0;
}
#contact_us input[type=radio] + label, #contact_us input[type=checkbox] + label {
	padding: 0 0 0 1.8em;
}
#contact_us input[type=radio] + label::before, #contact_us input[type=checkbox] + label::before {
	content: "";
	position: absolute;
	left: 0;
	box-sizing: border-box;
	display: block;
	width: 1.2em;
	height: 1.2em;
	background:#fbf9fc;
	border: 1px solid #e6e6e6;;
}
#contact_us input[type=radio] + label::before {
	top: 0.13em;
	border-radius: 50%;
}
#contact_us input[type=checkbox] + label::before {
	top:  0.16em;
	border-radius: 0.3125em;
}
#contact_us input[type=radio]:checked + label::after, #contact_us input[type=checkbox]:checked + label::after {
	content: "";
	position: absolute;
	box-sizing: border-box;
	display: block;
}
#contact_us input[type=radio]:checked + label::after {
	left: .26em;
	top: .4em;
	margin: auto;
	width: .7em;
	height: .7em;
	background: #ba494c;
	border-radius: 50%;
}
#contact_us input[type=checkbox]:checked + label::after {
	top: -0.1em;
	left: .3em;
	width: 1.4em;
	height: .8em;
	border-left: 3px solid #ba494c;
	border-bottom: 3px solid #ba494c;
	transform: rotate(-45deg);
}
}

/****************/
/* セレクトボックス */
/****************/
#contact_us select {
  /* デフォルトのスタイルを解除 */
	appearance: none;
	/* スタイル */
	display: inline-block;
	width: 175px; /* 幅 */
	max-width: 100%; /* 最大幅 */
	padding: 0.3em 2em 0.3em .6em; /* 文字周りの余白 */
	cursor: pointer; /* カーソルを指に */
	font-size: 90%;
	line-height: 1.4; /* 行高 */
	border-radius: 0.36em; /* 角丸 */
	background-color: #fff; /* 背景色 */
	border: solid 1px #DCDCDC; /* 枠線 */
	box-sizing: border-box;
	background: url("../images/reserve/select_arrow.svg") no-repeat 98% center;
	background-size: 1.07em 1.07em;
	
}
/* フォーカス時 */
#contact_us select:focus {
	outline: 0;
}
/* IEでデフォルトの矢印を消す */
#contact_us select::-ms-expand {
	display: none;
}
#contact_us .date_list li::placeholder {
	font-size: 90%!important;
	letter-spacing: 0.15em!important;
	color: #000000!important;
}

/**********/
/* ボタン */
/**********/
#contact_us input[type="submit"], #contact_us input[type="button"], #contact_us input[type="reset"] {
	-webkit-appearance: none;
	width: 100%;
	height: 4.2em;
	border: none;
	cursor: pointer;
	font-size: 100%;
	line-height: 1.5em;
	letter-spacing: 0.15em;
	color: #fff;
	background-color: #4F9E88;
}
#contact_us input[type="button"], #contact_us input[type="reset"] {
	background-color: #b3b3b3!important;
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 480px) {
#contact_us input[type="submit"], #contact_us input[type="button"], #contact_us input[type="reset"] {
	background-position: 98% center !important;
	letter-spacing: 0.1em;
}

/********************/
/* テキストボックス */
/********************/
#contact_us input[type="text"] {
	padding: 3%;
}
	
/****************/
/* セレクトボックス */
/****************/
#contact_us select {
  /* デフォルトのスタイルを解除 */
	margin-top: 0.5em;
}
}



/* アコーディオン
----------------------------------------------------------------------*/
/*トリガー*/
#contact_us .open_trigger {
	margin-top: 1em;
}
#contact_us .open_trigger span {
	display: inline-block;
	cursor: pointer;
	position: relative;
	padding-right: 2em;
	text-decoration: underline;
}
#contact_us .open_trigger span::before{
	position: absolute;
	content: "";
	width: 1.4em;
	height: 1.4em;
	right: 0;
	top: 49%;
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
.open_box {
	display: none;
}

/* Mobile
------------------------------------------*/
@media only screen and (max-width: 767px) {
#contact_us .open_trigger {
	font-size: 110%;
	letter-spacing: .05em;
}
}



/* ドメイン設定
-----------------------------------------------------------------------*/
#contact_us .mobile_attention {
	letter-spacing: .1em;
	line-height: 1.5em;
}
#contact_us .mobile_attention dt{
	font-size: 105%;
	line-height: 1.5em;
	color: #ba494c;
	font-weight: bold;
}
#contact_us .mobile_attention dt.open_trigger span::before{
	background-image: url("../images/recruit/icon_open.svg") ;
}
#contact_us .mobile_attention dt.open_trigger.active span::before{
	background-image: url("../images/recruit/icon_close.svg") ;
}
#contact_us .mobile_attention dd{
    padding-top: 1.0em;
	padding-bottom: 0.5em;
}
#contact_us .mobile_attention dd p{
	max-width: 805px;
	line-height: 2em;
	margin: 0 auto;
}
#contact_us .mobile_attention ul {
	max-width: 805px;
	margin: 1.5em auto 0;
}
#contact_us .mobile_attention li {
	padding-left: 1.5em;
	float: left;
	margin-right: 1.8em;
	position: relative;
	line-height: 1.2em;
}
#contact_us .mobile_attention li::before {
	position: absolute;
	content: '\e801';
	font-family: "fontello";
	dominant-baseline: 90%;
	color: #ba494c;
	left: 0;
	top: 52%;
	transform: translateY(-50%);
}
#contact_us .mobile_attention li a:hover{
	color: #ba494c;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#contact_us .mobile_attention {
	letter-spacing: .05em;
	line-height: 1.8em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#contact_us .mobile_attention dt{
	text-align: center;
}
#contact_us .mobile_attention dd{
    padding-top: 5%;
	padding-bottom: 5%;
}
#contact_us .mobile_attention ul {
	max-width: 100%;
	margin: 1em auto 0;
}
#contact_us .mobile_attention li {
	margin-right: 1em;
}
}




/* submit_txt
---------------------------------------------------------*/
.submit_txt{
	line-height: 2em;
}
.submit_txt span{
	color: #ba494c;
}



/* 個人情報
---------------------------------------------------------*/
#contact_us .privacy {
	padding: 30px 4%;
	background-color: rgba(224,206,199,0.2);
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
}
#contact_us .privacy .open_trigger{
	font-weight: normal;
	font-size: 90%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	text-align: center;
	margin-top: 0;
}
#contact_us .privacy .open_trigger span{
		text-decoration: none;
}
#contact_us .privacy .open_trigger  span::before{
	width: 1.6em;
	height: 1.6em;
}
#contact_us .privacy .open_box{
	display: none;	/* 初期表示 */
	margin: 30px auto 0;
	font-size: 90%;
}
#contact_us .privacy .open_box dl{
	padding-top: 2em;
}
#contact_us .privacy .open_box dt{
	font-size: 115%;
	letter-spacing: .1em;
	line-height: 1.5em;
	margin-bottom: .5em;
}
#contact_us .privacy li {
	text-indent: -1.1em;
	margin-left: 1.1em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#contact_us .privacy {
	padding: 4%;
}
#contact_us .privacy .open_box{
	margin: 3% auto 0;
}
#contact_us .privacy .open_box dl{
	padding-top: 1.5em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#contact_us .privacy {
	padding: 6% 5%;
}
#contact_us .privacy .open_box{
	margin: 4% auto 0;
}
#contact_us .privacy .open_box dl{
	padding-top: 1.5em;
}
#contact_us .privacy .open_box dt{
	letter-spacing: .05em;
	margin-bottom: .4em;
}
}





/* ボタンレイアウト
-----------------------------------------------------------------------*/
/* 同意ボタン */
#contact_us .submit_box input[type=checkbox] + label {
	padding: 0 0 0 2em;
}
#contact_us .checkBtn {
	text-align: center;
	line-height: 1.5em;
}

#contact_us .submit_box ul{
	width: 100%;
	max-width: 695px;
	margin: 0 auto;
	text-align: center;
	display: flex;
	justify-content: space-between;
}
#contact_us .submit_box li {
	width: 48.7%;
}
#contact_us .submit_box .btn_size_change li:first-child {
	width:56.2%;
	max-width: 390px;
	position: relative;
}
#contact_us .submit_box .btn_size_change li:first-child .arrow{
	font-size: 0.4em;
	right: 6em;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	color: #fff;
}
#contact_us .submit_box .btn_size_change li:last-child {
	width: 41.2%;
	max-width: 290px;
}


/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* 同意ボタン */
#contact_us .submit_box input[type=checkbox] + label {
	padding: 0 0 0 1.8em;
}
#contact_us .checkBtn {
	font-size: 95%;
	letter-spacing: 0.03em;
}
	
#contact_us .submit_box ul{
	max-width: 100%;
	display: block;
}
#contact_us .submit_box li {
	width: 100% !important;
	max-width: 100% !important;
}
#contact_us .submit_box li:first-child {
	margin-bottom: 3%;
}
}

