@charset "utf-8";
/* スタイルリセット */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6,
p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del,
dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup,
tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas,
details, embed,  figure, figcaption, footer, header, hgroup,  menu,
nav, output, ruby, section, summary, time, mark, audio, video, textarea {
		margin: 0;
		padding: 0;
		border: 0;
		font: inherit;
		vertical-align: baseline;
}
/* HTML5  */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section,strong {
	display: block;
}
ol, ul {
		list-style: none;
}
blockquote, q {
		quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
		content: ''; content: none;
}
table {
		border-collapse: collapse;
		border-spacing: 0;
}
img {
	image-rendering: -webkit-optimize-contrast;
}
a {
  text-decoration: none;
}
html {
	font-size: 62.5%;
}

/* 全体レイアウト */
.ct_wrap {
  width:1200px;
  height: auto;
  margin: 0 auto;
}
.sub_contents {
  width: 1200px;
  height: 500px;
  margin-top: 55px;
  background: #aaa;
}
/*
-----------------------
フォントスタイル
-----------------------
*/
.ft_nt_sans {
	font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}
.ft_nt_serif {
	font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}
.ft_wght__3 {
	font-weight: 300;
}
.ft_wght__r {
	font-weight: 400;
}
/*
-----------------------
フォントカラー
-----------------------
*/
.ft_cl_b {
	color: #142453;
}
.ft_cl_b3 {
	color: #333;
}
.ft_cl_b5 {
	color: #555;
}
.ft_cl_b8 {
	color: #888;
}
.ft_cl_w {
	color: #fff;
}
/*
-----------------------
フォントサイズ
-----------------------
*/
.ft_style1 {
	font-size: 1.2rem;
}
.ft_style2 {
	font-size: 1.4rem;
}

/*
-----------------------
フォントレイアウト
-----------------------
*/
.ft_r {
	text-align: right;
}
.ft_l {
	text-align: left;
}
.ft_cet {
	text-align: center;
}
.ft_just {
	text-align: justify; /* all */
	text-justify: inter-ideograph;/* for:IE6〜IE8 */
}

/*
-----------------------
リンクスタイル
-----------------------
*/
.link-cl {
  color: #545454;
	background: none;
}
.link-cl_b {
	color: #fff;
	background: #142453;
}


/*
-----------------------
レイアウト
-----------------------
*/
.flex_item {
  display: flex;
}
.flex_item＿2 {
  display: flex;
  flex-flow: column;
}
/*flex右寄*/
.fl_st_right {
  justify-content: flex-end;
}
.fl_st_left {
  justify-content: flex-start;
}
/*flex両端*/
.fl_st_betw {
  justify-content: space-between;
}
.fl_st_evenly {
  justify-content: space-evenly;
}
/*flex上下中央*/
.fl_pt_center {
  align-items: center;
}
/*flex順序入れ替え*/
.fl_reverse {
  order:2;
}
.d_bk {
	display: block;
}
.d_bk_sp_inline {
	display: block;
}
.d_in_bk {
	display: inline-block;
}
/*
-----------------------
ボタンデザイン
-----------------------
*/
.linkbt_pt1,
.linkbt_pt2 {
	width: 250px;
	margin: 80px auto 0 auto;
	height: auto;
	font-size: 1.6rem;
}
.linkbt_pt1 a,
.linkbt_pt2 a {
	padding: 19px 0;
	position: relative;
	transition: all 0.5s ease;
	border: 2px solid #142453;
}
.linkbt_pt1 a {
	color: #fff;
	background: #142453;
}
.linkbt_pt2 a {
	color: #142453;
	background: #fff;
}
.linkbt_pt1 a::after,
.linkbt_pt2 a::after {
	display: block;
	content: "";
	width: 8px;
	height: 8px;
	position: absolute;
	top: 50%;
	right: 55px;
	transform: translate(0,-50%) rotate(45deg);
}
.linkbt_pt1 a::after {
	border-top: 1px solid  #fff;
	border-right: 1px solid #fff;
}
.linkbt_pt2 a::after {
	border-top: 1px solid  #142453;
	border-right: 1px solid #142453;
}
.linkbt_pt1 a:hover {
	color: #142453;
	background: #fff;
}
.linkbt_pt2 a:hover {
	color: #fff;
	background: #142453;
}
.linkbt_pt1 a:hover::after {
	border-top: 1px solid  #142453;
	border-right: 1px solid #142453;
}
.linkbt_pt2 a:hover::after {
	border-top: 1px solid  #fff;
	border-right: 1px solid #fff;
}
.linkbt_pt1 a span,
.linkbt_pt2 a span {
	margin-right: 55px;
}
/*
-----------------------
ヘッダー
-----------------------
*/
#header_line {
  width: 100%;
  background: #fff;
  position: fixed;
  top:0;
	height: 70px;
	z-index: 9;
	box-shadow: 0 5px 5px rgba(00,00,00,0.1);
}
.logo__style {
  width: 138px;
  height: 70px;
  background: url(../image/header/logo.jpg) no-repeat center center;
  background-size: cover;
}
#hd_navi {
  width: 1062px;
}
#hd_navi ul{
  height: 70px;
	justify-content: flex-end;
}
#hd_navi ul li a{
  padding: 26px;
	display: block;
	position: relative;
}
#hd_navi ul li:last-child a {
	padding: 26px 40px;
}
#hd_navi ul li a::before,
#hd_navi ul li a::after {
	border-bottom: solid 2px #142453;
  bottom: 0;
  content: "";
  display: block;
  position: absolute;
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
  width: 0;
}
#hd_navi ul li a::before {
  left: 50%;
}
#hd_navi ul li a::after {
  right: 50%;
}
#hd_navi ul li a:hover::before,
#hd_navi ul li a:hover::after {
  width: 50%;
}
#bg_main {
	width: 100%;
	margin-top: 70px;
	background: url(../image/header/main_image.jpg) top center no-repeat;
	background-size: contain;
	aspect-ratio: 15/8;
	justify-content: center;
}
#bg_main h1 {
	text-align: center;
	font-size: clamp(1.2rem,2.5vw,4.0rem);
	line-height: clamp(2.0rem,4.3vw,8.0rem);
	margin-bottom: 15px;
}
#bg_main h1 span{
	display: block;
}
#bg_main p {
	font-size: clamp(0.9rem,1.2vw,2.0rem);
	text-align: center;
}
#section_1 {
	padding: 80px;
}
#section_2,
#section_3,
#section_4 {
	padding: 55px 0;
}
#section_1 h2,
#section_2 h2,
#section_3 h2,
#section_4 h2  {
	color: #142453;
	font-size: 5.1rem;
	position: relative;
}
#section_1 h2::after,
#section_2 h2::after,
#section_3 h2::after,
#section_4 h2::after {
	position: absolute;
	content:"";
	display: block;
	width: 125px;
	border-bottom: 2px solid #142453;
	transform: translate(-50%,0);
	left: 50%;
	bottom: -15px;
}
#section_1 h2 + span,
#section_2 h2 + span,
#section_3 h2 + span,
#section_4 h2 + span {
	display: block;
	font-size: 1.7rem;
	margin-top: 25px;
}
#section_1 strong {
	font-size: 3.2rem;
	margin-top: 50px;
}
#section_1 .ft_msg p{
	color: #555;
	margin-top: 30px;
	line-height: 4.3rem;
	font-size: 1.9rem;
}
#section_2 .job_ct {
	width: auto;
	padding: 60px;
	background: #dcdee5;
}
#section_2 .job_ct > div{
	padding: 80px;
	background: #fff;
}
#section_3 .work_ct{
	padding: 60px;
	margin-top: 50px;
	background: #f0f0f0;
}
#section_3 .work_img {
	width: auto;
}
#section_3 .work_img img{
	width: auto;
	max-width: 100%;
}
#section_3 .work_sub_img {
	width: 100%;
	margin-top: 30px;
}
#section_3 .work_sub_img .sub_img{
	width: calc(96%/2);
	aspect-ratio: 57/35;
}
#section_3 .work_sub_img .sub_img img{
	width: auto;
	max-width: 100%;
}
/*
-----------------------
インタビュー
-----------------------
*/
#section_4 .itvw_profile {
	margin: 90px 0 70px 0;
	background: #f0f0f0;
	border-bottom: 25px solid #f0f0f0;
	position: relative;
	justify-content: space-evenly;
}
#section_4 .itvw_profile::before {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	background: #fff;
	height: 25px;
	top:0;
	left:0;
}
#section_4 .itvw_profile > div {
	width: calc(90%/2);
	position: relative;
	z-index: 5;
	text-align: center;
}
#section_4 .itvw_profile .pic_img {
	max-width: 440px;
	max-height :660px;
}
#section_4 .itvw_profile .pic_img img{
	width: auto;
	max-width: 440px;
	vertical-align: bottom;
	box-shadow: 25px 25px 0 #142453;
	height: auto;
}
#section_4 .itvw_profile .caption {
	padding-left: 30px;
	text-align: left;
	box-sizing: border-box;
}
#section_4 .caption .int_v {
	font-size: 4.0rem;
}
#section_4 .caption figcaption {
	font-size: 3.8rem;
	letter-spacing: 1.2rem;
	margin: 25px 0 15px 0;
	font-weight: 400;
}
#section_4 .caption .admin_join {
	font-size: 2.1rem;
	margin: 8px 0;
}
#section_4 .itvw_profile .caption p {
	font-size: 3.8rem;
	line-height: 6.1rem;
	margin-top: 25px;
}
.itvw_contents {
	margin-top: 30px;
}
.itvw_contents section {
	margin-top: 40px;
}
.itvw_contents .itvw_title {
	width: 750px;
}
.itvw_contents .itvw_title h3 {
	font-size: 2.8rem;
	border-left: 5px solid #142453;
	padding: 5px 0 5px 20px;
}
.itvw_contents .itvw_title dl {
	margin: 20px 0;
}
.itvw_contents .itvw_title dl dt {
	font-size: 1.9rem;
	margin: 30px 0 15px 0;
	display: flex;
  align-items: center;
}
.arrow {
  position: relative;
  width: 50px;
  margin: 20px 10px 10px 0;
}
.arrow_1 {
  height: 1px;
  background-color: #142453;
}
.arrow_2 {
  position: absolute;
  top: 0;
  right: 0;
  transform-origin: right bottom;
  width: 15px;
  height: 1px;
  background-color: #142453;
  transform: rotate(45deg);
}
.itvw_contents .itvw_title dl dd .name,
.itvw_contents .message_wrap .name {
	font-size: 1.7rem;
	line-height: 100%;
	background-color: #142453;
	padding: 5px 20px;
	margin-bottom: 20px;
	display: inline-block;
}
.itvw_contents .itvw_title dl dd {
	font-size: 1.5rem;
	line-height: 3.2rem;
}
.itvw_contents .int_thumbnail {
	width: 390px;
	margin-top: 34px;
}
.itvw_contents .message {
	margin-top: 70px;
	padding: 70px 0;
	border: 1px solid #142453;
}
.itvw_contents .message h3 {
	font-size: 2.8rem;
	margin-top: -90px;
}
.itvw_contents .message h3 span {
	background: #fff;
	padding: 0 55px;
}
.itvw_contents .message_wrap {
	width: 755px;
	margin: 55px auto 0 auto;
}
.itvw_contents .message_wrap p {
	font-size: 1.5rem;
	line-height: 3.2rem;
}
/*
-----------------------
クロストーク
-----------------------
*/
#cross_talk {
	width: 100%;
	background: #f0f0f0;
	padding-bottom: 100px;
	margin-top: 57px;
}
#talk_bg_img {
	width:100%;
	background: url(../image/crosstalk/talk_bg_img1.jpg) top center no-repeat;
	background-size: contain;
	aspect-ratio:115/53;
	overflow: hidden;
}
#talk_bg_img .mask {
	background: rgba(20,36,83,0.4);
	width: 100%;
	height: 100%;
	justify-content: center;
	position: relative;
}
#talk_bg_img .mask h2 {
	font-size: 3.9rem;
	line-height: 7.0rem;
}
#talk_bg_img .mask::before {
  width: 15vw;
	position: absolute;
	content: "";
	display: block;
  aspect-ratio: 1;
  clip-path: polygon(0 0,100% 0,0 100%);
	top: 0;
	left: 0;
	background: #142453;
}
#talk_bg_img .mask::after {
  width: 10vw;
	position: absolute;
	content: "";
	display: block;
  aspect-ratio: 1;
  clip-path: polygon(0 100%,100% 0,100% 100%);
	bottom: 0;
	right: 0;
	background: rgba(255, 255, 255, 0.2);
}
#talk_bg_img .mask .copy_t {
	position: absolute;
	display: block;
	top: 25px;
	left: 25px;
	font-size: 4.1rem;
}
#talk_member {
	margin: 70px 0;
}
#talk_member .tm_container {
	background-color: #142453;
	margin: 50px 0;
}
#talk_member .member_tb {
	width: 435px;
	height: auto;
}
#talk_member .member_tb img {
	width: auto;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
#talk_member .member_list {
	position: relative;
	width: 765px;
	display: grid;
	place-items: center;
}
#talk_member .member_list::before,
#talk_member .member_list::after {
	position: absolute;
	content: "";
	display: block;
	aspect-ratio: 1;
	background: rgba(255, 255, 255, 0.2);
}
#talk_member .member_list::before {
  width: 15vw;
  clip-path: polygon(0 0,100% 0,0 100%);
	top: 0;
	left: 0;
}
#talk_member .member_list::after {
  width: 5vw;
  clip-path: polygon(0 100%,100% 0,100% 100%);
	bottom: 0;
	right: 0;
}
#talk_member .member_list ul {
	position: relative;
	z-index: 5;
}
#talk_member .member_list ul li:first-child{
	padding: 0 50px 0 0;
}
#talk_member .member_list ul li:last-child{
	padding: 0 0 0 50px;
}
#talk_member .member_list .member_img {
	overflow: hidden;
	width: 115px;
	height: 115px;
	border-radius: 50%;
}
.member_img img {
	width: auto;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
.member_list .member_pro {
	margin-left: 15px;
}
.member_list .member_pro p{
	font-size: 3.2rem;
	font-weight: lighter;
	letter-spacing: 0.5rem;
	margin: 5px 0;
}
.member_list .member_pro span {
	margin: 5px 0;
}
.member_list .post {
	font-size: 1.2rem;
}
.member_list .join_com {
	font-size: 1.6rem;
}
.cross {
  width: 30px;
  position: absolute;
	transform: translate(-50%,-50%);
	top: 50%;
	left: 50%;
}
.cross::before,
.cross::after {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background: #fff;
  border-radius: 2px;
  position: absolute;
  top: 0;
  left: 0;
}
.cross::before {
  transform: rotate(45deg);
}
.cross::after {
  transform: rotate(-45deg);
}
#main_talk {
	padding: 80px 100px 20px 100px;
	background: #fff;
}
#main_talk h3 {
	font-size: 3.2rem;
	border-left: 5px solid #142453;
	padding: 5px 0 5px 20px;
}
#main_talk .talk_wrapper {
	margin-top: 40px;
}
#main_talk .talk_wrapper:last-child {
	margin-bottom: 60px;
}
#main_talk .pw_member {
	width: 90px;
	position: relative;
	margin-top: 10px;
}
#main_talk .pw_member::after {
	display: block;
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	border-bottom: 1px solid #142453;
	border-left: 1px solid #142453;
	transform: rotate(45deg);
	top: 20%;
	left: 130px;
}
#main_talk .pw_member > div{
	width: 90px;
	height: 90px;
	overflow: hidden;
	border-radius: 50%;
}
#main_talk .pw_member p{
	margin-top: 10px;
	font-size: 1.3rem;
}
#main_talk .pw_member p span{
	background: #142453;
	line-height: 100%;
	padding: 2px 15px;
}
#main_talk .talk_ct  {
	width: 800px;
}
#main_talk .talk_ct p{
	font-size: 1.6rem;
	line-height: 3.5rem;
	margin-bottom: 20px;
}

#talk_end_img {
	background: url(../image/crosstalk/talk_bg_img2.jpg) top center no-repeat;
	background-size: 100%;
	aspect-ratio: 115/58;
}

#epilogue {
	background: #fff;
	padding: 75px 0;
}
#epilogue .copy p {
	font-size: 3.0rem;
	margin: 20px 0;
}
#epilogue .lead_copy p {
	font-size: 1.9rem;
	margin-top: 40px;
	line-height: 4.0rem;
}

/*
-----------------------
リクルート(募集要項)
-----------------------
*/
#recruit {
	padding: 75px 0;
}
#recruit h2  {
	color: #142453;
	font-size: 5.1rem;
	position: relative;
}
#recruit h2::after {
	position: absolute;
	content:"";
	display: block;
	width: 125px;
	border-bottom: 2px solid #142453;
	transform: translate(-50%,0);
	left: 50%;
	bottom: -15px;
}
#recruit h2 + span {
	display: block;
	font-size: 1.7rem;
	margin-top: 25px;
}
#recruit .recruit_ct {
	margin-top: 55px;
}
#recruit .tab_menu ul {
	display: flex !important;
	align-items: center;
}
#recruit .tab_menu li{
	width: 270px;
	background: #bbb;
	height: 52px;
	cursor: pointer;
	font-size: 1.5rem;
	margin-left: 30px;
	position: relative;
	justify-content: center;
	color: #fff;
}
#recruit .tab_menu li:first-child{
	margin-left: 0px;
}
#recruit .tab_menu li.active {
	background: #eee;
	color: #555;
}
#recruit .tab_menu li::after {
	content: "";
  position: absolute;
  top: 0;
  left: 100%;
  width: 0;
  height: 0;
  border-right: 30px solid transparent;
  border-bottom: 52px solid #bbb;
}
#recruit .tab_menu li.active::after {
	content: "";
  position: absolute;
  top: 0;
  left: 100%;
  width: 0;
  height: 0;
  border-right: 30px solid transparent;
  border-bottom: 52px solid #eee;
}
#recruit .overview {
	background: #eee;
	padding: 60px 35px 35px 35px;
	display: none;
}
#recruit .overview.show {
	display: block;
}
#recruit .overview > div {
	padding: 40px;
	background: #fff;
}
#recruit .overview table {
	width: 100%;
	font-size: 1.6rem;
	line-height: 3.8rem;
}
#recruit .overview table tr {
	border-bottom: 1px solid #eee;
}
#recruit .overview table th,
#recruit .overview table td {
	vertical-align: middle;
}
#recruit .overview table th{
	width: 20%;
	padding: 25px;
}
#recruit .overview table td{
	width: 80%;
	padding: 25px;
	border-left: 1px solid #eee;
}
#recruit .overview table tr:last-child {
	border-bottom: none;
}

/*
-----------------------
エントリーフォーム
-----------------------
*/
#entry_form {
	width: 100%;
	background: #f0f0f0;
	padding-bottom: 150px;
}
#entry_form .ribbon {
	background: #142453;
	padding: 60px 0 85px 0;
}
#entry_form h2 {
	color: #fff;
	font-size: 5.1rem;
	position: relative;
}
#entry_form h2::after {
	position: absolute;
	content:"";
	display: block;
	width: 125px;
	border-bottom: 2px solid #fff;
	transform: translate(-50%,0);
	left: 50%;
	bottom: -15px;
}
#entry_form h2 + span {
	display: block;
	font-size: 1.7rem;
	margin-top: 25px;
}
#form_area {
	background: #fff;
	padding: 70px 100px;
	margin-top: -30px;
}
.form_guide p{
	font-size: 2.5rem;
}
.form_guide span {
	font-size: 1.7rem;
	margin: 15px 0;
}
.form_title {
	margin: 30px 0;
}
.form_title h3 {
	text-align: left;
	font-size: 2.0rem;
	padding: 10px 0;
	border-bottom: 1px solid #142453;
}
.form_title p {
	margin-top: 25px;
	font-size: 1.5rem;
}
.form_title h4 {
	font-size: 1.7rem;
	margin-bottom: 25px;
}
.form_title .sub_title h4 {
	margin-top: 25px;
	padding: 7px 0;
	background: #eee;
}
#form_area .tb_contents {
	margin-top: 40px;
	padding: 0 25px;
}
#form_area table{
	font-size: 1.4rem;
	width: 100%;
}
#form_area table tr {
	border-bottom: 1px dashed #aaa;
}
#form_area table th,
#form_area table td {
	vertical-align: middle;
}
#form_area table th .required {
	background: #b73b54;
	font-size: 1.2rem;
	line-height: 100%;
	padding: 3px 20px;
	margin: 0 20px;
}
#form_area table th .no_required {
	margin-right: 105px;
}
#form_area table td .att {
	margin-top: 10px;
	line-height: 2.0rem;
}
#form_area table td .post_code1 {
	width: 50px;
}#form_area table td .post_code1 + span {
	margin: 0 5px;
	font-size: 2.0rem;
}
#form_area table td .post_code2 {
	width: 80px;
}
#form_area table td .post_code3 {
	width: 150px;
	display: none;
}
#form_area table td button {
	border: none;
	background: #bbb;
	padding: 9px 20px;
	margin-left: 15px;
	cursor: pointer;
	border-radius: 3px;
}
#form_area table td .c_box {
	margin-top: 15px;
}
#form_area .tb_type1 th{
	width: 25%;
}
#form_area .tb_type1 td{
	width: 37.5%;
	padding: 20px 0 20px 30px;
	border-left: 1px solid #fff;
	vertical-align: top !important;
}
#form_area .tb_type1 input {
	width: 100%;
	padding: 10px 5px;
	border: 1px solid #bbb;
	border-radius: 3px;
	box-sizing: border-box;
}
#form_area .tb_type1 label {
	margin: 5px 0;
	display: block;
}
#form_area .tb_type2 th{
	width: 25%;
}
#form_area .tb_type2 td{
	width: 75%;
	border-left: 1px solid #fff;
	padding: 20px 0 20px 30px;
}
#form_area .tb_type2 td select {
	padding: 7px 25px;
	border: 1px solid #bbb;
	border-radius: 3px;
	box-sizing: border-box;
}
#form_area .tb_type2 td.tel input {
	padding: 10px 15px;
	border: 1px solid #bbb;
	border-radius: 3px;
	margin-left: 35px;
	width: 300px;
}
#form_area .tb_type2 td.tel .tel_area {
	display: block;
}
#form_area .tb_type2 td.mail .tel_area {
	display: block;
}
#form_area .tb_type2 td.mail input {
	padding: 10px 15px;
	border: 1px solid #bbb;
	border-radius: 3px;
	width: 500px;
}
#form_area .tb_type3 th{
	width: 28%;
}
#form_area .tb_type3 td input{
	padding: 10px 5px;
	border: 1px solid #bbb;
	border-radius: 3px;
	box-sizing: border-box;
}
#form_area .tb_type3 td.detail{
	width: 12%;
	padding: 20px 0;
}
#form_area .tb_type3 select {
	padding: 10px 5px;
	border: 1px solid #bbb;
	border-radius: 3px;
	width: 200px;
}
#form_area .tb_type5 th{
	width: 25%;
}
#form_area .tb_type5 td{
	width: 75%;
	border-left: 1px solid #fff;
	padding: 20px 0 20px 30px;
}
#form_area .tb_type5 td input,
#form_area .tb_type5 td select{
	padding: 10px 15px;
	border: 1px solid #bbb;
	border-radius: 3px;
}
#form_area .tb_type5 .form1 select {
	width: 200px;
}
#form_area .tb_type5 .form2 select{
	width: 500px;
}
#form_area .tb_type5 .form3 input,
#form_area .tb_type5 .form3 select{
	width: 300px;
}
#form_area .tb_type5 .form4 input{
	width: 470px;
}
#form_area .tb_type5 .form5 select {
	width: 100px;
}
#form_area .tb_type5 th{
	width: 25%;
}
#form_area .tb_type5 td,
#form_area .tb_type6 td{
	width: 75%;
	border-left: 1px solid #fff;
	padding: 20px 0 20px 30px;
}
#form_area .tb_type5 td input,
#form_area .tb_type5 td select {
	padding: 10px 15px;
	border: 1px solid #bbb;
	border-radius: 3px;
}
#form_area textarea {
	padding: 10px 15px;
	border: 1px solid #bbb;
	border-radius: 3px;
	width: 470px;
	height: 150px;
}
#form_area .tb_type6 td input {
	padding: 10px 15px;
	border: 1px solid #bbb;
}
#form_area .tb_type6 td .radio {
	margin-right: 25px;
}
form.cmxform label.error, label.error {
  color: #b73b54;
}
#form_area .job_history h4{
	margin-top: 25px;
}
#form_area .job_history .tb_contents {
	border: 1px solid #ddd;
	position: relative;
}
#form_area .job_history tr:last-child {
	border:none;
}
#form_area .job_history.hide {
	display: none;
}
#form_area .job_history .batu_bt {
	position: absolute;
	right: 0;
	top: -30px;
	font-size: 2.0rem;/*ボタンの大きさ*/
  font-weight: bold;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
	height: 30px;
  line-height: 100%;
  cursor: pointer;
	background: #aaa;
}
#form_area .add_bt button{
	background: #fff;
	border: 1px solid #aaa;
	color: #555;
	padding: 10px 25px;
	border-radius: 3px;
	cursor: pointer;
}
/*
エラーメッセージ
*/
.er_style {
	color: #b73b54;
	display: block;
}

/*
会員規約
*/
#terms_conditions {
	margin: 15px 0;
}
#terms_conditions p {
	font-size: 1.6rem;
}
#terms_conditions .terms_wrap {
	margin: 30px auto;
	width: 770px;
	font-size: 1.3rem;
}
#terms_conditions .terms_wrap > div {
	width: auto;
	border: 1px solid #ddd;
	padding: 40px;
	overflow-y: scroll;
	height: 250px;
}
#terms_conditions .agree_box {
	font-size: 1.5rem;
	line-height: 100%;
}
/*
同意ボタン
*/
.agree_button{
	width: 250px;
	margin: 50px auto 0 auto;
	height: auto;
	font-weight: 400!important;
}
.agree_button button{
	padding: 19px 0;
	position: relative;
	width: 250px;
	color: #fff;
	background: #aaa;
	border: none;
	font-size: 1.6rem;
	cursor: not-allowed;
}
.agree_button button:enabled {
	background-color: #142453;
	cursor: pointer;
}
.agree_button button::after {
	display: block;
	content: "";
	width: 8px;
	height: 8px;
	position: absolute;
	top: 50%;
	right: 55px;
	transform: translate(0,-50%) rotate(45deg);
}
.agree_button button::after {
	border-top: 1px solid  #fff;
	border-right: 1px solid #fff;
}
.agree_button button span {
	margin-right: 35px;
}
/*
フッター
*/
#footer_ribbon {
	width: 100%;
	background: #142453;
	padding: 85px 0;
	text-align: left;
}
#footer_ribbon p {
	font-size: 1.6rem;
	margin: 10px 0;
}
#footer_ribbon small {
	font-size: 1.5rem;
	margin: 10px 0;
}
#footer_ribbon .site_link {
	margin-top: 50px;
}
#footer_ribbon .site_link a{
	text-decoration: underline;
	font-size: 1.4rem;
}
