@import url(fontawesome-all.min.css);
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,600,700,300i,600i,700i|Raleway:600,800");

/*
	Paradigm Shift by HTML5 UP
	html5up.net | @ajlkn
	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/

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 {
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
}

/* Basic */

	@-ms-viewport {
		width: device-width;
	}

	body {
		-ms-overflow-style: scrollbar;
	}

	@media screen and (max-width: 480px) {

		html, body {
			min-width: 320px;
		}

	}

	html {
		box-sizing: border-box;
	}

	*, *:before, *:after {
		box-sizing: inherit;
	}

	html {
		overflow-x: hidden;
	}

	body {
    background: linear-gradient(
        to bottom,
        #59c0ed 0%,
        #4390bd 25%,
        #2d618c 50%,
        #16325c 75%,
        #00022b 100%
    );
		overflow-x: hidden;
	}

		body.is-preload *, body.is-preload *:before, body.is-preload *:after {
			-moz-animation: none !important;
			-webkit-animation: none !important;
			-ms-animation: none !important;
			animation: none !important;
			-moz-transition: none !important;
			-webkit-transition: none !important;
			-ms-transition: none !important;
			transition: none !important;
		}


/* Typography */

	html {
		font-size: 18pt;
	}

		@media screen and (max-width: 1920px) {

			html {
				font-size: 13pt;
			}

		}

		@media screen and (max-width: 1152px) {

			html {
				font-size: 14pt;
			}

		}

		@media screen and (max-width: 736px) {

			html {
				font-size: 12pt;
			}

		}

		@media screen and (max-width: 480px) {

			html {
				font-size: 11pt;
			}

		}

	body {
		color: #ffffff;
	}

	body, input, select, textarea {
		color: #ffffff;
		font-family:
		"Noto Sans JP",
        "Yu Gothic",
        "Hiragino Kaku Gothic ProN";
		font-size: 0.9rem;
		font-weight: 400;
		letter-spacing: 0.1em;
		line-height: 2;
	}

	a {
		-moz-transition: border-bottom-color 0.25s ease-in-out;
		-webkit-transition: border-bottom-color 0.25s ease-in-out;
		-ms-transition: border-bottom-color 0.25s ease-in-out;
		transition: border-bottom-color 0.25s ease-in-out;
		text-decoration: none;
		color: #ffffff;
		border-bottom: dotted 1px;
	}

		a:hover {
			text-decoration: none;
			border-bottom-color: transparent;
		}

	strong, b {
		font-size: 1.0rem;
		font-weight: 500;
		color: #ffffff;
	}

	em, i {
		font-style: italic;
	}

	p {
		margin: 0 0 2rem 0;
	}

	h1, h2, h3, h4, h5, h6 {
		color: #ffffff;
		font-family: "Raleway", Helvetica, sans-serif;
		font-weight: 800;
		letter-spacing: 0.175em;
		line-height: 1.75;
		margin: 0 0 1.5rem 0;
	}

		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
			color: inherit;
			text-decoration: none;
		}

	h1 {
		font-family: "Source Sans Pro", Helvetica, sans-serif;
		font-size: 5rem;
		font-weight: 700;
		letter-spacing: -0.05em;
		line-height: 1.1;
		margin: 0 0 1.5rem 0;
		text-transform: none;
	}

	h2 {
		font-size: 1.25rem;
		font-weight: 800;
		margin: 0 0 2rem 0;
	}

	h3 {
		font-size: 1.0rem;
	}

	h4 {
		font-size: 0.875rem;
	}

	h5 {
		font-size: 0.75rem;
	}

	h6 {
		font-size: 0.625rem;
	}

	@media screen and (max-width: 736px) {

		h1 {
			font-size: 4.5rem;
			line-height: 1.1;
		}

		h2 {
			font-size: 1.25rem;
			line-height: 1.7;
		}

		h3 {
			font-size: 1.1rem;
		}

		h4 {
			font-size: 0.75rem;
		}

		h5 {
			font-size: 0.675rem;
		}

	}

	@media screen and (max-width: 360px) {

		h1 {
			font-size: 3.75rem;
		}

		h2 {
			font-size: 1.125rem;
		}

		h3 {
			font-size: 1.0rem;
		}

		h4 {
			font-size: 0.675rem;
		}

		h5 {
			font-size: 0.675rem;
		}

	}

	sub {
		font-size: 0.8rem;
		position: relative;
		top: 0.5rem;
	}

	sup {
		font-size: 0.8rem;
		position: relative;
		top: -0.5rem;
	}

	blockquote {
		border-left: solid 0.5rem rgba(144, 144, 144, 0.25);
		font-style: italic;
		margin: 0 0 2rem 0;
		padding: 1rem 0 1rem 2rem;
	}

	code {
		background: rgba(144, 144, 144, 0.1);
		border-radius: 0.325rem;
		font-family: "Courier New", monospace;
		font-size: 0.9rem;
		margin: 0 0.25rem;
		padding: 0.25rem 0.65rem;
	}

	pre {
		-webkit-overflow-scrolling: touch;
		font-family: "Courier New", monospace;
		font-size: 0.9rem;
		margin: 0 0 2rem 0;
		width: 100%;
	}

		pre code {
			display: block;
			line-height: 1.75;
			padding: 1rem 1.5rem;
			overflow-x: auto;
		}

	hr {
		border: 0;
		border-bottom: solid 2px rgba(144, 144, 144, 0.25);
		margin: 3rem 0;
	}

		hr.major {
			margin: 5rem 0;
		}

		@media screen and (max-width: 736px) {

			hr.major {
				margin: 3rem 0;
			}

		}

/* 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: 0rem;
		}

			.row.gtr-0 > * {
				padding: 0 0 0 0rem;
			}

			.row.gtr-0.gtr-uniform {
				margin-top: 0rem;
			}

				.row.gtr-0.gtr-uniform > * {
					padding-top: 0rem;
				}

		.row.gtr-25 {
			margin-top: 0;
			margin-left: -0.5rem;
		}

			.row.gtr-25 > * {
				padding: 0 0 0 0.5rem;
			}

			.row.gtr-25.gtr-uniform {
				margin-top: -0.5rem;
			}

				.row.gtr-25.gtr-uniform > * {
					padding-top: 0.5rem;
				}

		.row.gtr-50 {
			margin-top: 0;
			margin-left: -1rem;
		}

			.row.gtr-50 > * {
				padding: 0 0 0 1rem;
			}

			.row.gtr-50.gtr-uniform {
				margin-top: -1rem;
			}

				.row.gtr-50.gtr-uniform > * {
					padding-top: 1rem;
				}

		.row {
			margin-top: 0;
			margin-left: -2rem;
		}

			.row > * {
				padding: 0 0 0 2rem;
			}

			.row.gtr-uniform {
				margin-top: -2rem;
			}

				.row.gtr-uniform > * {
					padding-top: 2rem;
				}

		.row.gtr-150 {
			margin-top: 0;
			margin-left: -3rem;
		}

			.row.gtr-150 > * {
				padding: 0 0 0 3rem;
			}

			.row.gtr-150.gtr-uniform {
				margin-top: -3rem;
			}

				.row.gtr-150.gtr-uniform > * {
					padding-top: 3rem;
				}

		.row.gtr-200 {
			margin-top: 0;
			margin-left: -4rem;
		}

			.row.gtr-200 > * {
				padding: 0 0 0 4rem;
			}

			.row.gtr-200.gtr-uniform {
				margin-top: -4rem;
			}

				.row.gtr-200.gtr-uniform > * {
					padding-top: 4rem;
				}

		@media screen and (max-width: 1920px) {

			.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: 0rem;
				}

					.row.gtr-0 > * {
						padding: 0 0 0 0rem;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0rem;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0rem;
						}

				.row.gtr-25 {
					margin-top: 0;
					margin-left: -0.5rem;
				}

					.row.gtr-25 > * {
						padding: 0 0 0 0.5rem;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -0.5rem;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 0.5rem;
						}

				.row.gtr-50 {
					margin-top: 0;
					margin-left: -1rem;
				}

					.row.gtr-50 > * {
						padding: 0 0 0 1rem;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -1rem;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 1rem;
						}

				.row {
					margin-top: 0;
					margin-left: -2rem;
				}

					.row > * {
						padding: 0 0 0 2rem;
					}

					.row.gtr-uniform {
						margin-top: -2rem;
					}

						.row.gtr-uniform > * {
							padding-top: 2rem;
						}

				.row.gtr-150 {
					margin-top: 0;
					margin-left: -3rem;
				}

					.row.gtr-150 > * {
						padding: 0 0 0 3rem;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -3rem;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 3rem;
						}

				.row.gtr-200 {
					margin-top: 0;
					margin-left: -4rem;
				}

					.row.gtr-200 > * {
						padding: 0 0 0 4rem;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -4rem;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 4rem;
						}

		}

		@media screen and (max-width: 1280px) {

			.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: 0rem;
				}

					.row.gtr-0 > * {
						padding: 0 0 0 0rem;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0rem;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0rem;
						}

				.row.gtr-25 {
					margin-top: 0;
					margin-left: -0.375rem;
				}

					.row.gtr-25 > * {
						padding: 0 0 0 0.375rem;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -0.375rem;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 0.375rem;
						}

				.row.gtr-50 {
					margin-top: 0;
					margin-left: -0.75rem;
				}

					.row.gtr-50 > * {
						padding: 0 0 0 0.75rem;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -0.75rem;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 0.75rem;
						}

				.row {
					margin-top: 0;
					margin-left: -1.5rem;
				}

					.row > * {
						padding: 0 0 0 1.5rem;
					}

					.row.gtr-uniform {
						margin-top: -1.5rem;
					}

						.row.gtr-uniform > * {
							padding-top: 1.5rem;
						}

				.row.gtr-150 {
					margin-top: 0;
					margin-left: -2.25rem;
				}

					.row.gtr-150 > * {
						padding: 0 0 0 2.25rem;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -2.25rem;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 2.25rem;
						}

				.row.gtr-200 {
					margin-top: 0;
					margin-left: -3rem;
				}

					.row.gtr-200 > * {
						padding: 0 0 0 3rem;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -3rem;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 3rem;
						}

		}

		@media screen and (max-width: 1152px) {

			.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: 0rem;
				}

					.row.gtr-0 > * {
						padding: 0 0 0 0rem;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0rem;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0rem;
						}

				.row.gtr-25 {
					margin-top: 0;
					margin-left: -0.375rem;
				}

					.row.gtr-25 > * {
						padding: 0 0 0 0.375rem;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -0.375rem;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 0.375rem;
						}

				.row.gtr-50 {
					margin-top: 0;
					margin-left: -0.75rem;
				}

					.row.gtr-50 > * {
						padding: 0 0 0 0.75rem;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -0.75rem;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 0.75rem;
						}

				.row {
					margin-top: 0;
					margin-left: -1.5rem;
				}

					.row > * {
						padding: 0 0 0 1.5rem;
					}

					.row.gtr-uniform {
						margin-top: -1.5rem;
					}

						.row.gtr-uniform > * {
							padding-top: 1.5rem;
						}

				.row.gtr-150 {
					margin-top: 0;
					margin-left: -2.25rem;
				}

					.row.gtr-150 > * {
						padding: 0 0 0 2.25rem;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -2.25rem;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 2.25rem;
						}

				.row.gtr-200 {
					margin-top: 0;
					margin-left: -3rem;
				}

					.row.gtr-200 > * {
						padding: 0 0 0 3rem;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -3rem;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 3rem;
						}

		}

		@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: 0rem;
				}

					.row.gtr-0 > * {
						padding: 0 0 0 0rem;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0rem;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0rem;
						}

				.row.gtr-25 {
					margin-top: 0;
					margin-left: -0.3125rem;
				}

					.row.gtr-25 > * {
						padding: 0 0 0 0.3125rem;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -0.3125rem;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 0.3125rem;
						}

				.row.gtr-50 {
					margin-top: 0;
					margin-left: -0.625rem;
				}

					.row.gtr-50 > * {
						padding: 0 0 0 0.625rem;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -0.625rem;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 0.625rem;
						}

				.row {
					margin-top: 0;
					margin-left: -1.25rem;
				}

					.row > * {
						padding: 0 0 0 1.25rem;
					}

					.row.gtr-uniform {
						margin-top: -1.25rem;
					}

						.row.gtr-uniform > * {
							padding-top: 1.25rem;
						}

				.row.gtr-150 {
					margin-top: 0;
					margin-left: -1.875rem;
				}

					.row.gtr-150 > * {
						padding: 0 0 0 1.875rem;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -1.875rem;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 1.875rem;
						}

				.row.gtr-200 {
					margin-top: 0;
					margin-left: -2.5rem;
				}

					.row.gtr-200 > * {
						padding: 0 0 0 2.5rem;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -2.5rem;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 2.5rem;
						}

		}

		@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: 0rem;
				}

					.row.gtr-0 > * {
						padding: 0 0 0 0rem;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0rem;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0rem;
						}

				.row.gtr-25 {
					margin-top: 0;
					margin-left: -0.3125rem;
				}

					.row.gtr-25 > * {
						padding: 0 0 0 0.3125rem;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -0.3125rem;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 0.3125rem;
						}

				.row.gtr-50 {
					margin-top: 0;
					margin-left: -0.625rem;
				}

					.row.gtr-50 > * {
						padding: 0 0 0 0.625rem;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -0.625rem;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 0.625rem;
						}

				.row {
					margin-top: 0;
					margin-left: -1.25rem;
				}

					.row > * {
						padding: 0 0 0 1.25rem;
					}

					.row.gtr-uniform {
						margin-top: -1.25rem;
					}

						.row.gtr-uniform > * {
							padding-top: 1.25rem;
						}

				.row.gtr-150 {
					margin-top: 0;
					margin-left: -1.875rem;
				}

					.row.gtr-150 > * {
						padding: 0 0 0 1.875rem;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -1.875rem;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 1.875rem;
						}

				.row.gtr-200 {
					margin-top: 0;
					margin-left: -2.5rem;
				}

					.row.gtr-200 > * {
						padding: 0 0 0 2.5rem;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -2.5rem;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 2.5rem;
						}

		}

/* Box */

	.box {
		border: solid 2px rgba(144, 144, 144, 0.25);
		border-radius: 0.325rem;
		margin-bottom: 2rem;
		padding: 1.5rem;
	}

		.box > :last-child {
			margin-bottom: 0;
		}

		.box.alt {
			border: 0;
			border-radius: 0;
			padding: 0;
		}

/* Button */

	input[type="submit"],
	input[type="reset"],
	input[type="button"],
	button,
	.button {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		-moz-transition: background-color 0.25s ease-in-out, box-shadow 0.25s ease-in-out, color 0.25s ease-in-out;
		-webkit-transition: background-color 0.25s ease-in-out, box-shadow 0.25s ease-in-out, color 0.25s ease-in-out;
		-ms-transition: background-color 0.25s ease-in-out, box-shadow 0.25s ease-in-out, color 0.25s ease-in-out;
		transition: background-color 0.25s ease-in-out, box-shadow 0.25s ease-in-out, color 0.25s ease-in-out;
		background-color: #002855;
		border-radius: 0.325rem;
		border: 0;
		box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0);
		color: #ffffff !important;
		cursor: pointer;
		display: inline-block;
		font-family: "Raleway", Helvetica, sans-serif;
		font-size: 1.0rem;
		font-weight: 600;
		height: 3rem;
		letter-spacing: 0.175em;
		line-height: 3rem;
		padding: 0 2rem;
		text-align: center;
		text-decoration: none;
		text-transform: uppercase;
		white-space: nowrap;
	}

		input[type="submit"]:hover,
		input[type="reset"]:hover,
		input[type="button"]:hover,
		button:hover,
		.button:hover {
			background-color: #ffffff;
			box-shadow: inset 0 0 0 2px #ffffff00;
			color: #002855 !important;
		}

		input[type="submit"]:active,
		input[type="reset"]:active,
		input[type="button"]:active,
		button:active,
		.button:active {
			background-color: #002855;
			color: #ffffff !important;
		}

		input[type="submit"].small,
		input[type="reset"].small,
		input[type="button"].small,
		button.small,
		.button.small {
			font-size: 0.5rem;
			height: 2.25rem;
			line-height: 2.25rem;
			padding: 0 1.25rem;
		}

		input[type="submit"].large,
		input[type="reset"].large,
		input[type="button"].large,
		button.large,
		.button.large {
			font-size: 1.2rem;
			height: 3.2625rem;
			line-height: 3.2625rem;
			padding: 0 3.25rem;
  			background-color: #ffffff;
  			color: #002855 !important;
		}
			.button.large:hover {
			background-color: #002855;
			color: #ffffff !important;
		}

		input[type="submit"].wide,
		input[type="reset"].wide,
		input[type="button"].wide,
		button.wide,
		.button.wide {
			min-width: 13rem;
		}

		input[type="submit"].icon:before,
		input[type="reset"].icon:before,
		input[type="button"].icon:before,
		button.icon:before,
		.button.icon:before {
			margin-right: 0.5rem;
		}

		input[type="submit"].fit,
		input[type="reset"].fit,
		input[type="button"].fit,
		button.fit,
		.button.fit {
			width: 100%;
		}

		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 {
			pointer-events: none;
			opacity: 0.25;
		}

		input[type="submit"].primary,
		input[type="reset"].primary,
		input[type="button"].primary,
		button.primary,
		.button.primary {
			background-color: #ffffff;
			box-shadow: none;
			color: #000000 !important;
		}

			input[type="submit"].primary:hover,
			input[type="reset"].primary:hover,
			input[type="button"].primary:hover,
			button.primary:hover,
			.button.primary:hover {
				background-color: #3ea5d2;
			}

			input[type="submit"].primary:active,
			input[type="reset"].primary:active,
			input[type="button"].primary:active,
			button.primary:active,
			.button.primary:active {
				background-color: #3ea5d2;
			}

		@media screen and (max-width: 736px) {

			input[type="submit"],
			input[type="reset"],
			input[type="button"],
			button,
			.button {
				font-size: 1.0rem;
				height: 3.3rem;
				line-height: 3.3rem;
			}

				input[type="submit"].large,
				input[type="reset"].large,
				input[type="button"].large,
				button.large,
				.button.large {
					font-size: 1.0rem;
					height: 3.75rem;
					line-height: 3.75rem;
				}

				input[type="submit"].small,
				input[type="reset"].small,
				input[type="button"].small,
				button.small,
				.button.small {
					font-size: 0.6rem;
					height: 3rem;
					line-height: 3rem;
				}

		}

/* Form */

	form {
		margin: 0 0 2rem 0;
	}

		form > :last-child {
			margin-bottom: 0;
		}

		form > .fields {
			display: -moz-flex;
			display: -webkit-flex;
			display: -ms-flex;
			display: flex;
			-moz-flex-wrap: wrap;
			-webkit-flex-wrap: wrap;
			-ms-flex-wrap: wrap;
			flex-wrap: wrap;
			margin: -2rem 0 2rem -2rem;
			width: calc(100% + 4rem);
		}

			form > .fields > .field {
				-moz-flex-grow: 0;
				-webkit-flex-grow: 0;
				-ms-flex-grow: 0;
				flex-grow: 0;
				-moz-flex-shrink: 0;
				-webkit-flex-shrink: 0;
				-ms-flex-shrink: 0;
				flex-shrink: 0;
				padding: 2rem 0 0 2rem;
				width: calc(100% - 2rem);
			}

				form > .fields > .field > :last-child {
					margin-bottom: 0;
				}

				form > .fields > .field.half {
					width: calc(50% - 1rem);
				}

				form > .fields > .field.third {
					width: calc(100%/3 - 0.66667rem);
				}

				form > .fields > .field.quarter {
					width: calc(25% - 0.5rem);
				}

		@media screen and (max-width: 480px) {

			form > .fields {
				margin: -1.5rem 0 2rem -1.5rem;
				width: calc(100% + 3rem);
			}

				form > .fields > .field {
					padding: 1.5rem 0 0 1.5rem;
					width: calc(100% - 1.5rem);
				}

					form > .fields > .field.half {
						width: calc(100% - 1.5rem);
					}

					form > .fields > .field.third {
						width: calc(100% - 1.5rem);
					}

					form > .fields > .field.quarter {
						width: calc(100% - 1.5rem);
					}

		}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	input[type="tel"],
	input[type="search"],
	input[type="url"],
	select,
	textarea {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		border-radius: 0.325rem;
		border: solid 2px rgba(144, 144, 144, 0.25);
		color: inherit;
		display: block;
		outline: 0;
		padding: 0 1rem;
		text-decoration: none;
		width: 100%;
	}

		input[type="text"]:invalid,
		input[type="password"]:invalid,
		input[type="email"]:invalid,
		input[type="tel"]:invalid,
		input[type="search"]:invalid,
		input[type="url"]:invalid,
		select:invalid,
		textarea:invalid {
			box-shadow: none;
		}

		input[type="text"]:focus,
		input[type="password"]:focus,
		input[type="email"]:focus,
		input[type="tel"]:focus,
		input[type="search"]:focus,
		input[type="url"]:focus,
		select:focus,
		textarea:focus {
			border-color: #3ea5d2;
		}

	label {
		color: #000000;
		display: block;
		font-family: "Raleway", Helvetica, sans-serif;
		font-size: 0.75rem;
		font-weight: 600;
		letter-spacing: 0.175em;
		line-height: 1.75;
		margin: 0 0 1rem 0;
		text-transform: uppercase;
	}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	input[type="tel"],
	input[type="search"],
	input[type="url"] {
		height: 3rem;
	}

	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.25)' /%3E%3C/svg%3E");
		background-position: calc(100% - 1rem) center;
		background-repeat: no-repeat;
		background-size: 1.25rem;
		height: 3rem;
		padding-right: 3rem;
		text-overflow: ellipsis;
	}

		select option {
			background-color: #ffffff;
			color: #000000;
		}

		select:focus::-ms-value {
			background-color: transparent;
		}

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

	textarea {
		padding: 0.75rem 1rem;
	}

	input[type="checkbox"],
	input[type="radio"] {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		display: block;
		float: left;
		margin-right: -2rem;
		opacity: 0;
		width: 1rem;
		z-index: -1;
	}

		input[type="checkbox"] + label,
		input[type="radio"] + label {
			text-decoration: none;
			color: #000000;
			cursor: pointer;
			display: inline-block;
			font-family: "Source Sans Pro", Helvetica, sans-serif;
			font-size: 1rem;
			font-weight: 300;
			letter-spacing: 0.0375em;
			padding-left: 2.675rem;
			padding-right: 0.875rem;
			position: relative;
			text-transform: none;
		}

			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 {
				border-radius: 0.325rem;
				border: solid 2px rgba(144, 144, 144, 0.25);
				content: '';
				display: inline-block;
				font-size: 0.8rem;
				height: 2.25rem;
				left: 0;
				line-height: 2.25rem;
				position: absolute;
				text-align: center;
				top: -0.15rem;
				width: 2.25rem;
			}

		input[type="checkbox"]:checked + label:before,
		input[type="radio"]:checked + label:before {
			content: '\f00c';
			background-color: #ff671e;
			border-color: #ff671e;
			color: #ffffff;
		}

		input[type="checkbox"]:focus + label:before,
		input[type="radio"]:focus + label:before {
			border-color: #ff671e;
			box-shadow: 0 0 0 1px #ff671e;
		}

	input[type="checkbox"] + label:before {
		border-radius: 0.325rem;
	}

	input[type="radio"] + label:before {
		border-radius: 100%;
	}

	::-webkit-input-placeholder {
		opacity: 1.0;
		color: rgba(0, 0, 0, 0.25) !important;
	}

	:-moz-placeholder {
		opacity: 1.0;
		color: rgba(0, 0, 0, 0.25) !important;
	}

	::-moz-placeholder {
		opacity: 1.0;
		color: rgba(0, 0, 0, 0.25) !important;
	}

	:-ms-input-placeholder {
		opacity: 1.0;
		color: rgba(0, 0, 0, 0.25) !important;
	}

	@media screen and (max-width: 736px) {

		label {
			font-size: 0.675rem;
		}

		input[type="checkbox"] + label,
		input[type="radio"] + label {
			font-size: 1rem;
		}

	}

	@media screen and (max-width: 360px) {

		label {
			font-size: 0.675rem;
		}

		input[type="checkbox"] + label,
		input[type="radio"] + label {
			font-size: 1rem;
		}

	}

/* Icon */

	.icon {
		text-decoration: none;
		border-bottom: none;
		position: relative;
	}

		.icon: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: 200;
		margin-right: 0.3rem;
		}

		.icon > .label {
			display: none;
		}

		.icon.solid:before {
			font-weight: 800;
		}

		.icon.brands:before {
			font-family: 'Font Awesome 5 Brands';
		}

/* Image */

	.image {
		border: 0;
		display: inline-block;
		position: relative;
	}

		.image img {
			display: block;
		}

		.image[data-position] img {
			-moz-object-fit: cover;
			-webkit-object-fit: cover;
			-ms-object-fit: cover;
			object-fit: cover;
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
		}

		.image[data-position="top left"] img {
			-moz-object-position: top left;
			-webkit-object-position: top left;
			-ms-object-position: top left;
			object-position: top left;
		}

		.image[data-position="top"] img {
			-moz-object-position: top;
			-webkit-object-position: top;
			-ms-object-position: top;
			object-position: top;
		}

		.image[data-position="top right"] img {
			-moz-object-position: top right;
			-webkit-object-position: top right;
			-ms-object-position: top right;
			object-position: top right;
		}

		.image[data-position="right"] img {
			-moz-object-position: right;
			-webkit-object-position: right;
			-ms-object-position: right;
			object-position: right;
		}

		.image[data-position="bottom right"] img {
			-moz-object-position: bottom right;
			-webkit-object-position: bottom right;
			-ms-object-position: bottom right;
			object-position: bottom right;
		}

		.image[data-position="bottom"] img {
			-moz-object-position: bottom;
			-webkit-object-position: bottom;
			-ms-object-position: bottom;
			object-position: bottom;
		}

		.image[data-position="bottom left"] img {
			-moz-object-position: bottom left;
			-webkit-object-position: bottom left;
			-ms-object-position: bottom left;
			object-position: bottom left;
		}

		.image[data-position="left"] img {
			-moz-object-position: left;
			-webkit-object-position: left;
			-ms-object-position: left;
			object-position: left;
		}

		.image[data-position="center"] img {
			-moz-object-position: center;
			-webkit-object-position: center;
			-ms-object-position: center;
			object-position: center;
		}

		.image[data-position="25% 25%"] img {
			-moz-object-position: 25% 25%;
			-webkit-object-position: 25% 25%;
			-ms-object-position: 25% 25%;
			object-position: 25% 25%;
		}

		.image[data-position="75% 25%"] img {
			-moz-object-position: 75% 25%;
			-webkit-object-position: 75% 25%;
			-ms-object-position: 75% 25%;
			object-position: 75% 25%;
		}

		.image[data-position="75% 75%"] img {
			-moz-object-position: 75% 75%;
			-webkit-object-position: 75% 75%;
			-ms-object-position: 75% 75%;
			object-position: 75% 75%;
		}

		.image[data-position="25% 75%"] img {
			-moz-object-position: 25% 75%;
			-webkit-object-position: 25% 75%;
			-ms-object-position: 25% 75%;
			object-position: 25% 75%;
		}

		.image.left, .image.right {
			max-width: 40%;
		}

			.image.left img, .image.right img {
				width: 100%;
			}

		.image.left {
			float: left;
			margin: 0 2rem 2rem 0;
			top: 0.25rem;
		}

		.image.right {
			float: right;
			margin: 0 0 2rem 2rem;
			top: 0.25rem;
		}

		.image.fit {
			display: block;
			margin: 0 0 2rem 0;
			width: 100%;
		}

			.image.fit img {
				width: 100%;
			}

		.image.main {
			display: block;
			margin: 3rem 0;
			width: 100%;
		}

			.image.main img {
				width: 100%;
			}

			.image.main:first-child {
				margin-top: 0;
			}

		.image.fill {
			height: 100%;
			left: 0;
			position: absolute;
			top: 0;
			width: 100%;
		}

			.image.fill img {
				height: 100%;
				left: 0;
				position: absolute;
				top: 0;
				width: 100%;
			}

/* List */

	ol {
		list-style: decimal;
		margin: 0 0 2rem 0;
		padding-left: 1.25rem;
	}

		ol li {
			padding-left: 0.25rem;
		}

	ul {
		list-style: disc;
		margin: 0 0 2rem 0;
		padding-left: 1rem;
	}

		ul li {
			padding-left: 0.325rem;
		}

		ul.alt {
			list-style: none;
			padding-left: 0;
		}

			ul.alt > li {
				border-top: solid 1px rgba(144, 144, 144, 0.25);
				padding: 0.75rem 0;
			}

				ul.alt > li:first-child {
					border-top: 0;
					padding-top: 0;
				}

				ul.alt > li:last-child {
					padding-bottom: 0;
				}

		ul.items {
			list-style: none;
			padding-left: 0;
		}

			ul.items > li {
				padding-left: 0;
				margin: 0 0 3rem 0;
			}

				ul.items > li > h3 {
					margin: 0 0 1rem 0;
				}

				ul.items > li > :last-child {
					margin-bottom: 0;
				}

				ul.items > li:last-child {
					margin-bottom: 0;
				}

		@media screen and (max-width: 736px) {

			ul.items > li {
				margin: 0 0 2rem 0;
			}

		}

	dl {
		margin: 0 0 2rem 0;
	}

		dl dt {
			display: block;
			font-weight: 600;
			margin: 0 0 1rem 0;
		}

		dl dd {
			margin-left: 1.5rem;
		}

/* Actions */

	ul.actions {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		cursor: default;
		list-style: none;
		margin-left: -1rem;
		padding-left: 0;
	}

		ul.actions li {
			padding: 0 0 0 1rem;
			vertical-align: middle;
		}

		ul.actions.special {
			-moz-justify-content: center;
			-webkit-justify-content: center;
			-ms-justify-content: center;
			justify-content: center;
			width: 100%;
			margin-left: 0;
		}

			ul.actions.special li:first-child {
				padding-left: 0;
			}

		ul.actions.stacked {
			-moz-flex-direction: column;
			-webkit-flex-direction: column;
			-ms-flex-direction: column;
			flex-direction: column;
			margin-left: 0;
		}

			ul.actions.stacked li {
				padding: 1.3rem 0 0 0;
			}

				ul.actions.stacked li:first-child {
					padding-top: 0;
				}

		ul.actions.fit {
			width: calc(100% + 1rem);
		}

			ul.actions.fit li {
				-moz-flex-grow: 1;
				-webkit-flex-grow: 1;
				-ms-flex-grow: 1;
				flex-grow: 1;
				-moz-flex-shrink: 1;
				-webkit-flex-shrink: 1;
				-ms-flex-shrink: 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) {
				-moz-flex-direction: column;
				-webkit-flex-direction: column;
				-ms-flex-direction: column;
				flex-direction: column;
				margin-left: 0;
				width: 100% !important;
			}

				ul.actions:not(.fixed) li {
					-moz-flex-grow: 1;
					-webkit-flex-grow: 1;
					-ms-flex-grow: 1;
					flex-grow: 1;
					-moz-flex-shrink: 1;
					-webkit-flex-shrink: 1;
					-ms-flex-shrink: 1;
					flex-shrink: 1;
					padding: 1rem 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.5rem;
						}

		}

/* Icons */

	ul.icons {
		cursor: default;
		list-style: none;
		padding-left: 0;
	}

		ul.icons li {
			display: inline-block;
		}

			ul.icons li:last-child {
				padding-right: 0;
			}

			ul.icons li .icon {
				-moz-transition: background-color 0.25s ease-in-out;
				-webkit-transition: background-color 0.25s ease-in-out;
				-ms-transition: background-color 0.25s ease-in-out;
				transition: background-color 0.25s ease-in-out;
				width: 2.25rem;
				height: 2.25rem;
				text-align: center;
				line-height: 2.25rem;
				border-radius: 2.25rem;
				display: inline-block;
			}

				ul.icons li .icon:before {
					font-size: 1.25rem;
				}

				ul.icons li .icon:hover {
					background-color: rgba(144, 144, 144, 0.1);
				}

/* Table */

	.table-wrapper {
		-webkit-overflow-scrolling: touch;
		overflow-x: auto;
	}

	table {
		margin: 0 0 2rem 0;
		width: 100%;
	}

		table tbody tr {
			border: solid 1px rgba(144, 144, 144, 0.25);
			border-left: 0;
			border-right: 0;
		}

			table tbody tr:nth-child(2n + 1) {
				background-color: rgba(144, 144, 144, 0.1);
			}

		table td {
			padding: 0.75rem 0.75rem;
		}

		table th {
			color: #000000;
			font-size: 0.9rem;
			font-weight: 600;
			padding: 0 0.75rem 0.75rem 0.75rem;
			text-align: left;
		}

		table thead {
			border-bottom: solid 2px rgba(144, 144, 144, 0.25);
		}

		table tfoot {
			border-top: solid 2px rgba(144, 144, 144, 0.25);
		}

		table.alt {
			border-collapse: separate;
		}

			table.alt tbody tr td {
				border: solid 1px rgba(144, 144, 144, 0.25);
				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;
			}

/* Arrow */

	a.arrow {
		border-bottom: 0;
		display: inline-block;
		height: 4rem;
		position: relative;
		width: 6rem;
	}

		a.arrow .label {
			display: none;
		}

		a.arrow:before {
			background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 512 512'%3E%3Cpath d='M442.53,346.28L293.65,495.16c-0.33,0.33-0.7,0.62-1.05,0.94c-9.16,9.77-22.15,15.9-36.6,15.9 c-14.44,0-27.43-6.13-36.59-15.88c-0.35-0.33-0.72-0.62-1.06-0.96L69.47,346.28c-19.62-19.62-19.62-51.44,0-71.05 c19.62-19.62,51.43-19.62,71.06,0l65.23,65.23V50.24C205.76,22.5,228.25,0,256,0s50.24,22.5,50.24,50.24v290.21l65.23-65.23 c19.62-19.62,51.43-19.62,71.05,0C462.15,294.84,462.15,326.66,442.53,346.28z' fill='%23000000' /%3E%3C/svg%3E");
			background-position: center;
			background-repeat: no-repeat;
			background-size: contain;
			content: '';
			display: inline-block;
			height: 100%;
			position: relative;
			width: 3rem;
		}


/* Gallery */

	@-moz-keyframes gallery-modal-spinner {
		0% {
			-moz-transform: rotate(0deg);
			-webkit-transform: rotate(0deg);
			-ms-transform: rotate(0deg);
			transform: rotate(0deg);
		}

		100% {
			-moz-transform: rotate(360deg);
			-webkit-transform: rotate(360deg);
			-ms-transform: rotate(360deg);
			transform: rotate(360deg);
		}
	}

	@-webkit-keyframes gallery-modal-spinner {
		0% {
			-moz-transform: rotate(0deg);
			-webkit-transform: rotate(0deg);
			-ms-transform: rotate(0deg);
			transform: rotate(0deg);
		}

		100% {
			-moz-transform: rotate(360deg);
			-webkit-transform: rotate(360deg);
			-ms-transform: rotate(360deg);
			transform: rotate(360deg);
		}
	}

	@-ms-keyframes gallery-modal-spinner {
		0% {
			-moz-transform: rotate(0deg);
			-webkit-transform: rotate(0deg);
			-ms-transform: rotate(0deg);
			transform: rotate(0deg);
		}

		100% {
			-moz-transform: rotate(360deg);
			-webkit-transform: rotate(360deg);
			-ms-transform: rotate(360deg);
			transform: rotate(360deg);
		}
	}

	@keyframes gallery-modal-spinner {
		0% {
			-moz-transform: rotate(0deg);
			-webkit-transform: rotate(0deg);
			-ms-transform: rotate(0deg);
			transform: rotate(0deg);
		}

		100% {
			-moz-transform: rotate(360deg);
			-webkit-transform: rotate(360deg);
			-ms-transform: rotate(360deg);
			transform: rotate(360deg);
		}
	}

	.gallery {
		display: flex;
		flex-wrap: wrap;
		margin: -1.25rem 0 0 -1.25rem;
		width: calc(100% + 1.25rem);
	}

		.gallery a {
			border-bottom: 0;
			display: block;
			margin: 1.25rem 0 0 1.25rem;
			outline: 0;
			position: relative;
			width: calc(50% - 1.25rem);
		}

			.gallery a img {
				display: block;
				height: 25vw;
				min-height: 18rem;
				object-fit: cover;
				object-position: center;
				width: 100%;
			}

			.gallery a.landscape {
				width: 100%;
			}

				.gallery a.landscape img {
					height: 25vw;
				}

			.gallery a.portrait img {
				height: 25vw;
			}

		.gallery .modal {
			display: -moz-flex;
			display: -webkit-flex;
			display: -ms-flex;
			display: flex;
			-moz-align-items: center;
			-webkit-align-items: center;
			-ms-align-items: center;
			align-items: center;
			-moz-justify-content: center;
			-webkit-justify-content: center;
			-ms-justify-content: center;
			justify-content: center;
			pointer-events: none;
			-moz-user-select: none;
			-webkit-user-select: none;
			-ms-user-select: none;
			user-select: none;
			-moz-transition: opacity 0.5s ease, visibility 0.5s, z-index 0.5s;
			-webkit-transition: opacity 0.5s ease, visibility 0.5s, z-index 0.5s;
			-ms-transition: opacity 0.5s ease, visibility 0.5s, z-index 0.5s;
			transition: opacity 0.5s ease, visibility 0.5s, z-index 0.5s;
			-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
			background-color: rgba(255, 255, 255, 0.875);
			height: 100%;
			left: 0;
			opacity: 0;
			outline: 0;
			position: fixed;
			top: 0;
			visibility: none;
			width: 100%;
			z-index: 0;
		}

			.gallery .modal:before {
				-moz-animation: gallery-modal-spinner 1s infinite linear;
				-webkit-animation: gallery-modal-spinner 1s infinite linear;
				-ms-animation: gallery-modal-spinner 1s infinite linear;
				animation: gallery-modal-spinner 1s infinite linear;
				-moz-transition: opacity 0.25s ease;
				-webkit-transition: opacity 0.25s ease;
				-ms-transition: opacity 0.25s ease;
				transition: opacity 0.25s ease;
				-moz-transition-delay: 0.5s;
				-webkit-transition-delay: 0.5s;
				-ms-transition-delay: 0.5s;
				transition-delay: 0.5s;
				background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='96px' height='96px' viewBox='0 0 96 96' zoomAndPan='disable'%3E%3Cstyle%3Ecircle %7Bfill: transparent%3B stroke: %23000000%3B stroke-width: 2px%3B %7D%3C/style%3E%3Cdefs%3E%3CclipPath id='corner'%3E%3Cpolygon points='0,0 48,0 48,48 96,48 96,96 0,96' /%3E%3C/clipPath%3E%3C/defs%3E%3Cg clip-path='url(%23corner)'%3E%3Ccircle cx='48' cy='48' r='32'/%3E%3C/g%3E%3C/svg%3E");
				background-position: center;
				background-repeat: no-repeat;
				background-size: 4rem;
				content: '';
				display: block;
				height: 4rem;
				left: 50%;
				margin: -2rem 0 0 -2rem;
				opacity: 0;
				position: absolute;
				top: 50%;
				width: 4rem;
			}

			.gallery .modal:after {
				background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='64px' viewBox='0 0 64 64' zoomAndPan='disable'%3E%3Cstyle%3Eline %7Bstroke: %23000000%3Bstroke-width: 2px%3B%7D%3C/style%3E%3Cline x1='20' y1='20' x2='44' y2='44' /%3E%3Cline x1='20' y1='44' x2='44' y2='20' /%3E%3C/svg%3E");
				background-position: center;
				background-repeat: no-repeat;
				background-size: 3rem;
				content: '';
				cursor: pointer;
				display: block;
				height: 4rem;
				position: absolute;
				right: 0.5rem;
				top: 0.5rem;
				width: 4rem;
			}

			.gallery .modal .inner {
				-moz-transform: translateY(0.75rem);
				-webkit-transform: translateY(0.75rem);
				-ms-transform: translateY(0.75rem);
				transform: translateY(0.75rem);
				-moz-transition: opacity 0.25s ease, -moz-transform 0.25s ease;
				-webkit-transition: opacity 0.25s ease, -webkit-transform 0.25s ease;
				-ms-transition: opacity 0.25s ease, -ms-transform 0.25s ease;
				transition: opacity 0.25s ease, transform 0.25s ease;
				opacity: 0;
			}

				.gallery .modal .inner img {
					box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.35);
					display: block;
					max-height: 90vh;
					max-width: 90vw;
				}

			.gallery .modal.visible {
				pointer-events: auto;
				opacity: 1;
				visibility: visible;
				z-index: 11000;
			}

				.gallery .modal.visible:before {
					opacity: 1;
				}

			.gallery .modal.loaded .inner {
				-moz-transform: translateY(0);
				-webkit-transform: translateY(0);
				-ms-transform: translateY(0);
				transform: translateY(0);
				-moz-transition: opacity 0.5s ease, -moz-transform 0.5s ease;
				-webkit-transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
				-ms-transition: opacity 0.5s ease, -ms-transform 0.5s ease;
				transition: opacity 0.5s ease, transform 0.5s ease;
				opacity: 1;
			}

			.gallery .modal.loaded:before {
				-moz-transition-delay: 0s;
				-webkit-transition-delay: 0s;
				-ms-transition-delay: 0s;
				transition-delay: 0s;
				opacity: 0;
			}

		@media screen and (max-width: 1152px) {

			.gallery a img {
				height: 20rem;
			}

			.gallery a.landscape img {
				height: 25rem;
			}

			.gallery a.portrait img {
				height: 25rem;
			}

			.gallery .modal .inner img {
				max-width: 100vw;
			}

		}

		@media screen and (max-width: 736px) {

			.gallery {
				margin: -0.625rem 0 0 -0.625rem;
				width: calc(100% + 0.625rem);
			}

				.gallery a {
					margin: 0.625rem 0 0 0.625rem;
					width: calc(50% - 0.625rem);
				}

					.gallery a img {
						height: 20rem;
					}

					.gallery a.landscape img {
						height: 20rem;
					}

					.gallery a.portrait img {
						height: 30rem;
					}

		}

		@media screen and (max-width: 480px) {

			.gallery a img {
				height: 12rem;
				min-height: 0;
			}

			.gallery a.landscape img {
				height: 12rem;
			}

			.gallery a.portrait img {
				height: 14rem;
			}

		}

/* Feature Icons */

	ul.feature-icons {
		display: flex;
		flex-wrap: wrap;
		list-style: none;
		margin: 3rem 0;
		padding-left: 0;
	}

		ul.feature-icons:first-child {
			margin-top: 0;
		}

		ul.feature-icons li {
			margin: 2.5rem 0 0 0;
			padding: 0.5rem 0 0 4.5rem;
			position: relative;
			width: 50%;
		}

			ul.feature-icons li:before {
				background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 512 512'%3E%3Cpath d='M256,0l221.7,128v256L256,512L34.3,384V128L256,0z' fill='rgba(144, 144, 144, 0.1)' /%3E%3C/svg%3E");
				background-position: center;
				background-repeat: no-repeat;
				background-size: contain;
				color: #000000;
				display: block;
				font-size: 1.25rem;
				height: 3.25rem;
				left: 0;
				line-height: 3.25rem;
				position: absolute;
				text-align: center;
				top: 0;
				width: 3.25rem;
			}

			ul.feature-icons li:nth-child(1), ul.feature-icons li:nth-child(2) {
				margin-top: 0;
			}

		@media screen and (max-width: 736px) {

			ul.feature-icons {
				margin: 0 0 3rem 0;
			}

				ul.feature-icons li {
					width: 100%;
				}

					ul.feature-icons li:nth-child(2) {
						margin-top: 2rem;
					}

		}

/* Wrapper */

	#wrapper {
		position: relative;
		width: 100vw;
		padding: 0 0 3rem 0;
	}

		#wrapper:before {
			background-attachment: fixed;
			background-color: #00022b;
			background-image: url("../../images/doxa/main_image.jpg");
			background-position: -50% 10%;
			background-repeat: repeat-y;
			background-size: 75% auto;
			content: '';
			display: block;
			height: 100%;
			left: 0;
			position: absolute;
			top: 0;
			width: 40vw;
			z-index: -1;
		}

		#wrapper section {
			display: grid;
			grid-template-areas: "header content" "footer content";
			grid-template-columns: 40vw 60vw;
			grid-template-rows: 1fr;
		}

			#wrapper section:first-child {
				margin-top: 0;
			}

			#wrapper section > header {
				grid-area: header;
				justify-self: end;
				text-align: right;
			}

				#wrapper section > header h2 {
					margin: 0 0 5rem 0;
				}

				#wrapper section > header h1 + p {
					font-family: "Raleway", Helvetica, sans-serif;
					font-size: 0.85rem;
					letter-spacing: 0.175em;
					line-height: 2.0;
				}

				#wrapper section > header ul.actions {
					justify-content: flex-end;
				}

			#wrapper section > .content {
				grid-area: content;
				max-width: 60rem;
				position: relative;
			}

/* 商品ブロック間の余白 */
.item-block{
    margin-bottom:6rem;
}

.item-block:last-child{
    margin-bottom:0;
}


			#wrapper section > footer {
				grid-area: footer;
				text-align: right;
			}

				#wrapper section > footer ul.actions {
					justify-content: flex-end;
				}

		#wrapper > section {
			position: relative;
		}

			#wrapper > section > header:before {
				background: #ffffff;
				content: '';
				display: block;
				margin-top: 1rem;
				position: absolute;
				width: 2px;
				/* 1pxの接続切れを埋める */
				box-shadow: 0 1px 0 #ffffff;
			}

			#wrapper > section > header h1, #wrapper > section > header h2 {
				position: relative;
			}

				#wrapper > section > header h1:before, #wrapper > section > header h2:before {
					background: #ffffff;
					content: '';
					display: block;
					height: 2px;
					position: absolute;
					top: 1rem;
				}

				#wrapper > section > header h1:after, #wrapper > section > header h2:after {
					background: #ffffff;
					border-radius: 0.5rem;
					content: '';
					display: block;
					height: 0.5rem;
					position: absolute;
					top: 0.75rem;
					width: 0.5rem;
				}

			#wrapper > section > header h1 {
				margin-top: -2rem;
			}

				#wrapper > section > header h1:before {
					top: 3rem;
				}

				#wrapper > section > header h1:after {
					top: 2.75rem;
				}

			#wrapper > section > .content > section {
				position: relative;
			}

				#wrapper > section > .content > section:first-child {
					margin-top: 6rem;
				}

			#wrapper > section.intro {
				align-items: center;
			}

				#wrapper > section.intro > header {
					padding-top: 4rem;
					width: 100%;
				}

					#wrapper > section.intro > header > * {
						margin-left: auto;
					}

					#wrapper > section.intro > header:before {
						left: auto;
					}

				#wrapper > section.intro > .content {
	height: 70vh;
	max-width: none;
				}

			#wrapper > section:last-of-type > header:before {
				height: 100%;
			}

			#wrapper > section:last-of-type > header:after {
				background: #ffffff;
				border-radius: 0.5rem;
				bottom: -1.5rem;
				content: '';
				display: block;
				height: 0.5rem;
				position: absolute;
				width: 0.5rem;
				z-index: 1;
			}

		#wrapper .copyright {
			color: rgb(255, 255, 255);
			font-size: 0.8rem;
			left: 50vw;
			position: relative;
			width: 40vw;
			display: flex;
			justify-content: center;
			margin-top: 3rem;
}

			#wrapper .copyright a {
				color: inherit;
			}

		#wrapper section {
			margin: 7.5rem 0 0 0;
		}

			#wrapper section > header {
				padding: 0 10rem 0 5rem;
				width: 35rem;
			}

			#wrapper section > .content {
				padding: 0 5rem;
			}

			#wrapper section > footer {
				padding: 0 10rem;
			}

/* 縦LINE */

		#wrapper > section > header:before {
			height: calc(100% + 10rem);
			left: calc(40vw - 5rem);
		}

		#wrapper > section > header h1:before, #wrapper > section > header h2:before {
			right: -5rem;
			width: 2.5rem;
		}

		#wrapper > section > header h1:after, #wrapper > section > header h2:after {
			right: -2.5rem;
		}

		#wrapper > section > .content > section {
			left: calc(-50vw - 5rem);
		}

			#wrapper > section > .content > section > header {
				width: 32rem;
			}

		#wrapper > section.intro > header > * {
			width: min(20rem, calc(40vw - 15rem));
		}

		#wrapper > section.intro > header:before {
			margin-left: calc(40vw - 10rem);
		}

		@media screen and (max-width: 1152px) {

			#wrapper > section.intro > header > * {
				width: 100%;
			}

			#wrapper > section.intro > header:before {
				margin-left: 0;
			}

		}

		#wrapper > section:last-of-type > header:after {
			left: calc(40vw - 5rem - 0.25rem + 1px);
		}

		#wrapper .copyright {
			padding: 0 5rem;
		}

		@media screen and (max-width: 1280px) {

			#wrapper {
				padding: 0 0 8rem 0;
			}

				#wrapper section {
					margin: 6rem 0 0 0;
				}

					#wrapper section > header {
						padding: 0 8rem 0 4rem;
						width: 33rem;
					}

					#wrapper section > .content {
						padding: 0 4rem;
					}

					#wrapper section > footer {
						padding: 0 8rem;
					}

				#wrapper > section > header:before {
					height: calc(100% + 10rem);
					left: calc(40vw - 4rem);
				}

				#wrapper > section > header h1:before, #wrapper > section > header h2:before {
					right: -4rem;
					width: 2rem;
				}

				#wrapper > section > header h1:after, #wrapper > section > header h2:after {
					right: -2rem;
				}

				#wrapper > section > .content > section {
					left: calc(-50vw - 4rem);
				}

					#wrapper > section > .content > section > header {
						width: 30rem;
					}

				#wrapper > section.intro > header > * {
					width: min(21rem, calc(40vw - 12rem));
				}

				#wrapper > section.intro > header:before {
					margin-left: calc(40vw - 8rem);
				}

		}


		@media screen and (max-width: 1280px) and (max-width: 1152px) {

			#wrapper > section.intro > header > * {
				width: 100%;
			}

			#wrapper > section.intro > header:before {
				margin-left: 0;
			}

		}

		@media screen and (max-width: 1280px) {

				#wrapper > section:last-of-type > header:after {
					left: calc(40vw - 4rem - 0.25rem + 1px);
				}

				#wrapper .copyright {
					padding: 0 4rem;
				}

		}

		@media screen and (max-width: 1152px) {

	#wrapper > section.intro > .content {
		height: 60vw;
	}
			#wrapper {
				padding: 0;
			}

				#wrapper:before {
					display: none;
				}

				#wrapper section {
					grid-template-areas: "header" "content" "footer";
					grid-template-columns: 1fr;
					grid-template-rows: 3fr;
				}

					#wrapper section > header {
						justify-self: start;
						padding: 0;
						text-align: left;
						width: 100%;
					}

						#wrapper section > header ul.actions {
							justify-content: flex-start;
						}

					#wrapper section > .content {
						padding: 0;
						width: 100%;
						overflow-x: hidden;
					}

					#wrapper section > footer {
						padding: 0;
						text-align: left;
					}

						#wrapper section > footer ul.actions {
							justify-content: flex-start;
						}

				#wrapper > section {
					margin: 0;
				}

					#wrapper > section > header {
						background-attachment: fixed;
						background-color: #00022b;
			background-image: url("../../images/doxa/main_image.jpg");
						background-position: 25% 50%;
						background-repeat: repeat-y;
						background-size: 40rem auto;
					}

						#wrapper > section > header > * {
							max-width: 25rem;
						}

						#wrapper > section > header > :last-child {
							margin-bottom: 0;
						}

						#wrapper > section > header:before {
							display: none;
						}

						#wrapper > section > header h1:before, #wrapper > section > header h2:before {
							display: none;
						}

						#wrapper > section > header h1:after, #wrapper > section > header h2:after {
							display: none;
						}

					#wrapper > section > .content > :last-child {
						margin-bottom: 0;
					}

					#wrapper > section > .content > section {
						left: 0;
					}

						#wrapper > section > .content > section:first-child {
							margin-top: 0;
						}

						#wrapper > section > .content > section > header {
							width: 100%;
						}

						#wrapper > section > .content > section:last-child {
							margin-bottom: 0;
						}

					#wrapper > section > footer > :last-child {
						margin-bottom: 0;
					}

					#wrapper > section.intro {
						margin-bottom: 0;
					}

						#wrapper > section.intro > header {
							margin-bottom: 0;
						}

							#wrapper > section.intro > header ul.actions {
								display: none;
							}

							#wrapper > section.intro > header > * {
								margin-left: 0;
								margin-right: 0;
								width: 100%;
							}

							#wrapper > section.intro > header > ul.actions {
								margin-left: -1rem;
							}

							#wrapper > section.intro > header:before {
								margin-left: 0;
							}

					#wrapper > section:last-of-type > header:after {
						display: none;
					}

				#wrapper .copyright {
					left: 0;
					width: 100%;
				}

				#wrapper section {
					margin: 6rem 0 0 0;
				}

				#wrapper > section {
					margin: 0;
				}

					#wrapper > section > header {
						padding: 4rem 4rem;
					}

					#wrapper > section > .content {
						padding: 4rem 4rem;
					}

						#wrapper > section > .content > section {
							margin: 4rem 0;
						}

					#wrapper > section > footer {
						padding: 0 4rem 4rem 4rem;
					}

					#wrapper > section.intro > header {
						padding: 8rem 4rem 5rem 4rem;
					}

				#wrapper .copyright {
					padding: 0 4rem 4rem 4rem;
				}

		}

		@media screen and (max-width: 736px) {

			#wrapper > section.intro > header h1 img {
				width: 60%;
				height: auto;
			}

			#wrapper section {
				margin: 3rem 0 0 0;
			}

			#wrapper > section {
				margin: 0;
			}

				#wrapper > section > header {
					padding: 3rem 2rem;
				}

				#wrapper > section > .content {
					padding: 3rem 2rem;
				}

					#wrapper > section > .content > section {
						margin: 3rem 0;
					}

				#wrapper > section > footer {
					padding: 0 2rem 3rem 2rem;
				}

				#wrapper > section.intro > header {
					padding: 5.5rem 2rem 2.5rem 2rem;
				}

			#wrapper .copyright {
				padding: 0 2rem 2rem 2rem;
				font-size: 0.65rem;
			}

		}

		@media screen and (max-width: 360px) {

			#wrapper section {
				margin: 2.25rem 0 0 0;
			}

			#wrapper > section {
				margin: 0;
			}

				#wrapper > section > header {
					padding: 2.25rem 1.5rem;
				}

				#wrapper > section > .content {
					padding: 2.25rem 1.5rem;
				}

					#wrapper > section > .content > section {
						margin: 2.25rem 0;
					}

				#wrapper > section > footer {
					padding: 0 1.5rem 2.25rem 1.5rem;
				}

				#wrapper > section.intro > header {
					padding: 4.875rem 1.5rem 1.875rem 1.5rem;
				}

			#wrapper .copyright {
				padding: 0 1.5rem 1.5rem 1.5rem;
			}

		}

	body.is-mobile #wrapper:before {
		background-attachment: scroll;
		background-position: 50% -3%;
		background-repeat: repeat-y;
		background-size: 150% auto;
	}

	body.is-mobile #wrapper > section > header {
		background-attachment: scroll;
		background-position: 25% 50%;
	}

	body.is-mobile #wrapper > section.intro > header {
		background-position: 25% 23%;
	}

	#wrapper:before {
		transition: opacity 1s ease;
	}

		body.is-preload #wrapper:before {
			opacity: 0;
		}

	#wrapper > section.intro {
		transition: opacity 1s ease;
		opacity: 1;
	}

		#wrapper > section.intro > header {
			transition: transform 1s ease;
		}

		#wrapper > section.intro > .content {
			transition: transform 1s ease;
		}

		body.is-preload #wrapper > section.intro {
			opacity: 0;
		}

			body.is-preload #wrapper > section.intro > header {
				transform: translateY(1rem);
			}

			body.is-preload #wrapper > section.intro > .content {
				transform: translateY(-1rem);
			}

		@media screen and (max-width: 1280px) {

			#wrapper > section.intro > header > * {
				transition: transform 1s ease, opacity 1s ease;
			}

			body.is-preload #wrapper > section.intro > header {
				transform: none;
			}

				body.is-preload #wrapper > section.intro > header > * {
					transform: translate(-0.5rem);
					opacity: 0;
				}

			body.is-preload #wrapper > section.intro > .content {
				transform: none;
			}

		}

	body.is-ie #wrapper section {
		display: flex;
		flex-wrap: wrap;
	}

		body.is-ie #wrapper section > header {
			width: 50%;
		}

		body.is-ie #wrapper section > .content {
			width: 50%;
		}

		body.is-ie #wrapper section > footer {
			width: 50%;
			text-align: left;
			margin-left: 50%;
			padding: 5rem;
		}

	body.is-ie #wrapper > section > .content > section {
		width: 100vw;
	}

	@media screen and (max-width: 1280px) {

		body.is-ie #wrapper section > footer {
			padding: 3rem;
		}

	}

	@media screen and (min-width: 737px) {

		#wrapper > section.intro > header > p,
		#wrapper > section.intro > header > ul {
			text-align: left;
		}

	}

	/* イントロ本文・深度リンクは最大30remを維持し、縦線手前で縮める */
	@media screen and (min-width: 1153px) {

		#wrapper > section.intro > header > p,
		#wrapper > section.intro > header > ul {
			width: clamp(18rem, calc(40vw - 12rem), 30rem);
		}

	}

 /* zoom */
.zoom-in-element {
  transform: scale(0.9); /* 初期状態（少し大きめ） */
  transition: transform 0.8s ease-out; /* アニメーションの設定 */
  will-change: transform;
}

.zoom-in-element.is-visible {
  transform: scale(1); /* 画面に入ったら元のサイズにズームイン（アウト） */
}


 /* リンク */
.gallery a.product-link {
	width: 100%;
	display: block;
	text-align: center;
}

.gallery a.product-card {
	text-align: center;
}

.gallery a.product-card .product-name {
	display: block;
	margin-top: 1rem;
    font-size:0.8rem !important;
    letter-spacing: 0.08em;
}
.gallery a.product-card .product-name strong{
    font-size:inherit;
}

.gallery a.product-card {
	margin-bottom: 1rem;
}

 /* リンク-マウスオーバーで拡大 */
.gallery a.product-card {
	overflow: visible;
}

.gallery a.product-card img {
	transition: transform 1.0s ease;
}

.gallery a.product-card:hover img {
	transform: scale(1.05);
}




/* 泡全体 */
.bubbles{
    position:fixed;
    inset:0;
    pointer-events:none;
    overflow:hidden;
    z-index:1;
    opacity:.7;
}

.bubbles span{
    position:absolute;
    bottom:-100px;

    width:10px;
    height:10px;

    border-radius:50%;

    background:rgba(255,255,255,.22);
    border:1px solid rgba(255,255,255,.65);

    box-shadow:
        0 0 12px rgba(255,255,255,.25),
        inset 0 0 8px rgba(255,255,255,.25);

    animation:bubble linear infinite;
}

.bubbles span::before{
    content:'';
    position:absolute;
    top:20%;
    left:25%;
    width:30%;
    height:30%;
    border-radius:50%;
    background:rgba(255,255,255,.9);
}

/* サイズ */
.bubbles span:nth-child(3n){
    width:16px;
    height:16px;
}

.bubbles span:nth-child(3n+1){
    width:8px;
    height:8px;
}

/* スピード */
.bubbles span:nth-child(2n){
    animation-duration:12s;
}

.bubbles span:nth-child(3n){
    animation-duration:18s;
}

.bubbles span:nth-child(5n){
    animation-duration:15s;
}

/* 横位置 */
.bubbles span:nth-child(1){left:2%;}
.bubbles span:nth-child(2){left:7%;}
.bubbles span:nth-child(3){left:13%;}
.bubbles span:nth-child(4){left:19%;}
.bubbles span:nth-child(5){left:24%;}
.bubbles span:nth-child(6){left:31%;}
.bubbles span:nth-child(7){left:37%;}
.bubbles span:nth-child(8){left:42%;}
.bubbles span:nth-child(9){left:48%;}
.bubbles span:nth-child(10){left:54%;}
.bubbles span:nth-child(11){left:59%;}
.bubbles span:nth-child(12){left:65%;}
.bubbles span:nth-child(13){left:71%;}
.bubbles span:nth-child(14){left:76%;}
.bubbles span:nth-child(15){left:81%;}
.bubbles span:nth-child(16){left:86%;}
.bubbles span:nth-child(17){left:91%;}
.bubbles span:nth-child(18){left:96%;}

/* 残りは繰り返し */
.bubbles span:nth-child(n){
    animation-delay:calc(-1s * var(--i, 1));
}

.bubbles span:nth-child(odd){
    animation-delay:-7s;
}

.bubbles span:nth-child(even){
    animation-delay:-14s;
}

@keyframes bubble{

    0%{
        transform:
            translateX(0)
            translateY(0)
            scale(.7);
        opacity:0;
    }

    10%{
        opacity:.9;
    }

    50%{
        transform:
            translateX(60px)
            translateY(-60vh)
            scale(1);
    }

    100%{
        transform:
            translateX(-40px)
            translateY(-120vh)
            scale(1.2);
        opacity:0;
    }
}




/* Intro logo line adjustment */


#wrapper > section.intro > header h1:after {
	top: 2.8rem;
}


/* スマホ用 */
@media screen and (max-width: 736px) {
    #wrapper > section.intro > header h1 img {
        width: 60%;
    }
}

@media screen and (max-width: 480px) {
    #wrapper > section.intro > header h1 img {
        width: 50%;
    }
}


/* Intro logo line adjustment */
#wrapper > section.intro > header h1:after {
    top: 2.8rem;
}

/* NEWS */
.news-section .content {
	max-width: 100%;
  background-color: #000514;
}

.news-list {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin: 0 0 2rem 0;
}



.news-item h3 {
	font-size: 1.5rem;
	margin: 0 0 0.5rem 0;
	letter-spacing: 0.12em;
	line-height: 1.8;
}

.news-date {
	font-family: "Raleway", Helvetica, sans-serif;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	margin: 0 0 0.5rem 0;
}

.news-date-divider {
	border-top: 1px dashed rgba(255, 255, 255, 0.8);
	padding-top: 2rem;
	margin-top: 2rem;
}

.news-item p {
	margin-bottom: 1.0rem;
}

.news-item-with-image {
	display: block;
}

.news-image {
	margin-top: 3.0rem;
	margin-bottom: 1.0rem;
}

.news-image img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.news-body {
    font-weight: 300;
}

.news-body strong {
    font-weight: 400;
}

.retailer-news-intro {
	margin-bottom: 4rem;
}

.retailer-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 5rem;
	row-gap: 3rem;
}

.retailer-card p {
	margin-bottom: 0;
}

.retailer-card .button {
	min-width: 14rem;
	text-align: center;
}

.retailer-list-card {
	grid-column: 1;
}

.retailer-list-card .button {
	min-width: 19rem;
}

.news-body > :last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 736px) {
	.news-list {
		gap: 2.25rem;
	}

	.news-item {
		padding-top: 1.5rem;
	}

	.news-item h3 {
		font-size: 0.95rem;
	}

	.retailer-news-intro {
		margin-bottom: 2.5rem;
	}

	.retailer-grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.retailer-card .button,
	.retailer-list-card .button {
		min-width: 0;
		width: 100%;
	}
}



/* オンラインショップ、大沢時計部　リンクボタン */
.intro-shop-links {
	position: absolute;
	top: 1.5rem;
	right: 2.5rem;
	z-index: 5;
}

.shop-links {
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
}

.shop-links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 10.5rem;
	padding: 0.35rem 1.25rem;
	background: #00346b;
	color: #ffffff;
	border: 0;
	border-radius: 4px;
	font-family: "Raleway", Helvetica, sans-serif;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
	box-shadow: none;
}

.shop-links a:hover {
	background: #004f9e;
	color: #ffffff !important;
}

/* スマホ・タブレット */
@media screen and (max-width: 1152px) {
	.intro-shop-links {
		top: 3rem;
		right: 2rem;
		flex-direction: column;
		gap: 0.35rem;
		align-items: stretch;
	}

	.shop-links a {
		width: 11rem;
		min-width: 0;
		padding: 0.25rem 0.75rem;
		font-size: 0.95rem;
	}
}

/* 小さいスマホ */
@media screen and (max-width: 480px) {
	.intro-shop-links {
		top: 2.5rem;
		right: 1.25rem;
	}

	.shop-links a {
		width: 9.75rem;
		min-width: 0;
		font-size: 0.85rem;
		letter-spacing: 0.06em;
	}
}


.shop-links a:nth-child(n + 2) {
  background: #053f87;
}

.shop-links a:nth-child(n + 2):hover {
  background: #0b56ad;
}


/* 上部NEWSボタン */

.intro-news-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 7rem;
	padding: 0.22rem 0.75rem;
	margin-top: 0.45rem;
	background: rgba(0, 52, 107, 0.78);
	color: #ffffff;
	border: solid 1px #ffffff;
	border-radius: 4px;
	font-family: "Raleway", Helvetica, sans-serif;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.35;
	text-align: center;
	white-space: nowrap;
}

.intro-news-button:hover {
	background: rgba(5, 63, 135, 0.95);
	color: #ffffff !important;
	border-color: #ffffff;
}

/* PC：深度メニューと同じ左位置に固定 */
@media screen and (min-width: 1153px) {
	#wrapper > section.intro > header .intro-news-button {
		display: flex;
		width: 7rem;
		margin-left: 0;
		margin-right: auto;
		transform: none;
	}
}

/* スマホ・タブレット */
@media screen and (max-width: 1152px) {
	#wrapper > section.intro > header .intro-news-button {
		width: 8rem;
		min-width: 0;
		margin-left: 0;
		margin-right: auto;
		margin-top: 0.4rem;
		padding: 0.22rem 0.75rem;
		font-size: 1rem;
		letter-spacing: 0.12em;
	}
}

/* 小さいスマホ */
@media screen and (max-width: 480px) {
	#wrapper > section.intro > header .intro-news-button {
		width: 7.5rem;
		font-size: 0.95rem;
		padding: 0.2rem 0.65rem;
		letter-spacing: 0.1em;
	}
}


/* 商品用リンクボタン */
.product-shop-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:4px;

margin: .2rem 0 1rem;
    padding:.8rem 2.0rem;
    background:#002855;
    border-radius:6rem;
border: 0;
box-shadow: 0 0.1rem 0.6rem rgba(255, 255, 255, 0.5);
    font-family:"Raleway", Helvetica, sans-serif;
    font-size:0.8rem;
    font-weight:600;
    letter-spacing:.0.5em;
    text-transform:uppercase;
    line-height:1;
    color:#fff;
    white-space:nowrap;   /*改行防止 */
    transition: background-color 0.8s ease, color 0.8s ease, border-color 0.8s ease;
}

.product-shop-link i{
    margin-right:0rem;
    font-size:.9em;
}

.product-card:hover .product-shop-link{
  background: rgba(147, 217, 247, 0.7);
    color:#002855;
}



/*腕時計の画像背景色 */
.watch-image{
    border-radius: 20px;
    padding: 0px;
    box-sizing: border-box;
	width: calc(100% + 1.25rem);
}

/* 深度ごとのカード背景 */

.watch-image img{
    overflow:visible;
}

/* 深度ごとの商品画像背景：深くなるほど暗い深海色へ */
[id="200m"] .watch-image {
  background: linear-gradient(135deg, #e9f6ff 0%, #4d8cbd 45%, #1e5583 100%);
}

[id="250m"] .watch-image {
  background: linear-gradient(135deg, #b8e1f1 0%, #0a4a71 45%, #012148 100%);
}

[id="300m"] .watch-image {
  background: linear-gradient(135deg, #8bc9e1 0%, #073b64 45%, #011b3d 100%);
}

[id="600m"] .watch-image {
  background: linear-gradient(135deg, #66afd0 0%, #063050 45%, #011430 100%);
}

[id="750m"] .watch-image {
  background: linear-gradient(135deg, #4e97c2 0%, #052747 45%, #010e29 100%);
}

#over .depth-1200m .watch-image {
  background: linear-gradient(135deg, #3e7fbd 0%, #01142c 45%, #00081d 100%);
}

#over .depth-1500m .watch-image {
  background: linear-gradient(135deg, #4b78ac 0%, #010d22 45%, #000514 100%);
}


/* 商品画像とショップボタンを背景枠の幅に揃える */
.gallery .watch-image > a.product-card{
    width:100% !important;
    max-width:none;
    margin-left:0;
    margin-top:10;
    margin-bottom:0;
}

.gallery .watch-image > a.product-card .product-name{
    margin-top:0;
}





/*--------------------
    Color
---------------------*/


.color-option{
    display:flex;
    align-items:center;
    gap:18px;

}


.option-title{
    width:100px;      /* 固定幅 */
    flex:0 0 100px;   /* flexでも100px固定 */
    margin:0;
    white-space:nowrap;

    font-size:.72rem;
    letter-spacing:.1em;
    color:rgba(255,255,255,.75);
    padding-left:20px; 
}


.color-list{
    display:flex;
    gap:4px;
    flex-wrap:nowrap;
    align-items:center;
}

.color{
    display:inline-block;
    width:12px;
    height:12px;
    flex:none;
    line-height:0;
    border-radius:50%;
}

.orange{background:#ff7b00;}
.black{background:#1d1d1d;}
.silver {background: linear-gradient(135deg, #f3f3f3 0%, #b8b8b8 50%, #777777 100%);}
.caribbean{background:#0e4260;}
.yellow{background:#ffd22d;}
.aquamarine{background:#2ea8e8;}
.white{background:#ffffff;}
.green {background: linear-gradient(135deg, #15935a 0%, #0c7b46 55%, #07502f 100%);}
.vintage {background: linear-gradient(135deg, #806957 0%, #5b4636 55%, #34261d 100%);}
.red {background: linear-gradient(135deg, #b52b2b 0%, #861818 55%, #4d0b0b 100%);}
.black-white {background: linear-gradient(to right, #1d1d1d 0 50%, #ffffff 50% 100%);}

.color.color-text {
  display: inline-flex;
  align-items: center;
  width: auto;
  height: 12px;
  padding: 0 2px;
  background: transparent;
  border-radius: 0;
  color: #fff;
  font-size: 0.65rem;
  line-height: 1;
}

/*--------------------
    Strap
---------------------*/

.strap-option{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:20px;
}


.strap{
    margin:0;
    white-space:nowrap;
    color:#fff;
    font-weight:500;
    letter-spacing:.08em;
    font-size:.72rem;

}


/* 2つ並びのレイアウト指定 */
.watch-row{
    display: flex;
    gap: 1rem;
    margin-top: 2rem;
    width: 100%;
}

/* 上段カードを下段2枚の合計幅と揃える */
.watch-row .watch-image{
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}


/*--------------------
    商品紹介文
---------------------*/

/* 大きい画像の上のテキスト指定 */
.product-description {
  margin-bottom: 1rem;
  color: #fff;
  line-height: 1.4;}

/* 見出しと本文の間隔 */
.product-description h3 {
  margin-bottom: 0.5rem;
}

.product-description p {
  margin-bottom: 0;
}


.watch-row + .product-description {
  margin-top: 2rem;
}

.product-description + .content > .gallery.product-gallery {
  margin-top: 0;
}


/* 小さい画像の上のテキスト指定 */

.watch-row .small-product-block {
  flex: 1;
  min-width: 0;
}

.watch-row .small-product-block .watch-image {
  width: 100%;
}

.watch-row .small-product-description {
  min-height: 6.0em;
  margin: 0 0 0rem 1rem;
  color: #fff;
  font-size: 0.8rem;
  line-height: 1.25;
}


/* 小カード内のオプションを枠の左から20pxに揃える */
.watch-row .product-option {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 0 20px;
}

.watch-row .option-title {
    padding-left: 0;
}

/* 狭い画面での商品カード調整 */
@media screen and (max-width: 736px) {


    /* スマホ用のONLINE SHOPボタン */
    .product-shop-link {
        box-sizing: border-box;
        max-width: 100%;
        padding: .65rem 1.25rem;
        font-size: .75rem;
    }

    /* 下段2枚のカードだけ、カラーとストラップを縦に表示 */
    .watch-row .product-option {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
        padding: 0 20px;
    }

    .watch-row .color-option {
        flex-direction: column;
        align-items: flex-start;
        gap: .1rem;
    }

    .watch-row .option-title {
        width: auto;
        flex: none;
        padding-left: 0;
        gap: .1rem;
    }

    .watch-row .strap-option {
        margin-bottom: 1rem;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: .0rem .3rem;
        margin-top: .5rem;
    }

    .watch-row .strap-option .strap {
        font-size: .55rem;
        margin-top: .0rem;
    }

    .watch-row .strap-option .option-title {
        flex-basis: 100%;
        margin-top: .1rem;
    }

    .watch-row .strap-option .strap {
        font-weight: 500;
        text-align: left;
  margin-top: -.3rem;
    }

/* 小カード同士の間隔 */
.watch-row {
  gap: 0.75rem;
}

.watch-row .small-product-block {
  flex: 1 1 0;
  min-width: 0;
}

/* 小カード上の説明文：余白・行間を縮める */
.watch-row .small-product-description {
  min-height: 6em;
  margin: 0 0 0.5rem;
  line-height: 1.4;
}
}

.watch-row + .watch-image {
  margin-top: 1rem;
}


/* NEWSを商品カードの左端に揃える */
@media screen and (min-width: 1153px) {
  #wrapper section.news-section > .content {
    padding-left: calc(5rem - 1.25rem);
    padding-right: 5rem;
  }
}

/* footer */
.site-footer {
  padding: 2rem 5rem;
  margin-left: 40vw;
  text-align: center;
}

.footer-depth-links,
.footer-shop-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem 1.25rem;
}

.footer-shop-links {
  margin-top: 1.25rem;
}

.footer-depth-links a,
.footer-shop-links a {
  color: #fff;
}

@media screen and (max-width: 1152px) {
  .site-footer {
    margin-left: 0;
    padding: 2rem;
  }
}


/* 上部画像切り替え */
.intro-slideshow a {
    position: absolute;
    inset: 0;
    display: block;
    opacity: 0;
    visibility: hidden;
    border-bottom: none;
    text-decoration: none;
    animation: intro-slideshow 18s infinite ease-in-out;
}

/* リンク内の画像 */
.intro-slideshow a img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 1枚目 */
.intro-slideshow a:nth-child(1) {
    animation-delay: 0s;
}

/* 2枚目 */
.intro-slideshow a:nth-child(2) {
    animation-delay: 6s;
}

/* 3枚目 */
.intro-slideshow a:nth-child(3) {
    animation-delay: 12s;
}

/* スライドショーの動き */
@keyframes intro-slideshow {
    0% {
        opacity: 0;
        visibility: hidden;
    }

    12% {
        opacity: 1;
        visibility: visible;
    }

    25% {
        opacity: 1;
        visibility: visible;
    }

    38% {
        opacity: 0;
        visibility: visible;
    }

    39%,
    100% {
        opacity: 0;
        visibility: hidden;
    }
}



/* TOPへ */
.back-to-top {
  margin: 0.75rem 5.3rem 2rem 0;
  text-align: right;
}
.water-top {
  color: rgba(255, 255, 255, 0.85);
  font-family: "Raleway", Helvetica, sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-decoration: none;
  transition: color 0.4s ease, transform 0.4s ease;
}

.water-top:hover {
  color: #ffffff;
  transform: translateY(-0.2rem);
}

@media screen and (max-width: 736px) {
  .back-to-top {
    margin-right: 1.5rem;
  }
}


/* 深度メニューをH2と同じフォントにする */
.depth-menu,
.depth-menu a,
.depth-menu strong {
    font-family: "Raleway", Helvetica, sans-serif;
    font-weight: 600;
    letter-spacing: 0.175em;
    line-height: 1.75;
}
