@charset "UTF-8";

/*----------------------------------------------------------------------
	default
----------------------------------------------------------------------*/

/*----------------------------------------------------------------------
	fontts
----------------------------------------------------------------------*/

@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?koqn37');
  src:  url('fonts/icomoon.eot?koqn37#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?koqn37') format('truetype'),
    url('fonts/icomoon.woff?koqn37') format('woff'),
    url('fonts/icomoon.svg?koqn37#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"], [class*=" icon-"],
*:before, *:after {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-checkmark:before {
  content: "\ea10";
}


/* ==================================================================

	wrapper / contents
	
================================================================== */

/* ------------------------------------------------------------------
  contents-header 
------------------------------------------------------------------ */

.contents-header  {
	padding-top: 40px;
}

/* ------------------------------------------------------------------
 contents-main 
------------------------------------------------------------------ */

.contents-main {
	padding-top: 20px;
	padding-bottom: 60px;
	position: relative;
}

/*----------------------------------------------------------------------
	contents
----------------------------------------------------------------------*/

.content-slide {
	padding: 2em;
	background-color: #fff;
}

.transition {
	display: none;
}

.transition.active {
	display: block;
}

/* ==================================================================

	title
	
================================================================== */

.title {
	font-weight: bold;
}

.title.type-line_bottom > .label {
	padding-bottom: 0.25em;
	border-bottom: 2px solid #ccc;
}

.title.type-line_left > .label {
	padding-top: 0.25em;
	padding-bottom: 0.25em;
	padding-left: 0.5rem;
	text-align: left;
	border-left: 4px solid #ccc;
}

.title.type-line_bottom_c {
	text-align: center;
}

.title.type-line_bottom_c > .label {
	width: auto;
	padding-left: 1em;
	padding-right: 1em;
	padding-bottom: 0.25em;
	border-bottom: 2px solid #ccc;
	display: inline-block;
}

.title.type-line_middle {
	text-align: center;
}

.title.type-line_middle > .label {
	width: auto;
	max-width: 75%;
	padding-left: 1em;
	padding-right: 1em;
	background-color: #fff;
	z-index: 1;
}

.title.type-line_middle:after {
	content: '';
	width: 100%;
	border-style: solid;
	border-color: #ccc;
	overflow: hidden;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
	border-width: 2px 0 0;
}

.title.type-fill > .label {
	padding: 0.5em;
	color: #fff;
	background-color: #454443;
}

.title.type-fill_center {
	text-align: center;
}

.title.type-fill_center > .label {
	width: auto;
	padding: 0.5em;
	color: #fff;
	background-color: #ccc;
}

.title.type-fill_left {
	text-align: left;
}

.title.type-fill_left > .label {
	width: auto;
	padding: 0.25em 0.5em;
	color: #fff;
	background-color: #ccc;
}

.title.type-arrow > .label {
	margin-bottom: 1.25em;
	padding: 0.5em;
	color: #fff;
	background-color: #ccc;
}

.title.type-arrow:after {
	content: '';
	border-style: solid;
	border-width: 1em;
	border-top-color: #ccc;
	border-left-color: transparent;
	border-right-color: transparent;
	border-bottom-width: 0;
	position: absolute;
	bottom: -.9em;
	left: 50%;
	transform: translateX(-50%);
}

.title.type-ribon {
	padding-left: 2.5em;
	padding-right: 2.5em;
	text-align: center;
}

.title.type-ribon > .label {
	width: auto;
	padding-left: 1em;
	padding-right: 1em;
	line-height: 2;
	background-color: #ccc;
	display: inline-block;
}

.title.type-ribon > .label:after,
.title.type-ribon > .label:before {
	content: '';
	border-style: solid;
	border-width: 1em;
	border-color: #ccc;
	position: absolute;
	top: 0;
}

.title.type-ribon > .label:before {
	border-left-color: transparent!important;
	left: -1.9em;
}

.title.type-ribon > .label:after {
	border-right-color: transparent!important;
	right: -1.9em;
}

.title.type-border_left {
padding-left: .5em;
border-left: solid 3px #e66085;
text-align: left;
}

.title.type-block {
	padding: .5em 1em;
	border: solid 1px #ccc;
	background-color: #f3f3f3;
}

.title.type-block > span {
	margin-right: 1em;
	padding: .25em .5em;
	font-size: .9em;
	background-color: #ccc;
	display: inline-block;
}

/* ==================================================================

	area-form
	
================================================================== */

.area-form {
	margin: 0 !important;
	background-color: #fff;
}


/*----------------------------------------------------------------------
	required
----------------------------------------------------------------------*/

.required-label:after,
#agreement > .required-label {
	content: '＊';
	width: auto;
	color: #d40000;
	font-size: .9em;
	display: inline-block;
  vertical-align: super;
  padding-left: 0.25em;
}

#agreement.required-label:after {
	content: '必ずご確認ください';
	font-size: .75em;
}


/* ==================================================================

	agreement
	
================================================================== */

.area-agreement > .content {
	margin-top: 1rem;
	padding: 1em;
	text-align: left;
	font-size: 12px !important;
	border: 1px solid #ccc;
}

.area-agreement > .content > .title {
	margin-top: 1em;
	margin-bottom: 0;
	font-size: 1rem;
}

.area-agreement > .content > * + * {
	margin-top: .5em;
}

.area-agreement > .content > :first-child {
	margin-top: 0;
}

#agreement {
	text-align: center;
	position: relative;
}

#agreement > .label {
	width: 28px;
	height: 28px;
	color: #fff;
	line-height: 1;
	border-radius: 50%;
	background-color: #678ccb;
	position: absolute;
	left: 1em;
}

#agreement > .label:before {
	content: '+';
	margin-top: -2px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: inline-block;
}

.accordion.active #agreement > .label:before {
	content: '-';
}



/* ==================================================================

	list
	
================================================================== */

.list.type-table > li {
	padding-left: 6em;
}
.list.type-table > li:after,
.list.type-table > li:before {
	width: 5em;
	text-align: left;
	background-color: transparent;
}


/* ==================================================================

	form
	
================================================================== */


.form.type-radio.checkmark > .label:before {
	padding-top: .4em;
	text-align: center;
	color: #b9c42f;
	border-radius: 4px;
}

.form.type-radio.checkmark > :checked + .label:before {
	content: "\ea10";
	background-color: #fff;
}

.form.size-small {
	width: 6em;
}


/* ==================================================================

	table
	
================================================================== */

.table.type-line_right > tbody > tr > th {
	width: 25%;
	padding-right: 2em;
	border-right-color: #eee;
}

.table.type-line_right > tbody > tr > th * {
	text-align: right;
}

.table.type-line_right > tbody > tr > td {
	width: 75%;
}

.table .table {
	border-spacing: 0;
}

.table .table > tbody > tr > th {
	width: 6.5em;
	font-weight: normal;
	vertical-align: middle;
}


@media (max-width: 768px) {
	.table.type-line_right > tbody > tr > th * {
		text-align: left;
	}
}

/*----------------------------------------------------------------------
	agreement
----------------------------------------------------------------------*/



.agreement_1:hover {
	top: 0;
	left: 0;
}

.agreement_1.disabled {
	cursor: pointer;
	pointer-events: auto;
}


/*----------------------------------------------------------------------
	required
----------------------------------------------------------------------*/

.required-label:after,
#agreement > .required-label {
	content: '＊';
	width: auto;
	color: #d40000;
	font-size: .9em;
	display: inline-block;
  vertical-align: super;
  padding-left: 0.25em;
}

#agreement.required-label:after {
	content: '必ずご確認ください';
	font-size: .75em;
}


.compensation,.agreement_1 {
	cursor: pointer;
	line-height: 32px;
}

.compensation .icon-checkmark,
.agreement_1 .icon-checkmark
 {
	
	margin-right: .25em;
	padding: .25em;
	border: 2px solid #ccc !important;
	border-radius: 4px;
	background-color: #fff;
}

.compensation .icon-checkmark:before,
.agreement_1 .icon-checkmark:before {
	opacity: 0;
}

.compensation :checked + .icon-checkmark:before,
.agreement_1 :checked + .icon-checkmark:before {
	color: #b9c42f;
	opacity: 1;
}


#form-preview .type-pre {
  display: inline-block;
}