@charset "utf-8";
/* CSS Document */

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.page-factoryform .page-header-img:after {
    background-image: url("../images/factory/bg-page-form.png") !important;
}

/*--------------------------------------------------*/

#factoryform-01{
	margin: 75px auto 0;
	position: relative;
}
#factoryform-01::before{
	content: '';
	display: block;
	background: url("../images/factory/bg05.jpg") 0 0 / contain no-repeat;
	width: 1034px;
	height: 776px;
	position: absolute;
	top: 165px;
	right: 0;
	z-index: -1;
}

#factoryform-01 .infotxts{
    width: 100%;
    margin: 55px auto 45px;
}

#factoryform-01 h3.hd{
    width: 100%;
    margin: 55px auto 45px;
	font-size: 2.5rem;
	color: #00a591;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-align: center;
	border-bottom: 1px solid #00a591;
	padding-bottom: 25px;
}


/*STEP*/
.steplists{
    max-width: 615px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    gap: 0 15px;
}
.steplists dl{
    width: calc( 100% / 3 );
    height: 45px;
    display: flex;
    gap: 0 15px;
    align-items: center;
    justify-content: center;
    background-color: #E6E6E6;
    color: #333;
}
.steplists dl.now{
    background-color: #00a591;
    color: #fff;
}

/*フォーム*/
.qanda.border{
    width: 100%;
    margin: 35px auto 0;
    border-top: 1px solid #aeaeae;
}

/*設問1件（ガワ）*/
.qanda .question{
    width: calc( 100% - 60px );
    margin: 25px auto 0;
    display: flex;
    position: relative;
    padding-bottom: 25px;
}
.qanda .question:first-of-type{
    margin: 55px auto 0;
}

/*ラベル*/
.qanda .question .label{
    width: 270px;
}
.qanda .question .label dl{
    height: 50px;
    display: flex;
    align-items: center;
    gap: 0 20px;
}
.qanda .question .label dl dt{
    color: #fff;
    background-color: #EC2028;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;    
    width: 50px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.qanda .question .label dl dt.gray{
    background-color: #AEAEAE;
}

/*フィールド*/
.qanda .question .field{
    width: calc( 100% - 270px );
}

/*記入例*/
.qanda .question .kinyurei{
    font-size: 1.4rem;
    color: #575757;
    position: absolute;
    bottom: 0;
}

/*テキスト*/
.qanda .question .field input[type=text]{
    width: 100%;
    height: 50px;
    background-color: #F9F9F9;
    border: 1px solid #949494;
    box-sizing: border-box;
    text-indent: 25px;
    font-size: 1.6rem;
}
.qanda .question .field input[type=text].w345{
    width: 345px;
}
.qanda .question .field input[type=text].w200{
    width: 200px;
}

/*テキストエリア*/
.qanda .question .field textarea{
    width: 100%;
    height: 230px;
    background-color: #F9F9F9;
    border: 1px solid #949494;
    box-sizing: border-box;
    padding: 25px;
    font-size: 1.6rem;
}

/*郵便番号*/
.qanda .question .field dl.zipcode:first-of-type {
    border-bottom: 0px !important;
}
.qanda .question .field dl.flex.zipcode{
    margin-bottom: -25px;
	display: flex;
	align-items: center;
	gap: 0 20px;
}
.qanda .question .field dl.flex.zipcode dt{
    width: 345px;
    text-align: left;
}
.qanda .question .field dl.flex.zipcode dd{
    width: calc( 100% - 365px );
    color: #333333;
    font-size: 1.5rem;
}

/*生年月日*/
.qanda .question .field dl.birth dd{
	display: flex;
	align-items: center;
}
.qanda .question .field dl.birth dd > span{
	display: block;
	margin: auto 30px auto 20px;
}

.qanda .question .field dl.birth dd input:first-of-type{
	width: 160px;
}
.qanda .question .field dl.birth dd input:not(:first-of-type){
	width: 100px;
}

/*ラジオボタン*/
.qanda .question .field dl.radio{
	margin-top: 10px;
}
dl.radio input[type="radio"] {
  appearance: none; /* デフォルトの見た目を消す */
  -webkit-appearance: none; /* Safari用 */
  width: 30px;
  height: 30px;
  border: 1px solid #000;
  border-radius: 50%;
  display: inline-block;
  vertical-align: middle;
  margin-right: 6px;
  position: relative;
  cursor: pointer;
}
dl.radio input[type="radio"]:checked::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 20px;
  height: 20px;
  background: #00a591;
  border-radius: 50%;
}
dl.radio label {
  cursor: pointer;
  margin-right: 15px;
}

/*チェックボックス*/
.qanda .question .field dl.checkbox:not(:flex){
    display: flex;
    align-items: center;
    width: calc(100% - 40px ); 
    background-color: #F2F2F2;
    padding: 15px 20px;
}
.qanda .question .field dl.checkbox:not(:flex) dd{
    display: flex;
    align-items: center;
    gap: 0 15px;
}

input[type=checkbox] {
    display: none; /* 標準スタイル */
}
.sample_label {
    position: relative; /* ボックスの位置を指定する */
    padding: 0 0 0 45px; /* ボックス内側の余白を指定する */
}
.sample_label:after, .sample_label:before {
    position: absolute; /* ボックスの位置を指定する */
    content: ""; /* ボックスのコンテンツ */
    display: block; /* ブロックレベル要素化する */
    top: 50%; /* 上部から配置の基準位置を決める */
}
.sample_label:after {
    left: 4px; /* 左から配置の基準位置を決める */
    margin-top: -14px; /* チェック枠の位置 */
    width: 30px; /* ボックスの横幅を指定する */
    height: 30px; /* ボックスの高さを指定する */
    border: 1px solid #000; /* ボックスの境界線を実線で指定する */
    border-radius: 50%; /* ボックスの角丸を指定する */
    background-color: #fff;
}
.sample_label:before {
    left: 8px; /* 左から配置の基準位置を決める */
    margin-top: -10px; /* チェックマークの位置 */
    width: 22px; /* ボックスの横幅を指定する */
    height: 22px; /* ボックスの高さを指定する */
    background: #0071B7;/* ボックスの背景色を指定する */
    border-radius: 50%; /* ボックスの角丸を指定する */
    z-index: 2;
    opacity: 0; /* 要素を透過指定する */
}
input[type=checkbox]:checked + .sample_label:before {
    opacity: 1; /* 要素を表示する */
}
.sample_label:hover:after {
    border-color: #0171bd; /* ボックスの境界線を実線で指定する */
}

.qanda .question .field dl.checkbox dd a{
    padding-right: 45px;
    position: relative;
    color: #0071B7;
}
.qanda .question .field dl.checkbox dd a::after{
    content: '';
    display: block;
    background-image: url("image/icon_tab.png");
    background-size: 21px;
    background-repeat: no-repeat;
    width: 21px;
    height: 21px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 10px;
}

/*同行者情報*/
.qanda .question .field dl.number{
	display: flex;
}
.qanda .question .field dl.number > dd:nth-of-type(1){
	width: 31.3%;/*210*/
}
.qanda .question .field dl.number > dd:nth-of-type(2){
	width: 47.6%;/*320*/
	display: flex;
	flex-direction: column;
	gap: 25px 0;
	align-items: flex-end;
}
.qanda .question .field dl.number > dd input[type=number]{
    width: 105px;
    height: 50px;
    background-color: #F9F9F9;
    border: 1px solid #949494;
    box-sizing: border-box;
    text-indent: 25px;
    font-size: 1.6rem;
}
.qanda .question .field dl.number > dd span{
    display: inline-block;
	margin-left: 15px;
}

.qanda .doukoutxts{
	margin: 35px auto 0;
	font-size: 2.0rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: #00a591;
}
.qanda .doukou_wrap{
	margin: 30px auto;
	border-top: 1px solid #aeaeae;
}
.qanda .doukou_wrap h5.hd{
	margin: 25px auto -20px;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	padding-left: 25px;
	position: relative;
}
.qanda .doukou_wrap h5.hd::before{
	content: '';
	display: block;
	width: 18px;
	height: 18px;
	background-color: #00a591;
	border-radius: 50%;
	position: absolute;
	top: 5px;
	left: 0;
}

/*工場見学の日時*/
.qanda .notice{
	min-width: 640px;
	width: fit-content;
	margin: 0 auto;
	border: 1px solid #e81c24;
	border-radius: 10px;
	box-sizing: border-box;
}
.qanda .notice > dl{
	padding: 20px 30px 40px;
}
.qanda .notice > dl > dt{
	font-size: 2.0rem;
	font-weight: 700;
	color: #e81c24;
	text-align: center;
}
.qanda .notice > dl > dd{
	margin-top: 30px;
}
.qanda .notice > dl > dd ul li{
	padding-left: 1em;
	position: relative;
}
.qanda .notice > dl > dd ul li::before{
	content: '※';
	color: #e81c24;
	width: 16px;
	height: 16px;
	position: absolute;
	top: 0px;
	left: 0;
}
.qanda .notice > dl > dd ul li:not(:first-child){
	margin-top: 10px;
}

.qanda .date_wrap .question{
	width: 470px;
}

/**/

.qanda .survey_wrap .doukoutxts{
	padding-bottom: 30px;
}

/*ご希望の返信先*/
.qanda .question .field dl.contact.radio dd:nth-of-type(2){
	margin-top: 10px;
}
.qanda .question .field dl.contact.radio dd input[type=text]{
	width: 275px;
}

/*ご覧頂いた媒体*/
.qanda .question .field dl.checkbox.flex dd{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
}
.qanda .question .field dl.checkbox.flex dd .sample_label:before, .qanda .question .field dl.checkbox.flex dd .sample_label:after{
	border-radius: 0;
}
.qanda .question .field dl.checkbox.flex dd input[type=text]{
	width: 270px;
}

/*個人情報保護方針*/
.qanda .question.privacy {
    display: block;
    padding-bottom: 0;
}
.qanda .question.privacy .field{
    width: 100%;
    margin-top: 15px;
}
.qanda .question.privacy .field ul.policy{
    height: 190px;
    margin-bottom: 25px;
    overflow-y: scroll;
    background-color: #fff;
    padding: 15px 20px;
    font-size: 1.6rem;
    border: 1px solid #C7C7C7;
    box-sizing: border-box;
}
.qanda .question.privacy .field ul.policy::-webkit-scrollbar {
    background: rgba(255,255,255,0.00);
    width: 10px;
}
.qanda .question.privacy .field ul.policy::-webkit-scrollbar-thumb {
    background-color: #C6C6C6;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;    
}
.qanda .question.privacy .field ul.policy h4{
    font-size: 2.0rem;
    font-weight: 700;
}
.qanda .question.privacy .field ul.policy li{
    margin-top: 30px;
}
.qanda .question.privacy .field dl.checkbox.policy{
	height: 60px;
	padding: 0 20px;
	display: flex;
	align-items: center;
    background-color: #f2f2f2;
}

/*--------------------------------------------------*/

/*送信ボタン*/
.sendbtns{
    margin: 30px auto 0;
    display: flex;
    justify-content: center;
    gap: 0 15px;
}

.sendbtns_subtxts{
    margin: 60px auto 0;
    text-align: center;
}

.sendbtns .next, .sendbtns .back{
    position: relative;
}
.sendbtns .next::after, .sendbtns .back::after{
	content: '';
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-size: 100% 100%;
    width: 8px;
    height: 15px;
    mask-image: url(../images/index/icon-right-large.svg);
    mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat;
    -webkit-mask-image: url(../images/index/icon-right-large.svg);
    -webkit-mask-size: contain;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    background-color: #fff;
    right: 30px;
    transition: .3s;
    z-index: 3;
}
.sendbtns .next::after{
    right: 20px;
}
.sendbtns .back::after{
    left: 20px;
}
.sendbtns input[type=submit], .sendbtns input[type=button]{
    cursor: pointer;
    border: 0;
    width: 290px;
    height: 75px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;    
    font-size: 2.0rem;
    color: #fff;
    letter-spacing: 0.1em;
    font-weight: bold;
    position: relative;
}
.sendbtns input[type=submit]{
    background-color: #00a591;
}
.sendbtns input[type=button]{
    background-color: #AEAEAE;
}

.sendbtns input[type=submit]:hover, .sendbtns input[type=button]:hover{
    opacity: 0.6;
}
.sendbtns .next:hover::after{
}
.sendbtns .back:hover::after{
}
.sendbtns .next input:hover{
}
.sendbtns .back input:hover{
}

/*--------------------------------------------------*/

/*確認画面*/

.steplists.margin{
    margin: 35px auto 0;    
}

#form_wrap .infotxt{
    width: 100%;
    margin: 35px auto 0;    
    text-align: center;
}

#form-tbl{
    width: calc( 100% - 60px );
    margin: 60px auto 0;    
}

#form-tbl table{
    width: 100%;
}
#form-tbl table tr{
    display: block;
    border-bottom: 1px solid #949494;
    padding: 25px 0;
}
#form-tbl table tr th{
    width: 300px;
}
#form-tbl table tr td{
    width: calc( 100% - 300px );
}
span.msg{
	color: red;
}

/*--------------------------------------------------*/

#factoryform-02{
	padding: 75px 0 135px;
	position: relative;
}
#factoryform-02::before{
	content: '';
	display: block;
	background: url("../images/factory/bg04.jpg") 0 0 / contain no-repeat;
	width: 1034px;
	height: 641px;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: -1;
}

#factoryform-02 .container{
	border: 4px solid #00a591;
	box-sizing: border-box;
	padding: 40px 0 45px;
}
#factoryform-02 .container > p{
	text-align: center;
}
#factoryform-02 .container > dl{
	min-width: 465px;
	width: fit-content;
	margin: 30px auto 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 40px;
}
#factoryform-02 .container > dl dt, #factoryform-02 .container > dl dt a{
	font-size: 3.0rem;
	color: #00a591;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#factoryform-02 .container > dl dd{
	font-weight: 500;
}





/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/