@charset "utf-8";
/* CSS Document */
/* TSC労務監査 --------------------*/
.pc_sp {display: inline-block !important;}
.tab_sp {display: none !important;}

body{
	background: #F1E8CC;
	color: #383837;
	font-family: "Zen Kaku Gothic New", sans-serif;
  	font-weight: 400;
  	font-style: normal;
	margin: 0;
}
h2 {
	letter-spacing: 0.1em;
	text-align: center;
	font-size: 29px;
}


/*========= 共通 ===============*/


/*==== ラジオボタン =====*/
.ECM_RadioInput {
  padding: 6px 5px;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.ECM_RadioInput-Input {
  opacity: 0;
  width: 0;
  margin: 0;
}
.ECM_RadioInput:hover > .ECM_RadioInput-DummyInput{
    background: #BBBBBB;
}
/* ↓「+」を「~」に変更して、間に何か挟まれても届くように修正 */
.ECM_RadioInput-Input:focus ~ .ECM_RadioInput-DummyInput {
  background: #BBBBBB;
}
/* ↓「+」を「~」に変更 */
.ECM_RadioInput-Input:checked ~ .ECM_RadioInput-DummyInput {
  background: #45C661;
}
/* ↓「+」を「~」に変更 */
.ECM_RadioInput-Input:checked ~ .ECM_RadioInput-DummyInput::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #FFFFFF;
}
.ECM_RadioInput-DummyInput {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: #EEEEEE;
  box-shadow: 0 1px 4px rgba(0,0,0, .4) inset;
}
.ECM_RadioInput-LabelText {
  margin-left: 5px;
  display: block;
  font-size: 14px;
  font-weight: bold;
}

form#mailformpro label.mfp_checked,
form#mailformpro label.mfp_not_checked {
    padding: 6px 5px !important;
    border: none !important;
    box-shadow: none !important;
}
.ans-box.error-red {
    background-color: #ffdddd !important;
    transition: background-color 0.4s ease !important;
}

/*========= メイン ===============*/
.kani_header {
	margin: 30px 0 60px;
}
.kani_title {
	text-align: center;
	letter-spacing: 0.1em;
	margin-bottom: 40px;
}
h1 {
	font-size: 33px;
	color: #383837;
	letter-spacing: 0.2em;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 0;
}
h1 span {
	color: white;
    background-color: #FF4040;
    padding: 3px 15px;
    margin-left: 5px;
    border-radius: 30px;
    font-size: 24px;
    letter-spacing: 0.1em;
}
.kani_title p {
	font-weight: bold;
    margin-top: 5px;
    font-size: 22px;
}

.form_container {
    background-color: white;
    border-radius: 15px;
    box-shadow: 0px 0px 9px #808080c4;
	margin-bottom: 50px;
}
form {
	width: 90%;
    margin: 0 auto 80px;
    padding: 50px 0;
}
.text {
	margin-top: 60px;
}
.form_container p {
	font-size: 15px;
    font-weight: 500;
    margin-bottom: 30px;
	text-align: center;
}

/*==== 担当者情報 =====*/
.pic_deta {
	margin-bottom: 80px;
}
.pic_deta table {
	width: 100%;
}
.pic_deta tr {
	border-bottom: 1px solid #DDDDDD;
    padding: 16px 0px;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-align: left;
}
.pic_deta th {
	width: 40%;
    display: flex;
    align-items: center;
    font-weight: 600;
}
.pic_deta td {
	width: 60%;
}
.pic_deta input {
	width: 100%;
    height: 55px;
    padding: 20px 15px;
    border-radius: 8px;
    font-size: 16px;
    border: solid 1px #A1A3A6;
	box-sizing: border-box;
}

/*==== チェックシート =====*/
.form_container .total {
	font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.1em;
}
.form_container .total span {
	font-size: 45px;
}
.check_container {
	margin-bottom: 40px;
}

h2 {
	text-align: left;
    font-size: 20px;
    background-color: #709FBC;
    padding: 7px 14px;
    color: white;
    letter-spacing: 0.2em;
    margin: 0;
}
.check_container table {
	width: 100%;
	table-layout: fixed;
	background-color: #CDDEE9;
    padding: 10px 20px;
	border-spacing: 0 10px;
}
.check_container th {
	font-size: 20px;
	height: 40px;
	background-color: white;
	border-radius: 10px 0 0 10px;
	width: 8%;
}
.check_container td {
	width: 68%;
	height: 40px;
	background-color: white;
	padding: 35px 35px 35px 0;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.3em;
}
.check_container .ans-box {
	width: 24%;
	background-color: white;
	border-radius: 0 10px 10px 0;
    padding: 17px;
}
.check_container .ans-box .ans-box_flex {
	display: flex;
	justify-content: center;
	align-items: center;
}
/*==== チェックシート　イロチ設定 =====*/
.check_type02 h2 {
	background-color: #68CF9D;
}
.check_type02 table {
	background-color: #DEEDE6;
}

.check_type03 h2 {
	background-color: #CFCC68;
}
.check_type03 table {
	background-color: #F2F1DA;
}

.check_type04 h2 {
	background-color: #CF9168;
}
.check_type04 table {
	background-color: #F2E5DC;
}

.check_type05 h2 {
	background-color: #CF686A;
}
.check_type05 table {
	background-color: #F2E5DC;
}

.check_type06 h2 {
	background-color: #BC70A4;
}
.check_type06 table {
	background-color: #E7CADE;
}

.check_type07 h2 {
	background-color: #AE84C8;
}
.check_type07 table {
	background-color: #EEE2F6;
}

.check_type08 h2 {
	background-color: #7075BC;
}
.check_type08 table {
	background-color: #D1D3EF;
}
.check_type08 tr:first-child td {
	height: 130px;
}
.harassment {
	margin-top: 10px;
    background-color: #e9e9e9;
    padding: 15px;
}

.personal-info-content {
	background-color: #DBECFB;
    border-radius: 15px;
    padding: 20px 0 35px;
    text-align: center;
	margin: 0 auto 30px;
    width: 70%;
	font-weight: 500;
}
.personal-info-content a {
	text-decoration: underline;
}
.el {
	color: #fff;
    background: #064EA1;
    font-size: 12px;
    padding: 1px 8px 2px;
    border-radius: 3px;
    margin-left: 8px;
    display: inline-block;
}

form .policy {
	font-size: 13px;
    text-align: left;
    letter-spacing: 0;
}
.submit_btn input[type="submit"] {
	background-color: #064EA1;
    color: #fff;
    width: 300px;
    padding: 20px;
    margin-top: 30px;
    border-radius: 50px;
    letter-spacing: 0.1em;
    font-weight: 700;
    font-size: 16px;
	border: none;
	cursor: pointer;
}

/*========= 送信完了ページ ===============*/
.kani_success {
	background-color: white;
}
.success {
	text-align: center;
}
.success h1 {
	display: block;
	line-height: 60px;
}
.success .success_kani_title {
	padding: 3px 30px;
}
.success p {
	font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.1em;
    margin: 60px 0 120px;
}
.success .btn_top {
	background-color: #064EA1;
    color: #fff;
    padding: 20px 50px;
    margin-top: 30px;
    border-radius: 50px;
    letter-spacing: 0.1em;
    font-weight: 700;
    font-size: 1em;
	border: none;
}

@media (max-width: 960px){ /*--　タブレット表示　--*/
	/*========= フッター下・空のdiv TOPへ戻るボタン調整===============*/
	.pc_sp {display: none !important;}
	.tab_sp {display: inline-block !important;}
	
	.form_container.inner1160 {
		width: 100%;
		border-radius: 0px;
    	box-shadow: none;
	}
	.check_container {
		width: 100%;
        margin-bottom: 20px;
	}
	h2 {
		letter-spacing: 0.1em;
	}
	.check_container .ans-box .ans-box_flex {
		display: block;
	}
	.check_container th {
		width: 10%;
	}
	.check_container td {
		width: 68%;
	}
	.check_container .ans-box {
		width: 22%;
		padding: 2%;
	}
	.personal-info-content {
		width: 100%;
		margin-top: 0;
	}
	form {
		margin-bottom: 0;
	}
}


@media (max-width: 560px){ /*--　スマホ設定　--*/
	/*========= フッター下・空のdiv TOPへ戻るボタン調整===============*/
	.pc_sp {display: inline-block !important;}
	
	form {
		padding-bottom: 20px;
	}
	.pic_deta tr {
		display: block;
	}
	.pic_deta th {
		width: 100%;
    	margin-bottom: 5px;
	}
	.pic_deta td {
		width: 100%;
		display: block;
	}
	
	.check_container tr {
		display: block;
		margin-bottom: 20px;
	}
	.check_container tr:last-child {
		margin-bottom: 0;
	}
	.check_container th {
		width: 100%;
		display: block;
		box-sizing: border-box;
		border-radius: 0;
		background-color: #f0f0f0;
		height: auto;
        padding: 3px;
	}
	.check_container td {
		width: 100%;
        display: block;
        padding: 9% 5%;
        box-sizing: border-box;
		height: auto;
	}
	.check_container .ans-box {
		width: 100%;
        border-radius: 0;
        height: auto;
        padding: 4%;
		border-top: dotted 2px #D2D7E9;
	}
	.check_container .ans-box .ans-box_flex {
		display: flex;
	}
	.check_type08 tr:first-child td {
		height: auto;
	}
	
	/*========= 送信完了ページ ===============*/
	.success h1 {
		font-size: 1.7em;
		letter-spacing: 0.1em;
	}
	.success p {
		font-size: 1.2em;
	}
	
}