/*------------------------------
基本
--------------------------------*/
html,body{
	font-family : "YakuHanJP",'Noto Sans Japanese','Meiryo UI', 'Hiragino Kaku Gothic Pro', 'MS PGothic', sans-serif;
	color : #333; /* 全体のテキストカラー */
	font-size: 14px;
	font-weight: 300;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
form{ margin:0; }
h1,h2,h3,h4,h5,h6,th { font-weight:normal; }
div,h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,
table,th,td,form,img{
	border : none;
	list-style-type : none;
}
img { line-height:0; }
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
a{
	color: #0633ac;
	text-decoration : none;
}
textarea,
input, 
select,
label {
	font-family: 'Noto Sans Japanese', sans-serif;
    font-weight: 300;
    color: #333;
}
input, 
select,
textarea{
	border:none;
	background:none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
textarea{
    max-width: 100%;
    margin-top: 10px;
    line-height: 1.25em;
}
select::-ms-expand {
  display: none;
}
/*------------------------------
フォーマット
--------------------------------*/
#container{
	width : 100%;
	height : auto;
	margin : 0 auto;
	padding: 15px 3.5% 30px;
}
/*------------------------------
メイン
--------------------------------*/
h1{
	font-size: 1.5em;
    font-weight: 700;
    background: url(../images/unify_contact/h1.svg) left center no-repeat;
	background-size:30px 30px;
    margin-bottom: 1em;
    padding: 6px 0 6px 40px;
}
h2{
    font-size: 1.29em;
    font-weight: 500;
    margin-bottom: 14px;
    padding: 2px 2px 7px 3px;
    border-bottom: 3px solid #333;
}
.subtxt {
    letter-spacing: .075em;
    line-height: 1.35em;
}
.h3ttl {
	height : 24px;
	font-size : 1.4em;
	line-height : 24px;
	border-left : 4px #00080c solid;
	padding-left : 4px;
}
.submsg {
	color : #263338;
	letter-spacing : .075em;
	line-height : 1.3em;
	margin-bottom : 18px;
}
.reqttl {
	font-size: 1.14em;
    font-weight: 500;
	color: #000;
    margin: 15px 0 8px;
    border-left: 5px solid #fc0;
    padding: 2px 0 2px 6px;
}
.memtxt {
	background: #ffe6df;
    padding: 10px 20px;
    margin: 10px 0;
    font-size: 15px;
    letter-spacing: .05em;
    line-height: 1.5em;
    border-radius: 15px;
}
.membold {
    font-size: 1.14em;
    font-weight: 700;
}
.membold a {
	text-decoration: underline;
}
.membold a:hover {
	text-decoration: none;
	color: #999;
}
.memred {
	font-weight:500;
	color: #D04E2E;
}
/*------------------------------
テーブル
--------------------------------*/
.tre{
	border : 1px #ccc solid;
	margin : 0 auto;
	padding : 0 2.5% 15px;
}
.tre_box{
	display: flex;
	display: -webkit-flex;
	flex-flow: column wrap;
	-webkit-flex-flow: column wrap;
	border : 1px #ccc dotted;
	margin : 0 auto 10px;
    padding: 15px 10px;
    font-size: 1.14em;
}
.tre_box dt,.tre_box dd {
	display:block;
    word-break: break-all;
    word-wrap: break-word;
    line-height: 1.3em;
}
.tre_box dt {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	align-items: center;
	-webkit-align-items:center;
    font-weight: 500;
	margin-bottom: 10px;
}
.required,
.arbitrary {
    display: inline-block;
    background: #D04E2E;
    color: #fff;
    padding: 3px 5px 4px;
    border-radius: 2px;
    font-size: 11px;
    line-height: 1;
}
.required:first-letter,
.arbitrary:first-letter {
	margin-right: 3px;
}
.arbitrary {
    background-color: #888;
}
.tre_box input[type="checkbox"],
.tre_box input[type="radio"]{
	display: none;
    opacity: 0;
    width:100%;  
    height: 100%;
    cursor:pointer;
}
.tre_box input[type="checkbox"] + label {
    display: block;
    background-image: url(../images/unify_contact/checkbox_off.svg);
    background-size: 24px 24px;
    background-position: left center;
    background-repeat: no-repeat;
    min-height: 24px;
    line-height: 24px;
    padding-left: 28px;
    cursor:pointer;
}
.tre_box input[type="checkbox"]:checked + label{
    background-image: url(../images/unify_contact/checkbox_on.svg);
}
.tre_box input[type="radio"] + label{
    display: block;
    background-image: url(../images/unify_contact/radio_off.svg);
    background-size: 24px 24px;
    background-position: left center;
    background-repeat: no-repeat;
    min-height: 24px;
    line-height: 24px;
    padding-left: 28px;
    cursor:pointer;
}
.tre_box input[type="radio"]:checked + label{
    background-image: url(../images/unify_contact/radio_on.svg);
}
.tre_box input[type="text"],
.tre_box input[type="tel"],
.tre_box input[type="email"],
.tre_box textarea {
	width: 100%;
	font-size:1em;
    padding: 10px;
	border-radius: 3px;
    border: 1px solid #A2A2A2;
	background: #fff;
}
.select01 {
    display: table-cell;
    vertical-align: middle;
    min-width: 110px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    padding: 9px 30px 8px 10px;
    box-sizing: border-box;
    background-color: #fff;
    font-size: 1em;
    color: #333;
    border: solid 1px #A2A2A2;
}
.selectWrapper {
	display: inline-block;
    position: relative;  
}
.selectWrapper:before {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7px 5px 0 5px;
    border-color: #333 transparent transparent transparent;
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}
.form_btn {
    display: inline-block;
	width: 55%;
    color: #fff;
    font-size: 1.14em;
	font-weight: 700;
    background-color: #333;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);
    border-radius: 5px;
    padding: 10px 0px;
	text-align: center;
	cursor: pointer;
}
.form_reset {
    display: block;
    width: 35%;
    color: #fff;
    font-weight: 700;
    background-color: #888;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);
    border-radius: 5px;
    padding: 10px 0px;
    text-align: center;
    margin: 20px auto;
	cursor: pointer;
}
.note {
    margin: 10px 0;
    font-size: .86em;
}
.addBtn {
    display: inline-block;
	color: #0633ac;
	text-decoration: underline;
	cursor: pointer;
}
.addBtn:before {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 6.5px;
    border-color: transparent transparent transparent #D04E2E;
    padding-right: 5px;
}
.note_list {
    font-size: .93em;
    font-weight: 700;
    margin-top: 10px;
    background: #f2f2f2;
    padding: 10px;
}
.note_list li {
    list-style: disc;
    margin-left: 20px;
}
.formtxt {
	font-size: .86em;
	letter-spacing: .05em;
	margin-top: 10px;
}
.raiten {
	position: relative;
}
.raiten>img {
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
    width: 24px;
    height: auto;
	cursor: pointer;
}
.sateTable tr {
    display: inline-block;
    padding-right: 1em;
}
.catTable td {
    display: inline-block;
    min-width: 50%;
    font-size: .86em;
    padding: 6px 0;
}
.sateTable td,.otTable td {
    display: block;
}
.otTable tr {
    display: inline-block;
    min-width: 51%;
    padding: 6px 0;
}
.step{
    display: flex;
	display: -webkit-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    width: 100%;
    overflow: hidden;
    margin: 20px 0 10px;
}
.step li{
	position: relative;
    background: #bbb;
    padding: 10px 12px;
    color: #fff;
    width: 30%;
}
.step li:last-child:after{
  display:none;
}
.step li:after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  margin: auto;
    top: 50%;
    right: 0;
    border-style: solid;
    border-color: transparent transparent transparent #bbb;
    border-width: 20px 0 20px 10px;
    z-index: 10;
    transform: translate3d(100%,-50%,0);
	-webkit-transform: translate3d(100%,-50%,0);
}
.step li.is-current{
  background: #f3bd00;
  font-weight: bold;
}
.step li.is-current:after{
  border-color: transparent transparent transparent #f3bd00;
}
.senttxt {
    background: #f2f2f2;
    padding: 10px;
    line-height: 1.3em;
    margin-bottom: 25px;
}
.sentName {
	display: inline-block;
    font-size: 1.14em;
    font-weight: 700;
    padding-bottom: 5px;   
}
.tre100 {
    margin-top: 25px;
}
.c_textarea {
	padding-top: 8px;
	line-height: 1.3em;
}
.guest {
    margin: 15px 0;
}
/*------------------------------
フッター
--------------------------------*/
#copyright{
	font-size : .86em;
	text-align : center;
}
footer {
	margin-top: 20px;
}
.closeBtn {
	display: inline-block;
	text-decoration: underline;
    margin: 30px 0 10px;
}
.closeBtn:hover {
	text-decoration: none;
	color: #666;
}
/*------------------------------
共通
--------------------------------*/
.chuo{
	text-align : center;
}
.migi{
	text-align : right;
}
.red{
	color : #cc3300;
}
.blue{
	color : #3333cc;
}
.thick{
	font-weight : bold;
}
.fs14{
	font-size : 14px;
}
.mt25 {
    margin-top: 25px;
}
.m20 {
	margin: 20px 0;
}
.m814{
	margin-top : 8px;
	margin-bottom : 14px;
}
.msg {
    font-size: 1.08em;
    line-height: 1.5em;
    padding: 8px 13px;
    color: #d35028;
    font-weight: bold;
    border: 3px solid;
    border-radius: 10px;
    margin: 20px 0;
}
a.line_link{
	display: inline-block;
	padding:10px 20px;
	font-size:1.8rem;
    text-decoration: none;
    background: #24B718;/*ボタン色*/
	box-shadow: 0px 0px 2px 2px #e2e2e2;
	color: #fff;
	font-size:1.4rem;
    border-radius:3px;
	cursor:pointer;
	font-weight:bold;
	margin:0px 10px 10px 10px;
}
a:hover.line_link{
	background: #333;/*ボタン色*/
}
p.line_acc{
	text-align:center;
	padding:0px 0px 20px 0px;
}
/*----------tablet only------------*/
@media screen and (min-width: 415px) and (max-width: 768px) {
	.raiten {
		width: 50%;
	}
	.input01 {
		width: 70%;
	}
	.tre_box dt {
		justify-content: flex-start;
		-webkit-justify-content: flex-start;
		border-bottom: 2px solid #eee;
		padding: 0 3px 5px;
	}
	.required, .arbitrary {
		margin-left: 1em;
	}
}
/*----------pc------------*/
@media screen and (min-width: 781px){
	#container{
		width : 90%;
		max-width: 1200px;
		padding : 30px 0 15px;
	}
	h1{
		margin-bottom: 30px;
		font-size: 1.8em;
	}
	h2{
		font-size: 1.5em;
	}
	.step {
		width: 68%;
		min-width: 700px;
		max-width: 760px;
		margin: 20px auto;
	}
	.step li {
		width: 30%;
	}
	.step li:after {
		border-width: 20px 0 20px 30px;
	}
	.contact_form {
		width: 68%;
		margin: auto;
		min-width: 700px;
		max-width: 760px;
	}
	.tre {
		padding: 10px 22px;
	}
	.tre_box {
		flex-flow: row wrap;
		-webkit-flex-flow: row wrap;
		justify-content: space-between;
		-webkit-justify-content: space-between;
		align-items: flex-start;
		-webkit-align-items: flex-start;
		padding: 20px;
	}
	.tre_box dt {
		width: 28%;
		margin-bottom: 0;
	}
	.tre_box dd {
		width: 65%;
	}
	.tre100 {
		display: flex;
		display: -webkit-flex;
		justify-content: space-between;
		-webkit-justify-content: space-between;
		align-items: center;
		-webkit-align-items: center;
		width: 100%;
	}
	.tre_box dt.pc_space {
		align-items: center;
		-webkit-align-items: center;
		margin: 0;
	}
	.form_btn {
		width: 25%;
	}
	.form_btn:hover,.form_reset:hover {
		background: #999;
	}
	.form_reset {
		width: 15%;
	}
	.otTable tr {
		min-width: 50%;
	}
	.catTable td {
		font-size: 1em;
	}
	.raiten,.input01 {
		width: 55%;
	}
	.msg {
		font-size: 1.14em;
		padding: 8px 15px;
		margin: 20px 10px;
	}
}