@font-face {
  font-family: 'Nunito Sans';
  src: url('../fonts/NunitoSans-VariableFont_YTLC,opsz,wdth,wght.ttf') format("truetype-variations");
  font-weight: 200 1000;
}

@font-face {
  font-family: 'Noto Sans Japanese';
  src: url('../fonts/NotoSansJP-VariableFont_wght.ttf') format("truetype-variations");
  font-weight: 200 1000;
}

:root {
	--blue: #0f092f;
	--bluesecondary: #27264e;
	--yellow: #ffed00;
	--yellowsecondary: #fff8bb;
}

body {
	font-family: 'Nunito Sans', sans-serif;
	font-weight: 400;
}

html[lang='jp'] body{
	font-family: 'Noto Sans Japanese', sans-serif;
}


img {
	width: 100%;
}

h1 {
	margin: 0;
	font-weight: 600;
	letter-spacing: .05rem;
}


h2, h3, h2 span, h4 {
	margin: 0 0 2rem 0;
	font-weight: 300;
	font-size: 1.4rem;
}

h2 span {
	margin: 0;
}

h2 span span {
	display: block;
	font-size: 1rem;
	margin-top: .2rem;
}

h2 span span a{
	font-size: 1rem;
}

h3 {
	font-weight: 400;
}

h4 {
	font-weight: 400;
	font-size: 1rem;
}


p {
	margin-bottom: 1rem;
	margin-top: 0;
}

li u,
p u{
	transform: translateY(3px) translateX(2px);
	display: inline-block;
	font-size: .8em;
	text-decoration: none;
}


.layout ul {
	padding-left: 1rem;
}


.layout ul li {
	list-style-type: square;
}


input {
	border-radius: 0;
	-webkit-appearance: none;
}


a[href*='tel:'],
a[href*='mailto:'],
a.externalAnchor{
	display: inline-block;
	text-decoration: none;
}

a[href*='tel:']:before,
a.linkedin:before,
a[href*='mailto:']:before,
a.externalAnchor:before{
	content: '\f879';
	font-family: "Font Awesome 6 Pro";
	text-decoration: none;
	font-size: 1.2rem;
	padding-right: .3rem;
	text-decoration: none;
	font-weight: 300;
	transform: translateY(.2rem);
	display: inline-block;
	margin:6px 2px 6px 0;
}

a[href*='mailto:']:before {
	content: '\f0e0';
}

a.linkedin:before {
	content: '\f0e1';
	text-decoration: none;
	font-family: "Font Awesome 6 Brands";
}

a.externalAnchor:before{
	content: '\f0ac';
	transform: translateY(0rem);
}

div.layout h1 {
	margin-bottom: 1rem;
}


div.layout h1 + h2 {
	margin-top: -1rem;
}

div.oneThird img.collection + h1,
div.oneHalf img.collection + h1{
	margin-top: 1rem;
}

body.content_collection div.layout div.fullColumn h2,
body.twoColumns div.layout div.fullColumn h2,
body.threeColumns div.layout div.fullColumn h2{
	margin-bottom: -2rem;
}

div.layout .fixedHeadline h1 + h2 {
	margin-top: 0rem;
}


div.tabContainer h3,
div.tabContainer h4 {
	margin-bottom: 2rem;
}

div.tabContainer h3 + h4 {
	margin-top: -2rem;
}


table {
	width: 100%;
	margin: .8rem 0;
	border-collapse: collapse;
}

table tr td {
	padding: .2rem;
	border-top: 1px solid var(--yellowsecondary)
}

table tr:first-child td {
	font-weight: 700;
	border: none;
}

table p {
	margin: 0;
}

table tr:hover td {
	background: rgba(0, 0, 0, .2);
}


body.page div.collectionItem table tr td p {
	margin: 0;
}

div.download h2 small,
h2 a.download + small{
	display:block;
	line-height: 1.2rem;
	margin-top:1rem;
	font-size: 1rem;
}
div.download h2 small a,
h2 a.download + small a{
	display: inline-block;
	margin-left: 5px;
}

p:last-child{
	margin-bottom: 0;
}