@charset "utf-8";
/*=================================
form
@media only screen and (max-width: 767px)
================================ */

/* tableLayout */
#js-previewRange .form-table-head {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}
#js-previewRange .form-table-head .preview_date {
	width: 10em;
}
#js-previewRange .form-table-head .preview_date + .preview_page {
	width: calc(100% - 10em);
	padding-right: 10em;
	text-align: center;
}
_::-webkit-full-page-media, _:future, :root #js-previewRange .js-previewOnly {
	padding-left: 10px;
}
#js-previewRange .tableLayout.is-formTable {
	display: block;
	width: 1000px;
	border: none;
}
#js-previewRange .tableLayout.is-formTable colgroup {
	display: none!important;
}
#js-previewRange .tableLayout.is-formTable > tbody > tr {
	display: -webkit-flex;
	display: flex;
	width: 1000px;
	border: 1px solid #e0e0e0;
	border-width: 1px 1px 1px 0;
}
#js-previewRange .tableLayout.is-formTable > tbody > tr + tr {
	border-top: none;
}
#js-previewRange .tableLayout.is-formTable > tbody > tr > th{
	display: block;
	position: relative;
	width: 25%;
	border: none;
}
#js-previewRange .tableLayout.is-formTable > tbody > tr > th::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 100%;
	background: #e0e0e0;
}
#js-previewRange .tableLayout.is-formTable > tbody > tr > td{
	display: block;
	position: relative;
	width: 75%;
	border: none;
}
#js-previewRange .tableLayout.is-formTable > tbody > tr > td::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 100%;
	background: #e0e0e0;
}

.tableLayout.is-formTable td .name-kanji,
.tableLayout.is-formTable td .name-katakana,
.tableLayout.is-formTable td .address-post,
.tableLayout.is-formTable td .address-place {
	display: block;
}
.tableLayout.is-formTable th,
.tableLayout.is-formTable td {
	padding: 1.5em;
}
.tableLayout.is-formTable th > span {
	position: relative;
	display: block;
	padding-right: 3.5em;
}
.tableLayout.is-formTable .is-nameTable {
	width: 100%;
}
.tableLayout.is-formTable .innerTable + .noteList {
	margin-top: 0.3em;
}
.tableLayout.is-formTable .innerTable th > span {
	display: inline-block;
}
.tableLayout.is-formTable .required > span:before,
.tableLayout.is-formTable .optional > span:before {
	position: absolute;
	top: 0.3em;
	right: 0;
	display: inline-block;
	padding: 3px 5px;
	font-size: 1.1rem;
	line-height: 1;
}
.tableLayout.is-formTable .required > span:before {
	content: "必須";
	background-color: #c43137;
	color: #fff;
}
.tableLayout.is-formTable .optional > span:before {
	content: "任意";
	background-color: #fff;
	border: 1px solid #ddd;
}
.tableLayout.is-formTable .innerTable th > span:before {
	margin-left: 1em;
}

/* form-flowList */
.heading1 + .form-flowList {
	margin-top: 3em !important;
}
.form-flowList + * {
	margin-top: 2em;
}
.form-flowList > ol {
	display: -webkit-flex;
	display: flex;
  -webkit-flex-flow: row nowrap;
  flex-flow: row nowrap;
	-webkit-justify-content: center;
	justify-content: center;
}
.form-flowList > ol > li {
	position: relative;
	width: 190px;
	padding-top: 45px;
	color: #707070;
	text-align: center;
}
.form-flowList > ol > li:before {
	position: absolute;
	top: 0;
	left: 50%;
	display: inline-block;
	width: 34px;
	height: 34px;
	margin-left: -17px;
	border: 1px solid #707070;
	border-radius: 50%;
	line-height: 32px;
	font-size: 1.3rem;
	color: #707070;
	text-align: center;
}
.form-flowList > ol > li:nth-child(1):before {
	content: "1";
}
.form-flowList > ol > li:nth-child(2):before {
	content: "2";
}
.form-flowList > ol > li:nth-child(3):before {
	content: "3";
}
.form-flowList > ol > li:after {
	content: "";
	position: absolute;
	top: 18px;
	left: -63px;
	display: inline-block;
	width: 126px;
	height: 2px;
	margin-top: -1px;
	border-top: 2px dotted #c0c0c0;
}
.form-flowList > ol > li:first-child:after {
	display: none;
}
.form-flowList > ol > .is-current {
	color: #116caf;
}
.form-flowList > ol > .is-current:before {
	border-color: #116caf;
	color: #116caf;
}

/* inputBox */
.inputBox {
	-webkit-appearance: none;
	padding: 0 12px;
	height: 40px;
	background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 0;
	font-size: 1.4rem;
}
.inputBox::-webkit-input-placeholder {
	color: #999;
}
.inputBox::-moz-placeholder {
	color: #999;
}
.inputBox:-ms-input-placeholder {
	color: #999;
}
.inputBox:-moz-placeholder {
	color: #999;
}

/* textareaBox */
.textareaBox {
	-webkit-appearance: none;
	padding: 5px;
	height: 140px;
	background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 0;
	font-size: 1.4rem;
}

/* selectBox */
.selectWrap {
	position: relative;
	display: inline-block;
}
.selectWrap:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-top: -4px;
	border-top: 1px solid #3366cc;
	border-right: 1px solid #3366cc;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	pointer-events: none;
}
.selectBox {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: relative;
	display: inline-block;
	height: 40px;
	padding: 0 30px 0 12px;
	background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 0;
	color: #333;
}
.selectBox::-ms-expand {
	display: none;
}
.selectBox option {
	color: #333;
}
.inputBox[disabled],
.textareaBox[disabled],
.selectBox[disabled] {
	background-color: #eee !important;
	color: #999 !important;
}

/* other */
.inputBox + *,
.textareaBox + *,
.selectBox + *,
.checkboxList + *,
.radioList + *,
.text + *,
.errorText + * {
	margin-top: 0.3em !important;
}
span.required {
	display: inline-block;
	margin-right: 5px;
	padding: 3px 5px;
	background-color: #c43137;
	font-size: 1.1rem;
	color: #fff;
	line-height: 1;
	vertical-align: middle;
}
.is-error {
	background-color: #ffe1e6 !important;
}
.errorText {
	color: #c43137;
}
.inputBox.is-age {
	margin-right: 0.8em;
}
.tableLayout.is-formTable .innerTable {
	width: 100%;
	margin-left: -0.3em;
}
.checkboxList,
.radioList {
	display: -webkit-flex;
	display: flex;
  -webkit-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
.checkboxList > li,
.radioList > li {
	margin-left: 60px;
}
.checkboxList > li:first-child,
.radioList > li:first-child {
	margin-left: 0;
}
.separation {
	display: inline-block;
	padding: 0 10px;
}

.printBox .btnLink.input-result > li > a > span::after {
	display: none;
}

.checkboxList-v2 {
  display: -webkit-flex;
	display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
.radioList-v2 {
	display: block;
}
.radioList-v2 > li + li {
	margin-top: 12px;
}
.tableLayout.is-formTable .innerTable th.tableCellTop {
	vertical-align: top;
}

.cilSubmitBlock {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	margin-top: 3em;
}
.cilSubmitBlock > .is-back,
.cilSubmitBlock > .is-send {
	display: inline-block;
	background-color: #fff;
	box-shadow: 0 1px 2px 1px rgb(0 0 0 / 10%);
	text-align: center;
	text-decoration: none;
	outline: none;
	transition-property: background-color, border-color, color, box-shadow;
	transition-duration: 0.4s;
}
.cilSubmitBlock > .is-send {
	margin-left: 32px;
}
.cilSubmitBlock > .is-back span {
	display: block;
	position: relative;
	width: 100%;
}
.cilSubmitBlock > .is-send span {
	display: block;
	position: relative;
	width: 370px;
}
.cilSubmitBlock > .is-back span::after {
	content: "";
	position: absolute;
	display: inline-block;
	top: 50%;
	left: 10px;
	margin-top: -4px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #3366cc;
	border-right: 1px solid #3366cc;
	transform: rotate(225deg);
}
.cilSubmitBlock > .is-back span input {
	display: block;
	width: 100%;
	padding: 1em 4em;
	border: none;
	background-color: #fff;
	color: #426bba;
	font-size: 1.4rem;
	line-height: 1.4;
}
.cilSubmitBlock > .is-send span input {
	display: block;
	width: 100%;
	padding: 2em 5em;
	border: none;
	background-color: #fff;
	color: #426bba;
	font-size: 1.6rem;
}

@media only screen and (min-width: 768px){
	.printBox .btnLink.input-result > li > a > span {
		padding: 0.3em 4em;
	}
	.checkboxList-v2 > li {
		width: calc((100% - 110px)/3);
		margin-right: 55px;
	}
	.checkboxList-v2 > li:nth-of-type(3n) {
		margin-right: 0;
	}
	.checkboxList-v2 > li:nth-of-type(n+4) {
		margin-top: 12px;
	}
	.cilSubmitBlock .is-back:hover,
	.cilSubmitBlock .is-send:hover {
		box-shadow: 0px 4px 8px 2px rgba(0, 0, 0, 0.15);
		cursor: pointer;
		text-decoration: none;
	}
	.cilSubmitBlock .is-back:hover span {
		opacity: 0.7;
	}
}

@media only screen and (max-width: 767px){
	
	body {
		padding-top: 0;
	}
	/*.tableLayout.is-formTable */
	#js-previewRange .js-previewOnly{
		font-size: 10px;
	}
	#js-previewRange .form-table-head .preview_date {
		width: 6em;
	}
	#js-previewRange .form-table-head .preview_date + .preview_page {
		width: calc(100% - 6em);
		padding-right: 6em;
		text-align: center;
	}
	#js-previewRange .tableLayout.is-formTable {
		display: block;
		width: 100%;
		border: none;
	}
	#js-previewRange .tableLayout.is-formTable colgroup {
		display: none!important;
	}
	#js-previewRange .tableLayout.is-formTable > tbody > tr {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-flow: column;
		flex-flow: column;
		width: 100%;
		border: 1px solid #e0e0e0;
		border-width: 1px 1px 1px 0;
	}
	#js-previewRange .tableLayout.is-formTable > tbody > tr + tr {
		border-top: none;
	}
	#js-previewRange .tableLayout.is-formTable > tbody > tr > th{
		display: block;
		position: relative;
		width: 100%;
		border: none;
	}
	#js-previewRange .tableLayout.is-formTable > tbody > tr > th::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 1px;
		height: 100%;
		background: #e0e0e0;
	}
	#js-previewRange .tableLayout.is-formTable > tbody > tr > td{
		display: block;
		position: relative;
		width: 100%;
		border: none;
	}
	#js-previewRange .tableLayout.is-formTable > tbody > tr > td::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 1px;
		height: 100%;
		background: #e0e0e0;
	}
	#js-previewRange .tableLayout.is-formTable > tbody > tr > td::after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background: #e0e0e0;
	}
	
	.tableLayout.is-formTable .innerTable {
		width: 100%;
		margin-top: 0.3em;
	}
	.tableLayout.is-formTable th,
	.tableLayout.is-formTable td {
		padding: 1em;
	}
	.tableLayout.is-formTable .required > span:before,
	.tableLayout.is-formTable .optional > span:before {
		top: 0;
	}
	.tableLayout.is-formTable .is-nameTable colgroup col:nth-child(1),
	.tableLayout.is-formTable .is-nameTable colgroup col:nth-child(3) {
		width: 12% !important;
	}
	.tableLayout.is-formTable .is-nameTable colgroup col:nth-child(2),
	.tableLayout.is-formTable .is-nameTable colgroup col:nth-child(4) {
		width: 38% !important;
	}
  .tableLayout.is-formTable .is-nameTable th:nth-child(1),
	.tableLayout.is-formTable .is-nameTable th:nth-child(3) {
		white-space: nowrap;
	}
	.is-vertical.innerTable > tbody > tr > th,
	.is-vertical.innerTable > tbody > tr > td {
		border-top: none;
	}
	.is-vertical.innerTable > tbody > tr > td {
		padding-top: 0 !important;
	}
	
	/* form-flowList */
	.heading1 + .form-flowList {
		margin-top: 1.5em !important;
	}
	.form-flowList > ol > li {
		width: 33%;
		font-size: 1.2rem;
		line-height: 1.2;
	}
	.form-flowList > ol > li:after {
		left: -21%;
		width: 42%;
	}
	
	/* selectBox */
	.inputBox {
		padding: 0 5px;
	}
	.inputBox.is-w100px,
	.inputBox.is-w200px,
	.inputBox.is-w470px,
	.inputBox.is-w500px {
		width: 100% !important;
	}
	.is-vertical.innerTable .is-w100px {
		width: 100px !important;
	}
	
	/* selectBox */
	.selectBox {
		width: 100%;
	}
	
	/* is-combining */
	.tableLayout.is-formTable .is-nameTable.is-combining colgroup col:nth-child(1) {
		width: 21% !important;
	}
	.tableLayout.is-formTable .is-nameTable.is-combining colgroup col:nth-child(2) {
		width: 79% !important;
	}
	
	/* other */
	.printBox .btnLink.input-result {
		display: block;
		margin: 1.5em 0 0 !important;
	}
	
	.checkboxList-v2 > li {
		width: calc((100% - 15px)/2);
		margin-right: 15px;
	}
	.checkboxList-v2 > li:nth-of-type(2n) {
		margin-right: 0;
	}
	.checkboxList-v2 > li:nth-of-type(n+3) {
		margin-top: 15px;
	}
	.radioList-v2 > li + li {
		margin-top: 12px;
	}
	
	.cilSubmitBlock > .is-send {
		margin-left: 1em;
	}
	.cilSubmitBlock > .is-send span {
		width: auto;
	}
	.cilSubmitBlock > .is-back span input {
		padding: 0.8em 1em 0.8em 2em;
	}
	.cilSubmitBlock > .is-send span input {
		padding: 1.5em 2em;
	}
}

/* font-family */
.tableLayout.is-formTable .required > span:before,
.tableLayout.is-formTable .optional > span:before,
span.required {
	font-family: "TBUDゴシック R", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, Arial, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media only screen and (max-width: 767px){
	.tableLayout.is-formTable .required > span:before,
	.tableLayout.is-formTable .optional > span:before,
	span.required {
		font-family: "TBUDゴシック R", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, Arial, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	}
}