*,
*::after,
*::before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#bread {
	background-color: #fff;
	box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.2);
	-webkit-box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.2);
	position: relative;
	z-index: 11;
}

#bread ol {
	width: 96%;
	max-width: 960px;
	padding: 7px 0 5px 0;
	margin: 0 auto;
}

#bread ol li {
	font-size: 12px;
	line-height: 18px;
	display: inline;
}

#title {
	background: #fff no-repeat center top;
	background-size: 1400px auto;
}

#title .title_img {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
}

#title .title_img img {
	width: 100%;
	height: auto;
	display: block;
}

#title .title_box {
	width: 96%;
	height: 100%;
	position: absolute;
	z-index: 11;
	-webkit-align-items: center;
	align-items: center;
	-webkit-display: flex;
	display: flex;
	padding: 0 2%;
}

#title .title_box p,
#title .title_box h2 {
	color: #fff;
	font-size: 18px;
	line-height: 20px;
	padding: 5px 0;
}

#title .title_box p.prod1,
#title .title_box h2.prod1 {
	background: transparent url('/images/prod_pict1.png') no-repeat left center;
	background-size: 40px 40px;
	padding-left: 45px;
}

#title .title_box p.prod2,
#title .title_box h2.prod2 {
	background: transparent url('/images/prod_pict2.png') no-repeat left center;
	background-size: 40px 40px;
	padding-left: 45px;
}

#title .title_box p.prod3,
#title .title_box h2.prod3 {
	background: transparent url('/images/prod_pict3.png') no-repeat left center;
	background-size: 40px 40px;
	padding-left: 45px;
}

#title .title_box p.prod4,
#title .title_box h2.prod4 {
	background: transparent url('/images/prod_pict4.png') no-repeat left center;
	background-size: 40px 40px;
	padding-left: 45px;
}

.cont {
	margin-bottom: 15px;
    padding-top: 100px;
    padding-bottom: 60px;
}

.cont.box {
	background-color: #fff;
	padding: 15px 2.67% 0 2.67%;
}

.cont.sub {
	width: 75%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0 auto;
}

.cont h2 {
	color: #666;
	font-size: 18px;
	font-weight: bold;
	line-height: 22px;
	margin-bottom: 15px;
}

.cont p.subtitle {
	color: #000;
	font-size: 16px;
	font-weight: bold;
	line-height: 22px;
	margin: 20px 0 5px;
}

.cont p.text {
	font-size: 14px;
	line-height: 18px;
	margin-bottom: 15px;
}

.cont .maintext {
	font-size: 16px;
	line-height: 1.5em;
	margin-bottom: 15px;
}

.cont p.img {
	/*text-align: center;*/
	margin-bottom: 15px;
}
.photo_l .cont p.img {
	text-align: left;
}

.cont p.img img {
	max-width: 100%;
	height: auto;
}

.cont p.cap {
	font-size: 12px;
	line-height: 16px;
	text-align: center;
	margin-bottom: 15px;
}


.cont_list ul {
	margin-bottom: -15px;
	margin-right: -2.78%;
}

.cont_list ul li {
	width: 47.22%;
	margin-right: 2.78%;
	margin-bottom: 15px;
	float: left;
}

.cont_list ul li a {
	width: 100%;
	color: #666;
	background-color: #fff;
	display: block;
}

.cont_list ul li a:hover {
	text-decoration: none;
}

.cont_list ul li p.img {
	margin: 0;
}

.cont_list ul li p.img img {
	width: 100%;
	height: auto;
}

.cont_list ul li p.txt {
	height: 60px;
	font-size: 16px;
	font-weight: bold;
	line-height: 20px;
	text-align: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	display: -webkit-flex;
	display: flex;
	padding: 10px 0;
	overflow: hidden;
}

.cont_butt button {
    display: block;
    width: 250px;
    padding: 15px;
    font-size: 16px;
    color: #fff;
    text-align: center;
    margin: 30px auto;
    border: none;
    cursor: pointer;
    font-size: 16px;
    color: #fff;
    background-color: #000;
    border: none;

}
.btn_style {
    display: block;
    width: 300px;
    font-size: 16px;
    color: #fff;
    text-align: center;
    margin: 15px auto;
    border: none;
}
.btn_style a{
    display: block;
    line-height: 3;
    color: #fff;
    text-decoration: none;
}



#prod_menu ul {
	margin-bottom: -15px;
}

#prod_menu ul li {
	margin-bottom: 15px;
}

#prod_menu ul li a {
	-webkit-box-shadow: 3px 5px 5px 0 rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 3px 5px 5px 0 rgba(0, 0, 0, 0.2);
	box-shadow: 3px 5px 5px 0 rgba(0, 0, 0, 0.2);
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	display: block;
}

#prod_menu ul li a img {
	width: 100%;
	height: auto;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
}

#side {
	width: 22.92%;
	float: right;
}

#side_menu {
	margin-bottom: 15px;
	-webkit-box-shadow: 3px 5px 5px 0 rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 3px 5px 5px 0 rgba(0, 0, 0, 0.2);
	box-shadow: 3px 5px 5px 0 rgba(0, 0, 0, 0.2);
}

#side_menu h4 a {
	color: #fff;
	font-size: 14px;
	line-height: 18px;
	background-color: #666;
	padding: 10px;
	display: block;
}

#side_menu h4 a:hover {
	color: #fff;
}

#side_menu ul {
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
}

#side_menu ul li {
	border-bottom: 1px solid #ccc;
}

#side_menu ul li a {
	font-size: 14px;
	line-height: 18px;
	background-color: #fff;
	padding: 10px;
	display: block;
}

#side_menu ul li a:hover {
	background-color: #eee;
}

#side_menu ul li a.activ {
	background-color: #eee;
}

.inq_box {
	background-color: #666;
	margin-bottom: 15px;
	-webkit-box-shadow: 3px 5px 5px 0 rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 3px 5px 5px 0 rgba(0, 0, 0, 0.2);
	box-shadow: 3px 5px 5px 0 rgba(0, 0, 0, 0.2);
	border-radius: 20px;
	padding: 15px 0;
}

.inq_box:hover {
	background-color: #07b;
}

.inq_box img {
	display: block;
	width: 54px;
	height: auto;
	margin: auto;
}

.inq_box p {
	margin-top: 10px;
	font-size: 14px;
	text-align: center;
	color: #fff;
}

.inq_box a:hover {
	text-decoration: none;
}

/*バックナンバー*/

#news_back {
	width: 100%;
	background-color: #fff;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	padding: 10px 2%;
	float: left;
	margin-bottom: 100px;
}

#news_back h3 {
	font-size: 18px;
	line-height: 2em;
	margin-bottom: 0.85em;
	font-weight: bold;
	border-bottom: 2px solid #666;
	/* color: #15a; */
}

#news_back h3::before {
	content: url("/images/cheer.png");
	padding-right: 5px;
	display: inline-block;
	width: 24px;
	height: 35px;
	vertical-align: top;
	margin-top: 3px;
    margin-right:1em;
}

#news_back dl {
	font-size: 14px;
	line-height: 1.3;
	margin-bottom: 5px;
	padding: 10px 0;
	border-bottom: 1px dashed #333;
}

#news_back dl dt {
	width: 125px;
	display: table-cell;
}

/* #news_back dl dt::before {
	content: "\25c6";
	color: #f7ac3b;
} */

#news_back dl dd {
	display: table-cell;
}

#news_back p {
	margin-top: 15px;
	text-align: right;
}

#news_back p a:hover {
	text-decoration: none;
}

#news_back p span {
	color: #15a;
	margin-left: 5px;
}

.core3 li {
	background-color: #15a;
	font-size: 26px;
	padding: 10px;
	margin-bottom: 15px;
	color: #fff;
	text-align: center;
}

.indent {
	padding-left: 1em;
	text-indent: -1em;
}
.indent2-2 {
	padding-left: 2em;
	text-indent: -2em;
}
.indent1 {
	text-indent: 1em;
}

.blue {
	color: #15a;
    margin-left:.7em;
    /*font-size:12px;*/
}
.red{
    color: red;
}

.innerlist {
	padding-left: 2em;
	margin: 10px auto;
}
ul.list_border{
    border-bottom: 1px solid #000;
}
ul.list_border li{
    border-top: 1px solid #000;
}
ul.list_margin_bt li{
    margin-bottom: 5px;
}


.section {
	margin-bottom: 40px;
}

.section h3 {
	font-size: 18px;
	line-height: 1.3em;
	background-color: #ccc;
	border-left: 10px solid #15a;
	color: #15a;
	font-weight: bold;
	padding: 5px 15px;
	margin-bottom: 15px;
}

.maintext table {
	width: 100%;
	max-width: 300px;
	border-bottom: 1px solid #000;
	margin-top: 15px;
}

.maintext table tr {
	border-top: 1px solid #000;
	line-height: 2;
	vertical-align: top;
}

.maintext table.cust_table {
	max-width: 100%;
}

.maintext table.cust_table th {
	text-align: left;
}

.maintext table.cust_table td {
	border-bottom: 1px solid #000;
}

.maintext table.cust_table tr > td:last-child {
	border-bottom: none;
}

.maintext table.innertable {
    max-width: 100%;
    margin-top: 0;
}
.maintext table.innertable th {
    width: 180px;
    padding-left: 2em;
}
.maintext p{
    margin-bottom: 15px;
}
.maintext h4{
    font-size: 16px;
    font-weight: bold;
    margin: 15px auto 5px;
}
.bor_bt{
    border-bottom: 1px solid #000;
}
.bt40,
p.bt40{
	margin-bottom: 40px;
}
.link_line{
    text-decoration: underline;
}
.mar_t30_b30,
.maintext.mar_t30_b30,
.cont p.img.mar_t30_b30 {
	margin: 30px auto;
}

h2.deco {
	padding-bottom: 5px;
	border-bottom: 2px solid #000;
}
.flot_warp {
    margin: 5px auto;
    position: relative;
    height: 30px;
}
.flot_warp img {
    position: absolute;
    height: 100%;
    left: 0;
}
.flot_warp h4.bor_bt{
    font-size: 10px;
    line-height: 1;
}
div.inner{
    margin-top: 30px;
}
/*テーブルリスト基本（採用情報以外）*/

.tablelist02 {
	width: 100%;
	border-bottom: 1px solid #000;
}

.tablelist02 tr {
	border-top: 1px solid #000;
}

.tablelist02 tr.dashed {
	border-top: 1px dashed #000;
}

.tablelist02.th_blue tr.dashed th {
	padding-left: 1em;
}

.tablelist02 th {
	width: 150px;
}

.tablelist02.th_blue th {
	color: #15a;
	font-weight: bold;
}

.tablelist02 th,
.tablelist02 td {
	font-size: 16px;
	padding: 10px 0;
	text-align: left;
	vertical-align: top;
}

.tablelist02 td ul li {
	margin-bottom: 10px;
}

.tablelist02 td ul li:last-child {
	margin-bottom: 0;
}

.portrait {
	margin: 40px auto;
	text-align: left;
}

.portrait p {
	display: inline-block;
	text-align: center;
}

.portrait img {
	width: 100%;
	max-width: 270px;
	display: block;
	margin-bottom: 10px;
}

.tablelist03 {
	width: 100%;
	margin: 20px auto;
}


.tablelist03 th {
	background-color: #d5d8e2;
}

.tablelist03 th:first-of-type {
	width: 80px;
	text-align: left;
}

.tablelist03 th:last-of-type {
	width: 50px;
	text-align: right;
}

.tablelist03.type_th_one th:first-of-type {
	width: 120px;
	text-align: right;
}

.tablelist03 th,
.tablelist03 td {
	font-size: 16px;
	line-height: 1.3;
	padding: 5px;
	vertical-align: top;
}
.tablelist03.type_th_one td{
    padding-bottom: 30px;
}

.tablelist03 ul li {
	margin-bottom: 10px;
	padding-left: 10px;
}

.tablelist03 ul li:last-child {
	margin-bottom: 0;
}

p.str_cap,
ul.str_cap {
	font-size: 20px;
	font-weight: bold;
	margin: 60px 0 40px;
}

ul.str_cap li {
	line-height: 1.6;
}
/*=採用情報=*/
.rectuit_nav {
    width: 100%
}
.rectuit_nav li{
    width: 100%;
    font-size: 30px;
    border: 8px solid #15a;
    margin-bottom: 20px;
    text-align: center;
    font-weight: bold;
}
.rectuit_nav li:last-child{
    background-color: #15a;
    border-radius: 30px;
}
.rectuit_nav li:hover{
    background-color: #15a;
}
.rectuit_nav li a{
    display: block;
    padding: 15px 0;
    width: 100%;
    text-decoration: none;
}
.rectuit_nav li:last-child a,
.rectuit_nav li:hover a{
    color: #fff;
}

.tablelist {
    width: 100%;
    word-wrap: break-word;
    overflow-wrap: break-word;
    border-top: 4px solid #becae7;
}

.tablelist::after {
    content: ".";
    display: block;
    visibility: hidden;
}

/*.tablelist thead th {
    background-color: #eee;
}*/
.tablelist tbody tr:nth-child(n){
    background-color: #becae7;
}
.tablelist tbody tr:nth-child(2n){
    background-color: #eee;
}
.tablelist tbody tr{
    border-bottom: 4px solid #fff;
}
.tablelist th,
.tablelist td {
    padding: 10px;
    text-align: left;
}
.tablelist thead th:nth-of-type(1),
.tablelist tbody td:nth-of-type(1){
    width:25%;
}
.tablelist thead th:nth-of-type(2),
.tablelist tbody td:nth-of-type(2){
    width:20%;
}
.tablelist thead th:nth-of-type(3),
.tablelist tbody td:nth-of-type(3){
    width:30%;
}
.tablelist thead th:nth-of-type(3),
.tablelist tbody th:nth-of-type(1){
    width:25%;
}
.hiring_table {
    width: 100%;
}
.hiring_table tr {
    border-bottom: 4px solid #fff;

}
.hiring_table th {
    width: 170px;
    text-align: left;
    background-color: #becae7;
    border-right: 4px solid #fff;
}
.hiring_table td {
    background-color: #eee;
}
.hiring_table th,
.hiring_table td{
    padding: 10px;
    font-size: 16px;
    line-height: 1.3;
    vertical-align: top;
}
.hiring_table li {
    padding: 3px 0;
}
p.voice_title{
    width: 100%;
    font-size: 20px;
    border: 8px solid #15a;
    margin-bottom: 20px;
    padding: 10px 0;
    text-align: center;
    font-weight: bold;
    border-radius: 30px;
    color: #15a;
}
p.voice_title span{
    margin-left:10%;
}
/*--===お問い合せフォーム===--*/
.contact_btn{
    display: block;
    width: 100%;
    font-size: 25px;
    background-color: #15a;
    color: #fff;
    text-align: center;
    border-radius: 40px;
    font-weight: bold;
    padding: 30px 15px;
    margin-bottom: 60px;
    border: none;
}
.contact_btn:hover{
    color: #fff;
}
.contact_btn br{
    display: none;
}
.shadow{
    box-shadow: 0px 5px 5px #aaa;
}
.notice {
    background-color: #eee;
    border-radius: 40px;
    padding: 15px;
    margin-bottom: 30px;
}
.notice .tellicon {
    display: inline-block;
    width: 20%;
    vertical-align: top;
    margin-right: 10px;
    max-width: 70px;
    min-width: 60px;
    vertical-align: middle;
}
.notice img {
    width: 100%;
}
.notice .text {
    display: inline-block;
    width: calc(95% - 70px);
    vertical-align: middle;
}
.notice .text p{
    line-height: 1.3;
}
.notice .text p:first-child {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 5px;
}
.notice span {
    display: block;
    font-weight: bold;
}
.form_tbl{
    width: 100%;
}
.form_tbl tr {
    border-bottom: 1px solid #15a;
}
.form_tbl tr:last-child {
    border-bottom: none;
}
.form_tbl th{
    background-color: #eee;
    width: 38%;
    text-align: left;
    padding: 15px 10px;
    vertical-align: top;
    font-weight: 700;
    
}
.form_tbl th,
.form_tbl td{
    line-height: 1.5;
}
.form_tbl td{
    padding: 15px 5px 15px 15px;
    vertical-align: middle;
}
.form_tbl td input[type="text"]{
    /*width: 80%;*/
    font-size: 14px;
    padding: 5px;
    line-height: 1.2;
    border: 1px solid #999;
    margin-right: 5px;
}
.form_tbl td.age input{
	width: 50px;
}
.form_tbl td.zip input:nth-child(1){
    width: 100px;
    display: inline-block;
}
.form_tbl td.zip input:nth-child(2){
    width: 150px;
    display: inline-block;
}
.form_tbl td textarea{
    width: 100%;
	height: 180px;
	padding: 5px;
}
.label-radio input[type="radio"] {
    display: none;
}
.label-radio {
    cursor: pointer;
    color: #888;
    font-weight: normal;
    display: inline-block;
    margin-bottom: 10px;
    padding-left: 10px;
    font-size: 16px;
    color: #000;
    padding-left: 20px;
    position: relative;
    margin-right: 20px;
    line-height: 1;
}
.label-radio .lever::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 17px;
    height: 17px;
    border: 1px solid #999;
    border-radius: 50%;
}
.label-radio input[type="radio"]:checked + .lever {
    color: #000;
}
.label-radio input[type="radio"]:checked + .lever::after {
    content: "";
    display: block;
    position: absolute;
    top: 3px;
    left: 3px;
    width: 11px;
    height: 11px;
    background: #15a;
    border-radius: 50%;
}


.agree_chk{
    background-color: #eee;
    margin: 20px auto;
    border-radius: 20px;
    padding: 20px;
    line-height: 1.8;
}
.agree_chk a{
    color: #15a;
    text-decoration: underline;
}
.agree_center{
    text-align: center;
    margin: 10px auto;
}
.agree_chk label{
    height: 20px;
}
.agree_chk input{
    width: 20px;
    height: 20px;
    vertical-align: middle;
}
.err_mess,
.mess{
	font-weight: 500;
	text-align: center;
    line-height: 1.5;
	margin-bottom: 30px;
}
.err_mess p{
	color: red;
	margin-bottom: 10px;
}
.mess p{
	margin-bottom: 10px;
}
@media screen and (max-width:1024px) {
	.cont {
		padding-top: 0;
	}
}

@media screen and (max-width:740px) {
	.cont.sub {
		width: 100%;
	}
	#side {
		width: 100%;
	}
	/*=セミナー情報=*/
	.tablelist thead {
		display: none;
	}
	.tablelist tbody tr {
		display: block;
		margin-bottom: 15px;
        position: relative;
        padding-top: 40px;
	}
	.tablelist tbody th {
		margin-bottom: 5px;
		list-style-type: none;
		color: #fff;
		background: #666;
		text-align: left;
		font-weight: 700;
        position: absolute;
        top: 0;
        width: 100%;
	}
	.tablelist tbody td {
		margin-left: 20px;
		padding: 5px;
	}
	.tablelist tbody th,
	.tablelist tbody td {
		display: list-item;
		border: none;
	}
	.tablelist tbody td:nth-of-type(1)::before {
		content: "【日程】";
		margin-left: -10px;
	}
	.tablelist tbody td:nth-of-type(2)::before {
		content: "【時間】";
		margin-left: -10px;
	}
	.tablelist tbody td:nth-of-type(3)::before {
		content: "【場所】";
		margin-left: -10px;
	}
    .tablelist thead th:nth-of-type(1),
    .tablelist tbody td:nth-of-type(1),
    .tablelist thead th:nth-of-type(2),
    .tablelist tbody td:nth-of-type(2),
    .tablelist thead th:nth-of-type(3),
    .tablelist tbody td:nth-of-type(3),
    .tablelist thead th:nth-of-type(3),
    .tablelist tbody th:nth-of-type(1){
        width:100%;
    }
    .tablelist tbody tr:nth-child(n),
    .tablelist tbody tr:nth-child(2n){
        background-color: #fff;
    }
    .tablelist {
        border-top:none;
    }

	.tablelist::after {
		content: none;
	}
	.portrait {
		text-align: center;
	}
	.tablelist03 th:first-of-type {
		width: 100%;
		display: block;
	}
	.tablelist03 th:last-of-type {
		width: 50px;
		display: inline-block;
		background-color: #fff;
		font-weight: bold;
	}
	.tablelist03.type_th_one th:first-of-type {
		width: 100%;
		display: block;
		font-weight: normal;
		background-color: #d5d8e2;
        text-align: left;
	}

	.tablelist03 td {
		display: inline-block;
		width: calc(100% - 60px);
	}
	.tablelist03.type_th_one td {
		width: 100%;
	}
	.tablelist03.type_th_one ul li {
		padding-left: 0;
		margin-bottom: 10px
	}
    .hiring_table th,
    .hiring_table td {
        width: 100%;
        display: block;
        border-right: 0;
    }
    p.voice_title span{
        margin-left:0;
        display: block;
    }
    .form_tbl th,
    .form_tbl td{
        display: block;
        width: 100%;
    }


}

@media screen and (max-width:500px) {
    .contact_btn{
        line-height: 1.3;
        padding: 20px 15px;
        margin-bottom: 30px;
    }
    .contact_btn br{
        display: block;
    }

}
@media screen and (max-width:380px) {
	.cont_list ul {
		margin-right: 0;
	}
	.cont_list ul li {
		width: 100%;
		margin-right: 0;
	}
    .rectuit_nav li{
        font-size: 22px;
    }
}
/*g_map*/
.map {
	margin: 40px auto;
	position: relative;
	overflow: hidden;
	padding-bottom: 65.25%;
}
.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.err_cont{
    padding: 150px 0;
    text-align: center;
}
.err_cont p{
    margin-bottom: 20px;
}
.err_cont a{
    text-decoration: underline;
}