/* CSS Document */

/*行頭1文字下げ 取り消し*/
p{
text-indent: 0em !important;
}

/*---各種リセット---*/
button{
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
}

select{
    outline:none;
    text-indent: 0.01px;
    text-overflow: '';
    background: none transparent;
    vertical-align: middle;
    font-size: inherit;
    color: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
select option{
  background-color: #fff;
  color: #333;
}
select::-ms-expand {
  display: none;
}
select:-moz-focusring { 
  color: transparent; 
}

input::-ms-clear {
    visibility:hidden
}

select {
  -moz-appearance: none;
  text-indent: 0.01px;
  text-overflow: '';
}

/*-----------*/
/*建設の安全購読WEB申込*/
/*-----------*/
/*スマホ*/
@media screen and (max-width:767px) {
.seminarSelectedTable{
	width:100%;
	border-collapse: separate;
    border-spacing: 0px 8px;
	margin-bottom:30px;
    table-layout: fixed;
}

.seminarSelectedTable th,
.seminarSelectedTable td{
	display:block;
	width:100%;
}

.seminarSelectedTable th{
	padding:15px 0;
}

.seminarSelectedTable td{
	padding:15px;
}
}
/*PC*/
@media screen and (min-width:768px) {
.seminarSelectedTable{
	width:100%;
	border-collapse: separate;
    border-spacing: 0px 15px;
	margin-bottom:30px;
    table-layout: fixed;
}

.seminarSelectedTable th,
.seminarSelectedTable td{
	padding:15px;
}

.seminarSelectedTable th{
	width:24%;
}
}

.seminarSelectedTable th p{
	border-left:5px solid #008000;
	padding-left:15px;
	margin:0;
}

.seminarSelectedTable td{
	background-color:#E3F7E9;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.seminarSelectedTable td p{
}


/*見出し*/
/*スマホ*/
@media screen and (max-width:640px) {
.formNumberTitle span{
	position:absolute;
	top:5px;
}
}
/*スマホ*/
@media screen and (max-width:767px) {
.formNumberTitle {
    position:relative;
    margin-left:48px;
    padding:14px 20px;
    border-bottom:solid 4px #c6c6c6;
	font-size:1em;
	margin-bottom:15px;
}

.formNumberTitle:before {
    counter-increment:number;
    content:counter(number);
    position:absolute;
    top:0;
    left:-48px;
    padding:16px 20px;
    color:#FFFFFF;
    font-weight: bold;
	background-color:#008000;
}

}
/*PC*/
@media screen and (min-width:768px) {
.formNumberTitle {
    position:relative;
    margin-left:60px;
    padding:18px 20px;
    border-bottom:solid 4px #c6c6c6;
	font-size:1.2em;
	margin-bottom:15px;
}

.formNumberTitle:before {
    counter-increment:number;
    content:counter(number);
    position:absolute;
    top:0;
    left:-60px;
    padding:20px 25px;
    color:#FFFFFF;
    font-weight: bold;
	background-color:#008000;
}
}
section {
    counter-reset:number; /* この要素ごとに数字をリセットする */
}


/*入力フォームテーブル*/
/*スマホ*/
@media screen and (max-width:767px) {
.formTable th,
.formTable td{
	padding:10px 0;
	display:block;
	width:100%;
}

.formTable th{
	position: relative;
}

.formTable th.required{
	padding-left:50px;
}

.formTable th.required:after{
	position: absolute;
    left: 0px;
	display: inline-block;
    padding: 3px 6px 5px;
    background: #c1272d;
    color: #fff;
    content: '必須';
    line-height: 100%;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
	font-size:0.9em;
}

.formTable td.nameWaku label{
	font-weight:normal;
	padding:10px 0 8px 5px;
}

.formTable td input[type='text'],
.formTable td input[type='number'],
.formTable td input[type='tel'],
.formTable td input[type='email'],
.formTable td input[type='url'],
.formTable td input[type='password'],
.formTable td textarea{
	width:100%;
	font-size: 16px;
}

.formTable select {
	background:#f5f5f5;
	border: none;
	padding:16px;
	font-size: 16px;
}

.formTable span.formSelect{
	position:relative;
	display:inline-block;
	font-size:0.9em;
	background:#f5f5f5;
	margin-bottom:10px;
}

.formTable span.formSelect:before{
	z-index: 1;
    position: absolute;
    right: 12px;
    top: 18px;
	font-family: 'FontAwesome';
	content:"\f078";
    color: #000;
    pointer-events: none;
	font-size:0.8em;
}

.formTable span.formCalendar{
	position:relative;
	display:inline-block;
	margin-right:20px;
}

.formTable span.formCalendar:before{
	z-index: 1;
    position: absolute;
    right: 12px;
    top: 10px;
	font-family: 'FontAwesome';
	content:"\f073";
    pointer-events: none;
	font-size:1.5em;
	color:#4d4d4d;
}

dl.transferInfoBox{
	width:100%;
	padding-bottom:10px;
	margin:0 0 10px;
	border-bottom:1px dashed #cccccc;
}

dl.transferInfoBox dt{
	width:100%;
}

dl.transferInfoBox dt,
dl.transferInfoBox dd{
	padding:5px;
}

dl.transferInfoBox dd{
	width:100%;
}

dl.transferInfoBox dt.required:after{
	position: absolute;
    left: 110px;
	display: inline-block;
    padding: 3px 6px 5px;
    background: #c1272d;
    color: #fff;
    content: '必須';
    line-height: 100%;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
	font-size:0.9em;
}

.tuitionFeeBox{
	width:200px;
	padding:10px 50px 10px 10px;
    height: 50px;
    border: none;
    background: #E3F7E9;
    line-height: 200%;
    -webkit-appearance: none;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
	position:relative;
	display:inline-block;
	margin-right:20px;
	font-weight:bold;
}

.tuitionFeeBox:before{
	position:absolute;
	top:8px;
	right:10px;
	content:"円";
	font-weight: normal;
}

.confTransferBox{
	width:200px;
	padding:10px 50px 10px 10px;
    height: 50px;
    border: none;
    background: #E3F7E9;
    line-height: 200%;
    -webkit-appearance: none;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
	position:relative;
	display:inline-block;
	margin-right:20px;
	font-weight:bold;
}

.text_block{
	display:block;
}

.inputCopies{
	width:100px !important;
}

span.endDateBox{
	display:inline-block;
	margin-bottom:20px;
}

}
/*タブレット*/
@media screen and (min-width: 768px) and (max-width: 991px) { 
.formTable th,
.formTable td{
	padding:15px 0;
}

.formTable th{
	width:26%;
	position: relative;
}

.formTable th.required:after,
.formTable th.required02:after{
	position: absolute;
    right: 15px;
	display: inline-block;
    padding: 3px 6px 5px;
    background: #c1272d;
    color: #fff;
    content: '必須';
    line-height: 100%;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
	font-size:0.9em;
}

.formTable td.nameWaku label{
	font-weight:normal;
	width:8%;
}

.formTable select {
	background:#f5f5f5;
	border: none;
	padding:16px;
}

.formTable span.formSelect{
	position:relative;
	display:inline-block;
	font-size:0.9em;
	background:#f5f5f5;
	margin-bottom:10px;
}

.formTable span.formSelect:before{
	z-index: 1;
    position: absolute;
    right: 12px;
    top: 18px;
	font-family: 'FontAwesome';
	content:"\f078";
    color: #000;
    pointer-events: none;
	font-size:0.8em;
}

.formTable span.formCalendar{
	position:relative;
	display:inline-block;
	margin-right:20px;
}

.formTable span.formCalendar:before{
	z-index: 1;
    position: absolute;
    right: 12px;
    top: 10px;
	font-family: 'FontAwesome';
	content:"\f073";
    pointer-events: none;
	font-size:1.5em;
	color:#4d4d4d;
}

dl.transferInfoBox{
	width:100%;
	margin:0;
	display:table;
}

dl.transferInfoBox dt{
	width:20%;
}

dl.transferInfoBox dt,
dl.transferInfoBox dd{
	padding:5px;
	display:table-cell;
}

.tuitionFeeBox{
	width:200px;
	padding:10px 50px 10px 10px;
    height: 50px;
    border: none;
    background: #E3F7E9;
    line-height: 200%;
    -webkit-appearance: none;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
	position:relative;
	display:inline-block;
	margin-right:20px;
	font-weight:bold;
}

.tuitionFeeBox:before{
	position:absolute;
	top:8px;
	right:10px;
	content:"円";
	font-weight: normal;
}

.confTransferBox{
	width:200px;
	padding:10px 50px 10px 10px;
    height: 50px;
    border: none;
    background: #E3F7E9;
    line-height: 200%;
    -webkit-appearance: none;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
	position:relative;
	display:inline-block;
	margin-right:20px;
	font-weight:bold;
}

.selectSizeSmall{
	width:130px;
}

.inputCopies{
	width:130px;
}

.inputSizeSmall{
	width:200px;
	margin-right:15px;
	margin-bottom:10px;
}

.inputSizeBig{
	width:100%;
}

.text_block{
	display:block;
}
}
/*PC*/
@media screen and (min-width:992px) {
.formTable th,
.formTable td{
	padding:15px 0;
	font-size: clamp(14px, 2.5vw, 20px);
}

.formTable th{
	width:24%;
	position: relative;
}

.formTable th.required:after,
.formTable th.required02:after{
	position: absolute;
    right: 15px;
	display: inline-block;
    padding: 3px 6px 5px;
    background: #c1272d;
    color: #fff;
    content: '必須';
    line-height: 100%;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
	font-size:0.9em;
}

.formTable td.nameWaku label{
	font-weight:normal;
	width:8%;
}

.formTable select {
	background:#f5f5f5;
	border: none;
	padding:16px;
}

.formTable span.formSelect{
	position:relative;
	display:inline-block;
	font-size:0.9em;
	background:#f5f5f5;
}

.formTable span.formSelect:before{
	z-index: 1;
    position: absolute;
    right: 12px;
    top: 18px;
	font-family: 'FontAwesome';
	content:"\f078";
    color: #000;
    pointer-events: none;
	font-size:0.8em;
}

.formTable span.formCalendar{
	position:relative;
	display:inline-block;
	margin-right:20px;
}

.formTable span.formCalendar:before{
	z-index: 1;
    position: absolute;
    right: 12px;
    top: 5px;
	font-family: 'FontAwesome';
	content:"\f073";
    pointer-events: none;
	font-size:1.5em;
	color:#4d4d4d;
}

dl.transferInfoBox{
	width:100%;
	margin:0;
	display:table;
}

dl.transferInfoBox dt{
	width:15%;
}

dl.transferInfoBox dt,
dl.transferInfoBox dd{
	padding:5px;
	display:table-cell;
}

dl.transferInfoBox dd{
	width:85%;
}

.tuitionFeeBox{
	width:200px;
	padding:10px 50px 10px 10px;
    height: 50px;
    border: none;
    background: #E3F7E9;
    line-height: 150%;
    -webkit-appearance: none;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
	position:relative;
	display:inline-block;
	margin-right:20px;
	font-weight:bold;
}

.tuitionFeeBox:before{
	position:absolute;
	top:8px;
	right:10px;
	content:"円";
	font-weight: normal;
}

.confTransferBox{
	width:200px;
	padding:10px 50px 10px 10px;
    height: 50px;
    border: none;
    background: #E3F7E9;
    line-height: 150%;
    -webkit-appearance: none;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
	position:relative;
	display:inline-block;
	margin-right:20px;
	font-weight:bold;
}

.inputCopies{
	width:130px;
	margin-right:15px;
}

.selectSizeSmall{
	width:130px;
}

.inputSizeSmall{
	width:200px;
	margin-right:20px;
}

.inputSizeBig{
	width:100%;
}

.pc_none{
	display:none;
}
}

.formTable{
	width:100%;
	border-collapse: separate;
    border-spacing: 0px 5px;
	margin-bottom:30px;
}
	
.formTable .vMiddle{
	vertical-align: middle;
}

.formTable th span.procedureIcon{
	background-color:#f1b52e;
	padding:4px 15px;
	-webkit-border-radius:5px;
	-moz-border-radius:5px; 
	border-radius:5px;
}

.formTable td input:focus,
.formTable td textarea:focus,
.formTable td select:focus {
	/*フォーカスした時に枠線を太く濃く*/
	border: solid 2px #666 !important;
}

.formTable td.text{
	line-height:200%;
}

.formTable td input[type='text'],
.formTable td input[type='number'],
.formTable td input[type='tel'],
.formTable td input[type='email'],
.formTable td input[type='url'],
.formTable td input[type='password']{
	padding-right: 10px;
    padding-left: 10px;
    height: 50px;
    border: none;
    background: #f5f5f5;
    line-height: 150%;
    -webkit-appearance: none;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.formTable td textarea{
	padding: 10px;
    border: none;
    background: #f5f5f5;
    line-height: 150%;
    -webkit-appearance: none;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
	resize: none;
}

.formTable span.formCalendar input{
	width:200px;
}

input.required,
select.required,
span.required{
    background: #fff0f0 !important;
	
}

.formCaution{
	color:#4d4d4d;
}

:-ms-input-placeholder {
    color: #B1B1B1;
}

.inputPostalcode01{
	width:100px !important;
	margin-bottom:10px;
}

.inputPostalcode02{
	width:140px !important;
	margin-bottom:10px;
}

/*スマホ iPhone5sサイズ(横320px)用*/
@media screen and (min-width:321px) {
.inputPostalcode02{
	margin-right:15px;
}
}

/*スマホは除く*/
@media screen and (min-width:768px) {
.tab_pc_none{
	display:none;
}
}

/*注意事項*/
/*スマホ*/
@media screen and (max-width:767px) {
.cautionBox{
	background:#f8f8f8;
	padding:10px;
	margin-bottom:30px;	
}

.cautionBox h4{
	color:#008000;
	text-align:center;
	font-size:1.3em;
	padding:10px 0;
	margin-bottom:0;
}
}
/*PC*/
@media screen and (min-width:768px) {
.cautionBox{
	background:#f8f8f8;
	padding:20px;
	margin-bottom:30px;	
}

.cautionBox h4{
	color:#008000;
	text-align:center;
	font-size:1.6em;
	padding:10px 0;
	margin-bottom:0;
}
}

.cautionBox ul{
	line-height:200%;
}

.cautionBox ul li{
	position:relative;
	padding-left:1.5em;
}

.cautionBox ul li:before{
	position:absolute;
	top:0;
	left:0;
	content:"・";
}


/*同意ボタン*/
/*スマホ*/
@media screen and (max-width:767px) {
.consentBox{
	padding-left:30px;
	margin-bottom:30px;
}
}
/*PC*/
@media screen and (min-width:768px) {
.consentBox{
	text-align:center;
	margin-bottom:30px;
}
}

.consentBox label {
  position: relative;
  display: block;
  word-break: break-all;
}
.consentBox label input[type="checkbox"] + span {
  position: relative;
  padding: 0 30px 0 35px;
}

.consentBox label span {
  display: inline-block;
}
.consentBox label input[type="checkbox"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.consentBox label input[type="checkbox"] + span::before,
.consentBox label input[type="checkbox"] + span::after {
  position: absolute;
  top: 2px;
  left: 0;
  display: inline-block;
  content: '';
  box-sizing: border-box;
}
.consentBox label input[type="checkbox"] + span::before {
  z-index: 0;
  background-color: transparent;
  width: 22px;
  height: 22px;
  border: 2px #616161 solid;
  border-radius: 5px;
}
.consentBox label input[type="checkbox"] + span::after {
  z-index: 1;
  margin: 5px 8px;
  width: 6px;
  height: 9px;
}
.consentBox label input[type="checkbox"]:checked + span::before {
  background-color: #616161;
}
.consentBox label input[type="checkbox"]:checked + span::after {
  border: 2px solid #fff;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}

/*------------*/
/*ラジオボタン*/
/*------------*/
input[type=radio] {
  display: none;
}

.radio {
  box-sizing: border-box;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  margin: 0 10px 8px 0;
  padding: 12px 12px 12px 42px;
  border-radius: 8px;
  vertical-align: middle;
  cursor: pointer;
}

.radio:hover:after {
  border-color: #616161;
}
.radio:after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  left: 15px;
  display: block;
  margin-top: -10px;
  width: 20px;
  height: 20px;
  border: 2px solid #bbb;
  border-radius: 50%;
  content: '';
}

.radio:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 20px;
  display: block;
  margin-top: -5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #616161;
  content: '';
  opacity: 0;
}
input[type=radio]:checked + .radio:before {
  opacity: 1;
}

/*----------------*/
/*確認画面へボタン*/
/*----------------*/
.buttonConfirm {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  outline: none;
  padding:15px 40px;
  position: relative;
  background-color: #008000;
  border-radius: 6px;
  color: #FFF;
  -webkit-transition: none;
  transition: none;
  box-shadow: 0 5px 0 #004000;
  font-size:1.3em;
  font-weight:bold;
}

.buttonConfirm::before,
.buttonConfirm::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.buttonConfirm,
.buttonConfirm::before,
.buttonConfirm::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.buttonConfirm:hover {
	color: #fff;
	background-color: rgba(0,128,0,0.80);
	box-shadow: 0 5px 0 rgba(0,64,0,0.80);
	-webkit-box-shadow: 0 5px 0 rgba(0,64,0,0.80);
	text-decoration: none;
}
.buttonConfirm:active {
  top: 5px;
  box-shadow: none;
}

/*----------*/
/*戻るボタン*/
/*----------*/
.buttonBack {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  outline: none;
  padding:15px 40px;
  position: relative;
  background-color: #cccccc;
  border-radius: 6px;
  color: #000;
  -webkit-transition: none;
  transition: none;
  box-shadow: 0 5px 0 #7a7a7a;
  font-size:1.3em;
  font-weight:bold;
}

.buttonBack::before,
.buttonBack::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.buttonBack,
.buttonBack::before,
.buttonBack::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.buttonBack:hover {
	color: #000;
	background-color: rgba(204,204,204,0.80);
	box-shadow: 0 5px 0 rgba(122,122,122,0.80);
	-webkit-box-shadow: 0 5px 0 rgba(122,122,122,0.80);
	text-decoration: none;
}
.buttonBack:active {
  top: 5px;
  box-shadow: none;
}

.submitBox{
  text-align: center;
  margin-bottom:30px;
	margin-top: 30px;
}

.messageBox{
	padding:0 15px;
}

/*エラーメッセージ用*/
.errorMessage{
	color: #c1272d;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border: 3px double #C1272D;
	/*background: #fff0f0;*/
	display: block;
	padding: 5px;
	margin-top: 10px;
}

/*調整用css*/
.fontsizeSmall{
	font-size:0.8em;
}


/*----------*/
/*住所検索ボタン*/
/*----------*/


.addressCheckBtn {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  outline: none;
  padding:7px 20px;
  position: relative;
  background-color: #666666;
  border-radius: 6px;
  color: #FFF;
  -webkit-transition: none;
  transition: none;
  box-shadow: 0 5px 0 #494949;
  font-size:1.3em;
  font-weight:bold;
}

.addressCheckBtn::before,
.addressCheckBtn::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.addressCheckBtn,
.addressCheckBtn::before,
.addressCheckBtn::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.addressCheckBtn:hover {
	color: #fff;
	background-color: rgba(132,132,132,0.80);
	box-shadow: 0 5px 0 rgba(96,96,96,0.80);
	-webkit-box-shadow: 0 5px 0 rgba(96,96,96,0.80);
	text-decoration: none;
}
.addressCheckBtn:active {
  top: 5px;
  box-shadow: none;
}

/*大き目中黒リスト*/
ul.emphasisList{
  color: #c1272d;
  font-size: 1.2em;
}

/*大き目中黒リスト*/
ul.emphasisList li{
	margin:0 ;
	line-height:180%;
	counter-reset:cnt;
}

/*標準中黒リスト*/
ul.normalList{
	margin:0 ;
	line-height:180%;
	counter-reset:cnt;
}
 
ul.normalList li{
	list-style-type:none;
	list-style-position:inside;
	position:relative;
	padding-left:1em;
	/*margin-bottom: 1em;*/
}
ul.normalList li:before{
	position:absolute;
	top:0;
	left:0;
	display: marker;
	content: "\30fb";
}

ul.normalList li span{
  color: #c1272d;
}

#first_number{
  width: 70px;

}

#second_number{
  width: 70px;
}

#third_number{
  width: 70px;

}

#fourth_number{
  width: 70px;
}

.shippingTimeTable td {
  border: solid 1px;
  padding: 5px;
}

/*----------*/
/*ログイン周辺*/
/*----------*/

dl.LoginCation{
	margin: 10px;
	font-size: clamp(14px, 2.5vw, 20px);
}
dl.LoginCation dt{
	font-weight: bold;
}
dl.LoginCation dd{
	margin-bottom: 10px;
}
