/* ----------------------------------------------------------------------------  */
figure {
	padding: 0;
	margin: 0;
}
.headline3 {
	margin-bottom: 10px;
	padding: 7px 20px 7px 12px;
	font-size: 16px;
	font-weight: bold;
	border-top: 4px solid #333;
	border-bottom: 1px solid #CCC;
	line-height: 2;
}

.blockGreen {
	border: 1px solid #DDD;
	border-top: 4px solid #EC6308;
	padding: 23px 23px 35px;
}

.blockGreen.style02 {
	border-left-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	padding: 90px 0 32px;
}

.blockGreen.style03 {
	padding: 23px;
}

.blockGreen .ttlForm {
	margin-bottom: 30px !important;
	padding-bottom: 19px;
	font-size: 16px;
	font-weight: bold;
	border-bottom: 1px solid #DDD;
}

.blockGreen .txtDetail {
	font-size: 12px;
	line-height: 1.8;
}

.blockGreen .txtDetail p {
	margin-bottom: 4px;
}

.blockGreen .txtDetail .txtStrong {
	display: inline-block;
	margin-top: 4px;
	font-size: 18px;
	font-weight: bold;
	color: #EC6308;
	text-decoration: none;
}

.requireBox {
	margin-top: 40px;
}

.requireBox .ttl {
	display: flex;
	align-items: center;
	margin-bottom: 0;
	padding: 15px 14px;
	color: #FFF;
	background: #EC5B5B;
	border-color: #EC5B5B;
	font-size: 14px;
}

.requireBox .detail {
	padding: 24px 32px 8px 10px;
	border: 1px solid;
	border-color: #EC5B5B;
	border-top: 0;
	color: #EC5B5B;
}

.textList {
	margin-left: 24px;
}

.textList li {
	position: relative;
	margin-bottom: 8px;
	padding-left: 14px;
}

.textList li:before {
	position: absolute;
	width: 6px;
	height: 6px;
	content: '';
	border-radius: 50%;
	background-color: #EC5B5B;
	left: 0;
	top: 6px;
}


.tblBlock {
	margin-top: 40px;
}

.tblBlock>tbody>tr>th {
	width: 210px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 10px;
	box-sizing: border-box;
}

.tblBlock>tbody>tr>td {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: calc(100% - 210px);
	padding: 12px 0;
	box-sizing: border-box;
}

.tblBlock>tbody>tr {
	border-top: 1px solid #DDD;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.tblBlock>tbody>tr:last-child {
	border-bottom: 0;
}

.tblBlock .ttlTbl {
	font-weight: bold;
	margin-right: 10px;
}

.tblBlock .txtBox {
	background-color: #BBB;
	color: #FFF;
	width: 42px;
	min-width: 42px;
	height: 24px;
	margin-right: 23px;
	padding: 3px;
	border-radius: 4px;
	text-align: center;
	box-sizing: border-box;
	-moz-appearance: none;
	line-height: 1.4;

}

.tblBlock .txtBox.sttRequired {
	background-color: #EC5B5B;
}

.ipCustom {
	width: 100% !important;
	height: 36px;
	padding: 8px 6px;
	color: #333;
	border: 1px solid #CCC;
	box-sizing: border-box;
	line-height: 1.5;
	outline: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	font-size: 12px;
	font-family: "Hiragino Kaku Gothic Pro";
}

.ipDate {
	padding-right: 25px;
	background: url("../images/icon_calendar.svg") no-repeat right 6px center;
	background-size: 18px;
	cursor: pointer;
}

textarea.ipCustom {
	height: 180px !important;
	margin-bottom: 18px;
	padding: 8px 10px !important;
	font-size: 12px !important;
	resize: none;
	font-family: "Hiragino Kaku Gothic Pro";
}

input.ipRequired,
select.ipRequired,
textarea.ipRequired {
	background-color: #FFFCE8;
}

input[type=date]::-webkit-calendar-picker-indicator {
	cursor: pointer;
	outline: none;
}

.ipCustom:-ms-input-placeholder {
	color: #AAA;
	line-height: 2;
}

.ipCustom::-webkit-input-placeholder {
	color: #AAA;
	line-height: 2;
}

.ipCustom::placeholder {
	color: #AAA;
	line-height: 2;
}

.groupTwoCol {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.groupTwoCol .ipGroup:first-child {
	width: 43%;
}

.groupTwoCol .ipGroup:nth-child(2) {
	width: 57%;
}

.ipGroup {
	display: flex;
	width: 50%;
	min-width: 138px;
	align-items: center;
}

.ipGroup .ipDate {
	width: calc(100% - 25px)!important;
	max-width: 150px;
	min-width: 115px;
}

.ipGroup .ipTime {
	width: calc(100% - 82px);
}

.ipGroup p,
.ipGroup {
	margin: 0;
}

.ipGroup .txt {
	min-width: 28px;
	margin: 0 6px;
}

.ipGroup .txt.ml0 {
	margin-left: 0;
}

.ipGroup .txt.mr0 {
	margin-right: 0;
}

.ipGroup .middle {
	margin: 0 8px 0 14px;
}

.ipSelect {
	position: relative;
	width: 100%;
	pointer-events: all;
}

.ipSelect select:not(.ipRequired) {
	background-color: #FFF;
}

.ipSelect option {
	background-color: #FFF;
}

.ipSelect::after {
	position: absolute;
	display: block;
	top: 50%;
	right: 8px;
	border-width: 11px 5px 0 5px;
	border-color: #666 transparent transparent;
	border-style: solid;
	transform: translateY(-50%);
	pointer-events: none;
	content: '';
}

.ipSelect select {
	cursor: pointer;
}

.ipSelect select::-ms-expand {
	display: none;
}

.cboxAgree {
	position: relative;
	margin: 27px 0 30px;
	text-align: center;
}

.cboxAgree input[type="checkbox"] {
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	opacity: 0;
}

.cboxAgree input[type="checkbox"]+label {
	width: auto;
}

.cboxAgree input[type="checkbox"]+label {
	background: url(../images/icon_checkbox01.gif) no-repeat 0 48% !important;
	padding: 1px 2px 1px 27px;
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
	font-size: 12px;
	color: #333;
}

.cboxAgree input[type="checkbox"]:checked+label {
	background: url(../images/icon_checkbox02.gif) no-repeat 0 48% !important;
}

.cboxAgree .link {
	color: #EC5B5B;
	font-weight: normal;
}

a.btn,
button.btn {
	display: inline-block;
	max-width: 300px;
	width: 100%;
	margin: auto;
	padding: 19px 34px;
	color: #FFF;
	border-radius: 4px;
	border: 0;
	font-weight: bold;
	text-align: center;
	font-size: 14px;
	line-height: 1.3;
	outline: none;
	box-sizing: border-box;
	text-decoration: none;
	cursor: pointer;
	transition: opacity .3s;
	font-family: "Hiragino Kaku Gothic Pro";
	outline: none;
}
a.btn:active,
button.btn:active {
	color: #FFF;
}

.btn:hover {
	opacity: .7;
}

.btnCommon01 {
	background: url("../images/icon_arrow.svg") no-repeat right 19px center #587AA6;
}

.btnCommon02 {
	background: url("../images/icon_arrowLeft.svg") no-repeat left 19px center #BBB;
}

.groupButton {
	display: flex;
	flex-direction: column;
	margin-top: 30px;
}

.groupButton .btn {
	margin: 0 auto 20px;
}

.groupButton .btn:last-child {
	margin-bottom: 0;
}

.center {
	text-align: center;
}

.sectBenefits {
	margin-bottom: 60px;
	color: #333;
}

.boxBenefits {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 20px 10px 14px;
	border-bottom: 1px solid #EEE;
}

.boxBenefits.bd0 {
	border-bottom: 0;
}

.boxBenefits.pb0 {
	padding-bottom: 0;
}

.boxBenefits .boxText {
	width: calc(100% - 200px);
	padding-left: 16px;
}

.boxBenefits .boxText.fullWidth {
	width: 100%;
	padding: 0;
	margin-bottom: 4px;
}

.boxBenefits .boxText.fullWidth .txtDetail {
	margin-top: 12px;
}

.boxBenefits .boxImg {
	max-width: 180px;
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: center;
}

.boxBenefits .boxImg img {
	width: 100%;
}

.boxBenefits .boxText .ttl {
	font-size: 14px;
	font-weight: bold;
	line-height: 2;
}

.boxBenefits .txtDetail {
	margin-top: 20px;
	line-height: 1.6;
}

.boxBenefits .boxText .status {
	display: block;
	margin: 0 10px 10px 0;
	width: 72px;
	padding: 7px 4px;
	background-color: #7B98BC;
	color: #FFF;
	border-radius: 2px;
	font-size: 12px;
	font-weight: normal;
	font-family: "Arial";
	text-align: center;
	line-height: 1;
}

.importantPoint {
	margin: 14px 0 40px;
	padding: 28px 20px;
	background-color: #F2F0E9;
	border: 1px solid #DDD;
}

.importantPoint .ttl {
	margin-bottom: 13px;
	font-size: 14px;
	font-weight: bold;
}

.importantPoint .listPoint li:not(:last-child) {
	margin-bottom: 9px;
	line-height: 2;
}

.backgroundKeyv {
	position: relative;
}

.backgroundKeyv img {
	width: 100%;
	border: 0;
	background-color: #0000;
	vertical-align: bottom;
	max-width: 100%;
}

.keyvDetail {
	background-color: #ECECEC;
	margin-bottom: 30px;
	padding: 28px 20px 28px;
}

.keyvDetail .ttl {
	margin-bottom: 7px;
	font-size: 16px;
	font-weight: bold;
}

.keyvDetail .txt {
	line-height: 1.8;
}

/* confirm page */
div#content table.table_01.style01 {
	margin-top: 43px;
	margin-bottom: 0;
}

div#content table.table_01.style01 th {
	width: 158px;
	background-color: #EEE;
}

div#content table.table_01.style01 {
	border-left: 1px solid #DDD;
	border-top: 1px solid #DDD;
}

div#content table.table_01.style01 th,
div#content table.table_01.style01 td {
	border-bottom: 1px solid #CCC;
	border-right: 1px solid #DDD;
	line-height: 2.1;
	padding: 18px 19px;
}
.blockThanks {
	text-align: center;
	color: #222;
}
.blockThanks .blockGreen {
	padding: 54px 23px 60px;
}
.blockThanks .ttlThanks {
	font-size: 24px;
	font-weight: bold;
	margin: 0 0 24px;
	line-height: 1.8;
	font-family: Hiragino Kaku Gothic Std;
}
.blockThanks .txt {
	margin-bottom: 44px;
	font-size: 12px;
	font-weight: bold;
	line-height: 2.4;
}
.spDisplay {
	display: none;
}
@media only screen and (max-width:768px) {
	#pageLp #keyv {
		margin-bottom: 40px;
		padding: 0 20px;
	}
	#pageLp .sectInner {
		margin-bottom: 30px;
	}
	.blockGreen {
		margin: 0 20px;
		padding: 11px 13px 0;
		border-top: 2px solid #EC6308;
	}

	.blockGreen.style01 {
		border-left-width: 0;
		border-right-width: 0;
		border-bottom-width: 0;
	}

	.blockGreen.style02 {
		padding: 30px 8px 17px;
	}

	.blockGreen .ttlForm {
		padding-bottom: 11px;
		margin: 0 -13px 15px;
		padding: 0 13px 11px;
	}

	.blockGreen .txtDetail {
		line-height: 1.8;
	}

	.blockGreen .txtDetail p {
		margin-bottom: 3px;
	}

	.blockGreen .txtDetail .txtStrong {
		margin-top: 0;
		font-size: 14px;
	}

	.requireBox {
		margin-top: 20px;
	}

	.requireBox .ttl {
		padding: 9px 12px;
		font-size: 12px;
	}

	.requireBox .detail {
		padding: 16px 32px 11px 2px;
	}

	.textList li {
		margin-bottom: 2px;
		line-height: 1.8;
	}

	.tblBlock {
		margin: 32px -14px 0;
		width: calc(100% + 28px);
	}

	.tblBlock>tbody>tr {
		flex-direction: column;
		padding: 0 15px;
	}

	.tblBlock>tbody>tr>th {
		width: 100%;
		padding: 9px 0 6px;
	}

	.tblBlock>tbody>tr>td {
		width: 100%;
		padding: 6px 0 8px;
	}

	.tblBlock .ttlTbl {
		font-weight: bold;
		margin-right: 10px;
	}

	.tblBlock .txtBox {
		width: 32px;
		min-width: 32px;
		height: 18px;
		margin-right: 0;
		padding: 2px;
		border-radius: 2px;
		font-size: 10px;
	}

	textarea.ipCustom {
		height: 150px;
		margin-bottom: 8px;
		font-size: 12px;
	}

	.groupTwoCol {
		flex-direction: column;
	}

	.groupTwoCol .ipGroup,
	.groupTwoCol .ipGroup:first-child,
	.groupTwoCol .ipGroup:nth-child(2) {
		width: auto;
	}

	.ipGroup .ipDate {
		max-width: 245px;
		margin-bottom: 10px;
		padding-right: 30px;
		background-size: 16px;
	}

	.ipGroup .ipTime {
		max-width: 120px;
	}

	.ipGroup .txt {
		min-width: 32px;
		margin: 0 10px;
	}

	.ipGroup .middle {
		margin: 0 10px 0 0;
	}

	.ipSelect {
		position: relative;
		width: 100%;
	}

	.ipSelect::after {
		border-width: 10px 5px 0 5px;
	}

	.ipSelect select::-ms-expand {
		display: none;
	}

	.cboxAgree {
		margin: 24px 0 28px;
	}

	.btnCommon01 {
		background: url(../images/icon_arrow.svg) no-repeat right 15px center #587AA6;
	}

	.btnCommon02 {
		background: url(../images/icon_arrowLeft.svg) no-repeat left 15px center #CCC;
	}

	.btn {
		max-width: 300px;
		padding: 12px 25px;
		border-radius: 2px;
		font-size: 14px;
		background-size: 6px;
	}

	.sectBenefits {
		margin-bottom: 30px;
		padding: 0 20px;
	}

	.boxBenefits {
		flex-direction: column;
		margin-bottom: 20px;
		padding: 17px 0 20px;
	}

	.boxBenefits .boxText {
		width: 100%;
		margin-bottom: 5px;
		padding: 0;
		
	}

	.boxBenefits .boxText.fullWidth {
		width: 100%;
		padding-right: 0;
		margin-bottom: -16px;
	}

	.boxBenefits .boxImg {
		max-width: 100%;
		width: 100%;
		margin-bottom: 20px;
	}

	.boxBenefits .boxText .ttl {
		line-height: 1.7;
	}

	.boxBenefits .txtDetail {
		width: 100%;
		margin-top: 0;
		line-height: 1.9;
	}

	.boxBenefits .boxText .status {
		float: left;
		margin: 2px 10px 0 0;
		width: 47px;
		padding: 4px;
		font-size: 10px;
	}

	.importantPoint {
		margin: -20px 0 40px;
		padding: 20px 16px;
	}

	.importantPoint .ttl {
		margin-bottom: 10px;
		font-size: 12px;
	}

	.importantPoint .listPoint li {
		font-size: 10px;
	}

	.importantPoint .listPoint li:not(:last-child) {
		margin-bottom: 7px;
	}

	.keyvDetail {
		margin-bottom: 15px;
		padding: 18px 15px 18px;
	}
	
	.keyvDetail .ttl {
		margin-bottom: 7px;
		font-size: 13px;
	}
	
	.keyvDetail .txt {
		line-height: 1.5;
	}

	div#content table.table_01.style01 {
		margin-top: 20px;
	}

	div#content table.table_01.style01 th,
	div#content table.table_01.style01 td {
		padding: 8px 10px;
	}

	div#content table.table_01.style01 th {
		min-width: 100px;
	}

	.blockThanks {
		text-align: center;
		color: #222;
	}

	.blockThanks .ttlThanks {
		font-size: 18px;
		margin: 0 0 10px;
		line-height: 1.6
	}
	
	.blockThanks .txt {
		margin-bottom: 20px;
		font-size: 12px;
		font-weight: bold;
		line-height: 1.6;
	}

	.blockThanks .blockGreen {
		padding: 30px 15px 30px;
	}
	.blockThanks .ttlThanks {
		font-size: 18px;
		margin: 0 0 14px;
		line-height: 1.6;
	}
	.blockThanks .txt {
		margin-bottom: 20px;
		line-height: 2;
	}
	.spDisplay {
		display: block;
	}
}

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,

/* We use html here because we need a greater specificity to make sure disabled
works properly when clicked or hovered */
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
	background: #e6e6e6 url("../images/ui-bg_glass_75_e6e6e6_1x400.png") 50% 50% repeat-x !important;
}

.ui-widget-header {
	background: #cccccc url("../images/ui-bg_highlight-soft_75_cccccc_1x100.png") 50% 50% repeat-x !important;
}

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus,
.ui-button:hover,
.ui-button:focus {
	background: #dadada url("../images/ui-bg_glass_75_dadada_1x400.png") 50% 50% repeat-x !important;
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
	background: #ffffff url("../images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x !important;
}

.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
	background: #fbf9ee url("../images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x !important;
}

.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
	background: #fef1ec url("../images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x !important;
}

.ui-icon,
.ui-widget-content .ui-icon {
	background-image: url("../images/ui-icons_222222_256x240.png") !important;
}

.ui-widget-header .ui-icon {
	background-image: url("../images/ui-icons_222222_256x240.png") !important;
}

.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon,
.ui-button:hover .ui-icon,
.ui-button:focus .ui-icon {
	background-image: url("../images/ui-icons_454545_256x240.png") !important;
}

.ui-state-active .ui-icon,
.ui-button:active .ui-icon {
	background-image: url("../images/ui-icons_454545_256x240.png") !important;
}

.ui-state-highlight .ui-icon,
.ui-button .ui-state-highlight.ui-icon {
	background-image: url("../images/ui-icons_2e83ff_256x240.png") !important;
}

.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
	background-image: url("../images/ui-icons_cd0a0a_256x240.png") !important;
}

.ui-button .ui-icon {
	background-image: url("../images/ui-icons_888888_256x240.png") !important;
}

/*--------------------
Fotmat layout SP
--------------------*/
@media only screen and (max-width:768px) {
	#sidebar, div#leftSidebar, #visual {
		display: none!important;
	}
	div#content {
		float: none!important;
		width: 100%!important;
		margin-bottom: 40px!important;
		padding: 0!important;
	}

	div#layout {
		width: 100%;
		padding-bottom: 0;
	}
	#visual img {
		vertical-align: middle;
		width: 100%;
	}
}