@charset "UTF-8";


/* ==================================================================

	各種初期化設定
	
================================================================== */

/* ------------------------------------------------------------------
  ELEMENTS
------------------------------------------------------------------ */
*,
*:before,
*:after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	word-break: break-all;
	text-transform: none !important;
}

*:before, *:after {
	vertical-align: middle;
	line-height: 1;
	display: inline-block;
}

html,
body {
  color: #222;
  font-size: 14px;
  line-height: 1.8;
	font-family: 'Helvetica Neue', 'Lucida Grande', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, 'メイリオ', sans-serif;
	background-color: #fff;
	background-position: center top;
	background-repeat: no-repeat;
}

div {
	margin: 0 auto;
}

p {
	/*text-align: left;*/
  text-align: justify;
}

* + p {
	margin-top: 1em;
}

img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: bottom;
}

hr {
	height: 0;
	margin: 1rem 0;
	padding: 0;
	border: 0;
	border-top: 1px solid #222;
}

a:hover, a:focus {
	opacity: 0.5;
}

a, a:before, a :before,
input, textarea, button,
.btn {
	-webkit-transition: 0.3s ease;
	-ms-transition: 0.3s ease;
	transition: 0.3s ease;
}

table {
	width: 100%;
}

@media (max-width: 768px) { 

}


/* ==================================================================

	basic box style
	
================================================================== */

[class^="gcolumn"],
[class*=" gcolumn"] {
	margin-left: -20px;
	margin-right: -20px;
	margin-bottom: -40px;
	font-size: 0;
	text-align: center;
	letter-spacing: 0;
	position: relative;
}

[class^="gcolumn"] > .col,
[class*=" gcolumn"] > .col {
	padding-right: 20px;
	padding-left: 20px;
	padding-bottom: 40px;
	font-size: 1rem;
	vertical-align: top;
	display: inline-block;
	position: relative;
	list-style: none;
}

[class^="gcolumn"] > .col > :first-child,
[class*=" gcolumn"] > .col > :first-child {
	margin-top: 0 !important;
}

[class^="gcolumn"] > .col > :last-child,
[class*=" gcolumn"] > .col > :last-child{
	margin-bottom: 0;
}

* + [class^="gcolumn"],
* + [class*=" gcolumn"] {
	margin-top: 20px;
}


/* ------------------------------------------------------------------
  space
------------------------------------------------------------------ */

/* space-none */
[class^="gcolumn"].space-none,
[class*=" gcolumn"].space-none {
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 0 !important;
}

[class^="gcolumn"].space-none > .col,
[class*=" gcolumn"].space-none > .col {
	padding-right: 0;
	padding-left: 0;
	padding-bottom: 0 !important;
}

/* space-small */
[class^="gcolumn"].space-small,
[class*=" gcolumn"].space-small {
	margin-left: -10px;
	margin-right: -10px;
	margin-bottom: -20px !important;
}

[class^="gcolumn"].space-small > .col,
[class*=" gcolumn"].space-small > .col {
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 20px !important;
}

* + [class^="gcolumn"].space-small,
* + [class*=" gcolumn"].space-small {
	margin-top: 10px;
}

/* space-large */
[class^="gcolumn"].space-large,
[class*=" gcolumn"].space-large {
	margin-left: -30px;
	margin-right: -30px;
	margin-bottom: -60px !important;
}

[class^="gcolumn"].space-large > .col,
[class*=" gcolumn"].space-large > .col {
	padding-right: 30px;
	padding-left: 30px;
	padding-bottom: 60px !important;
}

* + [class^="gcolumn"].space-large,
* + [class*=" gcolumn"].space-large {
	margin-top: 30px;
}



/* ------------------------------------------------------------------
  separate
------------------------------------------------------------------ */

.gcolumn-half > .col {
	width: 50%;
}

.gcolumn-third > .col {
	width: 33.333%;
}

.gcolumn-fourth > .col {
	width: 25%;
}

.gcolumn-fifth > .col {
	width: 20%;
}

.gcolumn-sixth > .col {
	width: 16.666%;
}

[class^="gcolumn-large"] > .col {
	width: 70%;
	padding-bottom: 0;
}

.gcolumn-large_right > .col:first-child,
.gcolumn-large_left > .col:last-child {
	width: 30%;
}

[class^="gcolumn-large"],
[class*=" gcolumn-large"] {
	margin-bottom: 0 !important;
}


@media (max-width: 768px) {
	
	[class^="gcolumn"]:not(.hold),
	[class*=" gcolumn"]:not(.hold) {
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-bottom: -10px !important;
	}
	
	[class^="gcolumn"]:not(.hold) > .col,
	[class*=" gcolumn"]:not(.hold) > .col {
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-bottom: 10px !important;
	}
	
	[class^="gcolumn"].hold,
	[class*=" gcolumn"].hold {
		margin-left: -10px !important;
		margin-right: -10px !important;
		margin-bottom: -20px !important;
	}
	
	[class^="gcolumn"].hold > .col,
	[class*=" gcolumn"].hold > .col {
		padding-left: 10px !important;
		padding-right: 10px !important;
		padding-bottom: 20px !important;
	}
	
	[class^="gcolumn"].space-none,
	[class*=" gcolumn"].space-none {
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-bottom: 0 !important;
	}
	
	[class^="gcolumn"].space-none > .col,
	[class*=" gcolumn"].space-none > .col {
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-bottom: 0 !important;
	}
	
}


/* ==================================================================

	wrapper / contents
	
================================================================== */

.contents-wrapper {
	min-height: 100vh;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

[class^="contents-"],
[class*=" contents-"] {
	position: relative;
}

[class^="contents-"] > :first-child,
[class*=" contents-"] > :first-child {
	margin-top: 0;
}

[class^="contents-"] > :last-child,
[class*=" contents-"] > :last-child {
	margin-bottom: 0;
}


/* ------------------------------------------------------------------
  contents-header 
------------------------------------------------------------------ */

.contents-header  {
}


/* ------------------------------------------------------------------
  contents-billboard 
------------------------------------------------------------------ */

.contents-billboard {
}

/* ------------------------------------------------------------------
 contents-main 
------------------------------------------------------------------ */

.contents-main {
	padding-top: 40px;
	padding-bottom: 40px;
	position: relative;
}

@media (max-width: 768px) {
	.contents-main {
		padding-top: 20px;
		padding-bottom: 20px;
	}
}


/* ------------------------------------------------------------------
 contents-footer 
------------------------------------------------------------------ */

.contents-footer {
}

.contents-footer.position_bottom {
	width: 100%;
	position: absolute;
	bottom: 0;
}


/* ------------------------------------------------------------------
  section / area
------------------------------------------------------------------ */

.section {
	padding-top: 40px;
	padding-bottom: 40px;
	text-align: center;
	position: relative;
}

[class^="area-"].section ,
[class*=" area-"].section {
	margin-top: 40px;
	margin-bottom: 40px;
	text-align: center;
}

.section [class^="section-"],
.section [class*=" section-"] {
	position: relative;
}

/*[class^="section-"] > *:not([class^="gcolumn"]),
[class*=" section-"] > *:not([class^="gcolumn"]) {
	margin-top: 1rem;
}*/

.section > :first-child,
[class^="section-"] > :first-child,
[class*=" section-"] > :first-child {
	margin-top: 0 !important;
}

/*.section > :first-child,
[class^="section-"] > :last-child,
[class*=" section-"] > :last-child {
	margin-bottom: 0;
}*/

[class^="section-"] + [class^="section-"],
[class*=" section-"] + [class*=" section-"],
[class^="section-"] + [class*=" section-"],
[class*=" section-"] + [class^="section-"] {
	margin-top: 20px;
}


@media (max-width: 768px) {
	.section {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	[class^="area-"].section ,
	[class*=" area-"].section {
		margin-top: 20px;
		margin-bottom: 20px;
	}
}


/* ------------------------------------------------------------------
 inner
------------------------------------------------------------------ */

.inner {
	width: 100%;
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 40px;
	padding-right: 40px;
	position: relative;
	z-index: 1;
}

.section > .size-flex {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

.inner > :first-child {
	margin-top: 0;
}

.inner > :last-child {
	margin-bottom: 0;
}

@media (max-width: 768px) {
	.inner {
		padding-left: 15px;
		padding-right: 15px;
	}
}



/* ==================================================================

	general style
	
================================================================== */

.align-left {
  text-align: left !important;
}

.align-center {
  text-align: center !important;
}

.align-right {
  text-align: right !important;
}

.lead {
	font-size: 1.14rem;
	font-weight: bolder;
}

.note {
	color: #888;
	font-size: .75rem;
}

.strong {
	color: #cc0000;
}

.kakomi {
	padding: 1rem;
	border: 1px solid #ccc;
}

.kakomi > :first-child {
	margin-top: 0;
}

.frame {
	height: 20em;
	padding: 1em;
	font-size: .85rem;
	border: 1px solid #ccc;
	overflow-y: scroll;
}

.frame li {
	font-size: .85rem;
}

.frame .title {
	margin-top: .85rem !important;
}

.frame .title + * {
	margin-top: .5rem;
}


/* ------------------------------------------------------------------
 thumbnail
------------------------------------------------------------------ */

.thumbnail {
	overflow: hidden;
	position: relative;
}

.thumbnail:after {
	content: '';
	width: 100%;
	padding-top: 75%;
	display: block;
}

.thumbnail > img {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
}


/* ==================================================================

	h1 - h5
	
================================================================== */

h1, h2, h3, h4, h5, h6 {
  font-size: 1rem;
	font-weight: normal;
}

.title {
	margin-bottom: 1.5em;
  font-size: 1.28em;
  line-height: 1;
  letter-spacing: .05rem;
	position: relative;
}

* + .title {
	margin-top: 2.5em;
}

.title > .label {
	width: 100%;
	line-height: 1.4;
	display: inline-block;
	position: relative;
}

.title > a {
	text-decoration: none;
}

.title .sub {
	font-size: .85em;
}


/* ------------------------------------------------------------------
 size
------------------------------------------------------------------ */

.title.size-small {
	font-size: 1em;
}

.title.size-middle {
	font-size: 1.71em;
}

.title.size-large {
	font-size: 2em;
}

@media (max-width: 768px) {
	.title {
		font-size: 1.14em;
	}
	.title.size-large {
		font-size: 1.71em;
	}
}


/* ------------------------------------------------------------------
 type
------------------------------------------------------------------ */

/* type-line */
.title.type-line_bottom > .label {
	padding-bottom: .25em;
	border-bottom: 2px solid #ccc;
}

.title.type-line_left > .label {
	padding-top: .25em;
	padding-bottom: .25em;
	padding-left: .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: .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;
	border-top-width: 2px;
	border-left-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	overflow: hidden;
	position: absolute;
	left: 0;
  top: 50%;
  transform: translate(0,-50%);
}

/* type-fill */
.title.type-fill > .label {
	padding: .5em;
	color: #fff;
	background-color: #ccc;
}

.title.type-fill_center {
	text-align: center;
}

.title.type-fill_center > .label {
	width: auto;
	padding: .5em;
	color: #fff;
	background-color: #ccc;
}

.title.type-fill_left {
	text-align: left;
}

.title.type-fill_left > .label {
	width: auto;
	padding: .25em .5em;
	color: #fff;
	background-color: #ccc;
}


/* type-arrow */
.title.type-arrow > .label {
	margin-bottom: 1.25em;
	padding: .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%);
}

/* type-ribon */
.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:before,
.title.type-ribon > .label:after {
	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;
}



/* ==================================================================

	list
	
================================================================== */

ul, ol {
	font-size: 0;
	letter-spacing: 0;
	list-style: none;
}

ul > li,
ol > li {
	text-align: left;
	font-size: 1rem;
}

.list > li {
	margin-bottom: .5em;
	padding-left: 1em;
	line-height: 1.4;
	position: relative;
}

.list > :last-child {
	margin-bottom: 0;
}

.list > li:before {
	line-height: 1.4;
}

* + .list {
	margin-top: 1rem;
}


/* ------------------------------------------------------------------
 list style
------------------------------------------------------------------ */

/* none */
.list.type-none > li {
	padding-left: 0;
}

/* disc */
.list.type-disc > li:before {
	content: '';
	width: .5em;
	height: .5em;
	border-radius: 50%;
	background-color: #222;
	display: inline-block;
	position: absolute;
	top: .5em;
	left: 0;
}

/* num */
.list.type-num {
	counter-reset: count; 
}

.list.type-num > li {
	padding-left: 1.5em;
}

.list.type-num > li:before {
	counter-increment: count;
	content: counter(count)'.';
	position: absolute;
	left: 0;
}

/* table */
.list.type-table > li {
	padding-top: .5em;
	padding-bottom: .5em;
	padding-left: 11em;
	line-height: inherit;
	position: relative;
}

.list.type-table > li:before,
.list.type-table > li:after {
	width: 10em;
	line-height: inherit;
	background-color: #ccc;
	display: block;
	position: absolute;
	left: 0;
}

.list.type-table > li:before {
	content: ''attr(title)'';
	text-align: center;
	top: 50%;
	display: block;
	background-color: transparent !important;
	transform: translateY(-50%);
	z-index: 1;
}

.list.type-table > li:after {
	content: '';
	height: 100%;
	top: 0;
}

/* arrow */
.list.type-arrow {
	text-align: left;
}

.list.type-arrow > li {
	padding-left: 0;
}

.list.type-arrow > li:before {
	content: '>';
	padding-right: .5em;
	display: inline;
}

/* line */


.list.type-line {
	padding-left: 1px;
	text-align: center;
}

.list.type-line > li {
	margin-bottom: 0;
	margin-left: -1px;
	padding-left: 1em;
	padding-right: 1em;
	border-color: #ccc;
	border-style: solid;
	border-top-width: 0;
	border-left-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 0;
	display: inline-block;
}

@media (max-width: 768px) {
	.list.type-table:not(.hold) > li {
		padding: 0 !important;
	}
	.list.type-table:not(.hold) > li:before {
		width: 100% !important;
		padding: .5em !important;
		margin-bottom: .5em !important;
		background-color: #ccc;
		position: relative !important;
		transform: none !important;
	}
	.list.type-table:not(.hold) > li:after {
		display: none !important;
	}
	.list.type-line:not(.hold) {
		padding-left: 0;
	}
	.list.type-line:not(.hold) > li {
		margin-top: -1px;
		margin-left: 0;
		margin-bottom: 0;
		border-top-width: 1px;
		border-left-width: 0;
		border-right-width: 0;
		border-bottom-width: 1px;
	}
}


/* ==================================================================

	t
	
================================================================== */

button, .btn {
	min-width: 10em;
	padding: 1em 2em;
	font-size: 1rem;
	line-height: 1;
	color: #fff;
	text-align: center;
	text-decoration: none;
	background-color: #222;
	border: 1px solid #222;
	display: inline-block;
	cursor: pointer;
	position: relative;
}

.btn:hover, .btn:focus,
button:hover, button:focus {
	opacity: 0.5;
	position: relative;
}

* + .btn {
	margin-top: 1em;
}

.btn + .btn {
	margin-left: 1em;
}

.btn .description {
	width: 100%;
	margin-bottom: 1em;
	font-size: .85rem;
	display: block;
}

.btn > .label {
	display: inline-block;
}

[class^="gcolumn"] + .btn,
[class*=" gcolumn"] + .btn {
	margin-top: 20px !important;
}

@media (max-width: 768px) {
	.btn:not(.hold) {
		width: 100%;
	}
	.btn:not(.hold) + .btn:not(.hold) {
		margin-top: 1em;
		margin-left: 0;
	}
	.btn .description {
		display: none;
	}
}


/* ------------------------------------------------------------------
 btn size
------------------------------------------------------------------ */

.btn.size-small {
	font-size: .85rem;
	padding-left: .75em;
	padding-right: .75em;
}

.btn.size-large {
	width: 75%;
	margin-left: auto;
	margin-right: auto;
	font-size: 1.42rem;
	line-height: 1.4;
}

.btn.size-flex {
	width: 100%;
}

@media (max-width: 768px) {
	.btn.size-large {
		width: 100%;
		font-size: 1rem;
	}
}

/* ------------------------------------------------------------------
 btn style
------------------------------------------------------------------ */

/* ghost */
.btn.ghost {
	color: #222;
	background-color: transparent;
	border: 1px solid #222;
}

.btn.ghost:hover,
.btn.ghost:focus {
	opacity: .5;
}

/* disabled */
.form.disabled,
.btn.disabled,
.btn.disabled:hover,
.btn.disabled:focus,
.form.type-select.disabled > .customSelect {
	color: #ccc !important;
	background-color: #eee !important;
	border-color: #ccc !important;
	opacity: 1;
	pointer-events: none;
	box-shadow: 0px 0px 0px 0px rgba(0,0,0,0) !important;
	-moz-box-shadow: 0px 0px 0px 0px rgba(0,0,0,0) !important;
	-webkit-box-shadow: 0px 0px 0px 0px rgba(0,0,0,0) !important;
}

.disabled::-webkit-input-placeholder {
	color: #ccc !important;
}

/* shadow */
.btn.shadow {
	box-shadow: 0px 3px 0px 0px rgba(0,0,0,0.5);
	-moz-box-shadow: 0px 3px 0px 0px rgba(0,0,0,0.5);
	-webkit-box-shadow: 0px 3px 0px 0px rgba(0,0,0,0.5);
	position: relative;
	top: 0;
}

.btn.shadow:hover,
.btn.shadow:focus {
	box-shadow: 0px 0px 0px 0px rgba(0,0,0,0);
	-moz-box-shadow: 0px 0px 0px 0px rgba(0,0,0,0);
	-webkit-box-shadow: 0px 0px 0px 0px rgba(0,0,0,0);
	top: 1px;
	opacity: 1;
}

/* square */
.btn.square {
	min-width: auto;
}



/* ===================================================================================
	form
=================================================================================== */

input, textarea {
	padding: .5em 1em;
	font-size: 1em;
	border: 1px solid #ccc;
	border-radius: 0;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	-webkit-appearance: none;
}

input:focus,
textarea:focus,
select:focus,
button:focus {
	outline: none;
}

input:not([type="radio"]):focus,
input:not([type="checkbox"]):focus
textarea:focus,
select:focus {
  outline: 0;
}


textarea {
	padding: 1em;
	height: 10em;
	resize: vertical;
}

input:disabled, textarea:disabled {
	background-color: #eee;
}

input[type="button"],
input[type="submit"],
input[type="file"] {
	cursor: pointer;
}

/* ------------------------------------------------------------------
 style
------------------------------------------------------------------ */

.form {
	display: inline-block;
}

.form.type-input,
.form.type-textarea,
.form.type-select > .customSelect,
.form.type-checkbox > .label:before,
.form.type-radio > .label:before {
	width: 100%;
	padding: .5em 1em;
	font-size: 1rem;
	line-height: 1;
	border: 2px solid #ccc;
	background-color: #fff;
	cursor: pointer;
	-webkit-transition: 0.3s ease;
	-ms-transition: 0.3s ease;
	transition: 0.3s ease;
}

.form.type-textarea {
	line-height: 1.4;
}

.form.type-label {
	margin-top: 1em;
	padding: .5em 0;
	font-size: 1em;
	line-height: 1.4;
	display: block;
}

.form.type-label.required:after {
	content: '※';
	font-size: 12px;
	color: #c00;
}

.form.type-pre {
	width: 100%;
	min-height: 1em;
	padding: .5em 1em;
	background-color: #eee;
}

.form-group {
	margin-left: -1.5rem;
	margin-bottom: -.5rem;
	font-size: 0;
	display: block;
}

.form-group > * {
	margin-left: 1.5em;
	margin-bottom: .5em;
	font-size: 1rem;
}

.form-group + * {
	margin-top: 1em;
}

.form.type-checkbox > input,
.form.type-radio > input {
	display: none;
}

.form.type-checkbox > .label,
.form.type-radio > .label {
	padding-left: 2.5em;
	line-height: 2;
	display: inline-block;
	position: relative;
	cursor: pointer;
}

.form.type-checkbox > .label:before,
.form.type-radio > .label:before {
	content: '';
	width: 2em;
	height: 2em;
	padding: 0;
	line-height: 1;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.form.type-checkbox > :checked + .label:before,
.form.type-radio > :checked + .label:before {
	background-color: #222;
	box-shadow:0px 0px 0px 4px #ffffff inset;
}

.form.type-radio > .label:before {
	border-radius: 50%;
}

.form.type-input + .form.type-input,
.form.type-pre + .form.type-pre {
	margin-top: 0.5em;
}

[class*=" size-"].form.type-input + [class*=" size-"].form.type-input,
[class*=" size-"].form.type-pre + [class*=" size-"].form.type-pre {
	margin-top: 0;
}

@media (max-width: 768px) {
	.form.type-label {
		padding: 0;
	}
	.form.type-input:not(.hold),
	.form.type-select:not(.hold),
	.form.type-select:not(.hold) > .customSelect,
	.form.type-pre:not(.hold){
		width: 100% !important;
	}
	.form.type-input:not(.hold) + .form.type-input:not(.hold),
	.form.type-pre:not(.hold) + .form.type-pre:not(.hold){
		margin-top: .5em;
	}
}

/* ------------------------------------------------------------------
 size
------------------------------------------------------------------ */

.form.size-small {
	width: 25%;
}

.form.size-flex {
	width: 100%;
}

.form.size-small + .form.size-small {
	margin-left: 1em;
}

@media (max-width: 768px) {
	.form.size-small + .form.size-small {
		margin-left: 0;
	}
}

/* ------------------------------------------------------------------
 cunstom select
------------------------------------------------------------------ */

.form.type-select {
	width: auto;
	min-width: 25%;
	padding: 0 !important;
	border: none !important;
	background-color: transparent !important;
	display: inline-block !important;
	position: relative;
}

.form.type-select > select.hasCustomSelect {
	top: 0;
	left: 0;
}

.hasCustomSelect {
	width: 100% !important;
	height: 100% !important;
	cursor: pointer;
	z-index: 10;
}

.customSelect {
	padding: .6em 2.5em .6em 1em !important;
	text-align: left;
}

.customSelect:after {
	content: '';
	border-width: .5em;
	border-style: solid;
	border-color: #ccc;
	border-top-width: .75em;
	border-left-color: transparent;
	border-right-color: transparent;
	border-bottom-width: 0;
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
}

.customSelectInner {
	width: auto !important;
}

.label-group + .select_area {
	margin-top: .5em;
}



/* ==================================================================

	table
	
================================================================== */

.table {
	border-collapse: separate;
	border-spacing: 0 2em;
}

.table > tbody > tr > th,
.table > tbody > tr > td {
	padding-top: .5em;
	padding-bottom: .5em;
	text-align: left;
	vertical-align: top;
}

.table > tbody > tr > th > :first-child,
.table > tbody > tr > td > :first-child {
	margin-top: 0;
}

@media (max-width: 768px) {
	.table:not(.hold),
	.table:not(.hold) > thead,
	.table:not(.hold) > thead > tr,
	.table:not(.hold) > thead > tr > th,
	.table:not(.hold) > thead > tr > td,
	.table:not(.hold) > tbody,
	.table:not(.hold) > tbody > tr,
	.table:not(.hold) > tbody > tr > th,
	.table:not(.hold) > tbody > tr > td {
		display: block;
	}
	.table:not(.hold) > tbody > tr + tr {
		margin-top: 1em;
	}
	.table:not(.hold) > tbody > tr > th {
		background-color: #ccc;
	}
}


/* ------------------------------------------------------------------
	style
------------------------------------------------------------------ */

/* line_left */
.table.type-line_right > tbody > tr > th {
	width: 25em;
	padding-right: 2em;
	text-align: right;
	border-right: 5px solid #ccc;
}

.table.type-line_right > tbody > tr > td {
	padding-left: 2em;
}

@media (max-width: 768px) {
	.table.type-line_right > tbody > tr > th {
		width: auto;
		text-align: center;
		padding-left: 1em;
		padding-right: 1em;
		border: none;
	}
	.table.type-line_right > tbody > tr > td {
		padding-left: 0;
	}
	
}



/* ==================================================================

	modal
	
================================================================== */
.modal_area {
	width: 100%;
	max-width: 1040px;
	padding: 20px;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 110 !important;
	display: inline-block;
}

.modal_area.relative {
	height: 100%;
	padding-top: 3em;
	top: 0;
	transform: translateX(-50%);
	overflow-y: scroll;
}

.modal_area.size-auto {
	width: auto;
}

.modal_area .modal_close {
	margin: 0 !important;
	font-size: 1.28em;
	color: #fff;
	line-height: 1;
	letter-spacing: 0;
	position: absolute;
	top: -2rem;
	right: 0;
	cursor: pointer;
	-webkit-transition: 0.3s ease;
	-ms-transition: 0.3s ease;
	transition: 0.3s ease;
}

.modal_close:before {
	content: '\ea0f';
}

.modal_close:hover {
	color: #fff;
	opacity: 0.5;
}

.modal_content {
	text-align: center;
	position: relative;
}

.modal_area .modal_content > :first-child {
	margin-top: 0 !important;
}

.modal_bg {
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.3);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	cursor:pointer;
}

.playmovie {
	width: 100%;
	border: 0;
	background-color: #000;
}

@media (max-width: 768px) {
	.modal_area {
		width: 100% !important;
	}
}
