@charset "utf-8";

/* Fonts */
@font-face {
	font-family: 'Montserrat-VF';
	src: url('https://www.veltra.com/jp/special/wp-content/themes/uncode-child/fonts/Montserrat-VF.woff2') format('woff2');
	src: url('../fonts/Montserrat-VF.woff2') format('woff2');
	font-weight: 100 900;
	font-display: swap;
	font-style: normal;
}

/* Reset */
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;
}

:root {
    --vt-black: #4C4C4C;
    --vt-black-dark: #303030;
    --vt-cream: #FCFAF1;
    --vt-blue-light: #E4ECF3;
    --vt-blue-soft: #8DB0CC;
    --vt-blue: #79A2C3;
    --vt-blue-dark: #538CBA;
    --vt-red-light: #FDE6E1;
    --vt-red-soft: #F5957F;
    --vt-red: #F38268;
    --vt-red-dark: #F06343;
    --vt-green-light: #E7F2EB;
    --vt-green-soft: #98C8A8;
    --vt-green: #86BE99;
    --vt-green-dark: #63AF7D;
    --vt-gold-light: #F7EFE1;
    --vt-gold-soft: #DAB679;
    --vt-gold: #D6AE6A;
    --vt-gold-dark: #CA9945;
	--primary:#9B003F;
}
.text-black {
	color: var(--vt-black);
}
.text-black-dark {
	color: var(--vt-black-dark);
}
.text-cream {
	color: var(--vt-cream);
}
.text-blue-light {
	color: var(--vt-blue-light);
}
.text-blue-soft {
	color: var(--vt-blue-soft);
}
.text-blue {
	color: var(--vt-blue);
}
.text-blue-dark {
	color: var(--vt-blue-dark);
}
.text-red-light {
	color: var(--vt-red-light);
}
.text-red-soft {
	color: var(--vt-red-soft);
}
.text-red {
	color: var(--vt-red);
}
.text-red-dark {
	color: var(--vt-red-dark);
}
.text-green-light {
	color: var(--vt-green-light);
}
.text-green-soft {
	color: var(--vt-green-soft);
}
.text-green {
	color: var(--vt-green);
}
.text-green-dark {
	color: var(--vt-green-dark);
}
.text-gold-light {
	color: var(--vt-gold-light);
}
.text-gold-soft {
	color: var(--vt-gold-soft);
}
.text-gold {
	color: var(--vt-gold);
}
.text-gold-dark {
	color: var(--vt-gold-dark);
}
.text-primary {
	color: var(--primary);
}
.bg-primary {
	background-color: var(--primary) !important;
}


/* Box Model */

*, *:before, *:after {
	box-sizing: border-box;
}


/* Basic */
@-ms-viewport {
	width: device-width;
}


/* Container */
.container-s, .container-m, .container-xxl {
	width:100%;
	margin-right:auto;
	margin-left:auto;
	padding-right:30px;
	padding-left:30px
}
@media (min-width:375px){
	.container-s, .container-m, .container-xxl{
		max-width:100%
	}
}
@media (min-width:576px){
	.container-s, .container-m, .container-xxl{
		max-width:100%
	}
}
@media (min-width:768px){
	.container-s, .container-m, .container-xxl{
		max-width:768px;
		padding-right:30px;
		padding-left:30px
	}
}
@media (min-width:992px){
	.container-s{
		max-width:700px
	}
	.container-m{
		max-width:900px
	}
	.container-xxl{
		max-width:992px
	}
}
@media (min-width:1280px){
	.container-xxl{
		max-width:1280px
	}
}
@media (min-width:1536px){
	.container-xxl{
		max-width:1536px
	}
}


/* Footer */
footer {
	font-family: "nunitoregular", sans-serif;
	letter-spacing: 0.02em;
	font-weight: 400;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--vt-black-dark);
	background: white;
	padding-top: 72px;
	padding-bottom: 36px;
	text-align: left;
}
:lang(ja) footer {
	font-family: "Noto Sans JP", sans-serif;
}
footer a {
	transition: color 0.2s ease, background-color 0.2s ease;
	color: inherit;
	text-decoration: none;
}
footer a:hover {
	border-bottom-color: transparent;
	color: inherit;
}
footer img {
    vertical-align: middle;
	max-width: 100%;
	height: auto;
}
footer .pl-0 {
  padding-left: 0 !important;
}
footer .pt-4 {
  padding-top: 15px !important;
}
footer .pb-5 {
  padding-bottom: 30px !important;
}
footer .mb-0 {
  margin-bottom: 0 !important;
}
footer .ml-n2 {
  margin-left: -5px !important;
}
@media (min-width: 768px) {
	footer .pt-md-0 {
	  padding-top: 0 !important;
	}
}
@media (min-width: 992px) {
	footer .pt-lg-5 {
	padding-top: 30px !important;
	}
}
footer ul {
	list-style: disc;
	margin: 0 0 2em 0;
	padding-left: 1.5em;
}

.footer-logo {
	width: 130px;
	height: 36px;
	display: inline-block;
}
.footer-social-icons li {
	line-height: 18px;
    display: inline-block;
    vertical-align: middle;
}
.footer-social-icons li a, 
.footer-social-icons li i {
	display: block;
	padding: 4px;
}
.icon-footer {
	font-size: 20px;
}
footer a:hover, 
footer a:focus {
	text-decoration: none;
	opacity: 0.6;
}
.footer-line-icon {
	padding-left: 4px !important;
	opacity: 0.75;
}
.footer-line-icon img {
	width: 23px;
	height: 23px;
}
@media (min-width:570px) and (max-width:959px) {
	.footer-logo {
		text-align: center;
	}
}
.footer-menu-category {
	font-size: 11px;
	text-transform: uppercase;
	font-family: Montserrat-VF, sans-serif;
	font-weight: 700;
	margin-bottom: 24px;
}
.footer-menu {
	line-height: 2.75;
	font-size: 13px;
	margin-bottom: 24px;
	padding-left: 0;
	list-style: none;
}
.footer-menu li {
	height: 2.75em;
    overflow: hidden;
    display: block;
}
.footer-copyright {
	font-size: 11px;
	margin-top: 72px;
}