/*==============================================================
  01. 定義・定数
==============================================================*/

/*--------------------------------------------------------------
# Breakpoint Reference
--------------------------------------------------------------*/

/*
Breakpoint Reference

xs : ～575px
@media(max-width:575px) {}

sm : 576px～767px
@media(min-width:576px) and (max-width:767px) {}

md : 768px～991px
@media(min-width:768px) and (max-width:991px) {}

lg : 992px～1199px
@media(min-width:992px) and (max-width:1199px) {}

xl : 1200px～1399px
@media(min-width:1200px) and (max-width:1399px) {}

xxl : 1400px～
@media(min-width:1400px) {}
*/


/*--------------------------------------------------------------
# Variables / Constants
--------------------------------------------------------------*/

:root {
	/* Fonts */
	/* デフォルト */
	--font-default:"Noto Serif JP", serif;
	--font-default-size:22px;
	--font-default-size-tablet:26px;
	--font-default-size-sp:20px;

	/* 特殊文章 */
	--font-text-big:32px; /* 強調 */
	--font-text-copy:14px; /* コピーライト */

	--font-sans:"Noto Sans JP", sans-serif;
	--font-brand:"Nothing You Could Do", cursive; /* 店舗名・筆記体 */

	--font-h1:50px; /* タイトル */
	--font-h2:40px; /* サブタイトル */
	--font-h3:24px; /* 小見出し */

	/* Colors */
	--color-default-font:#FFFFFF;
	--color-default-bgcolor:#34241D; /* 暗い茶 */

	--color1:#110F0C; /* 茶黒 */
	--color2:#FFFFFF; /* 白 */
	--color3:#EEBC6A; /* 黄土色 */
	--color4:#D53636; /* 赤 */
	--color5:#1E130E; /* こげ茶 */

	--color-error:#FF0000; /* 原色赤 */

	--color-hover-a:#D53636; /* 赤 */
	--color-hover-btn:#ff5252; /* 明るい赤 */

	/* Colors Form用 */
	--color-form-bg:#F4F1F2;
	--color-form-border:#D9D9D9;
	--color-form-placeholder:#A7A7A7;

	/* 行間 */
	--line-height-base:1.8;
	--line-height-title:1.3;

}


/*==============================================================
  02. 共通要素・パーツ
==============================================================*/

/*--------------------------------------------------------------
# Bootstrap Custom
--------------------------------------------------------------*/

.container-fluid {
	margin:0;
	padding:0;
	position:relative;
	z-index:0;
}

.box-center {
	margin:0 auto;
}


/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/

body {
	font-family:var(--font-default);
	font-optical-sizing:auto;
	font-weight:400;
	font-style:normal;
	font-size:var(--font-default-size);
	color:var(--color-default-font);
	background-color:var(--color-default-bgcolor);
	position:relative;
	line-height:var(--line-height-base);
}

#wrapper {
	max-width:2160px;
	margin:0 auto;
	position:relative;
}

main {
	position:relative;
	z-index:10;
}

a {
	color:var(--color-default-font);
	text-decoration:none;
}

a:hover {
	color:var(--color-hover-a);
	text-decoration:none;
}


/* Logo hover */
#header-logo img,
.footer-logo img {
	transition:opacity 0.2s ease;
}

#header-logo a:hover img,
.footer-logo a:hover img {
	opacity:0.7;
}


h1 {
	margin:0;
	font-family:var(--font-default);
	font-size:var(--font-h1);
	font-weight:600;
	line-height:var(--line-height-title);
}

h2 {
	margin:0;
	font-family:var(--font-default);
	font-size:var(--font-h2);
	font-weight:600;
	line-height:1.2;
}

h3 {
	margin:0;
	font-family:var(--font-default);
	font-size:var(--font-h3);
	font-weight:600;
	line-height:1.5;
}

p {
	font-family:var(--font-default);
	font-size:var(--font-default-size);
	font-weight:400;
	line-height:var(--line-height-base);
}

i {
	font-size:var(--font-default-size);
}


/* タブレット・スマホ専用改行 */
.tb-sp-only {
	display:none;
}

@media(max-width:991px) {

	.tb-sp-only {
		display:block;
	}

}

/* スマホ専用改行 */
.sp-only {
	display:none;
}


/* Tablet / Smartphone */
@media(max-width:991px) {

	body {
		font-size:var(--font-default-size-tablet);
	}

	p {
		font-size:var(--font-default-size-tablet);
	}

}


/* Smartphone */

@media(max-width:575px) {

	body {
		font-size:var(--font-default-size-sp);
	}

	p {
		font-size:var(--font-default-size-sp);
	}


	.sp-only {
		display:block;
	}

}



/* md：768px ～ 991px 
@media(min-width:768px) and (max-width:991px) {

	:root {
		--font-text-big:28px;
		--font-text-copy:16px;
		--font-h1:40px;
		--font-h2:32px;
		--font-h3:22px;
	}

}
*/

/* xs：575px以下 */
@media(max-width:575px) {

	:root {
		--font-text-big:28px;
		--font-text-copy:16px;
		--font-h1:34px;
		--font-h2:32px;
		--font-h3:22px;
	}

}



/*--------------------------------------------------------------
# Common / Section Title
--------------------------------------------------------------*/

.common-section-title {
	width:100%;
}

.common-section-sunburst {
	width:218px;
	height:90px;
	margin:0 auto 16px;
	background-color:currentColor;
	-webkit-mask-image:url("/assets/img/common/common_sunburst.svg");
	mask-image:url("/assets/img/common/common_sunburst.svg");
	-webkit-mask-repeat:no-repeat;
	mask-repeat:no-repeat;
	-webkit-mask-position:center;
	mask-position:center;
	-webkit-mask-size:contain;
	mask-size:contain;
	display:block;
}

.common-section-title-row {
	width:100%;
	gap:24px;
}

.common-section-title-row h1 {
	max-width:calc(100% - 208px);
	color:inherit;
	font-family:var(--font-default);
	font-size:var(--font-h1);
	font-weight:400;
	line-height:var(--line-height-title);
	overflow-wrap:normal;
	word-break:normal;
}

.common-section-title-line {
	width:80px;
	aspect-ratio:80 / 16;
	background-color:currentColor;
	-webkit-mask-image:url("/assets/img/common/common_3line.svg");
	mask-image:url("/assets/img/common/common_3line.svg");
	-webkit-mask-repeat:no-repeat;
	mask-repeat:no-repeat;
	-webkit-mask-position:center;
	mask-position:center;
	-webkit-mask-size:100% 100%;
	mask-size:100% 100%;
	flex-shrink:0;
	display:block;
}


/* Gold */

.common-section-title-gold {
	color:var(--color3);
}


/* Black */

.common-section-title-black {
	color:var(--color1);
}


/* White */
.common-section-title-white {
	color:var(--color2);
}



/* Tablet / Smartphone */

@media(max-width:991px) {

	.common-section-title-row {
		gap:18px;
	}

	.common-section-title-row h1 {
		max-width:calc(100% - 156px);
	}

	.common-section-title-line {
		width:60px;
	}

}


/* Smartphone */

@media(max-width:575px) {

	.common-section-sunburst {
		width:180px;
		height:74px;
	}

	.common-section-title-row {
		gap:12px;
	}

	.common-section-title-row h1 {
		max-width:calc(100% - 104px);
	}

	.common-section-title-line {
		width:40px;
	}

}


/*--------------------------------------------------------------
# Common / Button
--------------------------------------------------------------*/

.common-red-button {
	width:430px;
	height:110px;
	max-width:100%;
	margin:0 auto;
	padding:0 70px 0 30px;
	color:var(--color2);
	background-color:var(--color4);
	border:none;
	font-family:var(--font-default);
	font-size:var(--font-h3);
	line-height:var(--line-height-title);
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	transition:background-color 0.2s ease;
}

.common-red-button:hover,
.common-red-button:focus-visible {
	color:var(--color2);
	background-color:var(--color-hover-btn);
}

.common-red-button > i {
	margin-right:14px;
	color:var(--color2);
	font-size:var(--font-h2);
	flex-shrink:0;
}

.common-red-button > img {
	width:274px;
	max-width:100%;
	height:auto;
	display:block;
}

.common-red-button-arrow {
	width:40px;
	right:25px;
	border-top:2px solid var(--color2);
	position:absolute;
}

.common-red-button-arrow::after {
	width:8px;
	height:8px;
	top:-5px;
	right:0;
	border-top:2px solid var(--color2);
	border-right:2px solid var(--color2);
	content:"";
	position:absolute;
	transform:rotate(45deg);
}


/* Tablet */

@media(min-width:768px) and (max-width:991px) {

	.common-red-button {
		width:calc(100% - 70px);
		height:140px;
		padding-right:90px;
		padding-left:40px;
		font-size:var(--font-h2);
	}

	.common-red-button > i {
		margin-right:18px;
		font-size:var(--font-h1);
	}

	.common-red-button-arrow {
		width:50px;
		right:35px;
	}

}


/* Smartphone */

@media(max-width:767px) {

	.common-red-button {
		width:79.1667vw;
		height:18.2292vw;
		padding-right:12vw;
		padding-left:5vw;
		font-size:var(--font-h3);
	}

	.common-red-button > i {
		margin-right:2vw;
		font-size:var(--font-h2);
	}

	.common-red-button > img {
		width:35.6771vw;
	}

	.common-red-button-arrow {
		width:5.2083vw;
		right:4.5vw;
	}

	.common-red-button-arrow::after {
		width:6px;
		height:6px;
		top:-4px;
	}

}


/* Black Button */

.common-red-button.is-black {
	background-color:var(--color1);
}

.common-red-button.is-black:hover,
.common-red-button.is-black:focus-visible {
	color:var(--color2);
	background-color:var(--color4);
}



/*==============================================================
  03. ページトップ・ローディング
==============================================================*/


/*--------------------------------------------------------------
# Preloader なし


#preloader,
#preloader2 {
	width:100%;
	height:100dvh;
	top:0;
	left:0;
	position:fixed;
}

#preloader {
	background-color:var(--color2);
	display:flex;
	align-items:center;
	justify-content:center;
	z-index:3000;
}

#preloader2 {
	background-color:var(--color3);
	z-index:2999;
}

--------------------------------------------------------------*/



/*--------------------------------------------------------------
# Page Top Link
--------------------------------------------------------------*/

.fixed-actions {
	right:16px;
	bottom:100px;
	position:fixed;
	z-index:1100;
}

#page-top {
	width:50px;
	height:50px;
	color:var(--color2);
	background-color:var(--color4);
	border:none;
	border-radius:5px;
	opacity:0;
	display:flex;
	align-items:center;
	justify-content:center;
	pointer-events:none;
}

#page-top:hover {
	background-color:var(--color-hover-btn);
	cursor:pointer;
}

#page-top.UpMove {
	animation:UpAnime 0.5s forwards;
	pointer-events:auto;
}

@keyframes UpAnime {

	from {
		opacity:0;
		transform:translateY(100px);
	}

	to {
		opacity:1;
		transform:translateY(0);
	}

}

#page-top.DownMove {
	animation:DownAnime 0.5s forwards;
	pointer-events:none;
}

@keyframes DownAnime {

	from {
		opacity:1;
		transform:translateY(0);
	}

	to {
		opacity:0;
		transform:translateY(100px);
	}

}


/* Tablet / Smartphone */

@media(max-width:991px) {

	.fixed-actions {
		height:96px;
		right:30px;
		bottom:28px;
		left:30px;
		display:grid;
		grid-template-columns:minmax(0, 1fr) 96px;
		gap:40px;
		pointer-events:none;
	}

	.fixed-actions .sp-contact-button,
	.fixed-actions #page-top {
		pointer-events:auto;
	}

	#page-top {
		width:96px;
		height:96px;
		opacity:1;
		pointer-events:auto;
		transform:translateY(0);
		animation:none;
	}

	#page-top.UpMove,
	#page-top.DownMove {
		opacity:1;
		pointer-events:auto;
		transform:translateY(0);
		animation:none;
	}

}


/* Smartphone */

@media(max-width:575px) {

	.fixed-actions {
		height:64px;
		right:15px;
		bottom:15px;
		left:15px;
		grid-template-columns:minmax(0, 1fr) 64px;
		gap:15px;
	}

	#page-top {
		width:64px;
		height:64px;
	}

}


/*==============================================================
  04. Header
==============================================================*/

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/

#header {
	height:0;
	top:0;
	left:0;
	position:absolute;
	z-index:1000;
}

.header-inner {
	height:0;
}


/*--------------------------------------------------------------
# Header / Language
--------------------------------------------------------------*/

.language-nav {
	top:18px;
	right:0;
	margin:0;
	position:absolute !important;
	z-index:200;
}

.language-button {
	width:72px;
	height:44px;
	padding:0 8px;
	color:var(--color2);
	background:none;
	border:none;
	gap:8px;
	transition:color 0.2s ease;
}

.language-button .bi-globe2 {
	font-size:var(--font-h3);
}

.language-arrow {
	font-size:var(--font-text-copy);
	transition:transform 0.2s ease;
}

.language-button[aria-expanded="true"] .language-arrow {
	transform:rotate(180deg);
}

.language-dropdown {
	width:150px;
	top:calc(100% + 8px);
	right:0;
	padding:4px;
	background-color:var(--color1);
	border:none;
	opacity:0;
	visibility:hidden;
	position:absolute;
	transform:translateY(-8px);
	transition:
		opacity 0.2s ease,
		visibility 0.2s ease,
		transform 0.2s ease;
}

.language-dropdown.is-open {
	opacity:1;
	visibility:visible;
	transform:translateY(0);
}

.language-dropdown a {
	padding:6px;
	color:var(--color2);
	font-family:var(--font-sans);
	font-size:14px;
	line-height:1.35;
	gap:6px;
	white-space:nowrap;
	transition:color 0.2s ease, background-color 0.2s ease;
}

.language-dropdown a:hover,
.language-dropdown a:focus-visible {
	color:var(--color1);
	background-color:var(--color3);
}

.language-dropdown img {
	width:30px;
	height:18px;
	flex-shrink:0;
	object-fit:cover;
}


/*--------------------------------------------------------------
# Header / Entry
--------------------------------------------------------------*/

.header-entry {
	width:240px;
	height:118px;
	top:-4px;
	right:90px;
	padding:13px 14px 20px;
	color:var(--color2);
	background-image:url("/assets/img/common/common_button_entry.webp");
	background-repeat:no-repeat;
	background-position:center top;
	background-size:100% 100%;
	font-family:var(--font-default);
	text-align:center;
	position:absolute;
	z-index:100;
	transition:
		opacity 0.2s ease,
		visibility 0.2s ease,
		filter 0.2s ease,
		transform 0.15s ease;
}

/* 共通リンクの赤色ホバーを上書き */
.header-entry:hover,
.header-entry:active,
.header-entry:focus-visible {
	color:var(--color2);
}

.header-entry:focus-visible {
	filter:brightness(1.15);
}

.header-entry-sunburst {
	width:54px;
	height:22px;
	margin:0 auto;
	display:flex;
	align-items:center;
	justify-content:center;
}

.header-entry-sunburst img {
	width:54px;
	height:22px;
	object-fit:contain;
	filter:brightness(0) invert(1);
	display:block;
}

.header-entry-small {
	display:none;
}

.header-entry-text {
	width:100%;
	margin-top:8px;
	display:flex;
	align-items:baseline;
	justify-content:center;
}

.header-entry-main {
	max-width:100%;
	margin-top:13px;
	font-size:27px;
	line-height:1.05;
	white-space:normal;
	overflow-wrap:anywhere;
}

.header-entry-sub {
	display:none;
}

.header-entry-arrow {
	width:46px;
	margin-top:9px;
	border-top:1px solid var(--color2);
	position:relative;
	display:block;
}

.header-entry-arrow::after {
	width:8px;
	height:8px;
	top:-5px;
	right:0;
	border-top:1px solid var(--color2);
	border-right:1px solid var(--color2);
	content:"";
	position:absolute;
	transform:rotate(45deg);
}





/*--------------------------------------------------------------
# Header / Scrolled
--------------------------------------------------------------*/

body.is-scrolled .language-nav {
	top:287px;
	right:0;
	position:fixed !important;
}

body.is-scrolled .language-button {
	width:82px;
	padding-right:10px;
	padding-left:16px;
	color:var(--color2);
	background-color:var(--color1);
	border-radius:10px 0 0 10px;
}


/*--------------------------------------------------------------
# Header / Mouse Hover
--------------------------------------------------------------*/

@media(hover:hover) {

	.language-button:hover,
	body.is-scrolled .language-button:hover {
		color:var(--color4);
	}

	.header-entry:hover {
		filter:brightness(1.15);
		transform:translateY(4px);
	}

}


/*--------------------------------------------------------------
# Header / Touch
--------------------------------------------------------------*/

@media(hover:none) {

	.header-entry:active {
		transform:translateY(4px);
	}

}


/*--------------------------------------------------------------
# Header / xxl : 1400px ～ 1919px
--------------------------------------------------------------*/

@media(min-width:1400px) and (max-width:1919px) {

	.header-entry {
		width:220px;
		height:110px;
		right:90px;
		padding:12px 12px 18px;
	}

	.header-entry-sunburst {
		width:50px;
		height:20px;
		margin:0 auto;
	}

	.header-entry-sunburst img {
		width:50px;
		height:20px;
		object-fit:contain;
	}

	.header-entry-small,
	.header-entry-sub {
		display:none;
	}

	.header-entry-main {
		margin-top:12px;
		font-size:25px;
		line-height:1.05;
	}

	.header-entry-arrow {
		width:42px;
		margin-top:8px;
	}

}


/*--------------------------------------------------------------
# Header / xl : 1200px ～ 1399px
--------------------------------------------------------------*/

@media(min-width:1200px) and (max-width:1399px) {

	.header-entry {
		width:205px;
		height:104px;
		right:90px;
		padding:11px 11px 17px;
	}

	.header-entry-sunburst {
		width:47px;
		height:19px;
		margin:0 auto;
	}

	.header-entry-sunburst img {
		width:47px;
		height:19px;
		object-fit:contain;
	}

	.header-entry-small,
	.header-entry-sub {
		display:none;
	}

	.header-entry-main {
		margin-top:11px;
		font-size:24px;
		line-height:1.05;
	}

	.header-entry-arrow {
		width:39px;
		margin-top:8px;
	}

}


/*--------------------------------------------------------------
# Header / lg : 992px ～ 1199px
--------------------------------------------------------------*/

@media(min-width:992px) and (max-width:1199px) {

	.language-button {
		width:64px;
		height:40px;
	}

	.header-entry {
		width:190px;
		height:98px;
		right:82px;
		padding:10px 10px 16px;
	}

	.header-entry-sunburst {
		width:44px;
		height:18px;
		margin:0 auto;
	}

	.header-entry-sunburst img {
		width:44px;
		height:18px;
		object-fit:contain;
	}

	.header-entry-small,
	.header-entry-sub {
		display:none;
	}

	.header-entry-main {
		margin-top:11px;
		font-size:22px;
		line-height:1.05;
	}

	.header-entry-arrow {
		width:36px;
		margin-top:7px;
	}

}


/*--------------------------------------------------------------
# Header / Tablet / Smartphone : ～991px
--------------------------------------------------------------*/

@media(max-width:991px) {

	.language-button {
		width:48px;
		height:36px;
		padding:0 6px;
		gap:4px;
	}

	.language-dropdown {
		width:145px;
	}

	.header-entry {
		width:170px;
		height:90px;
		right:70px;
		padding:9px 8px 14px;
	}

	.header-entry-sunburst {
		width:38px;
		height:15px;
		margin:0 auto;
	}

	.header-entry-sunburst img {
		width:38px;
		height:15px;
		object-fit:contain;
	}

	.header-entry-small,
	.header-entry-sub {
		display:none;
	}

	.header-entry-main {
		margin-top:10px;
		font-family:var(--font-sans);
		font-size:20px;
		font-weight:700;
		line-height:1.05;
	}

	.header-entry-arrow {
		width:30px;
		margin-top:6px;
	}

	body.is-scrolled .header-entry {
		opacity:0;
		visibility:hidden;
		pointer-events:none;
	}

	body.is-scrolled .language-nav {
		top:8px;
		right:0;
	}

	body.is-scrolled .language-button {
		width:64px;
		padding-right:8px;
		padding-left:14px;
	}

}


/*--------------------------------------------------------------
# Header / sm : 576px ～ 767px
--------------------------------------------------------------*/

@media(min-width:576px) and (max-width:767px) {

	.header-entry {
		width:155px;
		height:84px;
		right:64px;
		padding:8px 5px 13px;
	}

	.header-entry-sunburst {
		width:34px;
		height:14px;
		margin:0 auto;
	}

	.header-entry-sunburst img {
		width:34px;
		height:14px;
		object-fit:contain;
	}

	.header-entry-main {
		margin-top:10px;
		font-size:18px;
		line-height:1.05;
	}

	.header-entry-arrow {
		width:26px;
		margin-top:5px;
	}

}


/*--------------------------------------------------------------
# Header / xs : ～575px
--------------------------------------------------------------*/

@media(max-width:575px) {

	.language-button {
		width:42px;
		height:32px;
		padding:0 4px;
		gap:3px;
	}

	.language-button .bi-globe2 {
		font-size:20px;
	}

	.language-arrow {
		font-size:12px;
	}

	.language-dropdown {
		width:132px;
		top:calc(100% + 5px);
	}

	.language-dropdown a {
		padding:6px;
		font-size:13px;
	}

	.language-dropdown img {
		width:26px;
		height:16px;
	}

	.header-entry {
		width:140px;
		height:78px;
		right:58px;
		padding:7px 3px 12px;
	}

	.header-entry-sunburst {
		width:30px;
		height:12px;
	}

	.header-entry-sunburst img {
		width:30px;
		height:12px;
	}

	.header-entry-main {
		margin-top:10px;
		font-size:17px;
		line-height:1.05;
	}

	.header-entry-arrow {
		width:22px;
		margin-top:5px;
	}

	.header-entry-arrow::after {
		width:5px;
		height:5px;
		top:-3px;
	}

}

/*==============================================================
  05. Footer
==============================================================*/

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

#footer {
	height:200px;
	color:var(--color2);
	background-color:var(--color5);
}

.footer-main {
	height:100%;
	padding:25px 80px;
}

.footer-brand {
	color:var(--color2);
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	transition:opacity 0.2s ease;
}

.footer-brand:hover,
.footer-brand:focus-visible {
	color:var(--color2);
	opacity:0.7;
}

.footer-brand-type {
	font-size:var(--font-h3);
	line-height:var(--line-height-title);
}

.footer-brand-name {
	font-family:var(--font-brand);
	font-size:var(--font-h1);
	line-height:var(--line-height-title);
}

.footer-brand-tagline {
	color:var(--color3);
	font-size:var(--font-text-copy);
	line-height:var(--line-height-title);
}

.footer-copy {
	color:var(--color2);
	font-family:var(--font-default);
	font-size:var(--font-text-copy);
	line-height:var(--line-height-title);
}


/* Smartphone Contact */

.sp-contact-button {
	display:none;
}


/* Tablet / Smartphone */

@media(max-width:991px) {

	#footer {
		height:auto;
	}

	.footer-main {
		height:auto;
		min-height:220px;
		padding:30px 20px 120px;
		flex-direction:column;
		align-items:center !important;
		justify-content:center !important;
		gap:14px;
		text-align:center;
	}

	.footer-brand {
		align-items:center;
	}

	.sp-contact-button {
		width:100%;
		height:96px;
		padding:0 70px;
		color:var(--color2);
		background-color:var(--color4);
		border-radius:5px;
		font-family:var(--font-default);
		font-size:var(--font-h2);
		position:relative;
		display:flex;
		align-items:center;
		justify-content:center;
		transition:background-color 0.2s ease;
	}

	.sp-contact-button:hover,
	.sp-contact-button:focus-visible {
		color:var(--color2);
		background-color:var(--color-hover-btn);
	}

	.sp-contact-arrow {
		width:48px;
		right:70px;
		border-top:2px solid var(--color2);
		position:absolute;
	}

	.sp-contact-arrow::after {
		width:8px;
		height:8px;
		top:-5px;
		right:0;
		border-top:2px solid var(--color2);
		border-right:2px solid var(--color2);
		content:"";
		position:absolute;
		transform:rotate(45deg);
	}

}


/* Smartphone */

@media(max-width:575px) {

	.footer-main {
		min-height:300px;
		padding:30px 15px 100px;
		justify-content:center !important;
	}

	.sp-contact-button {
		height:64px;
		padding:0 50px;
		font-size:22px;
		font-weight:500;
	}

	.sp-contact-arrow {
		width:30px;
		right:34px;
	}

}


/*==============================================================
  06. Index
==============================================================*/

/*--------------------------------------------------------------
# Index / Top Image
--------------------------------------------------------------*/

#index-top {
	background-color:var(--color-default-bgcolor);
	position:relative;
	overflow:hidden;
}

.index-top-visual {
	width:100%;
	height:1096px;
	position:relative;
	overflow:hidden;
}

.index-top-background,
.index-top-human {
	width:100%;
	height:1096px;
	top:0;
	left:0;
	position:absolute;
	display:block;
}

.index-top-background {
	z-index:0;
}

.index-top-human {
	z-index:1;
	pointer-events:none;
}

.index-top-background img,
.index-top-human img {
	width:1920px;
	max-width:none;
	height:1096px;
	top:0;
	left:50%;
	object-fit:none;
	position:absolute;
	display:block;
	transform:translateX(-50%);
}


/* Copy */

.index-top-copy {
	width:650px;
	max-width:calc(100% - 80px);
	margin-top:94px;
	top:65px;
	left:max(40px, calc(50% - 785px));
	position:absolute;
	z-index:2;
}

.index-top-heading {
	color:var(--color2);
}

.index-top-script {
	margin-bottom:20px;
	color:var(--color3);
	font-family:var(--font-brand);
	font-size:100px;
	font-weight:400;
	line-height:var(--line-height-title);
	white-space:nowrap;
	position:relative;
	display:block;
	transform:translateY(30px) rotate(-6deg);
	transform-origin:left center;
}

.index-top-title {
	width:650px;
	max-width:100%;
	font-family:var(--font-sans);
	font-weight:700;
	line-height:var(--line-height-title);
	position:relative;
	display:block;
}

.index-top-title-small {
	width:100%;
	max-width:650px;
	font-size:80px;
	line-height:1.25;
	white-space:normal;
	word-break:keep-all;
	overflow-wrap:normal;
	display:block;
}

.index-top-title-main {
	width:360px;
	font-size:70px;
	white-space:nowrap;
	display:block;
}

.index-top-title-main span {
	top:0;
	left:360px;
	font-size:130px;
	line-height:1;
	position:absolute;
}

.index-top-lead {
	max-width:620px;
	margin:20px 0 0;
	color:var(--color2);
	font-family:var(--font-default);
	font-size:var(--font-text-big);
	font-weight:400;
	line-height:var(--line-height-title);
}

.index-top-lead span {
	color:var(--color3);
	font-family:var(--font-sans);
	font-size:var(--font-h2);
	font-weight:700;
}

.index-top-lead .index-top-lead-separator {
	color:var(--color2);
}

.index-top-foreign {
	margin:56px 0 0;
	color:var(--color2);
	font-family:var(--font-default);
	font-size:var(--font-text-big);
	line-height:var(--line-height-title);
}





/* Circle */

.index-top-circle {
	width:260px;
	height:260px;
	top:470px;
	right:max(40px, calc(50% - 690px));
	position:absolute;
	z-index:2;
}

.index-top-circle-inner {
	width:100%;
	height:100%;
	padding:30px;
	color:var(--color1);
	background-color:var(--color3);
	border:8px solid var(--color1);
	border-radius:50%;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	transform:rotate(-8deg);
	box-sizing:border-box;
}

.index-top-circle-small {
	margin-bottom:8px;
	font-family:var(--font-default);
	font-size:18px;
	font-weight:500;
	line-height:1.4;
}

.index-top-circle strong {
	font-family:var(--font-default);
	font-size:38px;
	font-weight:700;
	line-height:1.25;
}


/* Features */

.index-top-features {
	width:calc(100% - 70px);
	left:35px;
	bottom:90px;
	position:absolute;
	z-index:3;
}

.index-top-features li {
	padding:0 10px;
	display:flex;
}

.index-top-feature {
	width:100%;
	height:100%;
	min-height:148px;
	padding:45px 20px 20px;
	color:var(--color2);
	background-color:var(--color1);
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
}

.index-top-feature-number {
	width:140px;
	height:92px;
	top:-46px;
	left:50%;
	color:var(--color1);
	background-color:var(--color3);
	border:8px solid var(--color1);
	border-radius:50%;
	position:absolute;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	transform:translateX(-50%);
}

.index-top-feature-number span {
	top:4px;
	font-size:var(--font-text-copy);
	font-weight:600;
	line-height:var(--line-height-title);
	position:relative;
}

.index-top-feature-number strong {
	font-size:var(--font-h2);
	font-weight:600;
	line-height:var(--line-height-title);
}

.index-top-feature p {
	margin:0;
	color:var(--color2);
	font-family:var(--font-default);
	font-size:var(--font-h3);
	line-height:var(--line-height-title);
}

.index-top-feature p strong {
	color:var(--color3);
	font-family:var(--font-sans);
	font-size:var(--font-text-big);
	font-weight:700;
}


/* xxl：1400px ～ 1919px */

@media(min-width:1400px) and (max-width:1919px) {

	.index-top-copy {
		width:610px;
		max-width:calc(100% - 80px);
		top:65px;
		left:max(40px, calc(50% - 700px));
	}

	.index-top-script {
		font-size:92px;
	}

	.index-top-title {
		width:610px;
	}

	.index-top-title-small {
		font-size:72px;
	}



}


/* xl：1200px ～ 1399px */

@media(min-width:1200px) and (max-width:1399px) {

	.index-top-copy {
		width:560px;
		max-width:calc(100% - 80px);
		top:70px;
		left:40px;
	}

	.index-top-circle {
		right:40px;
	}

	.index-top-features {
		width:calc(100% - 30px);
		left:15px;
	}

	.index-top-features li {
		padding-right:10px;
		padding-left:10px;
	}

	.index-top-feature {
		padding-right:10px;
		padding-left:10px;
	}

	.index-top-script {
		font-size:82px;
	}

	.index-top-title {
		width:560px;
	}

	.index-top-title-small {
		font-size:64px;
	}

	.index-top-title-main {
		width:330px;
		font-size:64px;
	}

	.index-top-title-main span {
		left:330px;
		font-size:116px;
	}

	.index-top-lead {
		font-size:28px;
	}

	.index-top-lead span {
		font-size:36px;
	}



}


/* lg：992px ～ 1199px */

@media(min-width:992px) and (max-width:1199px) {

	.index-top-copy {
		width:500px;
		max-width:calc(100% - 80px);
		top:76px;
		left:40px;
	}

	.index-top-circle {
		right:40px;
	}

	.index-top-features {
		width:calc(100% - 30px);
		left:15px;
	}

	.index-top-features li {
		padding-right:10px;
		padding-left:10px;
	}

	.index-top-feature {
		padding-right:10px;
		padding-left:10px;
	}

	.index-top-script {
		font-size:70px;
	}

	.index-top-title {
		width:500px;
	}

	.index-top-title-small {
		font-size:56px;
	}

	.index-top-title-main {
		width:300px;
		font-size:58px;
	}

	.index-top-title-main span {
		left:300px;
		font-size:104px;
	}

	.index-top-lead {
		font-size:25px;
	}

	.index-top-lead span {
		font-size:32px;
	}



}


/* Tablet / Smartphone */

@media(max-width:991px) {

	.index-top-visual {
		height:865px;
	}

	.index-top-background,
	.index-top-human {
		height:1110px;
	}

	.index-top-background img,
	.index-top-human img {
		width:991px;
		height:1110px;
		top:-250px;
		object-fit:none;
	}

	.index-top-copy {
		width:calc(100% - 80px);
		max-width:650px;
		margin-top:80px;
		top:60px;
		left:40px;
	}

	.index-top-script {
		margin-bottom:20px;
	}

	.index-top-title {
		width:100%;
		max-width:650px;
	}

	.index-top-title-small {
		width:100%;
		max-width:610px;
		font-size:54px;
		line-height:1.2;
		white-space:normal;
	}

	.index-top-lead {
		max-width:560px;
		margin-top:20px;
		font-size:26px;
	}

	.index-top-lead span {
		font-size:34px;
	}

	.index-top-foreign {
		margin-top:56px;
	}

	.index-top-circle {
		width:260px;
		top:auto;
		bottom:50px;
		right:40px;
		left:auto;
	}

	.index-top-features {
		width:100%;
		left:auto;
		bottom:auto;
		padding:100px 10%;
		position:relative;
	}

	.index-top-features .row {
		row-gap:100px;
	}

	.index-top-features li {
		padding:0;
	}

	.index-top-feature {
		width:100%;
		min-height:160px;
		padding:45px 20px 25px;
	}



}


/* md：768px ～ 991px */

@media(min-width:768px) and (max-width:991px) {

	.index-top-copy {
		width:620px;
		max-width:calc(100% - 80px);
		top:64px;
		left:40px;
	}

	.index-top-script {
		font-size:68px;
	}

	.index-top-title-small {
		font-size:52px;
	}

	.index-top-title-main {
		width:270px;
		font-size:52px;
	}

	.index-top-title-main span {
		left:270px;
		font-size:92px;
	}



}


/* sm：576px ～ 767px */

@media(min-width:576px) and (max-width:767px) {

	.index-top-copy {
		width:calc(100% - 60px);
		max-width:540px;
		margin-top:70px;
		top:133px;
		left:30px;
	}

	.index-top-script {
		font-size:40px;
	}

	.index-top-title-small {
		font-size:46px;
	}

	.index-top-title-main {
		width:240px;
		font-size:46px;
	}

	.index-top-title-main span {
		left:240px;
		font-size:80px;
	}

	.index-top-lead {
		font-size:23px;
	}

	.index-top-lead span {
		font-size:30px;
	}


}


/* xs：575px以下 */

@media(max-width:575px) {

	.index-top-visual {
		height:809px;
	}

	.index-top-background {
		height:1000px;
	}

	.index-top-human {
		height:950px;
	}

	.index-top-background img {
		width:auto;
		max-width:none;
		height:1000px;
		top:0;
		left:50%;
		object-fit:contain;
		transform:translateX(-50%);
	}

	.index-top-background img {
		top:-175px;
	}


	.index-top-human img {
		width:auto;
		max-width:none;
		height:950px;
		top:-175px;
		left:44%;
		object-fit:contain;
		transform:translateX(-50%);
	}


	.index-top-copy {
		width:calc(100% - 40px);
		max-width:500px;
		margin-top:52px;
		top:65px;
		left:20px;
	}

	.index-top-script {
		margin-bottom:14px;
		font-size:29px;
		line-height:1.15;
		transform:translateY(20px) rotate(-6deg);
	}

	.index-top-title {
		width:100%;
		max-width:100%;
	}

	.index-top-title-small {
		width:100%;
		max-width:100%;
		margin-top:25px;
		font-size:30px;
		line-height:1.17;
		white-space:normal;
		word-break:keep-all;
	}

	.index-top-title-main {
		width:200px;
		font-size:38px;
	}

	.index-top-title-main span {
		left:200px;
		font-size:68px;
	}

	.index-top-lead {
		max-width:390px;
		margin-top:84px;
		font-size:20px;
		line-height:1.3;
	}

	.index-top-lead span {
		font-size:25px;
	}

	.index-top-lead-note {
		font-size:25px;
		line-height:1.3;
	}

	.index-top-circle {
		width:230px;
		height:230px;
		right:5px;
		bottom:45px;
	}

	.index-top-circle-inner {
		border:5px solid var(--color1);
	}
	.index-top-circle-small {
		font-size:15px;
	}
	.index-top-circle strong {
		font-size:31px;
	}

	.index-top-features {
		padding-top:30px;
		padding-right:8%;
		padding-left:8%;
	}



}




/*--------------------------------------------------------------
# Index / About Us
--------------------------------------------------------------*/

#index-about {
	color:var(--color2);
	background-color:var(--color1);
	background-image:url("/assets/img/index/index_image_section_1_back.webp");
	background-repeat:no-repeat;
	background-position:center top;
	background-size:1920px 900px;
	overflow:hidden;
}

.index-about-inner {
	width:100%;
	padding:80px 20px 80px;
}


/* Section Title */

.index-about-sunburst {
	width:218px;
	height:90px;
	margin:0 auto;
	background-color:var(--color3);
	-webkit-mask-image:url("/assets/img/common/common_sunburst.svg");
	mask-image:url("/assets/img/common/common_sunburst.svg");
	-webkit-mask-repeat:no-repeat;
	mask-repeat:no-repeat;
	-webkit-mask-position:center;
	mask-position:center;
	-webkit-mask-size:contain;
	mask-size:contain;
	display:block;
}

.index-about-label {
	margin:0;
	padding-bottom:4px;
	color:var(--color3);
	border-bottom:4px double var(--color3);
	font-family:var(--font-default);
	font-size:24px;
	line-height:var(--line-height-title);
	display:inline-block;
}


/* Contents */

.index-about-heading {
	margin-top:46px;
	font-weight:400;
	line-height:1.5;
}

.index-about-text {
	margin-top:26px;
}

.index-about-text p {
	margin:0 0 28px;
	font-family:var(--font-default);
}

.index-about-text p:last-child {
	margin-bottom:0;
}


/* Tablet / Smartphone */

@media(max-width:991px) {

	#index-about {
		background-image:url("/assets/img/index/index_image_section_1_back_sp.webp");
		background-size:991px 984px;
	}

	.index-about-inner {
		padding:80px 30px 60px;
	}

	.index-about-text {
		margin-top:34px;
	}

	.index-about-text p {
		margin-bottom:36px;
	}

}


/* Smartphone */

@media(max-width:575px) {

	.index-about-inner {
		padding-right:15px;
		padding-left:15px;
	}

}


/*--------------------------------------------------------------
# Index / Recruitment
--------------------------------------------------------------*/

#index-recruitment {
	color:var(--color2);
	background-color:var(--color5);
	position:relative;
	z-index:2;
}

.index-recruitment-inner {
	width:100%;
	max-width:none;
	margin:0 auto;
	padding:90px 20px 130px;
}

.index-recruitment-list {
	margin-top:80px;
}

.index-recruitment-item {
	padding:0 8px;
	text-align:center;
}

.index-recruitment-item dt {
	min-height:64px;
	padding:10px 15px;
	color:var(--color1);
	background-color:var(--color3);
	font-size:var(--font-h3);
	font-weight:400;
	line-height:var(--line-height-title);
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
}

.index-recruitment-item dt::after {
	width:0;
	height:0;
	left:50%;
	bottom:-16px;
	border-top:18px solid var(--color3);
	border-right:18px solid transparent;
	border-left:18px solid transparent;
	content:"";
	position:absolute;
	transform:translateX(-50%);
}

.index-recruitment-item dd {
	margin:35px 0 0;
	color:var(--color2);
	font-family:var(--font-default);
	font-size:var(--font-default-size);
	font-weight:400;
	line-height:var(--line-height-base);
}


/* PC */

@media(min-width:992px) {

	.index-recruitment-item dd {
		font-size:20px;
	}

}


/* Recruitment Bottom Triangle */

#index-recruitment::after {
	width:700px;
	height:70px;
	left:50%;
	bottom:-70px;
	background-color:var(--color5);
	clip-path:polygon(0 0, 100% 0, 50% 100%);
	content:"";
	position:absolute;
	z-index:2;
	transform:translateX(-50%);
}


/* Tablet / Smartphone */

@media(max-width:991px) {

	.index-recruitment-inner {
		padding:80px 55px 110px;
	}

	.index-recruitment-list {
		margin-top:75px;
	}

	.index-recruitment-list .row {
		row-gap:55px;
	}

	.index-recruitment-item {
		padding:0;
	}

	.index-recruitment-item dt {
		min-height:54px;
	}

	.index-recruitment-item dd {
		margin-top:28px;
		font-size:var(--font-default-size-tablet);
	}

	#index-recruitment::after {
		width:100%;
		height:55px;
		bottom:-55px;
	}

}


/* Smartphone */

@media(max-width:575px) {

	.index-recruitment-inner {
		padding-right:28px;
		padding-left:28px;
	}

	.index-recruitment-item dd {
		font-size:var(--font-default-size-sp);
	}

}

/*--------------------------------------------------------------
# Index / Contact
--------------------------------------------------------------*/

#index-contact {
	padding:120px 30px 100px;
	background-color:var(--color-default-bgcolor);
	background-image:url("/assets/img/common/common_back.webp");
	background-repeat:repeat-y;
	background-position:center top;
	background-size:1920px 599px;
	position:relative;
}

.index-contact-panel {
	width:100%;
	max-width:1200px;
	margin:0 auto;
	padding:70px 80px 65px;
	color:var(--color1);
	background-color:var(--color2);
	border:4px solid var(--color1);
	box-shadow:10px 10px 0 var(--color1);
	text-align:center;
	position:relative;
	z-index:1;
}

.index-contact-lead {
	margin:42px 0 0;
	color:var(--color1);
	font-family:var(--font-default);
	font-size:var(--font-h3);
	line-height:var(--line-height-base);
}

.index-contact-buttons {
	margin-top:70px;
}

.index-contact-buttons .row {
	column-gap:40px;
	row-gap:30px;
}

.index-contact-message {
	margin:60px 0 0;
	color:var(--color1);
	font-family:var(--font-default);
	font-size:var(--font-h3);
	line-height:var(--line-height-base);
}


/* Tablet / Smartphone */

@media(max-width:991px) {

	#index-contact {
		padding:105px 15px 100px;
	}

	.index-contact-panel {
		padding:70px 30px 65px;
		box-shadow:8px 8px 0 var(--color1);
	}

	.index-contact-lead {
		margin-top:42px;
		font-size:var(--font-h3);
	}

	.index-contact-buttons {
		margin-top:60px;
	}

	.index-contact-buttons .row {
		column-gap:0;
		row-gap:30px;
	}

	.index-contact-message {
		margin-top:60px;
		font-size:var(--font-h3);
	}

}


/* Smartphone */

@media(max-width:575px) {

	#index-contact {
		padding-top:85px;
		padding-bottom:85px;
	}

	.index-contact-panel {
		padding:60px 15px 55px;
		border-width:3px;
		box-shadow:7px 7px 0 var(--color1);
	}

	.index-contact-lead {
		margin-top:35px;
	}

	.index-contact-buttons {
		margin-top:50px;
	}

	.index-contact-buttons .row {
		row-gap:24px;
	}

	.index-contact-message {
		margin-top:50px;
	}

}


/*--------------------------------------------------------------
# Index / Information
--------------------------------------------------------------*/

.index-information {
	width:100%;
	height:760px;
	padding-top:95px;
	background-color:var(--color-default-bgcolor);
	background-image:url("/assets/img/index/index_image_section_4_back.webp");
	background-repeat:no-repeat;
	background-position:center top;
	background-size:1920px 760px;
	overflow:hidden;
	position:relative;
}

.index-information-inner {
	width:100%;
	height:100%;
	margin:0 auto;
	position:relative;
	z-index:1;
}

.index-information-content {
	margin-top:45px;
	color:var(--color2);
}

.index-information-content p {
	margin:0;
	color:var(--color2);
	font-family:var(--font-default);
}

.index-information-type {
	font-size:var(--font-default-size);
	line-height:var(--line-height-base);
}

.index-information-name {
	margin-top:5px !important;
	font-size:var(--font-h2);
	line-height:var(--line-height-title);
}

.index-information-address {
	margin-top:42px !important;
	font-size:var(--font-default-size);
	line-height:var(--line-height-base);
}

.index-information-email {
	margin-top:5px !important;
	font-size:var(--font-default-size);
	line-height:var(--line-height-base);
}

.index-information-tel {
	margin-top:5px !important;
	font-size:var(--font-default-size);
	line-height:var(--line-height-base);
}

.index-information-hours {
	margin-top:-8px !important;
	font-size:var(--font-default-size);
	line-height:var(--line-height-base);
}

.index-information-content a {
	color:var(--color2);
	transition:color 0.2s ease;
}

.index-information-content a:hover {
	color:var(--color-hover-a);
}


/* PC：1400px以上 */

@media(min-width:1400px) {

	.index-information {
		height:760px;
		padding-top:95px;
		background-size:1920px 760px;
	}

}


/* PC：1200px～1399px */

@media(min-width:1200px) and (max-width:1399px) {

	.index-information {
		height:760px;
		padding-top:95px;
		background-size:1920px 760px;
	}

}


/* PC：992px～1199px */

@media(min-width:992px) and (max-width:1199px) {

	.index-information {
		height:760px;
		padding-top:95px;
		background-size:1920px 760px;
	}

}


/* Tablet：768px～991px */

@media(min-width:768px) and (max-width:991px) {

	.index-information {
		height:1383px;
		padding-top:105px;
		background-image:url("/assets/img/index/index_image_section_4_back_sp.webp");
		background-size:991px 1383px;
	}

	.index-information-content {
		margin-top:55px;
	}

	.index-information-name {
		margin-top:8px !important;
		font-size:var(--font-h2);
	}

	.index-information-address {
		margin-top:50px !important;
		font-size:var(--font-default-size-tablet);
	}

	.index-information-email,
	.index-information-tel,
	.index-information-hours {
		font-size:var(--font-default-size-tablet);
	}

	.index-information-email {
		margin-top:15px !important;
	}

	.index-information-tel {
		margin-top:10px !important;
	}

	.index-information-hours {
		margin-top:-8px !important;
	}

}

/* Tablet / Smartphone */

@media(max-width:991px) {

	.index-information-content {
		padding-right:30px;
		padding-left:30px;
	}

}


/* Smartphone：576px～767px */

@media(min-width:576px) and (max-width:767px) {

	.index-information {
		height:1383px;
		padding-top:105px;
		background-image:url("/assets/img/index/index_image_section_4_back_sp.webp");
		background-size:991px 1383px;
	}

	.index-information-content {
		margin-top:55px;
	}

	.index-information-name {
		margin-top:8px !important;
		font-size:var(--font-h2);
	}

	.index-information-address {
		margin-top:50px !important;
		font-size:var(--font-default-size-tablet);
	}

	.index-information-email,
	.index-information-tel,
	.index-information-hours {
		font-size:var(--font-default-size-tablet);
	}

	.index-information-email {
		margin-top:15px !important;
	}

	.index-information-tel {
		margin-top:10px !important;
	}

	.index-information-hours {
		margin-top:-8px !important;
	}

}


/* Smartphone：575px以下 */

@media(max-width:575px) {

	.index-information {
		height:1080px;
		padding-top:85px;
		background-image:url("/assets/img/index/index_image_section_4_back_sp.webp");
		background-position:center top;
		background-size:auto 1080px;
	}

	.index-information-content {
		margin-top:45px;
		padding:0 15px;
	}

	.index-information-name {
		margin-top:5px !important;
		font-size:var(--font-h2);
	}

	.index-information-address {
		margin-top:40px !important;
		font-size:var(--font-default-size-sp);
	}

	.index-information-email,
	.index-information-tel,
	.index-information-hours {
		font-size:var(--font-default-size-sp);
	}

	.index-information-email {
		margin-top:12px !important;
	}

	.index-information-tel {
		margin-top:8px !important;
	}

	.index-information-hours {
		margin-top:-6px !important;
	}

}


/*==============================================================
  07. Contact Page
==============================================================*/

/*--------------------------------------------------------------
# Contact / Common
--------------------------------------------------------------*/

.contact-form-section,
.contact-complete-section {
	width:100%;
	padding:75px 30px 100px;
	background-color:var(--color-default-bgcolor);
	background-image:url("/assets/img/common/common_back.webp");
	background-repeat:repeat-y;
	background-position:center top;
	background-size:1920px 599px;
	position:relative;
}

.contact-form-inner,
.contact-complete-inner {
	width:100%;
	max-width:1920px;
	margin:0 auto;
}

.contact-form-panel,
.contact-complete-panel {
	width:100%;
	max-width:1680px;
	margin:40px auto 0;
	color:var(--color1);
	background-color:var(--color2);
	border:4px solid var(--color1);
	box-shadow:10px 10px 0 var(--color1);
	position:relative;
}


/* Contact Page Header */

body.is-contact-page .header-entry,
body.is-contact-page .sp-contact-button {
	display:none !important;
}

body.is-contact-page .language-nav {
	right:30px;
}

body.is-contact-page.is-scrolled .language-nav {
	right:0;
}


/* Tablet / Smartphone */

@media(max-width:991px) {

	body.is-contact-page .language-nav {
		right:15px;
	}

	body.is-contact-page.is-scrolled .language-nav {
		right:0;
	}

	body.is-contact-page .fixed-actions {
		width:96px;
		right:30px;
		left:auto;
		grid-template-columns:96px;
		gap:0;
	}

}


/* Smartphone */

@media(max-width:575px) {

	body.is-contact-page .fixed-actions {
		width:64px;
		right:15px;
		grid-template-columns:64px;
	}

}



/*--------------------------------------------------------------
# Contact / Form
--------------------------------------------------------------*/

.contact-form-panel {
	padding:75px 80px 85px;
}

.contact-form-lead p {
	margin:0;
}


/* WhatsApp */

.contact-whatsapp {
	margin-top:45px;
}

.contact-whatsapp-lead {
	margin:0;
}

.contact-whatsapp-button {
	margin-top:25px;
}


/* Form */

.contact-form {
	margin-top:75px;
}

.contact-form-group {
	margin:0 0 30px;
	padding:0;
	border:0;
}

.contact-form-group label,
.contact-form-group legend {
	width:auto;
	margin:0 0 10px;
	padding:0;
	float:none;
	font-weight:600;
	display:inline-flex;
	align-items:center;
	gap:8px;
}

.contact-form-required {
	padding:3px 7px;
	color:var(--color2);
	background-color:var(--color4);
	font-size:var(--font-text-copy);
	font-weight:500;
	line-height:1;
	display:inline-block;
}

.contact-form input[type="text"],
.contact-form input[type="tel"],
.contact-form input[type="number"],
.contact-form textarea {
	width:100%;
	color:var(--color1);
	background-color:var(--color-form-bg);
	border:1px solid var(--color-form-bg);
	border-radius:0;
	font:inherit;
	transition:border-color 0.2s ease, box-shadow 0.2s ease;
}

.contact-form input[type="text"],
.contact-form input[type="tel"],
.contact-form input[type="number"] {
	height:74px;
	padding:10px 18px;
}

.contact-form textarea {
	height:220px;
	padding:14px 18px;
	resize:vertical;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
	color:var(--color-form-placeholder);
	opacity:1;
}

.contact-form input:focus,
.contact-form textarea:focus {
	border-color:var(--color4);
	box-shadow:0 0 0 2px var(--color4);
	outline:0;
}


/* Gender */

.contact-form-gender {
	margin-top:5px;
}

.contact-form-radio-list {
	min-height:74px;
	gap:35px;
}

.contact-form-radio {
	margin:0 !important;
	cursor:pointer;
	display:inline-flex;
	align-items:center;
	gap:10px;
}

.contact-form-radio input {
	width:22px;
	height:22px;
	margin:0;
	accent-color:var(--color4);
	cursor:pointer;
	flex-shrink:0;
}


/* Message */

.contact-form-message {
	margin-top:5px;
	margin-bottom:0;
}


/* Privacy */

.contact-privacy {
	margin-top:65px;
}

.contact-privacy-heading h2 {
	margin:0;
	font-weight:400;
}

.contact-privacy-heading p {
	margin:15px 0 0;
}

.contact-privacy-content {
	height:330px;
	margin-top:30px;
	padding:30px 40px;
	background-color:var(--color2);
	border:1px solid var(--color-form-border);
	overflow-y:auto;
	overscroll-behavior:contain;
}

.contact-privacy-content h3,
.contact-privacy-content h4 {
	margin:0;
	font-weight:600;
}

.contact-privacy-content h4 {
	margin-top:25px;
}

.contact-privacy-content p {
	margin:18px 0 0;
}

.contact-privacy-content ul {
	margin:10px 0 0;
	padding-left:1.5em;
}


/* Agreement */

.contact-form-agreement {
	margin-top:50px;
}

.contact-form-check {
	margin:0;
	cursor:pointer;
	display:inline-flex;
	align-items:center;
	gap:10px;
}

.contact-form-check input {
	width:20px;
	height:20px;
	margin:0;
	accent-color:var(--color4);
	cursor:pointer;
	flex-shrink:0;
}


/* Submit */

.contact-form-submit {
	margin-top:50px;
	text-align:center;
}


/* Tablet / Smartphone */

@media(max-width:991px) {

	.contact-form-section {
		padding:70px 30px 90px;
	}

	.contact-form-panel {
		padding:60px 45px 70px;
		box-shadow:8px 8px 0 var(--color1);
	}

	.contact-whatsapp {
		margin-top:40px;
	}

	.contact-form {
		margin-top:60px;
	}

	.contact-form-gender {
		margin-top:0;
	}

	.contact-form-radio-list {
		min-height:auto;
		padding:10px 0 20px;
	}

	.contact-form-message {
		margin-top:0;
	}

	.contact-privacy {
		margin-top:55px;
	}

	.contact-privacy-content {
		height:360px;
		padding:25px 30px;
	}

}


/* Smartphone */

@media(max-width:575px) {

	.contact-form-section {
		padding:55px 15px 75px;
	}

	.contact-form-panel {
		margin-top:30px;
		padding:45px 20px 55px;
		border-width:3px;
		box-shadow:6px 6px 0 var(--color1);
	}

	.contact-whatsapp {
		margin-top:35px;
	}

	.contact-whatsapp-button {
		margin-top:20px;
	}

	.contact-form {
		margin-top:50px;
	}

	.contact-form-group {
		margin-bottom:25px;
	}

	.contact-form-group label,
	.contact-form-group legend {
		margin-bottom:8px;
		gap:6px;
	}

	.contact-form-required {
		padding:3px 6px;
	}

	.contact-form input[type="text"],
	.contact-form input[type="tel"],
	.contact-form input[type="number"] {
		height:60px;
		padding:8px 12px;
	}

	.contact-form textarea {
		height:180px;
		padding:10px 12px;
	}

	.contact-form-radio-list {
		gap:25px;
		padding:8px 0 15px;
	}

	.contact-form-radio input {
		width:20px;
		height:20px;
	}

	.contact-privacy {
		margin-top:45px;
	}

	.contact-privacy-heading p {
		margin-top:12px;
	}

	.contact-privacy-content {
		height:320px;
		margin-top:25px;
		padding:20px 15px;
	}

	.contact-privacy-content h4 {
		margin-top:20px;
	}

	.contact-privacy-content p {
		margin-top:14px;
	}

	.contact-form-agreement {
		margin-top:40px;
	}

	.contact-form-check {
		align-items:flex-start;
	}

	.contact-form-check input {
		margin-top:7px;
	}

	.contact-form-submit {
		margin-top:40px;
	}

}


/*--------------------------------------------------------------
# Contact / Complete
--------------------------------------------------------------*/

.contact-complete-section {
	min-height:790px;
}

.contact-complete-panel {
	min-height:560px;
	padding:75px 80px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:flex-start;
}

.contact-complete-message h2 {
	margin:0;
	font-weight:400;
}

.contact-complete-message p {
	margin:35px 0 0;
}

.contact-complete-panel .common-red-button {
	margin-top:80px;
}


/* Tablet / Smartphone */

@media(max-width:991px) {

	.contact-complete-section {
		min-height:900px;
		padding:70px 30px 90px;
	}

	.contact-complete-panel {
		min-height:600px;
		padding:70px 45px;
		box-shadow:8px 8px 0 var(--color1);
	}

	.contact-complete-message p {
		margin-top:30px;
	}

	.contact-complete-panel .common-red-button {
		margin-top:75px;
	}

}


/* Smartphone */

@media(max-width:575px) {

	.contact-complete-section {
		min-height:720px;
		padding:55px 15px 75px;
	}

	.contact-complete-panel {
		min-height:470px;
		margin-top:30px;
		padding:55px 20px;
		border-width:3px;
		box-shadow:6px 6px 0 var(--color1);
	}

	.contact-complete-message p {
		margin-top:25px;
	}

	.contact-complete-panel .common-red-button {
		margin-top:55px;
	}

}

