@charset "UTF-8";
@font-face {
	font-family: 'NSK-TSR-E';
	font-style: normal;
	font-weight: 300;
	src: url('../fonts/NSKTSRE-Light.ttf') format('truetype');
	font-display: swap;
}
@font-face {
	font-family: 'NSK-TSR-E';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/NSKTSRE-Regular.ttf') format('truetype');
	font-display: swap;
}

/* --------------------------------------------------
	CSS Reset
-------------------------------------------------- */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
	box-sizing: border-box;
}
html {
	font-size: 62.5%;
	font-family: 'NSK-TSR-E', sans-serif;
}
body {
	position: relative;
	line-height: 1;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
	display: block;
}
ul,ol {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
a {
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	background: transparent;
}
a:link,
a:visited {
	color: #333;
	text-decoration: none;
}
a:hover,
a:active {
	color: #333;
	text-decoration: underline;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}
input, select {
	vertical-align: middle;
}
h1,h2,h3,h4,h5,h6,
dt,dd,li,form,input,select,textarea,
p,address,pre,blockquote,th,td,div {
	color: #000;
}
div { letter-spacing: 0; }
img {
	width: 100%;
	vertical-align: top;
}
a,
a img {
	transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
a:hover img { opacity: 0.7; }
sup {
	font-size: 50%;
	vertical-align: text-top;
}
input[type="button"],
input[type="text"],
input[type="submit"],
input[type="image"],
textarea{
	-webkit-appearance: none;
	border-radius: 0;
}

/* --------------------------------------------------
	Clearfix
-------------------------------------------------- */
.clearfix:after {
	content: '';
	display: block;
	clear: both;
}
.clearfix { *zoom: 1; }

/* --------------------------------------------------
	.inner
-------------------------------------------------- */
.inner {
	position: relative;
}

/* --------------------------------------------------
	.btn-back
	.btn-form
	.btn-close
-------------------------------------------------- */
.btn-back,
.btn-form,
.btn-close {
	position: absolute;
	bottom: 0;
}
.btn-back,
.btn-close {
	left: 0;
}
.btn-form {
	right: 0;
}
.btn-back a,
.btn-form a,
.btn-close span {
	display: block;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: bottom left;
	background-size: contain;
	text-indent: -9999px;
	cursor: pointer;
}
.btn-back a {
	background-image: url("../img/btn_back.svg");
}
.btn-form a {
	background-image: url("../img/btn_form.svg");
	background-position: bottom right;
}
.btn-close span {
	background-image: url("../img/btn_close.svg");
}
.btn-back a:hover,
.btn-form a:hover,
.btn-close span:hover {
	text-decoration: none;
	opacity: 0.7;
}
@media (orientation: landscape) {
	.btn-back,
	.btn-form,
	.btn-close {
		width: 7.5vw;
		height: 7.5vw;
	}
}
@media (orientation: portrait) {
	.btn-back,
	.btn-form,
	.btn-close {
		width: 12.5vw;
		height: 12.5vw;
	}
}

/* --------------------------------------------------
	.header
-------------------------------------------------- */
.header {
	position: absolute;
	left: 0;
	top: 0;
	background-color: #00245F;
}
@media (orientation: landscape) {
	.header {
		width: 13%;
		height: 100%;
	}
	.header .inner {
		padding-top: 2.8001vw;
	}
	.header .logo {
		margin: 0 auto;
		width: 45.3847%;
	}
}
@media (orientation: portrait) {
	.header {
		width: 100%;
		height: 10vw;
	}
	.header .inner {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		height: 100%;
	}
	.header .logo {
		margin-right: 9%;
		width: 9.8334%;
	}
}

/* --------------------------------------------------
	.footer
-------------------------------------------------- */
.footer {
	background-color: #00245F;
}
.footer .inner {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}
.footer .copyright {
	font-weight: 300;
	line-height: 1;
	text-align: center;
	color: #fff;
}
@media (orientation: landscape) {
	.footer {
		position: absolute;
		left: 0;
		bottom: 0;
		width: 13%;
		height: 50px;
	}
	.footer .copyright {
		font-size: 0.5vw;
	}
}
@media (orientation: portrait) {
	.footer {
		width: 100%;
		height: 6.5vw;
	}
	.footer .copyright {
		font-size: 0.8334vw;
	}
}

/* --------------------------------------------------
	.mainContents
-------------------------------------------------- */
.mainContents {
	position: relative;
}
.heading-area h1 {
	font-weight: 500;
	line-height: 1;
	color: #00245F;
	text-align: center;
}
.heading-area p {
	line-height: 1;
	color: #00245F;
	text-align: center;
}
.heading-area p small {
	display: inline-block;
	font-size: 73%;
}
.contents-area {
	display: flex;
	align-items: center;
}
.contents-area-inner {
	width: 100%;
}
@media (orientation: landscape) {
	.mainContents {
		margin-left: 13%;
		width: 87%;
		min-height: 100svh;
	}
	.heading-area {
		margin-bottom: 4vw;
		padding-top: 5vw;
	}
	.heading-area h1 {
		font-size: 2.85vw;
	}
	.heading-area p {
		font-size: 1.65vw;
	}
	.contents-area {
		padding-bottom: 2vw;
	}
}
@media (orientation: portrait) {
	.mainContents {
		width: 100%;
		min-height: calc( 100svh - 6.5vw );
	}
	.heading-area {
		margin-bottom: 5vw;
		padding-top: calc( 10vw + 5vw);
	}
	.heading-area h1 {
		font-size: 4.75vw;
	}
	.heading-area p {
		font-size: 2.75vw;
	}
	.contents-area {
		padding-bottom: 2vw;
	}
}

/* --------------------------------------------------
	.top
-------------------------------------------------- */
.langselect,
.appselect {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 auto;
}
.langselect li img {
	border-radius: 50%;
	box-shadow: 4px 4px 4px rgba(0,0,0,0.3);
}
.langselect li.no-shadow img {
	box-shadow: none;
}
.langselect li figure,
.appselect li figure {
	text-align: center;
}
.langselect li figcaption,
.appselect li figcaption {
	width: 200%;
	margin-left: -50%;
	font-weight: 300;
	color: #00245F;
	text-align: center;
}
.top h2 {
	font-weight: 500;
	line-height: 1;
	color: #00245F;
	text-align: center;
}
@media (orientation: landscape) {
	.langselect,
	.appselect {
		width: 77.5%;
	}
	.langselect {
		margin-bottom: 0.5vw;
	}
	.langselect li,
	.appselect li {
		width: 11.1112%;
	}
	.langselect li {
		margin-left: 18.5186%;
		margin-bottom: 4vw;
	}
	.appselect li {
		margin-left: 15.1852%;
		width: 11.1112%;
	}
	.langselect li:nth-child(4n+1) {
		margin-left: 0;
	}
	.appselect li:nth-child(4n+1) {
		margin-left: 0;
	}
	.langselect li figcaption,
	.appselect li figcaption {
		margin-top: 1vw;
		font-size: 1.8vw;
	}
	.top h2 {
		margin-bottom: 2.3vw;
		font-size: 2.85vw;
	}
}
@media (orientation: portrait) {
	.langselect {
		width: 71.6667%;
	}
	.appselect {
		width: 71.6667%;
	}
	.langselect li,
	.appselect li {
		margin-left: 23.8373%;
		width: 17.4419%;
	}
	.langselect li {
		margin-bottom: 5vw;
	}
	.langselect li:nth-child(3n) {
		margin-left: 0;
	}
	.langselect li:nth-child(1) {
		margin-left: 17.4419%;
	}
	.langselect li:nth-child(2) {
		margin-left: 29.0698%;
		margin-right: 17.4419%;
	}
	.appselect li:nth-child(1) {
		margin-left: 0;
	}
	.langselect li figcaption,
	.appselect li figcaption {
		margin-top: 1.3334vw;
		font-size: 2.9167vw;
	}
	.top h2 {
		margin-bottom: 4vw;
		font-size: 4vw;
	}
}

/* --------------------------------------------------
	.lang-name
-------------------------------------------------- */
.lang-name {
	position: absolute;
}
.lang-name img {
	border-radius: 50%;
	box-shadow: 2.5px 2.5px 2.5px rgba(0,0,0,0.3);
}
.lang-name.no-shadow img {
	box-shadow: none;
}
.lang-name figure {
	text-align: center;
}
.lang-name figcaption {
	margin-top: 0.5vw;
	margin-left: -50%;
	width: 200%;
	font-weight: 300;
	color: #00245F;
	text-align: center;
}
@media (orientation: landscape) {
	.lang-name {
		right: 3.6vw;
		top: 3.6vw;
		width: 5vw;
	}
	.lang-name figcaption {
		margin-top: 0.5vw;
		font-size: 1.1vw;
	}
}
@media (orientation: portrait) {
	.lang-name {
		right: 5.6667vw;
		top: calc( 3.3334vw + 10vw );
		width: 8.3334vw;
	}
	.lang-name figcaption {
		margin-top: 0.8334vw;
		font-size: 1.8334vw;
	}
}

/* --------------------------------------------------
	.catalogue
-------------------------------------------------- */
.catalogue {
	overflow: hidden;
}
.catalogueselect {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 auto;
}
.catalogueselect li figure {
	text-align: center;
}
.catalogueselect li figcaption {
	margin-left: -50%;
	width: 200%;
	font-weight: 300;
	color: #00245F;
	text-align: center;
}
.catalogueselect li:nth-child(7) figcaption {
	margin-left: -25%;
	width: 150%;
	line-height: 1.3;
}
@media (orientation: landscape) {
	.catalogueselect {
		padding-top: 4.25vw;
		width: 94.4828%;
	}
	.catalogueselect li {
		margin: 0 2.5548%;
		width: 9.1241%;
	}
	.catalogueselect li.horizontal {
		margin: 7.3vw 3.6497% 0;
		width: 12.7738%;
	}
	.catalogueselect li.qrcode {
		margin: 7.3vw 3.6497% 0;
		width: 14.2336%;
	}
	.catalogueselect li figcaption {
		margin-top: 1.6vw;
		font-size: 1.3vw;
	}
}
@media (orientation: portrait) {
	.catalogueselect {
		padding-top: 1vw;
		width: 78%;
	}
	.catalogueselect li {
		margin: 5vw 4.2254% 0;
		width: 15.0906%;
	}
	.catalogueselect li.horizontal,
	.catalogueselect li.qrcode {
		margin-left: 6.0363%;
		margin-right: 6.0363%;
		width: 21.1268%;
	}
	.catalogueselect li:nth-child(-n+4) {
		margin-top: 0;
	}
	.catalogueselect li figcaption {
		margin-top: 1.6vw;
		font-size: 2.1667vw;
	}
}


/* --------------------------------------------------
	.newproduct
-------------------------------------------------- */
.newproduct {
	overflow: hidden;
}
.newproduct h1 {
	margin-bottom: 	0.2em;
}
.newproductmenu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 auto;
}
.newproductmenu li figure {
	text-align: center;
}
.newproductmenu li figcaption {
	margin-left: -50%;
	width: 200%;
	font-weight: 300;
	color: #00245F;
	text-align: center;
}
@media (orientation: landscape) {
	.newproductmenu {
		padding-top: 4.25vw;
		width: 63.2184%;
	}
	.newproductmenu li {
		margin: 0 10.5834%;
		width: 17.5%;
	}
	.newproductmenu li.horizontal {
		margin: 7.3vw 4.1667% 0;
		width: 25%;
	}
	.newproductmenu li figcaption {
		margin-top: 1.6vw;
		font-size: 1.3vw;
	}
}
@media (orientation: portrait) {
	.newproductmenu {
		padding-top: 1vw;
		width: 77.5%;
	}
	.newproductmenu li {
		margin: 7vw 13.656% 0;
		width: 22.5807%;
	}
	.newproductmenu li.horizontal {
		margin-left: 5.3764%;
		margin-right: 5.3764%;
		width: 32.6882%;
	}
	.newproductmenu li figcaption {
		margin-top: 1.6vw;
		font-size: 2.1667vw;
	}
}



/* --------------------------------------------------
	.form
-------------------------------------------------- */
.form {}
.form table {
	margin: 0 auto;
}
.form table th,
.form table td {
	box-sizing: border-box;
	font-weight: 300;
	color: #00245F;
	vertical-align: middle;
}
.form table th {
	text-align: left;
}
.form table td {
}
.form .input-wrap {
	position: relative;
	display: block;
}
.form input[type=text],
.form select {
	padding: 0.1em 0.5em 0;
	width: 100%;
	height: 100%;
	background-color: transparent;
	border: none;
	box-sizing: border-box;
	font-family: 'NSK-TSR-E', sans-serif;
	font-weight: 300;
	color: #00245F;
}
.form select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.form .privacy-text {
	position: relative;
	margin-bottom: 20px;
	padding: 0.5em;
	box-sizing: border-box;
}
.form .privacy-text p {
	font-weight: 300;
	line-height: 1.4;
	color: #00245F;
	text-align: left;
}
.form .privacy-check {
	font-weight: 300;
	line-height: 1.4;
	color: #00245F;
}
.form .privacy-check input {
	margin-right: 0.5em;
}
.form .btn-fileSelect {
	position: relative;
}
.form .btn-fileSelect:after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	display: block;
	background: linear-gradient(135deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 100%);
}
.form .input-append #photoCover1 {
	float: left;
	width: 100%;
}
.form .fileSelect {
	display: block;
	background-color: #00245F;
	border: none;
	font-weight: 300;
	color: #fff;
}
.form .btn-wrap {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
}
.form input.btn-navy {
	margin: 0 auto;
	display: block;
	background-color: #00245F;
	border: none;
	font-weight: 300;
	color: #fff;
	cursor: pointer;
}
.form div.btn-navy {
	margin: 0 auto;
}
.form div.btn-navy span {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 0.1em;
	width: 100%;
	height: 100%;
	background-color: #00245F;
	font-weight: 300;
	color: #fff;
	cursor: pointer;
}
.form div.btn-navy span:after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translate(0,-50%);
	display: block;
	background: url("../img/icon_close.svg") no-repeat;
	background-size: contain;
}
.border-corner {
	position: relative;
	border: #00245F 1px solid;
}
.border-corner:after {
	content: '';
	position: absolute;
	right: -1px;
	bottom: -1px;
	display: block;
	background: url("../img/bg_border_corner.png") no-repeat;
	background-size: 100% 100%;
}
.arrow-bottom {
	position: relative;
}
.arrow-bottom:before {
	content: '';
	position: absolute;
	top: 50%;
	transform: translate(0,-50%);
	display: block;
	background: url("../img/icon_arrow_bottom.svg") no-repeat;
	background-size: contain;
}
.form .error {
	display: block;
	margin: 0.2em auto;
	font-size: 1.4001vw;
	font-weight: 300;
	color: #f00;
}
.form .thanks {
	margin: 0 auto;
	border-top: #00245F 1px solid;
	border-bottom: #00245F 1px solid;
	font-weight: 300;
	color: #00245F;
	text-align: center;
}
@media (orientation: landscape) {
	.form .error {
		width: 55.5%;
	}
	.form td .error {
		width: 100%;
	}
	.form table {
		width: 75%;
	}
	.form table th,
	.form table td {
		padding-bottom: 1.7vw;
		font-size: 1.4001vw;
	}
	.form table th {
		padding-top: 0.75em;
		width: 13%;
		vertical-align: top;
	}
	.form table td {
		width: 87%;
	}
	.form.confirm table td {
		padding-top: 0.75em;
	}
	.form .input-wrap {
		width: 85%;
		height: 3.25vw;
	}
	.form input[type=text],
	.form select {
		font-size: 1.4001vw;
	}
	.form .privacy-text {
		margin-bottom: 1vw;
		width: 85%;
	}
	.form .privacy-text p {
		font-size: 0.9vw;
	}
	.form .privacy-check {
		font-size: 1vw;
	}
	.form .btn-fileSelect {
		width: 12.5vw;
	}
	.form .btn-fileSelect:after {
		width: 0.95vw;
		height: 0.95vw;
	}
	.form .fileSelect {
		width: 12.5vw;
		height: 2.5vw;
		font-size: 1.3vw;
	}
	.form .btn-wrap {
		width: 60%;
	}
	.form input.btn-navy {
		width: 22vw;
		height: 4.4vw;
		border-radius: 2.2vw;
		font-size: 1.8vw;
	}
	.form div.btn-navy {
		width: 22vw;
		height: 4.4vw;
	}
	.form div.btn-navy span {
		border-radius: 2.2vw;
		font-size: 1.8vw;
	}
	.form div.btn-navy span:after {
		right: 2vw;
		width: 1.2vw;
		height: 1.2vw;
	}
	.border-corner:after {
		width: 0.8vw;
		height: 0.8vw;
	}
	.arrow-bottom:before {
		right: 1.5vw;
		width: 1.6vw;
		height: 0.85vw;
	}
	.form .thanks {
		margin-top: 10vw;
		margin-bottom: 10vw;
		padding: 3.75vw 0;
		width: 47.5%;
		font-size: 2.35vw;
	}
	.form form + form {
		margin-top: 2vw;
	}
}
@media (orientation: portrait) {
	.form .error {
		width: 79%;
	}
	.form td .error {
		width: 100%;
	}
	.form table {
		display: block;
		width: 79.1667%;
	}
	.form table th,
	.form table td {
		display: block;
		font-size: 2.3334vw;
	}
	.form table th {
		padding-bottom: 0.3em;
	}
	.form table td {
		padding-bottom: 2.5vw;
	}
	.form .input-wrap {
		height: 5.8334vw;
	}
	.form input[type=text],
	.form select {
		font-size: 2.8334vw;
	}
	.form .privacy-text {
		margin-bottom: 1.6667vw;
	}
	.form .privacy-text p {
		font-size: 1.5vw;
	}
	.form .privacy-check {
		font-size: 1.6667vw;
	}
	.form .btn-fileSelect {
		width: 20.8334vw;
	}
	.form .btn-fileSelect:after {
		width: 1.8334vw;
		height: 1.8334vw;
	}
	.form .fileSelect {
		width: 20.8334vw;
		height: 4.1667vw;
		font-size: 2.4167vw;
	}
	.form .btn-wrap {
		width: 85%;
	}
	.form input.btn-navy {
		width: 36.6667vw;
		height: 7.3334vw;
		border-radius: 3.6667vw;
		font-size: 3vw;
	}
	.form div.btn-navy {
		width: 36.6667vw;
		height: 7.3334vw;
	}
	.form div.btn-navy span {
		border-radius: 3.6667vw;
		font-size: 3vw;
	}
	.form div.btn-navy span:after {
		right: 3.3334vw;
		width: 2vw;
		height: 2vw;
	}
	.border-corner:after {
		width: 1.9167vw;
		height: 1.9167vw;
	}
	.arrow-bottom:before {
		right: 2.5vw;
		width: 2.6667vw;
		height: 1.4167vw;
	}
	.form .thanks {
		margin-top: 15vw;
		margin-bottom: 25vw;
		padding: 6.25vw 0;
		width: 79.1667%;
		font-size: 3.9167vw;
	}
	.form form + form {
		margin-top: 1.5vw;
	}
}