@import url("fontawesome-all.min.css");
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400,400italic");

/*/////////////////////////////////////////// Reset Set /////*/
/* tag */
html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

body {
	-webkit-text-size-adjust: none;
}

mark {
	background-color: transparent;
	color: inherit;
}

input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input, select, textarea {
	appearance: none;
}

/* Basic */
html {
	box-sizing: border-box;
}

*, *:before, *:after {
	box-sizing: inherit;
}

body {
	background: #fff;
	text-align: center;
}

body.is-preload *, body.is-preload *:before, body.is-preload *:after {
	animation: none !important;
	transition: none !important;
}

body, input, select, textarea {
	color: #555;
	font-family: "Source Sans Pro", Helvetica, sans-serif;
	font-size: 16pt;
	font-weight: 400;
	line-height: 1.65em;
}

a {
	transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
	border-bottom: dotted 1px #666;
	color: inherit;
	text-decoration: none;
}

a:hover {
	border-bottom-color: transparent !important;
	color: #6bd4c8;
}

strong, b {
	color: #555;
	font-weight: 400;
}

em, i {
	font-style: italic;
}

p {
	margin: 0 0 1.4em 0;
}

h1, h2, h3, h4, h5, h6 {
	color: #555;
	line-height: 1em;
	margin: 0 0 1.4em 0;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	color: inherit;
	text-decoration: none;
}

h1 {
	font-size: 2.25em;
	line-height: 1.4em;
}

h2 {
	font-size: 2em;
	line-height: 1.35em;
}

h3 {
	font-size: 1.35em;
	line-height: 1.5em;
}

h4 {
	font-size: 1.25em;
	line-height: 1.5em;
}

h5 {
	font-size: 0.9em;
	line-height: 1.5em;
}

h6 {
	font-size: 0.7em;
	line-height: 1.5em;
}

sub {
	font-size: 0.8em;
	position: relative;
	top: 0.5em;
}

sup {
	font-size: 0.8em;
	position: relative;
	top: -0.5em;
}

hr {
	border: 0;
	border-bottom: solid 1px rgba(144, 144, 144, 0.5);
	margin: 2em 0;
}

blockquote {
	border-left: solid 4px rgba(144, 144, 144, 0.5);
	font-style: italic;
	margin: 0 0 2em 0;
	padding: 0.5em 0 0.5em 2em;
}

code {
	background: rgba(144, 144, 144, 0.075);
	border-radius: 4px;
	border: solid 1px rgba(144, 144, 144, 0.5);
	font-family: "Courier New", monospace;
	font-size: 0.9em;
	margin: 0 0.25em;
	padding: 0.25em 0.65em;
}

pre {
	-webkit-overflow-scrolling: touch;
	font-family: "Courier New", monospace;
	font-size: 0.9em;
	margin: 0 0 2em 0;
}

pre code {
	display: block;
	line-height: 1.75em;
	padding: 1em 1.5em;
	overflow-x: auto;
}

.align-left {
	text-align: left;
}

.align-center {
	text-align: center;
}

.align-right {
	text-align: right;
}

.nowrap {
	white-space: nowrap;
	display: inline-block;
}


/*/////////////////////////////////////////// Design Base /////*/
/*///////////////////////////// Common Block /////*/
/* Container */
.container {
	margin: 0 auto;
	max-width: calc(100% - 4em);
	width: 60em;
}

.container.xsmall {
	width: 15em;
}

.container.small {
	width: 30em;
}

.container.medium {
	width: 45em;
}

.container.large {
	width: 75em;
}

.container.xlarge {
	width: 90em;
}

.container.max {
	width: 100%;
}

@media screen and (max-width: 980px) {
	.container {
		max-width: 100% !important;
		width: 100% !important;
	}
}

@media screen and (max-width: 480px) {
	.container {
		max-width: calc(100% - 3em);
	}
}

/* Row */
.row {
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
	align-items: stretch;
}

.row > * {
	box-sizing: border-box;
}

.row.gtr-uniform > * > :last-child {
	margin-bottom: 0;
}

.row.aln-left {
	justify-content: flex-start;
}

.row.aln-center {
	justify-content: center;
}

.row.aln-right {
	justify-content: flex-end;
}

.row.aln-top {
	align-items: flex-start;
}

.row.aln-middle {
	align-items: center;
}

.row.aln-bottom {
	align-items: flex-end;
}

.row > .imp {
	order: -1;
}

.row > .col-1 {
	width: 8.33333%;
}

.row > .off-1 {
	margin-left: 8.33333%;
}

.row > .col-2 {
	width: 16.66667%;
}

.row > .off-2 {
	margin-left: 16.66667%;
}

.row > .col-3 {
	width: 25%;
}

.row > .off-3 {
	margin-left: 25%;
}

.row > .col-4 {
	width: 33.33333%;
}

.row > .off-4 {
	margin-left: 33.33333%;
}

.row > .col-5 {
	width: 41.66667%;
}

.row > .off-5 {
	margin-left: 41.66667%;
}

.row > .col-6 {
	width: 50%;
}

.row > .off-6 {
	margin-left: 50%;
}

.row > .col-7 {
	width: 58.33333%;
}

.row > .off-7 {
	margin-left: 58.33333%;
}

.row > .col-8 {
	width: 66.66667%;
}

.row > .off-8 {
	margin-left: 66.66667%;
}

.row > .col-9 {
	width: 75%;
}

.row > .off-9 {
	margin-left: 75%;
}

.row > .col-10 {
	width: 83.33333%;
}

.row > .off-10 {
	margin-left: 83.33333%;
}

.row > .col-11 {
	width: 91.66667%;
}

.row > .off-11 {
	margin-left: 91.66667%;
}

.row > .col-12 {
	width: 100%;
}

.row > .off-12 {
	margin-left: 100%;
}

.row.gtr-0 {
	margin-top: 0;
	margin-left: 0em;
}

.row.gtr-0 > * {
	padding: 0 0 0 0em;
}

.row.gtr-0.gtr-uniform {
	margin-top: 0em;
}

.row.gtr-0.gtr-uniform > * {
	padding-top: 0em;
}

.row.gtr-25 {
	margin-top: 0;
	margin-left: -0.5em;
}

.row.gtr-25 > * {
	padding: 0 0 0 0.5em;
}

.row.gtr-25.gtr-uniform {
	margin-top: -0.5em;
}

.row.gtr-25.gtr-uniform > * {
	padding-top: 0.5em;
}

.row.gtr-50 {
	margin-top: 0;
	margin-left: -1em;
}

.row.gtr-50 > * {
	padding: 0 0 0 1em;
}

.row.gtr-50.gtr-uniform {
	margin-top: -1em;
}

.row.gtr-50.gtr-uniform > * {
		padding-top: 1em;
}

.row {
	margin-top: 0;
	margin-left: -2em;
}
.row > * {
	padding: 0 0 0 2em;
}

.row.gtr-uniform {
	margin-top: -2em;
}

.row.gtr-uniform > * {
	padding-top: 2em;
}

.row.gtr-150 {
	margin-top: 0;
	margin-left: -3em;
}

.row.gtr-150 > * {
	padding: 0 0 0 3em;
}

.row.gtr-150.gtr-uniform {
	margin-top: -3em;
}

.row.gtr-150.gtr-uniform > * {
	padding-top: 3em;
}

.row.gtr-200 {
	margin-top: 0;
	margin-left: -4em;
}

.row.gtr-200 > * {
	padding: 0 0 0 4em;
}

.row.gtr-200.gtr-uniform {
	margin-top: -4em;
}

.row.gtr-200.gtr-uniform > * {
	padding-top: 4em;
}

@media screen and (max-width: 1680px) {
	.row {
		display: flex;
		flex-wrap: wrap;
		box-sizing: border-box;
		align-items: stretch;
	}

	.row > * {
		box-sizing: border-box;
	}

	.row.gtr-uniform > * > :last-child {
		margin-bottom: 0;
	}

	.row.aln-left {
		justify-content: flex-start;
	}

	.row.aln-center {
		justify-content: center;
	}

	.row.aln-right {
		justify-content: flex-end;
	}

	.row.aln-top {
		align-items: flex-start;
	}

	.row.aln-middle {
		align-items: center;
	}

	.row.aln-bottom {
		align-items: flex-end;
	}

	.row > .imp-xlarge {
		order: -1;
	}

	.row > .col-1-xlarge {
		width: 8.33333%;
	}

	.row > .off-1-xlarge {
		margin-left: 8.33333%;
	}

	.row > .col-2-xlarge {
		width: 16.66667%;
	}

	.row > .off-2-xlarge {
		margin-left: 16.66667%;
	}

	.row > .col-3-xlarge {
		width: 25%;
	}

	.row > .off-3-xlarge {
		margin-left: 25%;
	}

	.row > .col-4-xlarge {
		width: 33.33333%;
	}

	.row > .off-4-xlarge {
		margin-left: 33.33333%;
	}

	.row > .col-5-xlarge {
		width: 41.66667%;
	}

	.row > .off-5-xlarge {
		margin-left: 41.66667%;
	}

	.row > .col-6-xlarge {
		width: 50%;
	}

	.row > .off-6-xlarge {
		margin-left: 50%;
	}

	.row > .col-7-xlarge {
		width: 58.33333%;
	}

	.row > .off-7-xlarge {
		margin-left: 58.33333%;
	}

	.row > .col-8-xlarge {
		width: 66.66667%;
	}

	.row > .off-8-xlarge {
		margin-left: 66.66667%;
	}

	.row > .col-9-xlarge {
		width: 75%;
	}

	.row > .off-9-xlarge {
		margin-left: 75%;
	}

	.row > .col-10-xlarge {
		width: 83.33333%;
	}

	.row > .off-10-xlarge {
		margin-left: 83.33333%;
	}

	.row > .col-11-xlarge {
		width: 91.66667%;
	}

	.row > .off-11-xlarge {
		margin-left: 91.66667%;
	}

	.row > .col-12-xlarge {
		width: 100%;
	}

	.row > .off-12-xlarge {
		margin-left: 100%;
	}

	.row.gtr-0 {
		margin-top: 0;
		margin-left: 0em;
	}

	.row.gtr-0 > * {
		padding: 0 0 0 0em;
	}

	.row.gtr-0.gtr-uniform {
		margin-top: 0em;
	}

	.row.gtr-0.gtr-uniform > * {
		padding-top: 0em;
	}

	.row.gtr-25 {
		margin-top: 0;
		margin-left: -0.5em;
	}

	.row.gtr-25 > * {
		padding: 0 0 0 0.5em;
	}

	.row.gtr-25.gtr-uniform {
		margin-top: -0.5em;
	}

	.row.gtr-25.gtr-uniform > * {
		padding-top: 0.5em;
	}

	.row.gtr-50 {
		margin-top: 0;
		margin-left: -1em;
	}

	.row.gtr-50 > * {
		padding: 0 0 0 1em;
	}

	.row.gtr-50.gtr-uniform {
		margin-top: -1em;
	}

	.row.gtr-50.gtr-uniform > * {
		padding-top: 1em;
	}

	.row {
		margin-top: 0;
		margin-left: -2em;
	}

	.row > * {
		padding: 0 0 0 2em;
	}

	.row.gtr-uniform {
		margin-top: -2em;
	}

	.row.gtr-uniform > * {
		padding-top: 2em;
	}

	.row.gtr-150 {
		margin-top: 0;
		margin-left: -3em;
	}

	.row.gtr-150 > * {
		padding: 0 0 0 3em;
	}

	.row.gtr-150.gtr-uniform {
		margin-top: -3em;
	}

	.row.gtr-150.gtr-uniform > * {
		padding-top: 3em;
	}

	.row.gtr-200 {
		margin-top: 0;
		margin-left: -4em;
	}

	.row.gtr-200 > * {
		padding: 0 0 0 4em;
	}

	.row.gtr-200.gtr-uniform {
		margin-top: -4em;
	}

	.row.gtr-200.gtr-uniform > * {
		padding-top: 4em;
	}
}

@media screen and (max-width: 1140px) {
	.row {
		display: flex;
		flex-wrap: wrap;
		box-sizing: border-box;
		align-items: stretch;
	}

	.row > * {
		box-sizing: border-box;
	}

	.row.gtr-uniform > * > :last-child {
		margin-bottom: 0;
	}

	.row.aln-left {
		justify-content: flex-start;
	}

	.row.aln-center {
		justify-content: center;
	}

	.row.aln-right {
		justify-content: flex-end;
	}

	.row.aln-top {
		align-items: flex-start;
	}

	.row.aln-middle {
		align-items: center;
	}

	.row.aln-bottom {
		align-items: flex-end;
	}

	.row > .imp-large {
		order: -1;
	}

	.row > .col-1-large {
		width: 8.33333%;
	}

	.row > .off-1-large {
		margin-left: 8.33333%;
	}

	.row > .col-2-large {
		width: 16.66667%;
	}

	.row > .off-2-large {
		margin-left: 16.66667%;
	}

	.row > .col-3-large {
		width: 25%;
	}

	.row > .off-3-large {
		margin-left: 25%;
	}

	.row > .col-4-large {
		width: 33.33333%;
	}

	.row > .off-4-large {
		margin-left: 33.33333%;
	}

	.row > .col-5-large {
		width: 41.66667%;
	}

	.row > .off-5-large {
		margin-left: 41.66667%;
	}

	.row > .col-6-large {
		width: 50%;
	}

	.row > .off-6-large {
		margin-left: 50%;
	}

	.row > .col-7-large {
		width: 58.33333%;
	}

	.row > .off-7-large {
		margin-left: 58.33333%;
	}

	.row > .col-8-large {
		width: 66.66667%;
	}

	.row > .off-8-large {
		margin-left: 66.66667%;
	}

	.row > .col-9-large {
		width: 75%;
	}

	.row > .off-9-large {
		margin-left: 75%;
	}

	.row > .col-10-large {
		width: 83.33333%;
	}

	.row > .off-10-large {
		margin-left: 83.33333%;
	}

	.row > .col-11-large {
		width: 91.66667%;
	}

	.row > .off-11-large {
		margin-left: 91.66667%;
	}

	.row > .col-12-large {
		width: 100%;
	}

	.row > .off-12-large {
		margin-left: 100%;
	}

	.row.gtr-0 {
		margin-top: 0;
		margin-left: 0em;
	}

	.row.gtr-0 > * {
		padding: 0 0 0 0em;
	}

	.row.gtr-0.gtr-uniform {
		margin-top: 0em;
	}

	.row.gtr-0.gtr-uniform > * {
		padding-top: 0em;
	}

	.row.gtr-25 {
		margin-top: 0;
		margin-left: -0.5em;
	}

	.row.gtr-25 > * {
		padding: 0 0 0 0.5em;
	}

	.row.gtr-25.gtr-uniform {
		margin-top: -0.5em;
	}

	.row.gtr-25.gtr-uniform > * {
		padding-top: 0.5em;
	}

	.row.gtr-50 {
		margin-top: 0;
		margin-left: -1em;
	}

	.row.gtr-50 > * {
		padding: 0 0 0 1em;
	}

	.row.gtr-50.gtr-uniform {
		margin-top: -1em;
	}

	.row.gtr-50.gtr-uniform > * {
		padding-top: 1em;
	}

	.row {
		margin-top: 0;
		margin-left: -2em;
	}

	.row > * {
		padding: 0 0 0 2em;
	}

	.row.gtr-uniform {
		margin-top: -2em;
	}

	.row.gtr-uniform > * {
		padding-top: 2em;
	}

	.row.gtr-150 {
		margin-top: 0;
		margin-left: -3em;
	}

	.row.gtr-150 > * {
		padding: 0 0 0 3em;
	}

	.row.gtr-150.gtr-uniform {
		margin-top: -3em;
	}

	.row.gtr-150.gtr-uniform > * {
		padding-top: 3em;
	}

	.row.gtr-200 {
		margin-top: 0;
		margin-left: -4em;
	}

	.row.gtr-200 > * {
		padding: 0 0 0 4em;
	}

	.row.gtr-200.gtr-uniform {
		margin-top: -4em;
	}

	.row.gtr-200.gtr-uniform > * {
		padding-top: 4em;
	}
}

@media screen and (max-width: 980px) {
	.row {
		display: flex;
		flex-wrap: wrap;
		box-sizing: border-box;
		align-items: stretch;
	}

	.row > * {
		box-sizing: border-box;
	}

	.row.gtr-uniform > * > :last-child {
		margin-bottom: 0;
	}

	.row.aln-left {
		justify-content: flex-start;
	}

	.row.aln-center {
		justify-content: center;
	}

	.row.aln-right {
		justify-content: flex-end;
	}

	.row.aln-top {
		align-items: flex-start;
	}

	.row.aln-middle {
		align-items: center;
	}

	.row.aln-bottom {
		align-items: flex-end;
	}

	.row > .imp-medium {
		order: -1;
	}

	.row > .col-1-medium {
		width: 8.33333%;
	}

	.row > .off-1-medium {
		margin-left: 8.33333%;
	}

	.row > .col-2-medium {
		width: 16.66667%;
	}

	.row > .off-2-medium {
		margin-left: 16.66667%;
	}

	.row > .col-3-medium {
		width: 25%;
	}

	.row > .off-3-medium {
		margin-left: 25%;
	}

	.row > .col-4-medium {
		width: 33.33333%;
	}

	.row > .off-4-medium {
		margin-left: 33.33333%;
	}

	.row > .col-5-medium {
		width: 41.66667%;
	}

	.row > .off-5-medium {
		margin-left: 41.66667%;
	}

	.row > .col-6-medium {
		width: 50%;
	}

	.row > .off-6-medium {
		margin-left: 50%;
	}

	.row > .col-7-medium {
		width: 58.33333%;
	}

	.row > .off-7-medium {
		margin-left: 58.33333%;
	}

	.row > .col-8-medium {
		width: 66.66667%;
	}

	.row > .off-8-medium {
		margin-left: 66.66667%;
	}

	.row > .col-9-medium {
		width: 75%;
	}

	.row > .off-9-medium {
		margin-left: 75%;
	}

	.row > .col-10-medium {
		width: 83.33333%;
	}

	.row > .off-10-medium {
		margin-left: 83.33333%;
	}

	.row > .col-11-medium {
		width: 91.66667%;
	}

	.row > .off-11-medium {
		margin-left: 91.66667%;
	}

	.row > .col-12-medium {
		width: 100%;
	}

	.row > .off-12-medium {
		margin-left: 100%;
	}

	.row.gtr-0 {
		margin-top: 0;
		margin-left: 0em;
	}

	.row.gtr-0 > * {
		padding: 0 0 0 0em;
	}

	.row.gtr-0.gtr-uniform {
		margin-top: 0em;
	}

	.row.gtr-0.gtr-uniform > * {
		padding-top: 0em;
	}

	.row.gtr-25 {
		margin-top: 0;
		margin-left: -0.5em;
	}

	.row.gtr-25 > * {
		padding: 0 0 0 0.5em;
	}

	.row.gtr-25.gtr-uniform {
		margin-top: -0.5em;
	}

	.row.gtr-25.gtr-uniform > * {
		padding-top: 0.5em;
	}

	.row.gtr-50 {
		margin-top: 0;
		margin-left: -1em;
	}

	.row.gtr-50 > * {
		padding: 0 0 0 1em;
	}

	.row.gtr-50.gtr-uniform {
		margin-top: -1em;
	}

	.row.gtr-50.gtr-uniform > * {
		padding-top: 1em;
	}

	.row {
		margin-top: 0;
		margin-left: -2em;
	}

	.row > * {
		padding: 0 0 0 2em;
	}

	.row.gtr-uniform {
		margin-top: -2em;
	}

	.row.gtr-uniform > * {
		padding-top: 2em;
	}

	.row.gtr-150 {
		margin-top: 0;
		margin-left: -3em;
	}

	.row.gtr-150 > * {
		padding: 0 0 0 3em;
	}

	.row.gtr-150.gtr-uniform {
		margin-top: -3em;
	}

	.row.gtr-150.gtr-uniform > * {
		padding-top: 3em;
	}

	.row.gtr-200 {
		margin-top: 0;
		margin-left: -4em;
	}

	.row.gtr-200 > * {
		padding: 0 0 0 4em;
	}

	.row.gtr-200.gtr-uniform {
		margin-top: -4em;
	}

	.row.gtr-200.gtr-uniform > * {
		padding-top: 4em;
	}
}

@media screen and (max-width: 736px) {
	.row {
		display: flex;
		flex-wrap: wrap;
		box-sizing: border-box;
		align-items: stretch;
	}

	.row > * {
		box-sizing: border-box;
	}

	.row.gtr-uniform > * > :last-child {
		margin-bottom: 0;
	}

	.row.aln-left {
		justify-content: flex-start;
	}

	.row.aln-center {
		justify-content: center;
	}

	.row.aln-right {
		justify-content: flex-end;
	}

	.row.aln-top {
		align-items: flex-start;
	}

	.row.aln-middle {
		align-items: center;
	}

	.row.aln-bottom {
		align-items: flex-end;
	}

	.row > .imp-small {
		order: -1;
	}

	.row > .col-1-small {
		width: 8.33333%;
	}

	.row > .off-1-small {
		margin-left: 8.33333%;
	}

	.row > .col-2-small {
		width: 16.66667%;
	}

	.row > .off-2-small {
		margin-left: 16.66667%;
	}

	.row > .col-3-small {
		width: 25%;
	}

	.row > .off-3-small {
		margin-left: 25%;
	}

	.row > .col-4-small {
		width: 33.33333%;
	}

	.row > .off-4-small {
		margin-left: 33.33333%;
	}

	.row > .col-5-small {
		width: 41.66667%;
	}

	.row > .off-5-small {
		margin-left: 41.66667%;
	}

	.row > .col-6-small {
		width: 50%;
	}

	.row > .off-6-small {
		margin-left: 50%;
	}

	.row > .col-7-small {
		width: 58.33333%;
	}

	.row > .off-7-small {
		margin-left: 58.33333%;
	}

	.row > .col-8-small {
		width: 66.66667%;
	}

	.row > .off-8-small {
		margin-left: 66.66667%;
	}

	.row > .col-9-small {
		width: 75%;
	}

	.row > .off-9-small {
		margin-left: 75%;
	}

	.row > .col-10-small {
		width: 83.33333%;
	}

	.row > .off-10-small {
		margin-left: 83.33333%;
	}

	.row > .col-11-small {
		width: 91.66667%;
	}

	.row > .off-11-small {
		margin-left: 91.66667%;
	}

	.row > .col-12-small {
		width: 100%;
	}

	.row > .off-12-small {
		margin-left: 100%;
	}

	.row.gtr-0 {
		margin-top: 0;
		margin-left: 0em;
	}

	.row.gtr-0 > * {
		padding: 0 0 0 0em;
	}

	.row.gtr-0.gtr-uniform {
		margin-top: 0em;
	}

	.row.gtr-0.gtr-uniform > * {
		padding-top: 0em;
	}

	.row.gtr-25 {
		margin-top: 0;
		margin-left: -0.5em;
	}

	.row.gtr-25 > * {
		padding: 0 0 0 0.5em;
	}

	.row.gtr-25.gtr-uniform {
		margin-top: -0.5em;
	}

	.row.gtr-25.gtr-uniform > * {
		padding-top: 0.5em;
	}

	.row.gtr-50 {
		margin-top: 0;
		margin-left: -1em;
	}

	.row.gtr-50 > * {
		padding: 0 0 0 1em;
	}

	.row.gtr-50.gtr-uniform {
		margin-top: -1em;
	}

	.row.gtr-50.gtr-uniform > * {
		padding-top: 1em;
	}

	.row {
		margin-top: 0;
		margin-left: -2em;
	}

	.row > * {
		padding: 0 0 0 2em;
	}

	.row.gtr-uniform {
		margin-top: -2em;
	}

	.row.gtr-uniform > * {
		padding-top: 2em;
	}

	.row.gtr-150 {
		margin-top: 0;
		margin-left: -3em;
	}

	.row.gtr-150 > * {
		padding: 0 0 0 3em;
	}

	.row.gtr-150.gtr-uniform {
		margin-top: -3em;
	}

	.row.gtr-150.gtr-uniform > * {
		padding-top: 3em;
	}

	.row.gtr-200 {
		margin-top: 0;
		margin-left: -4em;
	}

	.row.gtr-200 > * {
		padding: 0 0 0 4em;
	}

	.row.gtr-200.gtr-uniform {
		margin-top: -4em;
	}

	.row.gtr-200.gtr-uniform > * {
		padding-top: 4em;
	}
}

@media screen and (max-width: 480px) {
	.row {
		display: flex;
		flex-wrap: wrap;
		box-sizing: border-box;
		align-items: stretch;
	}

	.row > * {
		box-sizing: border-box;
	}

	.row.gtr-uniform > * > :last-child {
		margin-bottom: 0;
	}

	.row.aln-left {
		justify-content: flex-start;
	}

	.row.aln-center {
		justify-content: center;
	}

	.row.aln-right {
		justify-content: flex-end;
	}

	.row.aln-top {
		align-items: flex-start;
	}

	.row.aln-middle {
		align-items: center;
	}

	.row.aln-bottom {
		align-items: flex-end;
	}

	.row > .imp-xsmall {
		order: -1;
	}

	.row > .col-1-xsmall {
		width: 8.33333%;
	}

	.row > .off-1-xsmall {
		margin-left: 8.33333%;
	}

	.row > .col-2-xsmall {
		width: 16.66667%;
	}

	.row > .off-2-xsmall {
		margin-left: 16.66667%;
	}

	.row > .col-3-xsmall {
		width: 25%;
	}

	.row > .off-3-xsmall {
		margin-left: 25%;
	}

	.row > .col-4-xsmall {
		width: 33.33333%;
	}

	.row > .off-4-xsmall {
		margin-left: 33.33333%;
	}

	.row > .col-5-xsmall {
		width: 41.66667%;
	}

	.row > .off-5-xsmall {
		margin-left: 41.66667%;
	}

	.row > .col-6-xsmall {
		width: 50%;
	}

	.row > .off-6-xsmall {
		margin-left: 50%;
	}

	.row > .col-7-xsmall {
		width: 58.33333%;
	}

	.row > .off-7-xsmall {
		margin-left: 58.33333%;
	}

	.row > .col-8-xsmall {
		width: 66.66667%;
	}

	.row > .off-8-xsmall {
		margin-left: 66.66667%;
	}

	.row > .col-9-xsmall {
		width: 75%;
	}

	.row > .off-9-xsmall {
		margin-left: 75%;
	}

	.row > .col-10-xsmall {
		width: 83.33333%;
	}

	.row > .off-10-xsmall {
		margin-left: 83.33333%;
	}

	.row > .col-11-xsmall {
		width: 91.66667%;
	}

	.row > .off-11-xsmall {
		margin-left: 91.66667%;
	}

	.row > .col-12-xsmall {
		width: 100%;
	}

	.row > .off-12-xsmall {
		margin-left: 100%;
	}

	.row.gtr-0 {
		margin-top: 0;
		margin-left: 0em;
	}

	.row.gtr-0 > * {
		padding: 0 0 0 0em;
	}

	.row.gtr-0.gtr-uniform {
		margin-top: 0em;
	}

	.row.gtr-0.gtr-uniform > * {
		padding-top: 0em;
	}

	.row.gtr-25 {
		margin-top: 0;
		margin-left: -0.5em;
	}

	.row.gtr-25 > * {
		padding: 0 0 0 0.5em;
	}

	.row.gtr-25.gtr-uniform {
		margin-top: -0.5em;
	}

	.row.gtr-25.gtr-uniform > * {
		padding-top: 0.5em;
	}

	.row.gtr-50 {
		margin-top: 0;
		margin-left: -1em;
	}

	.row.gtr-50 > * {
		padding: 0 0 0 1em;
	}

	.row.gtr-50.gtr-uniform {
		margin-top: -1em;
	}

	.row.gtr-50.gtr-uniform > * {
		padding-top: 1em;
	}

	.row {
		margin-top: 0;
		margin-left: -2em;
	}

	.row > * {
		padding: 0 0 0 2em;
	}

	.row.gtr-uniform {
		margin-top: -2em;
	}

	.row.gtr-uniform > * {
		padding-top: 2em;
	}

	.row.gtr-150 {
		margin-top: 0;
		margin-left: -3em;
	}

	.row.gtr-150 > * {
		padding: 0 0 0 3em;
	}

	.row.gtr-150.gtr-uniform {
		margin-top: -3em;
	}

	.row.gtr-150.gtr-uniform > * {
		padding-top: 3em;
	}

	.row.gtr-200 {
		margin-top: 0;
		margin-left: -4em;
	}

	.row.gtr-200 > * {
		padding: 0 0 0 4em;
	}

	.row.gtr-200.gtr-uniform {
		margin-top: -4em;
	}

	.row.gtr-200.gtr-uniform > * {
		padding-top: 4em;
	}
}

@media screen and (max-width: 320px) {
	.row {
		display: flex;
		flex-wrap: wrap;
		box-sizing: border-box;
		align-items: stretch;
	}

	.row > * {
		box-sizing: border-box;
	}

	.row.gtr-uniform > * > :last-child {
		margin-bottom: 0;
	}

	.row.aln-left {
		justify-content: flex-start;
	}

	.row.aln-center {
		justify-content: center;
	}

	.row.aln-right {
		justify-content: flex-end;
	}

	.row.aln-top {
		align-items: flex-start;
	}

	.row.aln-middle {
		align-items: center;
	}

	.row.aln-bottom {
		align-items: flex-end;
	}

	.row > .imp-xxsmall {
		order: -1;
	}

	.row > .col-1-xxsmall {
		width: 8.33333%;
	}

	.row > .off-1-xxsmall {
		margin-left: 8.33333%;
	}

	.row > .col-2-xxsmall {
		width: 16.66667%;
	}

	.row > .off-2-xxsmall {
		margin-left: 16.66667%;
	}

	.row > .col-3-xxsmall {
		width: 25%;
	}

	.row > .off-3-xxsmall {
		margin-left: 25%;
	}

	.row > .col-4-xxsmall {
		width: 33.33333%;
	}

	.row > .off-4-xxsmall {
		margin-left: 33.33333%;
	}

	.row > .col-5-xxsmall {
		width: 41.66667%;
	}

	.row > .off-5-xxsmall {
		margin-left: 41.66667%;
	}

	.row > .col-6-xxsmall {
		width: 50%;
	}

	.row > .off-6-xxsmall {
		margin-left: 50%;
	}

	.row > .col-7-xxsmall {
		width: 58.33333%;
	}

	.row > .off-7-xxsmall {
		margin-left: 58.33333%;
	}

	.row > .col-8-xxsmall {
		width: 66.66667%;
	}

	.row > .off-8-xxsmall {
		margin-left: 66.66667%;
	}

	.row > .col-9-xxsmall {
		width: 75%;
	}

	.row > .off-9-xxsmall {
		margin-left: 75%;
	}

	.row > .col-10-xxsmall {
		width: 83.33333%;
	}

	.row > .off-10-xxsmall {
		margin-left: 83.33333%;
	}

	.row > .col-11-xxsmall {
		width: 91.66667%;
	}

	.row > .off-11-xxsmall {
		margin-left: 91.66667%;
	}

	.row > .col-12-xxsmall {
		width: 100%;
	}

	.row > .off-12-xxsmall {
		margin-left: 100%;
	}

	.row.gtr-0 {
		margin-top: 0;
		margin-left: 0em;
	}

	.row.gtr-0 > * {
		padding: 0 0 0 0em;
	}

	.row.gtr-0.gtr-uniform {
		margin-top: 0em;
	}

	.row.gtr-0.gtr-uniform > * {
		padding-top: 0em;
	}

	.row.gtr-25 {
		margin-top: 0;
		margin-left: -0.5em;
	}

	.row.gtr-25 > * {
		padding: 0 0 0 0.5em;
	}

	.row.gtr-25.gtr-uniform {
		margin-top: -0.5em;
	}

	.row.gtr-25.gtr-uniform > * {
		padding-top: 0.5em;
	}

	.row.gtr-50 {
		margin-top: 0;
		margin-left: -1em;
	}

	.row.gtr-50 > * {
		padding: 0 0 0 1em;
	}

	.row.gtr-50.gtr-uniform {
		margin-top: -1em;
	}

	.row.gtr-50.gtr-uniform > * {
		padding-top: 1em;
	}

	.row {
		margin-top: 0;
		margin-left: -2em;
	}

	.row > * {
		padding: 0 0 0 2em;
	}

	.row.gtr-uniform {
		margin-top: -2em;
	}

	.row.gtr-uniform > * {
		padding-top: 2em;
	}

	.row.gtr-150 {
		margin-top: 0;
		margin-left: -3em;
	}

	.row.gtr-150 > * {
		padding: 0 0 0 3em;
	}

	.row.gtr-150.gtr-uniform {
		margin-top: -3em;
	}

	.row.gtr-150.gtr-uniform > * {
		padding-top: 3em;
	}

	.row.gtr-200 {
		margin-top: 0;
		margin-left: -4em;
	}

	.row.gtr-200 > * {
		padding: 0 0 0 4em;
	}

	.row.gtr-200.gtr-uniform {
		margin-top: -4em;
	}

	.row.gtr-200.gtr-uniform > * {
		padding-top: 4em;
	}
}

/* Section/Article */
/*
section.special, article.special {
	text-align: center;
}

header p {
	color: #999;
	margin: 0 0 1.5em 0;
	position: relative;
}

header h2 + p {
	font-size: 1.25em;
	line-height: 1.5em;
	margin-top: -1em;
}

header h3 + p {
	font-size: 1.1em;
	line-height: 1.5em;
	margin-top: -0.8em;
}

header h4 + p,
header h5 + p,
header h6 + p {
	font-size: 0.9em;
	line-height: 1.5em;
	margin-top: -0.6em;
}

header.major {
	margin: 0 0 1em 0;
}

header.major:after {
	background: rgba(144, 144, 144, 0.5);
	content: '';
	display: inline-block;
	height: 1px;
	margin-top: 1.5em;
	width: 6em;
}

header.major h2, header.major h3, header.major h4, header.major h5, header.major h6 {
	margin: 0;
}

header.major p {
	margin: 0.7em 0 0 0;
}

header.special {
	text-align: center;
}
*/

/* Form */
form {
	margin: 0 0 2em 0;
}

label {
	color: #555;
	display: block;
	font-size: 0.9em;
	font-weight: 400;
	margin: 0 0 1em 0;
}

input[type="text"],
input[type="password"],
input[type="email"],
select,
textarea {
	appearance: none;
	background: rgba(144, 144, 144, 0.075);
	border-radius: 4px;
	border: none;
	border: solid 1px rgba(144, 144, 144, 0.5);
	color: inherit;
	display: block;
	outline: 0;
	padding: 0 1em;
	text-decoration: none;
	width: 100%;
}

input[type="text"]:invalid,
input[type="password"]:invalid,
input[type="email"]:invalid,
select:invalid,
textarea:invalid {
	box-shadow: none;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
select:focus,
textarea:focus {
	border-color: #6bd4c8;
}

select {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(144, 144, 144, 0.5)' /%3E%3C/svg%3E");
	background-size: 1.25rem;
	background-repeat: no-repeat;
	background-position: calc(100% - 1rem) center;
	height: 2.75em;
	padding-right: 2.75em;
	text-overflow: ellipsis;
}

select option {
	color: #555;
	background: #fff;
}

select:focus::-ms-value {
	background-color: transparent;
}

select::-ms-expand {
	display: none;
}

input[type="text"],
input[type="password"],
input[type="email"],
select {
	height: 2.75em;
}

textarea {
	padding: 0.75em 1em;
}

input[type="checkbox"],
input[type="radio"] {
	appearance: none;
	display: block;
	float: left;
	margin-right: -2em;
	opacity: 0;
	width: 1em;
	z-index: -1;
}

input[type="checkbox"] + label,
input[type="radio"] + label {
	text-decoration: none;
	color: #666;
	cursor: pointer;
	display: inline-block;
	font-size: 1em;
	font-weight: 300;
	padding-left: 2.4em;
	padding-right: 0.75em;
	position: relative;
}

input[type="checkbox"] + label:before,
input[type="radio"] + label:before {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
	text-transform: none !important;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
}

input[type="checkbox"] + label:before,
input[type="radio"] + label:before {
	background: rgba(144, 144, 144, 0.075);
	border-radius: 4px;
	border: solid 1px rgba(144, 144, 144, 0.5);
	content: '';
	display: inline-block;
	font-size: 0.8em;
	height: 2.0625em;
	left: 0;
	line-height: 2.0625em;
	position: absolute;
	text-align: center;
	top: 0;
	width: 2.0625em;
}

input[type="checkbox"]:checked + label:before,
input[type="radio"]:checked + label:before {
	background: #666666;
	border-color: #666666;
	color: #ffffff;
	content: '\f00c';
}

input[type="checkbox"]:focus + label:before,
input[type="radio"]:focus + label:before {
	border-color: #6bd4c8;
}

input[type="checkbox"] + label:before {
	border-radius: 4px;
}

input[type="radio"] + label:before {
	border-radius: 100%;
}

::-webkit-input-placeholder {
	color: #999 !important;
	opacity: 1.0;
}

:-moz-placeholder {
	color: #999 !important;
	opacity: 1.0;
}

::-moz-placeholder {
	color: #999 !important;
	opacity: 1.0;
}

:-ms-input-placeholder {
	color: #999 !important;
	opacity: 1.0;
}


/* Image */
.image {
	border-radius: 4px;
	border: 0;
	display: inline-block;
	position: relative;
}

.image img {
	border-radius: 4px;
	display: block;
}

.image.left {
	float: left;
	padding: 0 1.5em 1em 0;
	top: 0.25em;
}

.image.right {
	float: right;
	padding: 0 0 1em 1.5em;
	top: 0.25em;
}

.image.left, .image.right {
	max-width: 40%;
}

.image.left img, .image.right img {
	width: 100%;
}

.image.fit {
	display: block;
	margin: 0 0 2em 0;
	width: 100%;
}

.image.fit img {
	width: 100%;
}

/* List */
ol {
	list-style: decimal;
	margin: 0 0 2em 0;
	padding-left: 1.25em;
}

ol li {
	padding-left: 0.25em;
}

ul {
	list-style: disc;
	margin: 0 0 2em 0;
	padding-left: 1em;
}

ul li {
	padding-left: 0.5em;
}

ul.alt {
	list-style: none;
	padding-left: 0;
}

ul.alt li {
	border-top: solid 1px rgba(144, 144, 144, 0.5);
	padding: 0.5em 0;
}

ul.alt li:first-child {
	border-top: 0;
	padding-top: 0;
}

dl {
	margin: 0 0 2em 0;
}

/* Actions */
ul.actions {
	display: flex;
	cursor: default;
	list-style: none;
	margin-left: -1em;
	padding-left: 0;
}

ul.actions li {
	padding: 0 0 0 1em;
	vertical-align: middle;
}

ul.actions.special {
	justify-content: center;
	width: 100%;
	margin-left: 0;
}

ul.actions.special li:first-child {
	padding-left: 0;
}

ul.actions.stacked {
	flex-direction: column;
	margin-left: 0;
}

ul.actions.stacked li {
	padding: 1.3em 0 0 0;
}

ul.actions.stacked li:first-child {
	padding-top: 0;
}

ul.actions.fit {
	width: calc(100% + 1em);
}

ul.actions.fit li {
	flex-grow: 1;
	flex-shrink: 1;
	width: 100%;
}

ul.actions.fit li > * {
	width: 100%;
}

ul.actions.fit.stacked {
	width: 100%;
}

@media screen and (max-width: 480px) {
	ul.actions:not(.fixed) {
		flex-direction: column;
		margin-left: 0;
		width: 100% !important;
	}

	ul.actions:not(.fixed) li {
		flex-grow: 1;
		flex-shrink: 1;
		padding: 1em 0 0 0;
		text-align: center;
		width: 100%;
	}

	ul.actions:not(.fixed) li > * {
		width: 100%;
	}

	ul.actions:not(.fixed) li:first-child {
		padding-top: 0;
	}

	ul.actions:not(.fixed) li input[type="submit"],
	ul.actions:not(.fixed) li input[type="reset"],
	ul.actions:not(.fixed) li input[type="button"],
	ul.actions:not(.fixed) li button,
	ul.actions:not(.fixed) li .button {
		width: 100%;
	}

	ul.actions:not(.fixed) li input[type="submit"].icon:before,
	ul.actions:not(.fixed) li input[type="reset"].icon:before,
	ul.actions:not(.fixed) li input[type="button"].icon:before,
	ul.actions:not(.fixed) li button.icon:before,
	ul.actions:not(.fixed) li .button.icon:before {
		margin-left: -0.5em;
	}
}

/* Table */
.table-wrapper {
	-webkit-overflow-scrolling: touch;
	overflow-x: auto;
}

table {
	margin: 0 0 2em 0;
	width: 100%;
}

table tbody tr {
	border-left: 0;
	border-right: 0;
}

table tbody tr:nth-child(2n + 1) {
	background-color: rgba(144, 144, 144, 0.075);
}

table td {
	padding: 0.75em 0.75em;
}

table th {
	color: #555;
	font-size: 0.9em;
	font-weight: 400;
	padding: 0 0.75em 0.75em 0.75em;
	text-align: left;
}

table thead {
	border-bottom: solid 1px rgba(144, 144, 144, 0.5);
}

table tfoot {
	border-top: solid 1px rgba(144, 144, 144, 0.5);
}

table.alt {
	border-collapse: separate;
}

table.alt tbody tr td {
	border: solid 1px rgba(144, 144, 144, 0.5);
	border-left-width: 0;
	border-top-width: 0;
}

table.alt tbody tr td:first-child {
	border-left-width: 1px;
}

table.alt tbody tr:first-child td {
	border-top-width: 1px;
}

table.alt thead {
	border-bottom: 0;
}

table.alt tfoot {
	border-top: 0;
}

/* Button */
input[type="submit"],
input[type="reset"],
input[type="button"],
button,
.button {
	appearance: none;
	transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
	background-color: transparent;
	border-radius: 4px;
	border: 0;
	box-shadow: inset 0 0 0 1px rgba(144, 144, 144, 0.5);
	color: #555;
	cursor: pointer;
	display: inline-block;
	font-size: 0.9em;
	font-weight: 400;
	height: 2.75em;
	letter-spacing: 0.125em;
	line-height: 2.75em;
	padding: 0 2em;
	text-align: center;
	text-decoration: none;
	text-indent: 0.125em;
	text-transform: uppercase;
	white-space: nowrap;
}

input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
button:hover,
.button:hover {
	background-color: rgba(144, 144, 144, 0.075);
}

input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active,
button:active,
.button:active {
	background-color: rgba(144, 144, 144, 0.2);
}

input[type="submit"].icon:before,
input[type="reset"].icon:before,
input[type="button"].icon:before,
button.icon:before,
.button.icon:before {
	margin-right: 0.5em;
}

input[type="submit"].fit,
input[type="reset"].fit,
input[type="button"].fit,
button.fit,
.button.fit {
	width: 100%;
}

input[type="submit"].small,
input[type="reset"].small,
input[type="button"].small,
button.small,
.button.small {
	font-size: 0.7em;
}

input[type="submit"].large,
input[type="reset"].large,
input[type="button"].large,
button.large,
.button.large {
	font-size: 1.25em;
}

input[type="submit"].wide,
input[type="reset"].wide,
input[type="button"].wide,
button.wide,
.button.wide {
	min-width: 12em;
}

input[type="submit"].primary,
input[type="reset"].primary,
input[type="button"].primary,
button.primary,
.button.primary {
	background-color: #555;
	box-shadow: none !important;
	color: #fff !important;
}

input[type="submit"].primary:hover,
input[type="reset"].primary:hover,
input[type="button"].primary:hover,
button.primary:hover,
.button.primary:hover {
	background-color: #626262;
}

input[type="submit"].primary:active,
input[type="reset"].primary:active,
input[type="button"].primary:active,
button.primary:active,
.button.primary:active {
	background-color: #484848;
}

input[type="submit"].disabled, input[type="submit"]:disabled,
input[type="reset"].disabled,
input[type="reset"]:disabled,
input[type="button"].disabled,
input[type="button"]:disabled,
button.disabled,
button:disabled,
.button.disabled,
.button:disabled {
	cursor: default;
	opacity: 0.25;
}


/*///////////////////////////// Area Block /////*/
/* Main */
.main {
	padding: 6em 0 4em 0 ;
}

.main.style1 {
	background: #fff;
}


/* Footer */
#footer {
	padding: 6em 0 6em 0 ;
	background-color: #444;
	color: #fff;
	text-align: center;
}

#footer a {
	border-bottom-color: rgba(255, 255, 255, 0.5);
}

#footer a:hover {
	color: #ffffff;
}

#footer h1, #footer h2, #footer h3, #footer h4, #footer h5, #footer h6, #footer strong, #footer b {
	color: #ffffff;
}

#footer header p {
	color: #ffffff;
}

#footer header.major:after {
	background: #ffffff;
}
/*
#footer input[type="submit"],
#footer input[type="reset"],
#footer input[type="button"],
#footer button,
#footer .button {
	box-shadow: inset 0 0 0 1px #ffffff;
	color: #ffffff !important;
}

#footer input[type="submit"]:hover,
#footer input[type="reset"]:hover,
#footer input[type="button"]:hover,
#footer button:hover,
#footer .button:hover {
	background-color: rgba(255, 255, 255, 0.125);
}

#footer input[type="submit"]:active,
#footer input[type="reset"]:active,
#footer input[type="button"]:active,
#footer button:active,
#footer .button:active {
	background-color: rgba(255, 255, 255, 0.25);
}

#footer input[type="submit"].primary,
#footer input[type="reset"].primary,
#footer input[type="button"].primary,
#footer button.primary,
#footer .button.primary {
	background-color: #ffffff;
	box-shadow: inset 0 0 0 1px #ffffff !important;
	color: #4686a0 !important;
}

#footer input[type="submit"].primary:hover,
#footer input[type="reset"].primary:hover,
#footer input[type="button"].primary:hover,
#footer button.primary:hover,
#footer .button.primary:hover {
	background-color: rgba(255, 255, 255, 0.125) !important;
	color: #ffffff !important;
}

#footer input[type="submit"].primary:active,
#footer input[type="reset"].primary:active,
#footer input[type="button"].primary:active,
#footer button.primary:active,
#footer .button.primary:active {
	background-color: rgba(255, 255, 255, 0.25) !important;
}

#footer ul.major-icons li .icon {
	border-color: #ffffff;
}

#footer .icon.major {
	color: #ffffff;
}

#footer .icons {
	margin: 0;
}*/

#footer .copyright {
	font-size: 0.8em;
	list-style: none;
	margin: 2em 0 0 0;
	padding: 0;
}

#footer .copyright li {
	border-left: solid 1px;
	display: inline-block;
	line-height: 1em;
	margin-left: 1em;
	padding: 0 0 0 1em;
}

#footer .copyright li:first-child {
	border-left: 0;
	margin-left: 0;
	padding: 0;
}


/* XLarge */
@media screen and (max-width: 1680px) {

	/* Basic */
	body, input, select, textarea {
		font-size: 14pt;
	}

	/* Header */
	#header {
		padding: 6em 0 6em 0 ;
	}
}

/* Large */
@media screen and (max-width: 1140px) {

	/* Basic */
	body, input, select, textarea {
		font-size: 13pt;
	}

	h1 br, h2 br, h3 br, h4 br, h5 br, h6 br {
		display: none;
	}

	/* List */
	ul.major-icons li {
		padding: 2em;
	}

	ul.major-icons li .icon {
		height: 8em;
		line-height: 8em;
		width: 8em;
	}

	/* Main */

	.main {
		padding: 4em 0 2em 0 ;
	}

	.main.style2 {
		background-attachment: scroll;
	}

	/* Header */
	#header {
		padding: 5em 0 5em 0 ;
		background-attachment: scroll;
	}

	#header br {
		display: inline;
	}

	/* Footer */
	#footer {
		padding: 4em 0 4em 0 ;
		background-attachment: scroll;
	}
}

/* Medium */
@media screen and (max-width: 980px) {

	/* List */
	ul.major-icons li {
		padding: 2em;
	}

	ul.major-icons li .icon {
		height: 7em;
		line-height: 7em;
		width: 7em;
	}

	/* Main */
	.main {
		padding: 5em 3em 3em 3em ;
	}

	/* Header */
	#header {
		padding: 8em 3em 8em 3em ;
	}

	/* Footer */
	#footer {
		padding: 5em 3em 5em 3em ;
	}

	/* One */
	#one {
		text-align: center;
	}

	/* Two */
	#two {
		text-align: center;
	}
}

/* Small */
@media screen and (max-width: 736px) {

	/* Basic */
	body, input, select, textarea {
		font-size: 12pt;
	}

	h1 {
		font-size: 1.75em;
	}

	h2 {
		font-size: 1.5em;
	}

	h3 {
		font-size: 1.1em;
	}

	h4 {
		font-size: 1em;
	}

	/* List */
	ul.major-icons li {
		padding: 1.5em;
	}

	ul.major-icons li .icon {
		height: 5em;
		line-height: 5em;
		width: 5em;
	}

	ul.major-icons li .icon:before {
		font-size: 42px;
	}

	/* Icon */
	.icon.major {
		margin: 0 0 1em 0;
	}

	/* Button */
	input[type="submit"],
	input[type="reset"],
	input[type="button"],
	button,
	.button {
		height: 3em;
		line-height: 3em;
	}

	/* Main */
	.main {
		padding: 3em 1.5em 1em 1.5em ;
	}

	/* Header */
	#header {
		padding: 4em 3em 4em 3em ;
	}

	#header .actions {
		margin: 2em 0 0 0;
	}

	/* Footer */
	#footer {
		padding: 3em 1.5em 3em 1.5em ;
	}
}

/* XSmall */
@media screen and (max-width: 480px) {

	/* Button */
	input[type="submit"],
	input[type="reset"],
	input[type="button"],
	.button {
		padding: 0;
	}

	/* Main */
	.main {
		padding: 2em 1.5em 0.1em 1.5em ;
	}

	/* Header */
	#header {
		padding: 4em 2em 4em 2em ;
	}
/*
	#header br {
		display: none;
	}
*/
	/* Footer */
	#footer {
		padding: 2em 1.5em 2em 1.5em ;
	}

	#footer .copyright {
		margin: 1.5em 0 0 0;
	}

	#footer .copyright li {
		border: 0;
		display: block;
		margin: 1em 0 0 0;
		padding: 0;
	}

	#footer .copyright li:first-child {
		margin-top: 0;
	}
}

/* XXSmall */
@media screen and (max-width: 320px) {

	/* Basic */
	html, body {
		min-width: 320px;
	}

	/* Main */
	.main {
		padding: 2em 1em 0.1em 1em ;
	}

	/* Header */
	#header {
		padding: 3em 1em 3em 1em ;
	}

	/* Footer */
	#footer {
		padding: 2em 1em 2em 1em ;
	}
}

/* nav */
#nav {
	cursor: default;
	background-color: #444;
	background-image: linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.3)), url("images/bg01.png");
	padding: 0;
}

#nav:after {
	content: '';
	display: block;
	width: 100%;
	height: 0.75em;
	background-color: #ff9900;
	background-image: url("images/bg01.png");
}

#nav > ul {
	margin: 0;
}

#nav > ul > li {
	position: relative;
	display: inline-block;
	margin-left: 1em;
}

#nav > ul > li a {
	color: #c0c0c0;
	text-decoration: none;
	border: 0;
	display: block;
	padding: 1.5em 0.5em 1.35em 0.5em;
}

#nav > ul > li:first-child {
	margin-left: 0;
}

#nav > ul > li:hover a {
	color: #fff;
}

@media (max-width: 560px){
	#nav > ul {
		display: flex;
		align-items: center;
		justify-content: space-evenly;
		gap: 1rem;
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}

	#nav > ul > li {
		flex: 0 0 auto;
		list-style: none;
		padding: 0;
		margin-left: 0;
		border: 0;
	}

	#nav > ul > li > a {
		display: block;
		padding: .9rem .25rem !important;
		white-space: nowrap;
	}
}

/*ここからオリジナル*/
/*/////////////////////////////////////////// Decoration /////*/
/*///////////////////////////// Common Block /////*/
/* Memo
XLarge 1680
Large 1140
---
Medium 980
Small 736
---
XSmall 480
XXSmall 320
*/

/* marker */
/*
.marker_cont, .markertext {
	position: relative;
	display: inline-block;
	z-index: 1;
}

.markertext::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0.1em;
	height: 0.6em;
	width: 0%;
	background-color: var(--marker-color, #fffa85);
	z-index: -1;
	transition: width 0.8s ease;
}*/

.markertext{
  position: relative;
  display: inline; /* inline-block だと行分割時にズレやすい */
  --marker-color: #fffa85;      /* 既存の色変数をそのまま利用 */
  --mk-h: .62em;                 /* マーカーの太さ */
  --mk-gap: .08em;               /* 文字底からの隙間 */
  background-image: linear-gradient(var(--marker-color), var(--marker-color));
  background-repeat: no-repeat;
  background-size: 0% var(--mk-h);                 /* 幅だけアニメーション */
  background-position: 0 calc(100% - var(--mk-gap));
  -webkit-box-decoration-break: clone; /* 複数行でも1行ずつ塗る */
          box-decoration-break: clone;
  transition: background-size .6s ease;
}

/* 表示トリガー */
.markertext.active,
.markertext.is_static {
  background-size: 100% var(--mk-h);
}

.markertext.pink  { --marker-color: #ffd1dc; }
.markertext.blue  { --marker-color: #c2f5ff; }
.markertext.green { --marker-color: #d6f5c2; }
.markertext.beige { --marker-color: #ffe5b4; }
.markertext.gray  { --marker-color: #fafafa; }

@media (max-width: 480px){
  .markertext{ --mk-h: .58em; --mk-gap: .04em; }
}

/*
.markertext.is_static::before {
  width: 100%;
  transform: translateX(var(--start-position, 0));
}

.markertext.active::before {
	width: 100%;
}

.markertext.pink::before { background-color: #ffd1dc; }
.markertext.blue::before { background-color: #c2f5ff; }
.markertext.green::before { background-color: #d6f5c2; }
.markertext.beige::before { background-color: #ffe5b4; }
.markertext.gray::before { background-color: #fafafa; }
*/

/* 注釈 */
.smallnote {
	font-size: 0.7rem;
	baseline-shift: sub;
}

.footnote {
	width: fit-content;
	margin: 5px 0 80px auto;
	font-size: 0.8rem;
}

.footnote ul {
	list-style: none;
	text-align: left;
}

.footnote li {
	display: flex;
	align-items: flex-start;
	white-space: nowrap;
	line-height: 1.45em;
}

/* 画像切替 */
@media screen and (max-width: 480px) {
	div.img_pc{
		display: none;
		margin: 0;
	}

	div.img_sp {
		display: block;
	}
}

/*///////////////////////////// Area Block /////*/
/*///////////// Header /////*/
#header {
	padding: 9em 0;
	background-color: #fff;
	color: rgba(20, 20, 20, 1.0);
	background-attachment: scroll;
	background-image: url("../../images/fv.jpg");
	background-position: center center;
	background-size: cover;
	overflow: hidden;
	position: relative;
	text-align: center;
}

#header:after {
	transition: opacity 1s ease;
	background-image: #fff;
	content: '';
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

#header img.cilogo {
	width: 400px;
	margin-bottom: 1em;
}

#header h1 {
	color: #ffffff;
	margin: 0 0 1em;
}

#header p {
	color: #ffffff;
	margin: 1em 0 0 0;
}
#header p span:first-of-type {
	color: crimson;
	font-weight: 600;
}

#header a {
	border-bottom-color: #fff;
}

#header a:hover {
	color: #ffffff;
}

#header .inner {
	transition: transform 1.5s ease, opacity 2s ease;
	transition-delay: 0.25s;
	transform: scale(1);
	opacity: 1;
	position: relative;
	z-index: 1;
}

#header .inner .actions {
	transition: transform 1.25s ease;
	transition-delay: 1s;
	transform: translateY(0);
	opacity: 1;
}

body.is-preload #header .inner {
	transform: scale(1.05);
	opacity: 0;
}

body.is-preload #header .inner .actions {
	transform: translateY(30em);
	opacity: 0;
}

body.is-preload #header:after {
	opacity: 1;
}

/* マーク */
#header .actions {
	justify-content: center;
	margin-top: 2.5em;
	margin-left: 0;
	position: relative;
}

#header .actions li:first-child {
	padding-left: 0;
}

#header .actions:after {
	background: #ffffff;
	content: '';
	height: 100vh;
	left: 50%;
	position: absolute;
	top: 100%;
	width: 1px;
}

#header ul li.button {
	color: #fff;
}

#header .button,
#header button,
#header input[type="button"],
#header input[type="submit"],
#header input[type="reset"] {
  color: #fff !important;
  box-shadow: inset 0 0 0 1px #fff;
  border: 0;
}

#header .button:hover,
#header button:hover,
#header input[type="button"]:hover,
#header input[type="submit"]:hover,
#header input[type="reset"]:hover {
  background-color: rgba(255,255,255,0.12);
}
#header .button:active,
#header button:active,
#header input[type="button"]:active,
#header input[type="submit"]:active,
#header input[type="reset"]:active {
  background-color: rgba(255,255,255,0.25);
}

/*///////////// Lead /////*/
#pricetable {
	margin: 40px 0 0;
}

@media screen and (max-width: 480px) {
	#lead {
		margin-bottom: 60px;
	}
	#lead h3 {
		font-size: 1.5em;
	}
	#lead div.footnote {
		margin: 5px 0 32px auto;	
	}
}

/*///////////// Worries /////*/
#worries {
	background: rgba(144, 144, 144, 0.075);
}

div.decoblock {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25em;
	line-height: 1.8em;
	margin-bottom: 40px;
	gap: 4em; /* 丸と「×」の間隔 */
}

.headline-circle {
	position: relative;
	color: #333;
	display: inline-block;
	margin: 0 0 80px;
	text-shadow: 0 0 2px white;
}

.headline-circle:before {
	content: "";
	position: absolute;
	background: #ffd69d;
	width: 160px;
	height: 160px;
	border-radius: 50%;
	top: 60%;
	left: 50%;
	border: solid 3px #f9f9f9;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	z-index: -1;
	box-shadow: 0px 0px 0px 5px #ffd69d;

}

.headline-circle .small {
	font-size: 0.55em;
	line-height: 1em;
}

.peke {
	font-size: 3em;
	font-weight: 600;
	margin-top: -50px;
}

@media screen and (max-width: 480px) {
	#worries {
		padding: 4em 1.5em 0.1em 1.5em;
	}
	div.decoblock {
		gap: 3em;
	}
	.headline-circle {
		margin: 0 0 40px;
	}
	.headline-circle:before {
		width: 120px;
		height: 120px;
	}
	#worries h3 {
		font-size: 1.5em;
	}
	.row > * 
	margin:0 ;
}


/* 矢印 */
@keyframes fadeUp {
  from {
	opacity: 0;
	transform: translateY(40px);
  }
  to {
	opacity: 1;
	transform: translateY(0);
  }
}

.arrow {
	display: inline-block;
	width: 200px;
	height: 140px;
	background: -webkit-linear-gradient(bottom, #ffac38 0%, #fff4b2 100%);
	background: -o-linear-gradient(bottom, #ffac38 0%, #fff4b2 100%);
	background: linear-gradient(to top, #ffac38 0%, #fff4b2 100%);
	margin: 40px 0 80px;
	clip-path: polygon(0 47%, 26.4% 47%, 26.4% 0, 73.6% 0, 73.6% 47%, 100% 47%, 50% 100%);
	opacity: 0;
	transform: translateY(40px);
	transition: opacity 0.8s ease, transform 0.8s ease;
}

.arrow.scroll-in {
	opacity: 1;
	transform: translateY(0);
}

/* 3safety */
.point_title h3 {
 	display: inline-flex;
 	align-items: center;
 	background: #ffd69d;
	font-size: 1.35em;
	border-radius: 10px;
	padding: 8px 20px 8px 1.6em;
	position: relative;
}

.point_title .icon {
	position: absolute;
	left: -1.2em;
	width: 60px;
	height: 60px;
	background: #ff9900;
	border-radius: 50%;
	border: 4px solid white;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 20px;
	color: white;
}

.point_title h3 .icon::before {
	content: "\f0eb";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 30px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

ul.threepoint {
	list-style: none;
}

ul.threepoint li {
	padding: 0;
	display: flex;
	align-items: center;
}

li div.pointcircle {
	position: relative;
	display: inline-block;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	border-bottom: solid 6px #dd7700;
	background: #ff9900;
	text-align: center;
	line-height: 100px;
	margin-left: 2em;
}

div.pointcircle span {
	position: absolute;
	display: inline-block;
	left: 0;
	top: 53%;
	transform: translateY(-50%);
	width: 100px;
	text-align: center;
	font-weight: 700;
	color: white;
}

div.pointtext {
	font-size: 0.96em;
	padding-left: 1.5em;
	margin-bottom: 0;
}

li:nth-of-type(n+2) div.pointtext {
	position: relative;
	padding-left: 1.5em;
}

li:nth-of-type(n+2) div.pointtext::before {
	content: "";
	position: absolute;
	left: 1.8em;
	width: calc(100% - 1.5em);
	height: 1px;
	background-color: rgba(144, 144, 144, 0.5);
}

@media screen and (max-width: 1140px) {
	div.large_imgnone {
		display: none;
	}
	.point_title h3 {
		padding: 8px 20px 8px 2em;
	}
	.row > .pointblocks {
	    flex: 0 0 100%;
	    width: 100%;
	    padding-left: 0;
	}
	 .pointblocks {
		max-width: 820px;
		margin: 0 auto;
	}
	ul.threepoint, div.pointtext {
		margin: 0;
	}
	li div.pointcircle {
		width: 80px;
		height: 80px;
	}
	div.pointcircle span {
		width: 80px;
	}
	li:nth-of-type(n+2) div.pointtext::before {
		width: calc(100% - 1.5em);
	}

}

/*///////////// Service /////*/
li div.pointtext p {
	margin: 1.5em 0 1.5em 1em;
}

div.row.gtr-150 {
	justify-content: space-between;
}
div.row.gtr-150 > div {
	padding: 40px 24px 20px;
}
div.newblock {
	background-color: lightyellow;
	justify-content: space-between;
	border-radius: 32px;
}

#service .row.gtr-150{
  margin-left: 0;
  justify-content: center;
  gap: 2rem;
}

#service .row.gtr-150 > *{
  padding-left: 0;
}

#service .row.gtr-150 > div{
  padding: 40px 24px 20px;  /* 既存 */
  box-sizing: border-box;
}


@media (min-width: 981px){
  #service .row.gtr-150 > div{
    flex: 0 1 calc(33.333% - 2rem);
  }
}

@media (max-width: 980px){
  #service .row.gtr-150{
    gap: 1.25rem;
  }
  #service .row.gtr-150 > div{
    flex: 0 1 100%;
  }
	#service .image.fit img{
    width: 50%;
	margin: 0 auto;
  }
}

@media (max-width: 480px){
	#service.main {
		padding: 4em 2em;
	}
}
div.newblock{
  background-color: lightyellow;
  border-radius: 32px;
}



/*///////////// Reason /////*/
#reason {
	background: rgba(144, 144, 144, 0.075);
	padding: 3em auto8em;
}

div.point7aria {
	background-color: lightyellow;
	border-radius: 32px;
	padding: 3em;
}
div.point7aria ul li {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-start;
	padding: 1.5em;
	background: #fffef5;
	margin: 0 auto 2em;
	box-sizing: border-box;
	gap: 1.5em;
}

.textarea {
	flex: 1 1 60%;
	min-width: 280px;
	padding: 0 0.7em;
}
.imagearea {
	flex: 0 0 320px;
	max-width: 320px;
}
.imagearea img {
	max-width: 100%;
	height: auto;
	display: block;
}

h3.marker {
	background-color: #fbeb64;
	padding-left: 1em;
}

@media screen and (max-width: 980px) {
	.textarea, .imagearea {
		flex: 1 1 100%;
		flex-direction: column;
		max-width: 100%;
	}
	.textarea {
		order: 2;
	}
	.imagearea {
		order: -1;
		smargin: 0 0 1em 0;
		width: 100%;
	}

  #reason .point7aria ul li{
    justify-content: center;    /* ← space-between を上書き */
    gap: clamp(1rem, 2.5vw, 1.5rem);
  }

  #reason .textarea{
    order: 2;
    flex: 1 1 0;
    min-width: 0; /* はみ出し防止のキモ */
    max-width: 40rem;
    margin: 0 auto;
    padding: 0 .7em;
  }

  #reason .imagearea{
    order: -1;
    flex: 0 1 auto;
    width: auto;
    max-width: 100%;
    margin: 0 auto 1em; /* 中央寄せ */
  }

  #reason .imagearea img{
    display: block;
    width: 100%;
    height: auto;
  }

  #reason .point7aria{
    padding: clamp(1.5rem, 3vw, 2.5rem);
  }
}

@media screen and (max-width: 480px) {
	#reason .row.aln-center{
		margin-left: 0;
	}
	#reason .row.aln-center > * {
		padding: 0　auto;
	}
	#reason {
		background: rgba(144, 144, 144, 0.075);
		padding: 3em auto8em;
	}

	#reason .point7aria{
		margin: 0 auto;
		/* max-width: 860px; */
	}

	#reason .textarea{
	  flex: 1 1 0;/* 余った幅を使いつつ必要なら縮む */
	  min-width: 0; /* 超重要！ */
	  padding: 0 .7em;
	}

	#reason .imagearea{
		flex: 0 0 clamp(260px, 28%, 320px);
	    max-width: 320px;
	    width: min(80%, 320px);
	}

	#reason .imagearea img{
		width: 100%;
		height: auto;
		display: block;
		}
	#reason .point7aria{
		padding: clamp(1.5rem, 3vw, 2.5rem);
	}

	#reason .point7aria ul li{
	  gap: clamp(1rem, 2.5vw, 1.5rem);
		padding: 0 auto;
	}

	#reason h3 {
		text-align: center;
	}
	div.point7aria ul{
		padding: 0;
	}
}



/*///////////// Compare /////*/
div.imageset {
	max-width: 100%;
}

/*///////////// Flow /////*/
#flow {
	background: rgba(144, 144, 144, 0.075);
}


p.supplement {
	font-size: 0.8em;
	line-height: 1.4em;
	text-align: left;
	margin: 1em 0 0 3em;
}

@media screen and (max-width: 480px) {
	#flow {
		padding-top: 2em;	
	}
	p.supplement {
		margin: 0 0.5em 5em;
	}
}

/*//////////////////////// Pricelist /////*/
.ryoukinpoint span {
	font-size: 1.4em;
	font-weight: 700;
	color: crimson;
}


/*//////////////////////// FAQ /////*/
.faq-cont ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.faq-cont ul li {
	border: 1px solid #ddd;
	border-radius: 12px;
	padding: 1.2em 2em;
	margin-bottom: 1.5em;
	background-color: #fff9dc; /* 1セット目：薄い黄色 */
}

@media screen and (max-width: 480px) {
	.faq-cont ul li {
		padding: 1.2em;
	}
}

/* 2セット目：薄いグレー */
.faq-cont ul li:nth-of-type(2n) {
	background-color: #f5f5f5;
}

/* Q / A ラベル */
.q-circle, .a-circle {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	font-weight: bold;
	font-size: 1em;
	color: #fff;
	flex-shrink: 0;
	margin: 0;
}
div.q-circle {
	background-color: #666;
	color: #fff;
}

div.a-circle {
	background-color: #ffac38;
	color: #000;
}
.faq-qa + .faq-qa {
	margin-top: 0.8em;
}


/* Q&Aテキストの行 */
.faq-qa {
  display: flex;
  align-items: flex-start;
  gap: 0.8em;
}

.faq-qa p {
  display: block;
  margin: 0;
  line-height: 2;
  text-align: left;
  flex: 1;
  min-width: 0;
}

/* 1) フォームの左右余白をスマホで小さく */
@media (max-width: 736px){
  .formarea{
    padding: 1.25rem;       /* 3em → 1.25rem などに圧縮 */
  }
  /* 2) カラムの左ガターも弱める（このセクションだけ） */
  #inquiry .row{ margin-left: -1rem; }
  #inquiry .row > *{ padding-left: 1rem; }

  /* 3) ラベルの固定幅を解除して縦積みに */
  .form-group{
    flex-direction: column;   /* 横並び → 縦並び */
    align-items: stretch;
    gap: .6rem;
  }
  .form-group label{
    width: 100%;              /* 200px をやめる */
    text-align: left;         /* 右寄せ→左寄せ（お好みで） */
  }
  .form-group .form-input,
  .form-group .form-control{
    width: 100%;
  }
	
	/* スマホ仕上げ（フォーム） */
	/* 角丸と内側余白を少しだけスリムに */
  #inquiry .formarea{
    padding: 1.25rem;
    border-radius: 20px;
  }

  /* 行間・縦並び・間隔の統一 */
  #inquiry .form-group{
    flex-direction: column;
    align-items: stretch;
    gap: .55rem;
    margin-bottom: 1.1rem;
  }

  /* ラベルは幅固定をやめて中央寄せ（はみ出し防止） */
  #inquiry .form-group label{
    width: auto;
    text-align: center;
    font-weight: 700;
  }

  /* 入力のタップ領域とフォントサイズ（iOSの勝手ズーム回避） */
  #inquiry .form-control{
    width: 100%;
    height: 44px;
    font-size: 16px;
  }
  textarea.form-control{
    min-height: 96px;
  }

  /* セレクト矢印の位置と余白（テキストと重ならないように） */
  #inquiry select.form-control{
    appearance: none;
    padding-right: 2.25rem;
    background-position: calc(100% - .8rem) center; /* 既存の data-URI をそのまま活用 */
  }

  /* 補足テキストは控えめに左寄せ */
  #inquiry .help-block{
    margin-top: .35rem;
    font-size: .8rem;
    text-align: left;
  }

  /* チェックボックスは1列にして揃える */
  #inquiry .question{
    grid-template-columns: 100%;
    row-gap: .45rem;
  }
}

}



/*------------------------------------------------------------------
  	[Form Control]
------------------------------------------------------------------*/
.form-group {
	display: flex;
	align-items: center;
	margin-bottom: 1.5em;
	gap: 1em;
	width: 100%;
}
.form-group label {
	width: 200px;
	text-align: right;
	font-weight: bold;
	font-size: 1em;
	line-height: 1.2em;
	flex-shrink: 0;
}
.form-input {
	flex: 1;
	min-width: 0;
}

.formarea {
	background-color: lightcyan;
	border-radius: 32px;
	padding: 3em;
}
.form-control {
	height: 40px;
	font-size: 1.1em;
	color: #515769;
	/*background: #fafafa;	初期値*/ 
}
.form-control:focus {
	color: #515769;
	box-shadow: none;
}
p.help-block {
	font-size: 13px;
	letter-spacing: 0;
}

.form-group label.control-label {
	line-height: 1.2em;
	white-space: normal;
}


/* checkbox */
.question {
	display: grid;
	grid-auto-flow: row;
	grid-template-columns: repeat(3, auto);
	column-gap: 2rem;
	row-gap: 0.35rem;
	align-items: center;
	font-size: 1rem;
	line-height: 1.2;
}

.question label {
	display: inline-flex;
	align-items: center;
	gap: 0.8em;
	line-height: 1.2;
	margin: 0;
	white-space: nowrap;
	font-size: inherit;

}

.question input[type="checkbox"] {
	appearance: auto !important;
	transform: scale(1.2);
	transform-origin: left center;
	margin: 0 .5em 0 0;
	vertical-align: middle;
	width: auto; height: auto;
}

.formarea .question input[type="checkbox"]{
  display: inline-block !important;
  width: 1.1em !important;
  height: 1.1em !important;

  margin: 0 .5em 0 0 !important;
  float: none !important;
  position: static !important;
  z-index: auto !important;
  opacity: 1 !important;

  box-shadow: none !important;
  transform: none;
}

/* ブレークポイント：タブレットで2列、スマホで1列に */
@media (max-width: 1140px) {
	.question {
		grid-template-columns: repeat(2, auto);
		row-gap: 0.4rem;
	}
}
@media (max-width: 980px) {
	.question {
		grid-template-columns: 100%;
		row-gap: 0.5rem;
	}
	.question label {
		white-space: normal;
	}
}


/* temp */
.temp input {
	line-height: 2em;
}

textarea.form-control {
	height: auto;
	min-height: 80px;
}

.help-block {
	margin-left: 0;
	font-size: 0.9em;
	color: #666;
	text-align:left;
}


/* 個人情報リンク */

/* 個人情報規約モーダル */
.privacy-modal {
	display: none;
	position: fixed;
	z-index: 1000;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0,0,0,0.6);
	padding: 2em;
	text-align: left;
	box-sizing: border-box;
}

/* 本文 */
.privacy-content {
	background: #fff;
	margin: auto;
	padding: 2em;
	border-radius: 8px;
	width: 90%;
	max-width: 720px;
	position: relative;
}

/* 閉じるボタン */
.close-privacy {
	position: absolute;
	top: 10px;
	right: 15px;
	font-size: 1.5em;
	cursor: pointer;
}

@media (min-width: 980px) {
	.privacy-content {
		max-width: 720px;
	}
}

/*//////////////////////// concept /////*/
.main.style2 {
	background-color: #333;
	color: rgba(255, 255, 255, 0.75);
	background-attachment: fixed, fixed;
	background-image: url("images/overlay1.png"), url("../../images/concept.jpg");
	background-size: auto, cover;
}

.main.style2 a {
	border-bottom-color: rgba(255, 255, 255, 0.5);
}

.main.style2 a:hover {
	color: #ffffff;
}

.main.style2 h1, .main.style2 h2, .main.style2 h3, .main.style2 h4, .main.style2 h5, .main.style2 h6, .main.style2 strong, .main.style2 b {
	color: #ffffff;
}

.main.style2 header p {
	color: #ffffff;
}

.main.style2 header.major:after {
	background: #ffffff;
}

.main.style2 .icon.major {
	color: #ffffff;
}

.plusone {
	font-size: 1.2em;
}

/*修正パッチ*/
/* 全画像はみ出し防止（ロゴ含む） */
img, svg { max-width: 100%; height: auto; }

/* ヘッダーロゴを可変に */
#header img.cilogo {
  width: clamp(180px, 60vw, 360px);
  max-width: 100%;
  height: auto;
}

/* 「3つの安心」内の入れ子 row をリセットして横はみ出しを防止 */
#worries .row .row { 
  margin-left: 0; 
  width: 100%;
}
#worries .row .row > * { 
  padding-left: 0; 
}

/* 比較・フローの画像を安全にフィットさせる（念のため） */
.imageset img { width: 100%; height: auto; display: block; }

/* 最終ガード（旧ブラウザ向け） */
html, body { overflow-x: clip; }
@supports not (overflow-x: clip) { html, body { overflow-x: hidden; }
}
