/*------------------------------------------------------------------
Project:	Damour
Version:	1.0
Last change:	2025/03/25
Assigned to:	Edge Quest
Primary use:	Official Website
-------------------------------------------------------------------*/

@import url("showcase.css");
@import url("hero.css?20250402");
@import url("portfolio.css");
@import url("shortcodes.css");
@import url("assets.css");

/* 日本語フォントの読み込み */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&family=M+PLUS+1p:wght@300;400;500;700;900&display=swap");


/*------------------------------------------------------------------

01. General Styles
02. Magic Cursor
03. Page Preloader
04. Header Elements
05. Main Content 
06. Footer Elements
07. Responsive Media Querries

-------------------------------------------------------------------*/

	
/*--------------------------------------------------
	01. General Settings
---------------------------------------------------*/

/* 日本語フォント設定 */
body {
    font-family: 'Poppins', 'Noto Sans JP', sans-serif !important;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Poppins', 'M PLUS 1p', sans-serif !important;
}

.hero-title, .has-mask-fill {
    font-family: 'Poppins', 'M PLUS 1p', sans-serif !important;
}

.secondary-font {
    font-family: 'Poppins', 'Noto Sans JP', sans-serif !important;
}

/* フォントウェイトのカスタマイズ */
.light-weight {
    font-weight: 300 !important;
}

.regular-weight {
    font-weight: 400 !important;
}

.medium-weight {
    font-weight: 500 !important;
}

.bold-weight {
    font-weight: 700 !important;
}

.black-weight {
    font-weight: 900 !important;
}

/* 紫系のカスタムカラー定義 */
:root {
    --primary-color: #6a1b9a;
    --secondary-color: #9c27b0;
    --accent-color: #ce93d8;
    --light-purple: #f3e5f5;
}

/* プライマリーカラーの反映 */
.white-section {
    background-color: #fff !important;
}


#menu-burger span, #menu-burger.open span {
    background-color: var(--primary-color);
}

.light-content #menu-burger span, .light-content #menu-burger.open span {
    background-color: #fff;
}

.button-border {
    border-color: var(--primary-color) !important;
}

.light-content .button-border {
    border-color: #fff !important;
}

	html,body{
		font-family: 'Poppins', sans-serif;
		font-weight: 300;
		font-size:15px;
		height:100%;
		width:100%;
		color:#999;
		background-color:#fff;
		user-select: none; /* supported by Chrome and Opera */
		-webkit-user-select: none; /* Safari */
		-khtml-user-select: none; /* Konqueror HTML */
		-moz-user-select: none; /* Firefox */
		-ms-user-select: none; /* Internet Explorer/Edge */		
	}
	
	html {
		box-sizing: border-box;
		margin-right: 0px!important;
		overflow: visible!important;
	}
	
	body {
		overflow: hidden;
		overflow-y:scroll;
		-webkit-transition: opacity 0.2s ease-in-out 0.2s;
		transition: opacity 0.2s ease-in-out 0s;
	}
	
	body.smooth-scroll {
		overflow:hidden;
	}
	
	body.hidden {
		opacity:0;
	}
	
	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, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
		border: 0;
		margin: 0;
		outline: 0;
		padding: 0;
		vertical-align: baseline;
	}
	
	article,
	aside,
	details,
	figcaption,
	footer,
	header,
	hgroup,
	nav,
	section {
		display: block;
	}
	
	audio {
		display: inline-block;
		max-width: 100%;
	}	
	
	address {
		font-style: italic;
		margin-bottom: 24px;
	}
	
	abbr[title] {
		border-bottom: 1px dotted #2b2b2b;
		cursor: help;
	}
	
	b,
	strong {
		font-weight: 600;
		color:#000;
	}
	
	.light-content b, .light-content strong {
		font-weight: 600;
		color:#fff;
	}
	
	.light-content .white-section b, .light-content .white-section strong {
		font-weight: 600;
		color:#000;
	}
	
	cite,
	dfn,
	em,
	i {
		font-style: italic;
	}
	
	mark, ins {
		background: none repeat scroll 0 0 #111;
		text-decoration: none;
		color: #fff;
		padding: 0px 10px;
		display: inline-block;
		border-radius: 2px;
	}
	
	code,
	kbd,
	tt,
	var,
	samp,
	pre {
		font-family: monospace, serif;
		font-size: 15px;
		-webkit-hyphens: none;
		-moz-hyphens:    none;
		-ms-hyphens:     none;
		hyphens:         none;
		line-height: 1.6;
	}
	
	pre {
		border: 1px solid rgba(0, 0, 0, 0.1);
		-webkit-box-sizing: border-box;
		-moz-box-sizing:    border-box;
		box-sizing:         border-box;
		margin-bottom: 24px;
		max-width: 100%;
		overflow: auto;
		padding: 12px;
		white-space: pre;
		white-space: pre-wrap;
		word-wrap: break-word;
	}
	
	blockquote,
	q {
		-webkit-hyphens: none;
		-moz-hyphens:    none;
		-ms-hyphens:     none;
		hyphens:         none;
		quotes: none;
	}
	
	blockquote:before,
	blockquote:after,
	q:before,
	q:after {
		content: "";
		content: none;
	}
	
	blockquote {
		color: #000;
		font-size: 18px;
		font-style: italic;
		font-weight: 300;
		line-height: 30px;
		margin-bottom: 24px;
		font-family:Georgia, "Times New Roman", Times, serif;
		border-left:2px #ddd solid;
		padding:20px 20px 20px 40px;
		letter-spacing: 0.01em;
	}
	
	.light-content blockquote {
		color: #fff;
	}
	
	blockquote span {
		display:block;
		margin-top:20px;
		font-weight:400;
		font-size:12px;
		font-style:normal;
		font-family: Verdana,Geneva,sans-serif;
		color:#999;
	}
	
	blockquote cite,
	blockquote small {
		color: #2b2b2b;
		font-size: 16px;
		font-weight: 400;
		line-height: 1.5;
	}
	
	.light-content blockquote cite, .light-content blockquote small {
		color:#fff;
	}
	
	blockquote em,
	blockquote i,
	blockquote cite {
		font-style: normal;
	}
	
	blockquote strong,
	blockquote b {
		font-weight: 400;
	}
	
	small {
		font-size: smaller;
	}
	
	big {
		font-size: 125%;
	}
	
	sup,
	sub {
		font-size: 75%;
		height: 0;
		line-height: 0;
		position: relative;
		vertical-align: baseline;
	}
	
	sup {
		bottom: 1ex;
	}
	
	sub {
		top: .5ex;
	}
	
	dl {
		margin-bottom: 24px;
	}
	
	dt {
		font-weight: bold;
	}
	
	dd {
		margin-bottom: 24px;
	}
	
	ul,
	ol {
		list-style: none;
		margin: 0 0 24px 20px;
	}
	
	ul,
	ol {
		list-style: none;
		margin: 0 0 24px 20px;
	}
	
	ul {
		list-style: disc;
	}
	
	ol {
		list-style: decimal;
	}
	
	li > ul,
	li > ol {
		margin: 10px 0 0 20px;
	}
	
	li {
		line-height: 20px;
		color:#333;
		margin-bottom:10px;
	}
	
	.light-content li {
		color:#fff;
	}
	
	
	
	figure {
		margin:0;
		position:relative;
		display: block;
	}
	
	figure.has-parallax {		
		overflow:hidden;
	}
	
	.full figure.has-parallax {		
		overflow:hidden;
		height:100vh;
	}
	
	figure img {
		max-width:100%;
	}
	
	.full img {
		width:100%;
		height: 100%;
		position:relative;
		display:block;
		object-position: center; 
		object-fit: cover;
	}
	
	.has-parallax-content img {
		width:100%;
		height: 100%;
		position:relative;
		display:block;
		object-position: center; 
		object-fit: cover;
	}
	
	figcaption {
		background-color: rgba(0,0,0,0.3);
		bottom: 0px;
		color: #fff;
		font-weight:400;
		font-size: 10px;
		padding: 5px 10px;
		position: absolute;
		right: 0px;
		z-index: 10;
		border-radius:0;
	}
	
	.wp-block-rayden-gutenberg-container .wp-block-image figcaption {
		background-color: rgba(0,0,0,0.3);
		bottom: 0px;
		color: #fff;
		font-weight:400;
		font-size: 10px;
		padding: 5px 10px;
		position: absolute;
		right: 0px;
		z-index: 10;
		border-radius:0;
		margin:0;
	}
	
	fieldset {
		border: 1px solid rgba(0, 0, 0, 0.1);
		margin: 0 0 24px;
		padding: 0;
	}
	
	legend {
		white-space: normal;
	}
	
	button,	input {
		line-height: normal;
	}
	
	input,
	textarea {
		background-image: -webkit-linear-gradient(hsla(0,0%,100%,0), hsla(0,0%,100%,0)); /* Removing the inner shadow, rounded corners on iOS inputs */
	}
	
	button, html input[type="button"], input[type="reset"], input[type="submit"] {
		cursor: pointer;
	}
	
	button[disabled],
	input[disabled] {
		cursor: default;
	}
	
	input[type="checkbox"],
	input[type="radio"] {
		padding: 0;
	}
	
	input[type="search"] {
		-webkit-appearance: textfield;
	}
	
	input[type="search"]::-webkit-search-decoration {
		-webkit-appearance: none;
	}
	
	button::-moz-focus-inner, input::-moz-focus-inner {
		border: 0;
		padding: 0;
	}
	
	textarea {
		overflow: auto;
		vertical-align: top;
	}
	
	table, th, td {
		border: 1px solid rgba(0, 0, 0, 0.1);
	}
	
	.light-content table, .light-content th, .light-content td {
		border: 1px solid rgba(255, 255, 255, 0.2);
	}
	
	table {
		border-collapse: separate;
		border-spacing: 0;
		border-width: 1px 0 0 1px;
		margin-bottom: 24px;	
		width: 100%;
	}
	
	caption, th, td {
		font-weight: normal;
		text-align: left;
	}
	
	th {
		border-width: 0 1px 1px 0;
		padding: 10px;
	}
	
	td {
		border-width: 0 1px 1px 0;
		padding: 10px;
	}
	
	del {
		color: #767676;
	}
	
	hr {
		border: 0;
		height: 30px;
		width:100%;
		float:none;
		margin:0;
		display:inline-block;
		opacity: 1!important;
		-webkit-transition: translateY(0px)!important;
		transform: translateY(0px)!important;
	}
	
	hr.white-line {
		height:2px;		
		padding-top:12px;
		padding-bottom:12px;
	}
	
	hr.white-line:before {
		content: ""; 
		display: block; 
		width:0;
		height:2px;
		background:rgba(0,0,0,1);
	}
	
	.light-content hr.white-line:before {
		background:rgba(255,255,255,1);
	}
	
	hr.animated.white-line:before {
		width:100%;
		-webkit-transition: width 0.7s ease-in-out 0.1s;
		transition: width 0.7s ease-in-out 0.1s;
	}
	
	hr.small {
		height:20px;
	}
	
	hr:after {
		clear: both;
		content: " ";
		display: block;
		height: 0;
		visibility: hidden;
	}
	
	::selection {
		background: #000;
		color: #fff;
		text-shadow: none;
	}
	
	::-moz-selection {
		background: #000;
		color: #fff;
		text-shadow: none;
	}
	
	img {
		border: 0 none;
		max-width: 100%;
		vertical-align: middle;
		height:auto;
	}
		
	h1, h2, h3, h4, h5, h6 {		
		font-weight:500;
		color:#000;
		margin-bottom:20px;
	}
	
	h1.big-title{
		font-size:100px;
		line-height: 130px;
		margin-left:-4px;
	}
	
	h1.big-title span {
		display:block;
	}
	
	h1{
		font-size:48px;
		line-height: 60px;
	}
	
	h2{
		font-size: 36px;
		line-height: 48px;
	}
	
	h3{
		font-size:30px;
		line-height: 40px;
		margin-left:-1px;
	}
	
	h4{
		font-size:24px;
		line-height: 36px;
		margin-left:-1px;	
	}
	
	h5{
		font-size:18px;
		line-height: 28px;
		margin-left:-1px;
	}
	
	h6{
		font-size:14px;
		line-height: 24px;
	}
	
	.no-margins {
		margin:0;
	}
	
	.light-content h1, .light-content h2, .light-content h3, .light-content h4, .light-content h5, .light-content h6 {
		color: #fff;
	}
	
	.change-header-color h1, .change-header-color h2, .change-header-color h3, .change-header-color h4, .change-header-color h5, .change-header-color h6 {
		color: #fff;
	}
	
	.light-content .white-section h1, .light-content .white-section h2, .light-content .white-section h3, .light-content .white-section h4, .light-content .white-section h5, .light-content .white-section h6 {
		color: #000;
	}
	
	.light-content p {
		color:rgba(255,255,255,0.5);
	}
	
	.light-content .white-section p {
		color: #999;
	}
	
	.title-has-line {
		position:relative;
		margin-bottom:40px;
	}
	
	.title-has-line::after {
		background: none repeat scroll 0 0 #000;
		bottom: -15px;
		content: "";
		height: 2px;
		left:0px;
		position: absolute;
		width: 25px;
	}
	
	p.title-has-line::after {
		background: none repeat scroll 0 0 #000;
		top: 14px;
		content: "";
		height: 1px;
		left: -30px;
		position: absolute;
		width: 16px;
	}
	
	.light-content .title-has-line::after {
		background: none repeat scroll 0 0 rgba(255,255,255,1);
	}
	
	p {
		font-size:15px;
		margin-bottom:10px;
		line-height:28px;
		color:#999;
	}
	
	.light-content p {
		color:#999;
	}
	
	p.no-margins {
		margin-bottom:0;
	}
	
	.bigger {
		font-size: 18px;
		font-weight: 400;
		line-height:30px;
		color:#222;
	}
	
	.change-header-color .bigger, .light-content .bigger {
		color:#fff;
	}
	
	.smaller {
		font-size: 12px;
	}
	
	.container {
		max-width:1280px;
		width:100%;
		margin:0 auto;
		box-sizing:border-box;
	}
	
	.post-content .container {
		padding:0;
	}
	
	.container::after {
		clear: both;
		content: " ";
		display: table;
	}
	
	a:hover, a:active {
	  outline: 0;
	  color: #000;
	}
	
	a {
		text-decoration: none;
		color: #000;
		outline: 0;
	}
	
	.light-content a {
		color: #fff;
	}
	
	a:hover {
		text-decoration:none;
	}
	
	.one_half {
    	width: 48%!important;
	}	

	.one_third {
		width: 30.6%!important;
	}	

	.one_fourth {
		width: 22%!important;
	}	

	.one_fifth {
		width: 16.8%!important;
	}	

	.one_sixth {
		width: 13.33%!important;
	}	

	.two_fifth {
		width: 37.6%!important;
	}	

	.two_fourth {
		width: 48%!important;
	}		

	.two_third {
		width: 65.33%!important;
	}	

	.three_fifth {
		width: 58.4%!important;
	}	

	.three_fourth {
		width: 74%!important;
	}	

	.four_fifth {
		width: 79.2%!important;
	}	

	.five_sixth {
		width: 82.67%!important;
	}	

	.one_half, .one_third, .two_third, .three_fourth, .one_fourth, .two_fourth, .one_fifth, .two_fifth, .three_fifth, .four_fifth, .one_sixth, .five_sixth {
		float: left!important;
		margin-bottom: 10px!important;
		margin-right: 4%!important;
		position: relative!important;
	}

	.last {
		margin-right:0px!important;
	}
	
	.text-align-left {
		text-align:left;
	}
	
	.text-align-center {
		text-align:center;
	}
	
	.text-align-right {
		text-align:right;
	}
	
	.outer {
		display:table;
		width:100%;
		height:100%;
	}
	
	.inner {
		display:table-cell;
		vertical-align:middle;
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		box-sizing:border-box;
	}
	
	.white-section-wrapper, .dark-section-wrapper {
		margin-left: calc(50% - 50vw)!important;
		margin-right: calc(50% - 50vw)!important;
		max-width: 1000%!important;
		width: 100vw!important;
	}
	
	.white-section-container, .dark-section-container {
		position: relative;
		box-sizing: border-box;
		width: 100%;
		max-width: 1380px;
		padding: 0 80px;
		margin: 0 auto;
	}
	
	.large .white-section-container, .large .dark-section-container {
		max-width: 1580px;
		padding:0 80px;
	}
	
	.half-white-section-wrapper, .half-dark-section-wrapper {
		margin-left: calc(50% - 50vw)!important;
		margin-right: calc(50% - 50vw)!important;
		max-width: 1000%!important;
		width: 100vw!important;
		position: absolute;
		height: 50%;
		top:0;
	}
	
	.wp-block-clapat-gutenberg-container .section-wrapper:nth-child(2) {
		top:50%;
	}
	
	.wp-block-clapat-gutenberg-container .wp-block-image {
		margin:0;
		position:relative;
		display:block;
	}
	
	.row-half-color {
		height:100%;
		width:100%;
		position:relative;
		top:0;
	}
	
	.vc_row, .wp-block-clapat-gutenberg-container {
		position:relative;
		width:100%;
		margin:0 auto;
		z-index:1;
		opacity:1;
		box-sizing:border-box;
	}
	
	.vc_row.small, .small {
		max-width:780px;
		width:100%;
		margin:0 auto;
	}
	
	.vc_row.full {
		margin-left: calc(50% - 50vw)!important;
		margin-right: calc(50% - 50vw)!important;
		max-width: 1000%!important;
		width: 100vw!important;
	}
	
	.full {
		margin-left: calc(50% - 50vw)!important;
		margin-right: calc(50% - 50vw)!important;
		max-width: 1000%!important;
		width: 100vw!important;
	}
	
	.two-halfs-right {
		padding-left:calc(50vw - 390px);
		padding-right:60px;
	}
	
	.vc_row::after {
		clear: both;
		content: " ";
		display: table;
	}
	
	.full .vc_column_container > .vc_column-inner {
		padding-left: 0!important;
		padding-right: 0!important;
	}
	
	.full .wpb_button, .full .wpb_content_element, .full ul.wpb_thumbnails-fluid > li {
		margin-bottom: 0!important;
	}
	
	.vc_row.has-animation {
		opacity:0;
	}
	
	.row_padding_top {
		padding-top:8vw;
	}
	
	.row_padding_bottom {
		padding-bottom:8vw;
	}
	
	.row_padding_left {
		padding-left:8vw;
	}
	
	.row_padding_right {
		padding-right:8vw;
	}
	
	.row_padding_all {
		padding:8vw;
	}
	
	main {
		-webkit-transition: background 0.5s ease-in-out 0s;
		transition: background 0.5s ease-in-out 0s;
	}

/*--------------------------------------------------
	02. Magic Cursor
---------------------------------------------------*/	
	
	
	#magic-cursor {
	  position: absolute;
	  left:0;
	  top:0;
	  width: 30px;
	  height: 30px;
	  pointer-events: none;
	  z-index:10000;
	  -webkit-transition: opacity 0.2s ease-in-out 0.5s;
		transition: opacity 0.2s ease-in-out 0.5s;
	}
	
	.hidden-ball #magic-cursor {
		opacity:0!important;
		visibility:hidden;
	}
	
	
	#ball {
		position: fixed;
		width: 80px;
		height: 80px;
		border: 2px solid #999999;
		border-radius: 50%;
		pointer-events: none;
		opacity:1;
		box-sizing:border-box;
		 -webkit-transform: scale(0.5);
	  	transform: scale(0.5);	
	}
	
	.mfp-zoom-out-cur #ball {
		opacity:0;
		-webkit-transition: opacity 0.2s ease-in-out 0s;
		transition: opacity 0.2s ease-in-out 0s;
	}
	
	.light-content #ball, #ball.over-movie,  .light-content #ball.with-icon {
		border: 2px solid #999999;
		border-color:#999999;
	}
	
	#ball:before {
		font-family: FontAwesome;
		content: "\f077";
		font-size:12px;
		width:8px;
		height:16px;
		line-height:26px;
		text-align:center;
		position:absolute;
		left: 32px;
		top: -42px;
		color:#999;
		opacity:0;
		transform: translateY(-40px);
		-webkit-transform: translateY(-40px);
		transition: all 0.15s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.light-content #ball:before {
		color:#999;
	}
	
	#ball::after {
		font-family: FontAwesome;
		content: "\f078";
		font-size: 12px;
		width: 8px;
		height: 16px;
		line-height: 16px;
		text-align: center;
		position: absolute;
		left: 32px;
		top: 100px;
		color: #999;
		opacity:0;
		transform: translateY(40px);
		-webkit-transform: translateY(40px);
		transition: all 0.15s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.light-content #ball:before, .light-content #ball:after {
		color:#999;
	}
	
	.scale-up #ball:before, .scale-drag-horizontal #ball:before {
		opacity:1;
		transform: translateY(0px);
		-webkit-transform: translateY(0px);
		transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.scale-drag-horizontal #ball:before {
		color: #fff;
	}
	
	.scale-up #ball:after, .scale-drag-horizontal #ball:after {
		opacity:1;
		transform: translateY(0px);
		-webkit-transform: translateY(0px);
		transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.scale-drag-horizontal #ball:after {
		color: #fff;
	}
	
	.scale-up.scale-none #ball:before, .scale-up.scale-none #ball:after {
		opacity:0;
	}
	
	
	
	#ball-drag-x {
		position: absolute;
		width: 72px;
		height: 72px;
		pointer-events: none;
		opacity:1;
		box-sizing:border-box;	
	}
	
	#ball-drag-x:before {
		font-family: FontAwesome;
		content: "\f053";
		font-size:12px;
		width:8px;
		height:16px;
		line-height:26px;
		text-align:center;
		position:absolute;
		left: -40px;
		top: 24px;
		color:#000;
		opacity:0;
		transform: translateX(-40px);
		-webkit-transform: translateX(-40px);
		transition: all 0.15s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.light-content #ball-drag-x:before {
		color:#fff;
	}
	
	#ball-drag-x::after {
		font-family: FontAwesome;
		content: "\f054";
		font-size: 12px;
		width: 8px;
		height: 16px;
		line-height: 16px;
		text-align: center;
		position: absolute;
		right: -39px;
		left:auto;
		top: 30px;
		color: #000;
		opacity:0;
		transform: translateX(40px);
		-webkit-transform: translateX(40px);
		transition: all 0.15s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.light-content #ball-drag-x:before, .light-content #ball-drag-x:after {
		color:#fff;
	}
	
	.scale-drag-x #ball-drag-x:before {
		opacity:1;
		transform: translateX(0px);
		-webkit-transform: translateX(0px);
		transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.scale-drag-x #ball-drag-x:after {
		opacity:1;
		transform: translateX(0px);
		-webkit-transform: translateX(0px);
		transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.scale-up.scale-drag #ball-drag-x:before, .scale-up.scale-drag #ball-drag-x:after {
		opacity:0;
	}
	
	
	
	
	
	
	#ball-drag-y {
		position: absolute;
		width: 72px;
		height: 72px;
		pointer-events: none;
		opacity:1;
		box-sizing:border-box;	
	}
	
	#ball-drag-y:before {
		font-family: FontAwesome;
		content: "\f077";
		font-size:12px;
		width:8px;
		height:16px;
		line-height:26px;
		text-align:center;
		position:absolute;
		left: 32px;
		top: -42px;
		color:#000;
		opacity:0;
		transform: translateY(-40px);
		-webkit-transform: translateY(-40px);
		transition: all 0.15s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.light-content #ball-drag-y:before {
		color:#fff;
	}
	
	#ball-drag-y::after {
		font-family: FontAwesome;
		content: "\f078";
		font-size: 12px;
		width: 8px;
		height: 16px;
		line-height: 16px;
		text-align: center;
		position: absolute;
		left: 32px;
		top: 100px;
		color: #000;
		opacity:0;
		transform: translateY(40px);
		-webkit-transform: translateY(40px);
		transition: all 0.15s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.light-content #ball-drag-y:before, .light-content #ball-drag-y:after {
		color:#fff;
	}
	
	.scale-drag-y #ball-drag-y:before {
		opacity:1;
		transform: translateY(0px);
		-webkit-transform: translateY(0px);
		transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.scale-drag-y #ball-drag-y:after {
		opacity:1;
		transform: translateY(0px);
		-webkit-transform: translateY(0px);
		transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.scale-up.scale-drag #ball-drag-y:before, .scale-up.scale-drag #ball-drag-y:after {
		opacity:0;
	}
	
	
	
	
	
	
	#ball i {
		color:#fff;
		width:76px;
		height:80px;
		line-height:78px;
		text-align:center;
		font-size:12px;
		display:block;
		opacity:1;
		transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	#ball p {
		color:#fff;
		width:66px;
		height:16px;
		line-height:16px;
		padding-top:0px;
		padding-left:5px;
		margin:0;
		text-align:center;
		font-size:12px;
		font-weight:600;
		display:block;
		opacity:1;
		transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.light-content #ball p {
		color:#fff;
	}
	
	#ball p.first {
		padding-top:22px;
	}
	
	.light-content #ball i, #ball.over-movie i, .light-content #ball.with-icon i {
		color:#fff;
	}
	
	.light-content #ball.with-icon.dark-icon i {
		color:#000;
	}
	
	.scale-up #ball i {
		opacity:0;
		transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	#ball.with-icon i {
		width:76px;
	}
	
	#ball.with-icon i:nth-child(2) {
		display:none;
	}
	
	#ball.close-icon i {
		width:75px;
		height:76px;
		font-size:14px;
	}
	
	#ball.over-movie i.fa-play, #ball.over-movie.pause-movie i.fa-pause {
		display:block;
	}
	
	#ball.over-movie i.fa-pause, #ball.over-movie.pause-movie i.fa-play {
		display:none;
	}
	
	#ball-loader {
		width: 100px;
		height: 100px;
		position:absolute;
		background-color: transparent;
		border-right: 4px solid transparent;
		border-bottom: 4px solid #999999;
		border-left: 4px solid transparent;
		border-top: 4px solid transparent;
		border-radius: 100px;
		box-sizing: border-box;
		opacity:0;
		-webkit-transform: translate(-14px, -14px) rotate(0deg);
		transform: translate(-14px, -14px) rotate(0deg);
		-webkit-animation: rotating 0.8s ease-in-out infinite;
		animation: rotating 0.8s ease-in-out infinite;
		-webkit-transition: opacity 0s ease-in-out 0s;
		transition: opacity 0s ease-in-out 0s;
	}
	
	.light-content #ball-loader { 
		border-bottom: 4px solid #999999;
	}
	
	.show-loader #ball-loader {
		opacity:1;
		-webkit-transition: opacity 0.2s ease-in-out 0s;
		transition: opacity 0.2s ease-in-out 0s;
	}
	
	@keyframes rotating {
      0% {
		-webkit-transform: translate(-14px, -14px) rotate(0deg);
		transform: translate(-14px, -14px) rotate(0deg);
      }
	  
	  95% {
        -webkit-transform: translate(-14px, -14px) rotate(350deg);
		transform: translate(-14px, -14px) rotate(350deg);
      }
	  
      100% {
        -webkit-transform: translate(-14px, -14px) rotate(360deg);
		transform: translate(-14px, -14px) rotate(360deg);
      }
	}
	
	.show-loader a, .show-loader nav, .scale-up a, .scale-up .hide-ball, .scale-up .link, .scale-up .button-wrap, .scale-up #burger-wrapper, .scale-up .disable-drag, .scale-drag a, .scale-drag .move-title {
		pointer-events:none!important;
	}
	
	#rotate-device {
		width:100%;
		height:100%;
		position:fixed;
		z-index:1000;
		top:0;
		left:0;
		background-color:#0f1010;
		background-image:url(../images/rotate.png);
		background-size:100px 100px;
		background-position:center;
		background-repeat:no-repeat;
		display:none;
	}
	
	.disable-cursor {
		display:none;
	}
	
	
/*--------------------------------------------------
	03. Page Preloader
---------------------------------------------------*/	

	.preloader-wrap {
		width: 100%;
		height:100%;
		position: fixed;
		top: 0; 
		bottom: 0;
		background: linear-gradient(135deg, #f0e6ff 0%, #e2d1ff 50%, #d4bdff 100%);
		z-index : 1500;
		text-align:center;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.preloader-wrap.hidden {
		display:none;
		visibility:hidden;
		opacity:0;
	}
	
	.light-content.preloader-wrap {
		background: linear-gradient(135deg, #f0e6ff 0%, #e2d1ff 50%, #d4bdff 100%);
	}
	
	.preloader-wrap .outer {
		padding: 0px;
		box-sizing:border-box;
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	
	.preloader-wrap .inner {
		vertical-align: middle;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		height: 100vh;
		position: relative;
		padding-top: 0;
		width: 100%;
	}
	
	.percentage-intro {
		height: 40px;
		position: relative;
		margin-top: 30px;
		font-size: 24px;
		font-weight: 600;
		line-height: 40px;
		color: #6a1b9a;
		margin-bottom: 40px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.percentage-intro span {
		display: inline-block;
	}
	
	.tagline-wrapper {
		width: 80%;
		max-width: 800px;
		height: auto;
		position: relative;
		margin: 0 auto 40px;
		display: table;
	}
	
	.tagline {
		opacity: 1;
		font-size: 48px;
		line-height: 1.4;
		font-weight: 600;
		color: #6a1b9a;
		display: table;
		margin: 0 auto;
		text-align: center;
	}
	
	.light-content .tagline, .light-content .percentage-intro {
		color: #6a1b9a;
	}
	
	.trackbar-container {
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 auto 30px;
	}
	
	.trackbar {
		width: 80%;
		max-width: 600px;
		height: 4px;
		background-color: rgba(237, 231, 246, 0.8);
		display: block;
		border-radius: 2px;
		overflow: hidden;
		position: relative;
		margin: 0;
	}
	
	.loadbar {
		width: 0%;
		height: 100%;
		background: rgba(106, 27, 154, 0.8);
		border-radius: 2px;
		position: absolute;
		top: 0;
		left: 0;
		transform-origin: left center;
		-webkit-transform-origin: left center;
	}
	
	.light-content .loadbar {
		background: rgba(106, 27, 154, 0.8); 		
	}
	
	.hold-progress-bar {
		width: 0%;
		height: 100%;
		background: rgba(106, 27, 154, 0.8); 
		position: absolute;
		top: 0;
		left: 0;
		border-radius: 2px;
	}
	
	.light-content .hold-progress-bar {
		background: rgba(106, 27, 154, 0.8);
	}
	
	@media only screen and (max-width: 767px) {	
		.tagline {
			font-size: 24px;
			line-height: 1.4;
			padding: 0 15px;
		}
		
		.percentage-intro {
			font-size: 20px;
			height: 30px;
			line-height: 30px;
			margin-top: 20px;
		}
		
		.trackbar-container {
			margin: 0 auto 20px;
		}
		
		.trackbar {
			width: 90%;
			max-width: 400px;
		}
		
		.preloader-wrap .inner {
			padding-top: 0;
		}
		
		.tagline-wrapper {
			margin: 0 auto 30px;
			width: 90%;
		}
	}
	
	@media only screen and (max-width: 479px) {	
		.tagline {
			font-size: 20px;
			line-height: 1.4;
			padding: 0 10px;
		}
		
		.percentage-intro {
			font-size: 18px;
			height: 24px;
			line-height: 24px;
			margin-top: 15px;
		}
		
		.preloader-wrap .inner {
			padding-top: 0;
		}
		
		.tagline-wrapper {
			margin: 0 auto 20px;
			width: 95%;
		}
		
		.trackbar-container {
			margin: 0 auto 15px;
		}
		
		.trackbar {
			width: 85%;
			max-width: 280px;
		}
	}
	
/*--------------------------------------------------
	04. Header Elements
---------------------------------------------------*/	
	
	
	.admin-bar header {
		top:32px;
	}
	
	header {
		width:100%;
		height:140px;
		left:0;
		top:0;
		background-color:transparent;
		position:fixed;
		box-sizing:border-box;
		z-index:1000;
		pointer-events:none;
		-webkit-transition: background 0.4s ease-in-out 0.3s;
		transition: background 0s ease-in-out 0s;
		/*mix-blend-mode: exclusion;*/
	}
	
	header.over-white-section {
		mix-blend-mode: normal;
	}
	
	#header-container {
		box-sizing: border-box;
		height: inherit;
		padding: 20px 60px;
		margin: 0 auto;
		position: relative;
		width: 100%;
		z-index: 20;
		opacity: 0;
	}
	
	.header-visible #header-container{
		opacity:1;
	}
	
	.header-middle {
		max-width: 1280px;
		padding:0 50px;
		box-sizing:border-box;
		position: relative;
		margin: 0 auto;
		opacity:0;
	}
	
	#logo {
		position: relative;
		display: table;
		pointer-events: initial;
		z-index: 10;
		top: 15px;
		float: left;
	}
	
	#logo a {
		display:block;
		-webkit-transition: transform 0.5s ease-in-out 0.1s;
		transition: transform 0.5s ease-in-out 0.1s;	
	}
	
	.logo-hidden #logo a {
		-webkit-transform: rotate(-360deg);
		transform: rotate(-360deg);
	}
	
	#logo a.disable, .open #logo a {
		pointer-events: none;
	}
	
	#logo img {
		display: block;
		height: 50px;
		width: auto;
		max-width:none;
		-webkit-transition: opacity 0.2s ease-in-out 0s;
		transition: opacity 0.2s ease-in-out 0s;
	}
	
	#logo img.black-logo {
		opacity:1;
	}
	
	.light-content #logo img.black-logo {
		opacity:0;
	}
	
	#logo img.white-logo {
		position:absolute;
		top:0;
		left:0;
		opacity:0;
	}
	
	.light-content #logo img.white-logo {
		opacity:1;
	}
	
	.white-header #logo img.black-logo {
		opacity:0;
	}
	
	.light-content .white-header #logo img.black-logo {
		opacity:1;
	}
	
	.light-content .white-header.over-white-section #logo img.black-logo, .show-loader .light-content .white-header #logo img.black-logo {
		opacity:0;
	}
	
	.white-header #logo img.white-logo {
		opacity:1;
	}
	
	.light-content .white-header #logo img.white-logo {
		opacity:0;
	}
	
	.light-content .white-header.over-white-section #logo img.white-logo, .show-loader .light-content .white-header #logo img.white-logo {
		opacity:1;
	}
	
	.menu-open.light-content .slide-in #logo img.white-logo {
		opacity:1;
	}
	
	nav {
		pointer-events: none;
	}
	
	nav.open {
		pointer-events: initial;
	}
	
	@media all and (min-width: 1025px) {
	
		.classic-menu nav {
			position: relative;
			width: auto;
			top: 0px;
			-webkit-transition: all 0.2s ease-in-out 0.5s;
			transition: all 0.2s ease-in-out 0.5s;
			display:block;
			float:right;
			height: 60px;
			margin: 10px 0;
			background-color:transparent!important;
		}
		
		.flexnav {
			display: block;
			float: right;
			position: relative;
			width: auto;
			max-height: 60px;
		}
		
		.flexnav li ul {   
			min-width: 170px;
		}	
		
		.flexnav .touch-button {
			background: transparent none repeat scroll 0 0;
		}	
		
		.flexnav .touch-button .navicon {
			display:none;
		}
		
		.flexnav li {    
			background: transparent none repeat scroll 0 0;
			padding:0 25px;
			padding-bottom:20px;
			padding-top:20px;
		}
		
		.classic-menu .menu-timeline {
			opacity:1!important;
			-webkit-transition: translateY(0px)!important;
			transform: translateY(0px)!important;
			pointer-events:initial;
		}
		
		.flexnav li:last-child {
			padding-right:0px;
		}
		
		.classic-menu .before-span {
			opacity:1!important;
			-webkit-transition: translateY(0px)!important;
			transform: translateY(0px)!important;
			
		}
		
		.flexnav li a {    
			background: transparent none repeat scroll 0 0;
			padding: 0 5px;
			position:relative;
			border-left: medium none;
			font-weight: 600;
			font-family: 'Poppins', sans-serif;
			color:#000;		
			font-size:12px;
			line-height:20px;
			display:block;
			overflow:hidden;
			-webkit-transition: all 0.15s ease-in-out;
			transition: all 0.15s ease-in-out;
		}
		
		.light-content .flexnav li a { 
			color:#fff;		
		}
		
		.light-content  .classic-menu.white-header .flexnav li a { 
			color:#000;		
		}
		
		.flexnav:hover li a {
			color: rgba(0,0,0,0.4);
		}
		
		.light-content .classic-menu .flexnav:hover li a {
			color: rgba(255,255,255,0.4);
		}
		
		.light-content  .classic-menu.white-header .flexnav:hover li a {
			color: rgba(0,0,0,0.4);	
		}
		
		.classic-menu .flexnav li:hover a {
			color:#000;
		}
		
		.light-content .classic-menu .flexnav li:hover a {
			color:#fff;
		}
		
		.light-content .classic-menu.white-header .flexnav li:hover a {
			color:#000;
		}
	
		.classic-menu .flexnav li a span {
			position: relative;
			display: block;
			-webkit-transition: -webkit-transform 0.2s;
			transition: transform 0.2s;
			transform-origin: 100% 0%;
		}
		
		.classic-menu .flexnav li a span::before {
			position: absolute;
			top: 100%;
			width:100%;
			left:0;
			content: attr(data-hover);
		}
		
		.classic-menu .flexnav li:hover a span {
			-webkit-transform: translateY(-100%);
			transform: translateY(-100%);
			transform-origin: 0% 0%;
		}
		
		.flexnav li ul li a { 
			padding:0 20px 20px;
			background-color:transparent;
			font-size:13px;
			font-family: 'Roboto', sans-serif;
			font-weight:400;
			text-transform:none;
			color:#fff!important;
			opacity:0.6;
			-webkit-transition: all 0.05s ease-in-out;
			-moz-transition: all 0.05s ease-in-out;
			-o-transition: all 0.05s ease-in-out;
			-ms-transition: all 0.05s ease-in-out;
			transition: all 0.05s ease-in-out;
		}
		
		.flexnav li ul li a.link::before {
			display:none;
		}
		
		.flexnav li ul li a.active, .flexnav li ul li a:hover {
			opacity:1;
		}
		
		.flexnav li > ul li {
			margin-left:0;
			padding:0;
		}
		
		.classic-menu .flexnav li ul {
			-webkit-transform: translate3d(0px, 30px, 0px);
			transform: translate3d(0px, 30px, 0px);
			display:block!important;
			opacity:0!important;
			height:inherit!important;
			overflow:visible!important;
			visibility:hidden;
			left:10px;
			top:60px;
			padding-top:20px;
			background: #000;		
			border-radius:3px;
			-webkit-transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, transform 0.2s ease-in-out!important;
			transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, transform 0.2s ease-in-out!important;
		}
		
		.classic-menu .flexnav li ul ul {
			left:5px!important;
		}
		
		.flexnav li ul:after {
			display: block;
			content: '';
			position: absolute;
			top: -6px;
			left: 20px;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 0 10px 9px;
			border-color: transparent transparent #000;
		}
		
		.flexnav ul li ul:after {
			display: block;
			content: '';
			position: absolute;
			top: 15px;
			left: -10px;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 0 10px 9px;
			border-color: transparent transparent #000;
			-webkit-transform: rotate(-90deg);
			transform: rotate(-90deg);
		}
		
		.classic-menu .flexnav li ul li > ul, .classic-menu .flexnav li ul.open ul.open {
			top: -5px;
			z-index:10;
		}
		
		.classic-menu .flexnav ul li ul li a {
			background: #000;
		}
		
		.classic-menu .flexnav ul li ul li ul li a {
			background: #000;
		}
		
		.flexnav li ul.flexnav-show {
			-webkit-transform: translate3d(0px, 0px, 0px);
			transform: translate3d(0px, 0px, 0px);
			opacity:1!important;
			visibility:visible;
			-webkit-transition: opacity 0.2s ease-in-out 0.1s, visibility 0.2s ease-in-out, transform 0.2s ease-in-out 0.1s;
			transition: opacity 0.2s ease-in-out 0.1s, visibility 0.2s ease-in-out, transform 0.2s ease-in-out 0.1s;	
		}
		
		.flexnav .touch-button {
			display:none;
		}			
		
		/*-- Full Screen Menu --*/	
				
		.fullscreen-menu .nav-height {
			overflow-y: scroll;
			position: relative;
			height: 100%;
			padding: 40px 0;
			padding-right: 30px;
			width: calc(100% + 30px);
			box-sizing: border-box;
		}
		
		.fullscreen-menu nav {
			height: 100vh;
			position: fixed;
			top:0;
			left:0;
			width: 100%;
			box-sizing: border-box;
			visibility: visible;
			pointer-events:none;
			opacity:0;
			padding:20px 0;		
			-webkit-transition: all 0.2s ease-in 0.6s;
			transition: all 0.2s ease-in 0.6s;
		}
		
		.fullscreen-menu nav.open {
			visibility:visible;
			pointer-events:initial;
			opacity:1;
			-webkit-transition: all 0.2s ease-out;
			transition: all 0.2s ease-out;
		}
		
		.fullscreen-menu .flexnav {
			max-height: 2000px;
			-webkit-transition: all 0.2s ease-in 0.6s;
			transition: all 0.2s ease-in 0.6s;
			display: table;
			width: auto;
			padding:0 80px;
			box-sizing:border-box;
			margin: 0 auto;
			float: none;
		}
		
		.fullscreen-menu .flexnav.flexnav-show {
			-webkit-transition: all .3s ease-out 0.2s;
			transition: all .3s ease-out 0.2s;	
		}
		
		.fullscreen-menu .flexnav li {
			text-align:center;
			padding:0;
			box-sizing:border-box;
			float:none;			
		}
		
		.fullscreen-menu .menu-timeline {
			opacity:0;
		}
		
		.fullscreen-menu .flexnav .touch-button {
			width: 100%;
			display: block;
			height:100px;
		}
		
		.fullscreen-menu .flexnav .touch-button .navicon {
			display:none;
		}
		
		.fullscreen-menu .flexnav li.link {
			border-bottom: none;	
		}
		
		.fullscreen-menu .flexnav li a {
			font-weight: 500;
			font-size: 72px;
			line-height: 100px;
			padding:0;
			-webkit-transition: all .1s ease-in-out 0s;
			transition: all .1s ease-in-out 0s;
		}
		
		.fullscreen-menu .flexnav li a {
			color:#fff;
		}
		
		.fullscreen-menu .flexnav:hover li a, .fullscreen-menu .flexnav.hover li a {
			opacity:0.3;
		}
		
		.fullscreen-menu .flexnav li:hover a, .fullscreen-menu .flexnav li a.active{
			opacity:1;
		}
		
		.fullscreen-menu .flexnav:hover li ul li a {
			opacity:0.3;
		}
		
		.fullscreen-menu .flexnav:hover li ul li a.active, .fullscreen-menu .flexnav:hover li ul li a:hover {
			opacity:1;
		}
		
		.fullscreen-menu .flexnav a.link::before {
			display:none;
		}
		
		.fullscreen-menu .flexnav li ul {
			margin-bottom:20px;
			position:relative;
			left:0;			
		}
		
		.fullscreen-menu .flexnav li ul:after {
			display:none;
		}
		
		.fullscreen-menu .flexnav li ul li a {
			padding: 6px 0;
			font-size: 14px;
			font-weight: 500;
			font-family: 'Poppins', sans-serif;
			line-height:20px;
			border-top: none;
			text-transform:none;
		}
		
		.fullscreen-menu .flexnav ul li ul li a {
			background:transparent;
		}
		
		.fullscreen-menu .flexnav li ul li > ul, .fullscreen-menu .flexnav li ul.open ul.open {
			margin-left: 0;
			top: 0;
		}
		
		.fullscreen-menu .menu-timeline {
			opacity:1;
		}
		
		.fullscreen-menu .menu-timeline .before-span {
			opacity:0;
			display:block;
			-webkit-transform: translateY(120px);
			transform: translateY(120px);
		}
		
		.fullscreen-menu .flexnav li a span {
			position: relative;
			display: block;
			-webkit-transition: -webkit-transform 0.2s;
			transition: transform 0.2s;
			transform-origin: 100% 0%;
			overflow:hidden;
		}
		
		.fullscreen-menu .open .flexnav li a span {
			overflow:visible;
		}
		
		.fullscreen-menu .flexnav li a span::before {
			position: absolute;
			top: 100%;
			width:100%;
			left:0;
			content: attr(data-hover);
		}
		
		.fullscreen-menu .flexnav li:hover a span {
			-webkit-transform: translateY(-100%);
			transform: translateY(-100%);
			transform-origin: 0% 0%;
		}
		
		.fullscreen-menu .flexnav li.hover a  span {
			-webkit-transform: translateY(-100%)!important;
			transform: translateY(-100%)!important;
			transform-origin: 0% 0%;
		}
		
		.fullscreen-menu li.buy-item {
			position: absolute !important;
			bottom: -150px;
			font-size: 14px;
			line-height: 30px;
			font-weight: 700;
			margin: 0 auto;
			display: table;
			width: 100%;
			pointer-events: none;
			left: 0;
		}
		
		.fullscreen-menu li.buy-item a {
			font-size: 14px;
			line-height: 30px;
			font-weight: 600;
			pointer-events: initial;
			color: #fff !important;
			-webkit-text-stroke: 1px rgba(255,255,255,0);
			position: relative;
			margin: 0 auto;
			display: table;
			width: 100px;
		}
		
		.fullscreen-menu li.buy-item, .fullscreen-menu li.buy-item a {
			pointer-events: none;
		}
		
		.fullscreen-menu nav.open li.buy-item, .fullscreen-menu nav.open li.buy-item a {
			pointer-events: initial;
		}
	
	}

	nav, nav.open {
		-webkit-transition: all 0s ease-in 0s;
		transition: all 0s ease-in 0s;
		background:transparent;
	}

	#burger-wrapper {
		width: 40px;
		height: 40px;
		float: right;
		top: 0px;
		right: 0;
		display: flex;
		position: relative;
		justify-content: center;
		align-items: center;
		cursor: pointer;
		pointer-events: initial;
	}
	
	.classic-menu .button-wrap.right.menu {
		display:none;
	}

	#menu-burger {
		top:0px;
		width: 25px;
		height: 25px;
		position: relative;
		margin: 0 auto;		
		z-index:2;
		pointer-events: none;
	}
	
	.menu-overlay #menu-burger {
		display:block;
	}

	#menu-burger span {
	  display: block;
	  position: absolute;
	  height: 5px;
	  width: 5px;
	  border-radius:5px;
	  background-color: #000;
	  opacity: 1;
	  top:10px;
	  left:0;
	  -webkit-transform: rotate(0deg);
	  -moz-transform: rotate(0deg);
	  -o-transform: rotate(0deg);
	  transform: rotate(0deg);
	  -webkit-transition: background-color  0.05s ease-in-out,  transform  0.2s ease-in-out,  height  0.2s ease-in-out, width  0.2s ease-in-out, top 0.2s ease-in-out, left  0.2s ease-in-out;
	  transition: background-color  0.05s ease-in-out,  transform  0.2s ease-in-out,  height  0.2s ease-in-out, width  0.2s ease-in-out, top 0.2s ease-in-out, left  0.2s ease-in-out;
	}
	
	#burger-wrapper .touch-button {
		display:none;
	}
	
	.light-content #menu-burger span {
		background-color:#fff;
	}
	
	.white-header #menu-burger span {
		background-color:#fff;
	}
	
	.light-content .white-header #menu-burger span {
		background-color:#000;
	}
	
	.light-content .white-header.over-white-section #menu-burger span, .show-loader .light-content .white-header #menu-burger span {
		background-color:#fff;
	}

	#menu-burger span:nth-child(1) {
	  	left: 0px;
	}
	
	#menu-burger span:nth-child(2){
	  	left: 10px;
	}
	
	#menu-burger span:nth-child(3){
	  	left: 20px;
	}
	
	.button-wrap.right.menu .icon-wrap:hover #menu-burger span:nth-child(1) {
	  	left: 10px;
	}
	
	.button-wrap.right.menu .icon-wrap:hover #menu-burger span:nth-child(3) {
	  	left: 10px;
	}
	
	.button-wrap.right.menu .icon-wrap:hover #menu-burger.open span:nth-child(1) {
	  	left: 3px;
	}
	
	.button-wrap.right.menu .icon-wrap:hover #menu-burger.open span:nth-child(3) {
	  	left: 3px;
	}
	
	#menu-burger.open span:nth-child(1) {
	  -webkit-transform: rotate(45deg);
	  transform: rotate(45deg);
	  top:12px;
	  height: 2px;
	  width:20px;
	  left: 3px;
	}
	
	#menu-burger.open span:nth-child(2) {
	   -webkit-transform: scale(0);
	  transform: scale(0);
	}
	
	#menu-burger.open span:nth-child(3) {
	  -webkit-transform: rotate(-45deg);
	  transform: rotate(-45deg);
	  top:12px;
	  height: 2px;
	  width:20px;
	  left: 3px;
	}
	
	
	
/*--------------------------------------------------
	05. Main Content
---------------------------------------------------*/		
	
	#content-scroll {
		z-index:1;
		position:relative;
	}
	
	.smooth-scroll #content-scroll {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index:1;
	}
	
	.scroll-content {
		cursor:default!important;
	}
	
	.scale-up .scroll-content {
		cursor:grabbing!important;
	}
	
	.scrollbar-track {
		background: transparent!important;
	}
	
	#main {
		position:relative;
		opacity:0;
		user-select: none; 
		-webkit-user-select: none; 
		-khtml-user-select: none; 
		-moz-user-select: none; 
		-ms-user-select: none;
		overflow:hidden; 
	}
	
	.load-project-page #main, .load-project-page-carousel #main, .load-next-project #main, .load-next-page #main {
		opacity:1;
	}
	
	#main-content, #main-content-bg {
		position:relative;
		opacity:1;
		z-index:10;		
		-webkit-transition: all 0.4s ease-in-out 0s;
		transition: all 0.4s ease-in-out 0s;
	}
	
	#main-page-content {
		position: relative;
		box-sizing:border-box;
		opacity: 0;
		width:100%;
		max-width:1380px;
		padding:0 80px;
		margin:0 auto;
		margin-bottom: 0;
	}
	
	#main-page-content::after {
		clear: both;
		content: " ";
		display: table;
	}
	
	#main-page-content.project-page {
		margin-bottom: calc(100vh - 140px);
	}
	
	#main-page-content.portfolio-page {
		width:100%;
		max-width:none;
		padding:0;		
	}
	

	
	
/*--------------------------------------------------
	06. Footer Elements
---------------------------------------------------*/		
	
	footer {
		position:relative;
		width:100%;
		height:140px;
		z-index:900;
		box-sizing:border-box;
		text-align:center;
		bottom:0;
		left:0;
		overflow:hidden;
		pointer-events:none;
	}
	
	footer.fixed {
		position:fixed;
	}
	
	footer.showcase-footer{
		position:absolute;
	}
	
	#footer-container {
		padding: 0 60px;
		margin: 30px auto;
		height: 80px;
		opacity: 0;
		position: absolute;
		width: 100%;
		box-sizing: border-box;
		bottom: 0;
		left: 0;
	}
	
	.footer-middle {
		position: absolute;
		margin: 0 auto;
		width: 100%;
		height: auto;
		display: table;
		left: 0;
		pointer-events: none;;
	}
	
	.copyright {
		position: relative;
		top: 25px;
		width: auto;
		height: 30px;
		overflow: hidden;
		font-size: 12px;
		font-weight: 500;
		font-family: 'Poppins', sans-serif;
		line-height: 30px;
		color: #000;
		pointer-events: initial;
		display: table;
		width: 100%;
		padding: 0px 20px 0px 20px;
		max-width: 820px;
		box-sizing:border-box;
		text-align:left;
		margin: 0 auto;	
	}
	
	.light-content .copyright {
		color:#fff;
	}
	
	.socials-wrap {
		position:relative;
		float: right;
		color: #000;
		width: 240px;
		height: 160px;
		box-sizing: border-box;
		pointer-events:initial;	
		transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.light-content .socials-wrap {
		color: #fff;
	}
	
	footer .socials-wrap {
		margin-top:0px;
	}
	
	.socials-wrap:hover {
		transform: translateY(-40px);
		-webkit-transform: translateY(-40px);
	}
	
	.socials-text {
		float:right;
		font-size:12px;
		font-weight: 600;
		font-family: 'Poppins', sans-serif;
		line-height:40px;
		transform:translateY(20px);
	}
	
	.socials-wrap:hover .socials-text {
		transform: translateY(10px);
		-webkit-transform: translateY(10px);
		transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;		
	}
	
	.socials-icon {
		float:right;
		width:30px;
		height:40px;
		font-size:12px;
		line-height:40px;
		text-align:right;
		margin-left:10px;
		transform:scale(1) translateY(20px);
		transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.socials-wrap:hover .socials-icon {
		transform:scale(0) translateY(40px);
		width:0;
		margin:0;
		overflow:hidden;
		
	}
	
	.socials-icon:after, .socials-text:after {
	  content: "";
	  clear: both;
	  display: table;
	}
	
	.socials {
		height: auto;
		line-height: 30px;
		position: relative;
		width: auto;
		margin:0 auto;
		margin-top: 10px;
		text-align: center;
		bottom: 0;
		display: table;
		transform: translateX(15px);
		-webkit-transform: translateX(15px);
	}
	
	.socials-wrap .socials {
		display: inline-block;
		width: 100%;
		text-align: right;
	}
	
	.socials li {
		margin-right: 0px;
		margin-left: 10px;
		list-style: none;
		color: #999;
		font-size: 15px;
		margin-bottom: 0;
		line-height: 40px;
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 40px;
		width: 40px;
		float: right;
		z-index: 2;
		-webkit-transition: background 0.4s ease-in-out 0s;
		transition: background 0.4s ease-in-out 0s;
	}
	
	.socials-wrap .socials li {
		opacity:0;
		transform: translateY(20px);
		-webkit-transform: translateY(20px);
		transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.socials-wrap:hover .socials li:nth-child(5) {
		transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0.05s;
		opacity:1;
		transform: translateY(10px);
		-webkit-transform: translateY(10px);		
	}
	
	.socials-wrap:hover .socials li:nth-child(4) {
		transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s;
		opacity:1;
		transform: translateY(10px);
		-webkit-transform: translateY(10px);	
	}
	
	.socials-wrap:hover .socials li:nth-child(3) {
		transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
		opacity:1;
		transform: translateY(10px);
		-webkit-transform: translateY(10px);		
	}
	
	.socials-wrap:hover .socials li:nth-child(2) {
		transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0.2s;
		opacity:1;
		transform: translateY(10px);
		-webkit-transform: translateY(10px);	
	}
	
	.socials-wrap:hover .socials li:nth-child(1) {
		transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
		opacity:1;
		transform: translateY(10px);
		-webkit-transform: translateY(10px);		
	}
		
	.socials li:last-child {
		margin-left: 0px;
	}
	
	.socials li a {
		color: #000;		
		font-size:12px;
		font-weight: 600;
		display: block;
		height: 40px;
		width: 40px;		
		line-height:40px;
		text-align:center;
		-webkit-transition: opacity 0.2s ease-in-out;
		transition: opacity 0.2s ease-in-out;
	}
	
	.socials:hover li  a {
		opacity:0.3;
	}
	
	.socials li a:hover {
		color: #000;
		opacity:1;
	}
	
	.light-content .socials li a {
		color: #fff;	
	}
	
	.light-content .socials:hover li  a {
		opacity:0.3;
	}
	
	.light-content .socials li a:hover {
		color: #fff;
		opacity:1;
	}
	
	.button-wrap {
		position:relative;		
		cursor:pointer;
		top:0px;
		pointer-events:initial;		
	}
	
	.button-wrap.left {
		float:left;
		left:-32px;	
	}
	
	.button-wrap.right {
		float:right;
		right:-26px;	
	}
	
	#main .button-wrap.left {
		left:-24px;		
	}
	
	#main .button-wrap.right {
		float:left;
		right:auto;			
	}
	
	.icon-wrap {
		width: 80px;
		height: 80px;
		display: flex;
		position: relative;
		justify-content: center;
		align-items: center;
		float:left;
	}
	
	#main .icon-wrap {
		width: 60px;
		height: 60px;
	}
	
	.button-wrap.left .icon-wrap {
		float:left;
	}
	
	.button-wrap.right .icon-wrap {
		float:right;
	}
	
	#main  .text-align-right .button-wrap.right {
		float:right;
	}
	
	.button-icon {
		height: 40px;
		width: 40px;
		color: #000;
		text-align: center;
		line-height: 30px;
		font-size: 22px;
	}
	
	.light-content .button-icon {
		color:#fff;
	}
	
	.light-content .change-header-color .button-icon {
		color:#000;
	}
	
	.button-icon i {
		height:40px;
		line-height:35px;
		width:40px;
		text-align:center;
	}
	
	#main .button-icon i {
		line-height:40px;
	}
	
	#main .button-icon i.fa.fa-arrow-right {
		font-size:14px;
	}
	
	.quickmenu i {
		font-size: 14px;
	}
	
	.button-text {
		font-weight: 600;
		font-family: 'Poppins', sans-serif;
		font-size: 12px;
		line-height:30px;
		margin:25px 0;
		overflow: hidden;
		width:auto;
		padding:0 10px;
		color:#000;
		-webkit-transition: color 0.05s ease-in-out;
		transition: color 0.05s ease-in-out;
	}
	
	#main #hero-footer .button-text span::after {
		content:none;
	}
	
	#main .button-text {
		margin:15px 0;
		transition: transform .2s ease-out;
	}
	
	#main .large-btn .button-text {
		font-size: 18px;
		font-weight:500;
		margin:15px 0;
		transition: transform .2s ease-out;
	}
	
	.light-content .button-text {
		color:#fff;		
	}
	
	.light-content .change-header-color .button-text {
		color:#000;		
	}
	
	.white-header .button-text {
		color:#fff;		
	}
	
	.light-content .white-header .button-text {
		color:#000;		
	}
	
	.light-content .white-header.over-white-section .button-text, .show-loader .light-content .white-header .button-text {
		color:#fff;		
	}
	
	.button-wrap.left .button-text {
		text-align:left;
		float: left;
	}
	
	.button-wrap.right .button-text {
		text-align:right;
		float: right;
		padding-left:0px;
	}
	
	.button-text span {
		position: relative;
		display: inline-block;
		-webkit-transition: -webkit-transform 0.2s;
		transition: transform 0.2s;
		width:auto;
		text-align:center;
		transform-origin: 100% 0%;
	}
	
	.button-wrap.left .button-text span {
		text-align:left;
	}
	
	.button-wrap.right .button-text span {
		text-align:right;
	}
	
	.button-text span::before {
		position: absolute;
		width:auto;
		top: 100%;
		left:0;
		content: attr(data-hover);
	}
	
	.header-middle .button-text span::before {
		content: attr(data-on);
	}
	
	.button-wrap:hover .button-text span {
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
		transform-origin: 0% 0%;
	}
	
	nav, nav.open {
		-webkit-transition: all 0s ease-in 0s;
		transition: all 0s ease-in 0s;
		background:transparent;
	}
	
/*--------------------------------------------------
	07. Responsive
---------------------------------------------------*/			

			
@media only screen and (max-width: 1466px) {
	
	.percentage-wrapper {
		height:auto;
	}
	
	.percentage {
		font-size: 90px;
		line-height: 120px;
		height: auto;
	}
	
	h1.big-title {
		font-size: 90px;
		line-height: 120px;
		margin-left: -3px;
	}
	
	header {
    	height: 120px;
	}
	
	#header-container {
		padding: 15px 60px;
	}
	
	.flexnav li {
    	padding: 20px;
	}
	
	#main-page-content.project-page {
		margin-bottom: calc(100vh - 120px);
	}
	
	#main-page-content {
		padding: 0 60px;
	}
	
	.large .white-section-container, .large .dark-section-container {
		padding: 0 60px;
	}
	
	.white-section-container, .dark-section-container {
		padding: 0 60px;
	}
	
	footer {
    	height: 120px;
	}
	
	#footer-container {
    	padding: 0 60px;
		margin: 10px auto;
	}
		
	
	@media all and (min-width: 1025px) {	
		
		.fullscreen-menu .flexnav {
			padding: 0 60px;
		}
		
	}
	
	.fullscreen-menu li.buy-item a {
		font-size: 14px;
		line-height: 30px;
	}
	
	
	
}


@media only screen and (max-width: 1024px) {
	
	.trackbar {
		width: 50%;		
		margin: 0 auto;
			/* 中央に配置 */
			left: 0;
			/* 左寄せを解除 */
			right: 0;
			/* 右側も0に設定 */
	}
	
	.percentage {
		font-size: 72px;
		line-height: 100px;
		height: auto;
	}
	
	.percentage-intro {
		margin-bottom: 60px;
	}
	
	h1.big-title {
		font-size: 72px;
		line-height: 100px;
	}
	
	h1 {
		font-size: 40px;
		line-height: 50px;
	}
	
	h2 {
		font-size: 30px;
		line-height: 40px;
	}
	
	.has-mask {
		margin-bottom:0px;
	}
	
	.row_padding_left {
		padding-left: 40px;
	}
	
	.row_padding_right {
		padding-right: 40px;
	}
	
	.row_padding_all {
		padding: 8vw 40px;
	}
	
	.two-halfs-right {
		padding-left: 40px;
		padding-right: 40px;
	}
	
	header {
		height:80px;
	}
	
	#header-container {
    	padding: 0;
		margin: 0 auto;
	}
	
	#logo {
		left: 40px;
	}
	
	.header-middle {
		display:none;
	}
	
	.button-wrap.right.menu {
		right: 10px;
	}
	
	nav {
		padding-top:80px;
	}
	
	.flexnav {
		box-sizing:border-box;
		padding:0 50px;
		background: transparent;
		-webkit-transition: all .5s ease-in-out;
		transition: all .5s ease-in-out;
	}
	
	.flexnav.opacity {
		opacity: 1;
	}
	
	.flexnav li a, .flexnav li ul li a {
    	background: transparent;
	}
	
	.flexnav li a {
		color: #999;
	}
	
	.flexnav li ul li a:hover, .flexnav li ul li a.active {
		color:#fff;
	}
	
	.flexnav li ul li a {
		border-top: 1px solid rgba(255,255,255,0.15);
	}
	
	.flexnav ul li ul li a {
		background: transparent;
	}
	
	.flexnav li ul li ul li a {
		padding: 20px 40px;	
	}
	
	.flexnav li.link {
		border-bottom: 1px solid rgba(255,255,255,0.15);
	}
	
	.flexnav li.link:last-child {
		border-bottom:none;
	}
	
	.flexnav a.link::before {
		display:none;
	}
	
	.flexnav .touch-button .navicon {
		font-style: normal!important;
	}
	
	.nav-height {
		overflow-y: scroll;
		position: relative;
		height: 100%;
		padding: 40px 0;
		padding-right: 30px;
		width: calc(100% + 30px);
		box-sizing: border-box;
	}
	
	nav {
		height: 100vh;
		position: fixed;
		width: 100%;
		box-sizing: border-box;
		visibility: visible;
		pointer-events:none;
		opacity:0;
		padding:20px 0;		
		-webkit-transition: all 0.2s ease-in 0.6s;
		transition: all 0.2s ease-in 0.6s;
	}
	
	nav.open {
		visibility:visible;
		pointer-events:initial;
		opacity:1;
		/* グラデーションが上書きされないようにtransparentを削除 */
		-webkit-transition: all 0.2s ease-out;
		transition: all 0.2s ease-out;
	}
	
	.flexnav {
		padding: 0 30px;
    	max-height: 2000px;
		display: table;
		width: auto;
		margin: 0 auto;
		text-align:center;
		-webkit-transition: all 0.2s ease-in 0.6s;
		transition: all 0.2s ease-in 0.6s;
	}
	
	.flexnav.flexnav-show {
		-webkit-transition: all .3s ease-out 0.2s;
		transition: all .3s ease-out 0.2s;	
	}
	
	.flexnav li {
		padding:0;
		-webkit-transition: color .15s ease-out 0s;
		transition: color .15s ease-out 0s;	
	}
	
	.flexnav:hover li  {
		color:rgba(255,255,255,0.4)
	}
	
	.flexnav li:hover {
		color:rgba(255,255,255,1)
	}
	
	.flexnav .touch-button {
		width: 100%;
		display: block;
		height: calc(5vw + 20px);
	}
	
	.flexnav .touch-button .navicon {
		display:none;
	}
	
	.flexnav li.link {
		border-bottom: none;	
	}
	
	.flexnav li a {
		font-family: 'Poppins', sans-serif;
		font-weight:500;
		font-size:50px;
		line-height:70px;
		padding:0;
		-webkit-transition: all .1s ease-in-out 0s;
		transition: all .1s ease-in-out 0s;
	}
	
	.flexnav li a {
		color:#fff;
	}
	
	.flexnav:hover li a {
		opacity:0.3;
	}
	
	.flexnav li:hover a, .flexnav li a.active{
		opacity:1;
	}
	
	.flexnav:hover li ul li a {
		opacity:0.3;
	}
	
	.flexnav:hover li ul li a.active, .flexnav:hover li ul li a:hover {
		opacity:1;
	}
	
	.flexnav li ul {
		margin-bottom:20px;
	}
	
	.flexnav li ul li a {
		padding: 10px 0;
		font-weight: 500;
		font-family: 'Poppins', sans-serif;
		text-transform:none;
		font-size: 14px;
		line-height: 14px;
		border-top: none;
		color:#fff;
		opacity:0.4;
		-webkit-text-stroke:none;
	}
	
	.flexnav li ul li:hover a, .flexnav li ul li a.active{
		opacity:1;
	}
	
	li.buy-item a {
		color:#fff;
		font-size: 14px;
		line-height:30px;
	}
	
	#menu-burger span.touch-button {
		display:none;
	}
	
	.classic-menu .button-wrap.right.menu {
		display: block;
	}
	
	.parallax-wrap {
		transform:none!important;
	}
	
	.parallax-element {
		transform:none!important;
	}
	
	#magic-cursor {
		display:none;

	}
	
	.scroll-down-wrap, .scroll-down-wrap.no-border {
		bottom: 40px;
	}
	
	#main-page-content {
		padding: 0 40px;
	}
	
	.large .white-section-container, .large .dark-section-container {
		padding: 0 40px;
	}
	
	.white-section-container, .dark-section-container {
		padding: 0 40px;
	}	
	
	#footer-container {
		padding: 0 40px;
		height:70px;
	}
	
	.destroy {
		display:none;
	}
	
	.has-parallax figcaption {
		display:none;
	}
	
	.footer-button-wrap {
    	bottom: 80px;
	}
	
	.copyright {
		text-align:center;
	}
	
	.socials-wrap {
		width: 240px;
		height: 40px;
		float:right;
		margin:0 auto;
		right:-10px;
		transform: translateX(0px) translateY(20px)!important;
		-webkit-transform: translateX(0px) translateY(20px)!important;
	}
	
	.socials-wrap:hover {
		transform: translateY(20px);
		-webkit-transform: translateY(20px);
	}
	
	.socials-icon, .socials-text {
		display:none;
	}
	
	.socials-wrap .socials {
		margin-top: 5px;
		text-align: right;
		transform: translateX(0px);
		-webkit-transform: translateX(0px);	
	}
	
	.socials-wrap .socials li {
		opacity: 1;
		transform: translateY(0px);
		-webkit-transform: translateY(0px);
	}
	
	.socials-wrap:hover .socials li {
		opacity: 1;
		transform: translateY(0px)!important;
		-webkit-transform: translateY(0px)!important;
	}
	
	.socials li {
		margin-right: 10px;
		line-height: 30px;
		height: 30px;
		width: 30px;
		margin: 0 5px auto;
		display: inline-block;
		float: none;
	}
	
	.socials li a {
		height: 30px;
		width: 30px;
		line-height: 30px;
	}
	
}


@media only screen and (max-width: 767px) {	
	
	.percentage {
		font-size:60px;
		line-height: 80px;
	}
	
	.percentage-intro {
		margin-bottom: 40px;
	}
	
	h1.big-title{
		font-size:60px;
		line-height: 80px;
	}
	
	.row_padding_top {
		padding-top:10vw;
	}
	
	.row_padding_bottom {
		padding-bottom:10vw;
	}
	
	.row_padding_left {
		padding-left: 30px;
	}
	
	.row_padding_right {
		padding-right: 30px;
	}
	
	.row_padding_all {
		padding: 10vw 30px;
	}
	
	.two-halfs-right {
		padding-left: 30px;
		padding-right: 30px;
	}
	
	.admin-bar header {
		top: 46px;
	}
	
	#logo {
		left: 30px;
	}
	
	header .button-text {
		display: none;
	}
	
	.flexnav {
    	padding: 0 30px;
	}
	
	.flexnav li a {
		font-size: 40px;
		line-height: 55px;
	}
	
	li.buy-item a {
		color:#fff;
		font-size: 14px;
		line-height:30px;
	}
	
	.destory {
		display:none;
	}
		
	figcaption {
		background-color: rgba(0,0,0,0.3);
		bottom: 0px;
		font-size: 10px;
		padding: 5px 10px;
		right: 0px;
		border-radius: 0;
	}
	
	.one_half {
    	width: 100%!important;
	}
	
	.one_half {
    	padding-right: 0!important;
	}
	
	.one_half.last {
    	padding-left: 0!important;
	}

	.one_third {
		width: 100%!important;
	}	

	.one_fourth {
		width: 100%!important;
	}	

	.one_fifth {
		width: 100%!important;
	}	

	.one_sixth {
		width: 100%!important;
	}	

	.two_fifth {
		width: 100%!important;
	}	

	.two_fourth {
		width: 100%!important;
	}		

	.two_third {
		width: 100%!important;
	}	

	.three_fifth {
		width: 100%!important;
	}	

	.three_fourth {
		width: 100%!important;
	}	

	.four_fifth {
		width: 100%!important;
	}	

	.five_sixth {
		width: 100%!important;
	}	

	.one_half, .one_third, .two_third, .three_fourth, .one_fourth, .two_fourth, .one_fifth, .two_fifth, .three_fifth, .four_fifth, .one_sixth, .five_sixth {
		margin-bottom: 20px!important;
		margin-right: 0%!important;
	}
	
	.text-align-center p.title-has-line::after, #page-nav p.title-has-line::after {
		display:none;
	}
	
	#main .text-align-right .button-wrap.right {
		float: left;
	}
	
	p {
    	font-size: 14px;
	}
	
	#main-page-content {
		padding: 0 30px;
	}
	
	.large .white-section-container, .large .dark-section-container {
		padding: 0 30px;
	}
	
	.white-section-container, .dark-section-container {
		padding: 0 30px;
	}	
	
	#footer-container {
		padding: 0 30px;
	}
	
	#footer-container #backtotop.button-wrap.left {
		float: none;
		left: 0;
		right: 0;
		position: absolute;
	}
	
	#backtotop.button-wrap.left .button-text {
		text-align: left;
		float: left;
		display: none;
	}
	
	#backtotop.button-wrap.left .icon-wrap {
		float: none;
		position: absolute;
		right: 0;
		left: auto;
		margin: auto;
		top: 0px;
	}
	
	.copyright {
		margin: 0;
		left: 10px;
		top: 30px;
		text-align:left;
	}
	
	.footer-middle {
		max-width: 1180px;
		position: absolute;
		margin: 0 auto;
		left: 0;
		width: 100%;
		top: -40px;
	}
	
	footer.showcase-footer .arrows-wrap {
		right: auto;
		left: -30px;
		float: left;
		margin: auto;
	}
	
	footer.showcase-footer .socials-wrap {
		width: 170px;
		float: right;
		left: auto;
		right: 0;
		top: 0;
	}
	
	.socials-wrap {
		width:170px;
		float: none;
		left: -6px;
		right: auto;
		top: 0px;
		margin: 0;
	}
	
	.socials-wrap .socials {
		text-align: left;
	}
	
	.socials li {
		margin: 0 0px auto;
	}
	
	
	.percentage {
		font-size: 48px;
		line-height: 72px;
	}
	
	.percentage-intro {
		margin-bottom: 30px;
	}
	
	h1.big-title{
		font-size: 48px;
		line-height: 72px;
	}
	
	.row_padding_top {
		padding-top:12vw;
	}
	
	.row_padding_bottom {
		padding-bottom:12vw;
	}
		
	.row_padding_left {
		padding-left: 20px;
	}
	
	.row_padding_right {
		padding-right: 20px;
	}
	
	.row_padding_all {
		padding: 12vw 20px;
	}
	
	.two-halfs-right {
		padding-left: 20px;
		padding-right: 20px;
	}
	
	hr {
		height: 10px;
	}
	
	#logo {
		left: 20px;
	}
	
	.button-wrap.right.menu {
		right: -10px;
	}
	
	.flexnav {
    	padding: 0 20px;
	}
	
	.flexnav li ul li a {
    	padding: 5px 0;
	}
	
	li.buy-item a {
		color:#fff;
		font-size: 14px;
		line-height:30px;
	}
	
	p.title-has-line::after {
		display:none;
	}
	
	#main-page-content {
		padding: 0 20px;
	}
	
	.large .white-section-container, .large .dark-section-container {
		padding: 0 20px;
	}
	
	.white-section-container, .dark-section-container {
		padding: 0 20px;
	}	
	
	#footer-container {
		padding: 0px;
		margin:0;
	}
	
	footer.showcase-footer #footer-container {
		padding: 0px 20px;
	}
	
	.copyright {
		left: 0px;
	}
	
	.socials-wrap {
		float: none;
		left: 14px;
		right: auto;
	}
	
	.arrows-wrap {
		left: -10px;
		width: 80px;
	}
	
	.prev-wrap, .next-wrap {
    	width: 40px;
	}
	
	footer.showcase-footer .arrows-wrap {
		right: 0;
		left: 0;
		float: none;
		margin: auto;
	}
	
	footer.showcase-footer .arrows-wrap {
		width: 100%;
	}
	
	footer.showcase-footer .prev-wrap, footer.showcase-footer .next-wrap {
    	width: 60px;
	}
	
	footer.showcase-footer .footer-middle {
		top: 0px;
	}
	
	footer.showcase-footer .showcase-subtitles-wrap {
		left: 0;
	}
	
	footer.showcase-footer .socials-wrap {
		display:none;
	}
	
	.button-text {
		display:none;
	}
	
	#main-page-content .button-text {
		display:block;
	}
}

@media only screen and (min-device-width : 375px) and (max-device-width : 667px) and (orientation : landscape) {
    
	#rotate-device {
		display:block;
	}
}

/* 紫系のテキストカラークラス */
.text-primary {
    color: var(--primary-color) !important;
}

.text-secondary {
    color: var(--secondary-color) !important;
}

.text-accent {
    color: var(--accent-color) !important;
}

/* 紫系の背景色クラス */
.bg-primary {
    background-color: var(--primary-color) !important;
}

.bg-secondary {
    background-color: var(--secondary-color) !important;
}

.bg-accent {
    background-color: var(--accent-color) !important;
}

.bg-light-purple {
    background-color: var(--light-purple) !important;
}

/* ボーダーカラー */
.border-primary {
    border-color: var(--primary-color) !important;
}

.border-secondary {
    border-color: var(--secondary-color) !important;
}

.border-accent {
    border-color: var(--accent-color) !important;
}

/* カスタムフォントアクセント - 表示強調用 */
.accent-font {
    font-family: 'M PLUS 1p', sans-serif !important;
    font-weight: 500;
}

/* 日本語のみのセレクタ - 英語と日本語の混在テキストでのバランス調整用 */
.jp-text {
    font-feature-settings: "palt"; /* プロポーショナルメトリクスを有効化 */
    letter-spacing: 0.05em;
    line-height: 1.8;
}

/* メインコンテンツの日本語対応 */
p, .subtitle, .item-cat {
    font-feature-settings: "palt";
    letter-spacing: 0.03em;
    line-height: 1.9;
}

.light-content .hold-progress-bar {
	background: rgba(106, 27, 154, 0.8);
}
	
.preloader-intro {
	font-family: 'Roboto Slab', serif;
	font-weight:500;
	position: relative;
	display:block;
	font-size:100px;
	line-height:130px;
	color:#6a1b9a;
}

.light-content .preloader-intro {
	color:#6a1b9a;
}

/* About Page Styles */
.values-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-top: 3rem;
}

.value-box {
    background: rgba(255, 255, 255, 0.05);
    padding: 2rem;
    border-radius: 8px;
    transition: transform 0.3s ease;
    position: relative;
}

.value-box:hover {
    transform: translateY(-5px);
}

.value-box h3 {
    color: #fff;
    margin-bottom: 1rem;
    font-size: 24px;
}

.value-box h5 {
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 1rem;
    font-size: 18px;
}

.value-box p {
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6;
}

@media screen and (max-width: 768px) {
    .values-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

.dark-section {
    color: #fff;
    position: relative;
    z-index: 1;
}

.dark-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(106, 27, 154, 0.95), rgba(106, 27, 154, 0.85));
    z-index: -1;
}

/* About Page Additional Styles */
.vc_row h3.has-mask {
    font-size: 36px;
    line-height: 1.4;
    margin-bottom: 1.5rem;
}

p.bigger {
    font-size: 20px;
    line-height: 1.8;
    font-weight: 500;
}

.one_half {
    margin-bottom: 2rem;
}


@media screen and (max-width: 480px) {

    p.bigger {
        font-size: 15px;
    }
}

.dark-section .has-mask {
    color: #fff;
}

.value-box::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(to right, rgba(255,255,255,0.1), rgba(255,255,255,0.3));
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.value-box:hover::after {
    transform: scaleX(1);
}

/* テキストの可視性改善 */
.white-section-wrapper p, 
.white-section-container p,
.white-section p {
    color: #333;
}

.white-section-wrapper h2, 
.white-section-container h2,
.white-section h2,
.white-section-wrapper h3, 
.white-section-container h3,
.white-section h3 {
    color: #000;
}

.white-section-wrapper .value-box h3,
.white-section-container .value-box h3,
.white-section .value-box h3 {
    color: #fff;
}

.white-section-wrapper .value-box p,
.white-section-container .value-box p,
.white-section .value-box p {
    color: rgba(255, 255, 255, 0.7);
}

.white-section-wrapper .bigger,
.white-section-container .bigger,
.white-section .bigger {
    color: #333;
}

.dark-section p {
    color: rgba(255, 255, 255, 0.7);
}

.dark-section h2,
.dark-section h3 {
    color: #fff;
}

.dark-section .bigger {
    color: rgba(255, 255, 255, 0.9);
}

.vc_row:not(.dark-section) {
    color: #333;
}

.vc_row:not(.dark-section) h3.has-mask {
    color: #000;
}

.vc_row:not(.dark-section) p.bigger {
    color: #333;
}

/* Base text colors for white sections */
.vc_row:not(.dark-section) {
    color: #333;
}

.vc_row:not(.dark-section) h2,
.vc_row:not(.dark-section) h3,
.vc_row:not(.dark-section) .has-mask {
    color: #000;
}

.vc_row:not(.dark-section) p {
    color: #333;
}

.vc_row:not(.dark-section) p.bigger {
    color: #333;
}

/* Dark section specific styles */
.dark-section {
    color: #fff;
    position: relative;
    z-index: 1;
}

.dark-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(106, 27, 154, 0.95), rgba(106, 27, 154, 0.85));
    z-index: -1;
}

.dark-section h2,
.dark-section h3,
.dark-section .has-mask {
    color: #fff;
}

.dark-section p {
    color: rgba(255, 255, 255, 0.7);
}

.dark-section .bigger {
    color: rgba(255, 255, 255, 0.9);
}

/* Business Page Styles */
.business-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-top: 3rem;
}

.business-box {
    background: rgba(255, 255, 255, 0.1);
    padding: 2rem;
    border-radius: 8px;
    transition: transform 0.3s ease;
}

.business-box:hover {
    transform: translateY(-10px);
}

.business-box h3 {
    color: #fff;
    font-size: 24px;
    margin-bottom: 1.5rem;
    font-weight: 600;
}

.business-box p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 16px;
    line-height: 1.8;
    margin-top: 1.5rem;
}

.business-image {
    width: 100%;
    height: 200px;
    background-size: cover;
    background-position: center;
    border-radius: 4px;
    margin: 1rem 0;
}

@media screen and (max-width: 768px) {
    .business-grid {
        grid-template-columns: 1fr;
    }
    
    .business-box {
        margin-bottom: 2rem;
    }
    
    .business-box h3 {
        font-size: 20px;
        line-height: 1.4;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
}

/* Additional styles for the main copy */
.vc_row h3.has-mask {
    margin-bottom: 1.5rem;
}

@media screen and (max-width: 768px) {
    .vc_row h3.has-mask {
        line-height: 1.4;
    }
    
    p.bigger {
        font-size: 18px;
        line-height: 1.8;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
}

@media screen and (max-width: 480px) {

    
    p.bigger {
        font-size: 15px;
    }
}

/* テキストの可視性改善 */
.has-mask {
    margin-bottom: 10px;
}



.works-container {
    padding: 0 5vw;
    margin: 10vh 0;
}

.works-item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    margin-bottom: 120px;
}

.works-image-wrapper {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    border-radius: 5px;
}

.works-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.works-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.works-content h2 {
    font-size: 28px;
    line-height: 1.3;
    margin-bottom: 15px;
    color: var(--primary-color);
}

.works-content h4 {
    font-size: 20px;
    line-height: 1.4;
    margin-bottom: 20px;
    color: #333;
}

.works-content p {
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 25px;
    color: #666;
}

@media only screen and (max-width: 767px) {
    .works-item {
        grid-template-columns: 1fr;
        gap: 40px;
        margin-bottom: 80px;
    }
    
    .works-image-wrapper {
        height: 30vh;
    }
    
    .works-content h2 {
        font-size: 24px;
    }
    
    .works-content h4 {
        font-size: 18px;
    }
}

/* Hover Effects */
.works-item:hover .works-image img {
    transform: scale(1.05);
}

/* Dark Mode */
@media (prefers-color-scheme: dark) {

    #main-page-content .works-container .works-item .works-header h2 {
        color: #9c4dcc !important;
    }

    #main-page-content .works-container .works-item .works-header h3 {
        color: rgba(255, 255, 255, 0.8) !important;
    }

    .works-category {
        color: #9c4dcc;
    }

    .works-description p {
        color: rgba(255, 255, 255, 0.7);
    }
}

/* Responsive */
@media (max-width: 768px) {

    .works-item {
        grid-template-columns: 1fr;
        gap: 2rem;
        margin-bottom: 10vh;
    }

    #main-page-content .works-container .works-item .works-header h2 {
        font-size: 2rem;
    }

    #main-page-content .works-container .works-item .works-header h3 {
        font-size: 1.25rem;
    }
}

/* Works Page Styles */
.item-cat {
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 10px;
    color: var(--primary-color);
}

.light-content .item-cat {
    color: var(--accent-color);
}

.status-tag {
    display: inline-block;
    background: var(--primary-color);
    color: #fff;
    padding: 5px 15px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 600;
    margin-top: 15px;
}

.light-content .status-tag {
    background: var(--accent-color);
    color: #000;
}

.item-caption {
    padding: 20px;
    background: #fff;
    border-radius: 0 0 5px 5px;
}

.item-cat {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 15px;
    color: var(--primary-color);
    opacity: 0.8;
}

.status-tag {
    display: inline-block;
    padding: 8px 20px;
    border-radius: 3px;
    font-size: 13px;
    font-weight: 500;
    background: var(--primary-color);
    color: white;
    align-self: flex-start;
}

.has-title span span {
	color: #333;
}

/* Profile Page Styles */
.founder-message-container {
	margin-top: 2rem;
}

.founder-message-content {
	display: flex;
	flex-wrap: wrap;
	gap: 3rem;
	margin-top: 2rem;
	align-items: flex-start;
}

.founder-image-wrapper {
	flex: 0 0 35%;
	position: relative;
	overflow: hidden;
	border-radius: 8px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.founder-image-wrapper img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.founder-image-wrapper:hover img {
	transform: scale(1.05);
}

.founder-message {
	flex: 0 0 55%;
}

.founder-profile-container {
	margin-top: 3rem;
}

.profile-box {
	background: rgba(106, 27, 154, 0.05);
	padding: 2.5rem;
	border-radius: 10px;
	margin-top: 1.5rem;
	position: relative;
	overflow: hidden;
	border-left: 4px solid rgba(106, 27, 154, 0.6);
}

.profile-box::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(45deg, rgba(106, 27, 154, 0.03), rgba(106, 27, 154, 0.01));
	z-index: -1;
}

.profile-box h3 {
	color: #333;
	margin-bottom: 1.5rem;
	font-size: 28px;
	position: relative;
	display: inline-block;
}

.profile-box h3::after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 0;
	width: 80px;
	height: 2px;
	background: rgba(106, 27, 154, 0.3);
}

.profile-box p {
	color: #333;
	line-height: 1.8;
	margin-bottom: 1.5rem;
}

.profile-box p:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 1024px) {
	.founder-message-content {
		flex-direction: column;
		gap: 2rem;
	}

	.founder-image-wrapper,
	.founder-message {
		flex: 0 0 100%;
	}

	.founder-image-wrapper {
		max-width: 500px;
		margin: 0 auto;
	}
}

@media screen and (max-width: 768px) {
	.profile-box {
		padding: 1.5rem;
	}

	.profile-box h3 {
		font-size: 24px;
	}

	.founder-message p.bigger {
		font-size: 16px;
		line-height: 1.7;
	}
}

@media screen and (max-width: 480px) {
	.profile-box {
		padding: 1.25rem;
	}

	.profile-box h3 {
		font-size: 20px;
	}

	.founder-message p.bigger {
		font-size: 15px;
		line-height: 1.6;
	}
}

/* Company Page Styles */
.company-info-container {
	margin-top: 2.5rem;
}

.company-detail-box {
	background: rgba(255, 255, 255, 0.02);
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.03);
	transition: transform 0.3s ease;
}

.company-info-table {
	width: 100%;
	border-collapse: collapse;
}

.company-info-table th,
.company-info-table td {
	padding: 1.25rem 1.5rem;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.company-info-table th {
	width: 25%;
	font-weight: 600;
	color: #333;
	background-color: rgba(106, 27, 154, 0.03);
}

.company-info-table td {
	color: #555;
}

.company-info-table tr:last-child th,
.company-info-table tr:last-child td {
	border-bottom: none;
}

.contact-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.contact-list li {
	margin-bottom: 0.5rem;
}

.contact-list li:last-child {
	margin-bottom: 0;
}

.contact-list a {
	color: #6a1b9a;
	text-decoration: none;
	transition: color 0.3s ease;
}

.contact-list a:hover {
	color: #9c27b0;
}

.business-objectives-container {
	margin-top: 4rem;
}

.objectives-box {
	background: rgba(255, 255, 255, 0.02);
	border-radius: 10px;
	padding: 2rem 2.5rem;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.03);
	position: relative;
	overflow: hidden;
	border-left: 4px solid rgba(106, 27, 154, 0.6);
}

.objectives-box::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(45deg, rgba(106, 27, 154, 0.03), rgba(106, 27, 154, 0.01));
	z-index: -1;
}

.business-objectives-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.25rem;
	padding-left: 1.5rem;
	margin: 0;
}

.business-objectives-list li {
	color: #555;
	padding-left: 0.5rem;
}

@media screen and (max-width: 1024px) {
	.company-info-table th {
		width: 30%;
	}
}

@media screen and (max-width: 768px) {

	.company-info-table th,
	.company-info-table td {
		padding: 1rem;
	}

	.company-info-table th {
		width: 35%;
	}

	.business-objectives-list {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 480px) {
	.company-info-table {
		display: block;
	}

	.company-info-table tbody {
		display: block;
	}

	.company-info-table tr {
		display: flex;
		flex-direction: column;
		border-bottom: 1px solid rgba(0, 0, 0, 0.05);
	}

	.company-info-table tr:last-child {
		border-bottom: none;
	}

	.company-info-table th,
	.company-info-table td {
		display: block;
		width: 100%;
		border-bottom: none;
	}

	.company-info-table th {
		padding-bottom: 0.5rem;
	}

	.company-info-table td {
		padding-top: 0.5rem;
	}
}

/* アーティスティックデザイン案1: 非対称グリッドレイアウト＆モダンタイポグラフィ */
.artistic-design-1 .company-info-container,
.artistic-design-1 .founder-profile-container {
	margin-top: 3.5rem;
}

.artistic-design-1 .company-detail-box,
.artistic-design-1 .profile-box,
.artistic-design-1 .objectives-box {
	background: none;
	border: none;
	box-shadow: none;
	padding: 0;
	position: relative;
}

.artistic-design-1 .company-info-table {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	grid-gap: 2.5rem 3rem;
	border-collapse: separate;
}

.artistic-design-1 .company-info-table tr {
	display: contents;
}

.artistic-design-1 .company-info-table th {
	grid-column: span 2;
	background: none;
	color: #333;
	font-size: 0.9rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	font-weight: 600;
	position: relative;
	padding: 0;
	text-align: right;
	border: none;
}

.artistic-design-1 .company-info-table th::after {
	content: '';
	position: absolute;
	top: 0.7rem;
	right: -1.5rem;
	width: 0.5rem;
	height: 0.5rem;
	background: rgba(106, 27, 154, 0.7);
	border-radius: 50%;
}

.artistic-design-1 .company-info-table td {
	grid-column: span 4;
	padding: 0;
	font-size: 1.1rem;
	border: none;
	color: #222;
}

/* プロフィールボックスのスタイル */
.artistic-design-1 .profile-box p,
.artistic-design-1 .founder-message p {
	font-size: 1.05rem;
	line-height: 1.9;
	color: #333;
	margin-bottom: 2rem;
	position: relative;
	padding-left: 1.5rem;
}

.artistic-design-1 .profile-box p::before,
.artistic-design-1 .founder-message p::before {
	content: '';
	position: absolute;
	top: 0.5rem;
	left: 0;
	width: 4px;
	height: calc(100% - 1rem);
	background: linear-gradient(to bottom, rgba(106, 27, 154, 0.8), rgba(156, 39, 176, 0.4));
	border-radius: 2px;
}

/* 事業内容のスタイル */
.artistic-design-1 .business-objectives-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 1.5rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.artistic-design-1 .business-objectives-list li {
	padding: 1.5rem;
	background: linear-gradient(45deg, rgba(106, 27, 154, 0.03), rgba(106, 27, 154, 0.01));
	border-radius: 8px;
	position: relative;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	counter-increment: objective;
}

.artistic-design-1 .business-objectives-list li::before {
	content: counter(objective);
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
	font-size: 2.5rem;
	font-weight: 700;
	color: rgba(106, 27, 154, 0.1);
	line-height: 1;
}

.artistic-design-1 .business-objectives-list li:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 20px rgba(106, 27, 154, 0.07);
}

/* 見出しスタイル */
.artistic-design-1 h2.has-mask,
.artistic-design-1 h3.has-mask {
	position: relative;
	display: inline-block;
	margin-bottom: 2.5rem;
}

.artistic-design-1 h2.has-mask::after,
.artistic-design-1 h3.has-mask::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -0.8rem;
	width: 50%;
	height: 3px;
	background: linear-gradient(to right, rgba(106, 27, 154, 0.8), rgba(156, 39, 176, 0.2));
}

/* レスポンシブ対応 */
@media screen and (max-width: 1024px) {
	.artistic-design-1 .company-info-table {
		grid-template-columns: repeat(4, 1fr);
	}

	.artistic-design-1 .company-info-table th {
		grid-column: span 1;
		text-align: left;
	}

	.artistic-design-1 .company-info-table th::after {
		top: 0.7rem;
		right: auto;
		left: -1rem;
	}

	.artistic-design-1 .company-info-table td {
		grid-column: span 3;
	}
}

@media screen and (max-width: 768px) {
	.artistic-design-1 .company-info-table {
		display: block;
	}

	.artistic-design-1 .company-info-table tr {
		display: flex;
		flex-direction: column;
		margin-bottom: 1.5rem;
		padding-bottom: 1.5rem;
		border-bottom: 1px solid rgba(106, 27, 154, 0.1);
	}

	.artistic-design-1 .company-info-table tr:last-child {
		border-bottom: none;
	}

	.artistic-design-1 .company-info-table th,
	.artistic-design-1 .company-info-table td {
		width: 100%;
		text-align: left;
		padding: 0.5rem 0;
	}

	.artistic-design-1 .company-info-table th {
		padding-bottom: 0.2rem;
	}

	.artistic-design-1 .company-info-table th::after {
		display: none;
	}

	.artistic-design-1 .profile-box p,
	.artistic-design-1 .founder-message p {
		padding-left: 1rem;
	}

	.artistic-design-1 .business-objectives-list {
		grid-template-columns: 1fr;
	}
}

/* アーティスティックデザイン案2: オープンスペースデザイン＆アクセントライン */
.artistic-design-2 .company-info-container,
.artistic-design-2 .founder-profile-container {
	margin-top: 3rem;
}

.artistic-design-2 .company-detail-box,
.artistic-design-2 .profile-box,
.artistic-design-2 .objectives-box {
	background: none;
	border: none;
	box-shadow: none;
	padding: 0;
	position: relative;
}

/* 見出しスタイル */
.artistic-design-2 h2.has-mask,
.artistic-design-2 h3.has-mask {
	font-size: 2.4rem;
	font-weight: 400;
	letter-spacing: -0.01em;
	color: rgba(106, 27, 154, 0.9);
	margin-bottom: 3rem;
	position: relative;
	padding-right: 5vw;
	overflow: visible;
}

.artistic-design-2 h2.has-mask::before,
.artistic-design-2 h3.has-mask::before {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	width: 4vw;
	height: 1px;
	background: linear-gradient(to right, rgba(106, 27, 154, 0.5), rgba(106, 27, 154, 0.05));
}

.artistic-design-2 h3.has-mask {
	font-size: 1.8rem;
}

/* 会社情報テーブル */
.artistic-design-2 .company-info-table {
	width: 100%;
	border: none;
}

.artistic-design-2 .company-info-table tr {
	position: relative;
}

.artistic-design-2 .company-info-table tr::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(to right, rgba(106, 27, 154, 0.1), rgba(255, 255, 255, 0));
}

.artistic-design-2 .company-info-table tr:last-child::after {
	display: none;
}

.artistic-design-2 .company-info-table th,
.artistic-design-2 .company-info-table td {
	padding: 1.5rem 0;
	vertical-align: top;
	border: none;
	position: relative;
}

.artistic-design-2 .company-info-table th {
	width: 25%;
	font-weight: 500;
	color: #000;
	padding-right: 2rem;
	font-size: 1rem;
	background: none;
	text-align: left;
}

.artistic-design-2 .company-info-table td {
	width: 75%;
	color: #333;
	font-size: 1.1rem;
	line-height: 1.7;
}

/* リスト装飾 */
.artistic-design-2 .contact-list {
	padding-left: 0;
}

.artistic-design-2 .contact-list li {
	position: relative;
	padding-left: 1.5rem;
	margin-bottom: 0.7rem;
}

.artistic-design-2 .contact-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.6rem;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: rgba(106, 27, 154, 0.7);
}

/* 事業内容リスト */
.artistic-design-2 .business-objectives-list {
	counter-reset: objectives;
	padding: 0;
	margin: 0;
}

.artistic-design-2 .business-objectives-list li {
	counter-increment: objectives;
	list-style: none;
	position: relative;
	padding: 1rem 0 1rem 3.5rem;
	margin-bottom: 0.5rem;
	border-bottom: 1px dashed rgba(106, 27, 154, 0.15);
}

.artistic-design-2 .business-objectives-list li:last-child {
	border-bottom: none;
}

.artistic-design-2 .business-objectives-list li::before {
	content: counter(objectives, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 0.8rem;
	font-size: 1.5rem;
	font-weight: 300;
	color: rgba(106, 27, 154, 0.6);
	line-height: 1;
	font-style: italic;
	letter-spacing: -0.03em;
}

/* プロフィールスタイル */
.artistic-design-2 .profile-box p,
.artistic-design-2 .founder-message p {
	font-size: 1.05rem;
	line-height: 1.9;
	color: #333;
	margin-bottom: 2rem;
	padding: 0 0 0 3vw;
	position: relative;
}

.artistic-design-2 .profile-box p:last-child,
.artistic-design-2 .founder-message p:last-child {
	margin-bottom: 0;
}

.artistic-design-2 .profile-box::before,
.artistic-design-2 .founder-message::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 1px;
	height: 100%;
	background: linear-gradient(to bottom, rgba(106, 27, 154, 0.8), rgba(106, 27, 154, 0.1));
}

/* 背景テクスチャ効果 */
.artistic-design-2 .profile-box::after,
.artistic-design-2 .company-detail-box::after {
	content: '';
	position: absolute;
	right: -3vw;
	top: -3vw;
	width: 20vw;
	height: 20vw;
	background: radial-gradient(circle, rgba(106, 27, 154, 0.03) 0%, rgba(106, 27, 154, 0) 70%);
	z-index: -1;
	border-radius: 50%;
	pointer-events: none;
}

/* レスポンシブ調整 */
@media screen and (max-width: 1024px) {

	.artistic-design-2 h2.has-mask,
	.artistic-design-2 h3.has-mask {
		font-size: 2rem;
		padding-right: 3vw;
	}

	.artistic-design-2 h3.has-mask {
		font-size: 1.6rem;
	}

	.artistic-design-2 .company-info-table th {
		width: 30%;
	}

	.artistic-design-2 .company-info-table td {
		width: 70%;
	}
}

@media screen and (max-width: 768px) {

	.artistic-design-2 h2.has-mask,
	.artistic-design-2 h3.has-mask {
		font-size: 1.8rem;
		padding-right: 0;
	}

	.artistic-design-2 h2.has-mask::before,
	.artistic-design-2 h3.has-mask::before {
		display: none;
	}

	.artistic-design-2 h3.has-mask {
		font-size: 1.4rem;
	}

	.artistic-design-2 .company-info-table,
	.artistic-design-2 .company-info-table tbody {
		display: block;
		width: 100%;
	}

	.artistic-design-2 .company-info-table tr {
		display: flex;
		flex-direction: column;
		padding: 1rem 0;
		border-bottom: 1px solid rgba(106, 27, 154, 0.1);
	}

	.artistic-design-2 .company-info-table tr::after {
		display: none;
	}

	.artistic-design-2 .company-info-table th,
	.artistic-design-2 .company-info-table td {
		width: 100%;
		padding: 0.5rem 0;
	}

	.artistic-design-2 .profile-box p,
	.artistic-design-2 .founder-message p {
		padding-left: 1.5rem;
	}

	.artistic-design-2 .profile-box::before,
	.artistic-design-2 .founder-message::before {
		width: 2px;
	}
}

/* アーティスティックデザイン案3: ミニマル和モダンスタイル */
.artistic-design-3 .company-info-container,
.artistic-design-3 .founder-profile-container {
	margin-top: 3.5rem;
}

.artistic-design-3 .company-detail-box,
.artistic-design-3 .profile-box,
.artistic-design-3 .objectives-box {
	background: none;
	border: none;
	box-shadow: none;
	padding: 0;
	position: relative;
}

/* 見出しスタイル - 和モダン */
.artistic-design-3 h2.has-mask,
.artistic-design-3 h3.has-mask {
	font-size: 2.2rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	margin-bottom: 3.5rem;
	color: #333;
	position: relative;
	display: flex;
	align-items: center;
	overflow: visible;
}

.artistic-design-3 h2.has-mask::before,
.artistic-design-3 h3.has-mask::before {
	content: '';
	width: 1.5rem;
	height: 1.5rem;
	margin-right: 1rem;
	background-image: linear-gradient(135deg, rgba(106, 27, 154, 0.8), rgba(156, 39, 176, 0.6));
	clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
	display: inline-block;
	vertical-align: middle;
}

.artistic-design-3 h3.has-mask {
	font-size: 1.6rem;
	margin-bottom: 2.5rem;
}

.artistic-design-3 h3.has-mask::before {
	width: 1.2rem;
	height: 1.2rem;
}

/* 会社情報テーブル - 和モダン */
.artistic-design-3 .company-info-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 1rem;
}

.artistic-design-3 .company-info-table tr {
	background: linear-gradient(to right, rgba(245, 245, 245, 0.5), rgba(255, 255, 255, 0.5));
	transition: all 0.3s ease;
}

.artistic-design-3 .company-info-table tr:hover {
	background: linear-gradient(to right, rgba(245, 245, 245, 0.8), rgba(255, 255, 255, 0.8));
}

.artistic-design-3 .company-info-table th,
.artistic-design-3 .company-info-table td {
	padding: 1.2rem 1.5rem;
	border: none;
}

.artistic-design-3 .company-info-table th {
	width: 25%;
	font-weight: 500;
	color: #333;
	background: rgba(106, 27, 154, 0.05);
	position: relative;
	padding-left: 2rem;
}

.artistic-design-3 .company-info-table th::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 4px;
	height: 100%;
	background: linear-gradient(to bottom, rgba(106, 27, 154, 0.8), rgba(156, 39, 176, 0.4));
}

.artistic-design-3 .company-info-table td {
	font-size: 1rem;
	line-height: 1.7;
	color: #333;
}

/* リスト装飾 */
.artistic-design-3 .contact-list {
	padding-left: 0;
	margin: 0;
}

.artistic-design-3 .contact-list li {
	margin-bottom: 0.7rem;
	padding-left: 0;
	list-style: none;
}

.artistic-design-3 .contact-list a {
	color: rgba(106, 27, 154, 0.9);
	text-decoration: none;
	position: relative;
	transition: color 0.3s ease;
}

.artistic-design-3 .contact-list a:hover {
	color: rgba(156, 39, 176, 1);
}

.artistic-design-3 .contact-list a::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 100%;
	height: 1px;
	background: rgba(106, 27, 154, 0.3);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.3s ease;
}

.artistic-design-3 .contact-list a:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}

/* 事業内容リスト - 和モダン */
.artistic-design-3 .business-objectives-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.artistic-design-3 .business-objectives-list li {
	position: relative;
	padding: 1.5rem;
	background: rgba(245, 245, 245, 0.5);
	color: #333;
	border-radius: 0;
	transition: all 0.3s ease;
}

.artistic-design-3 .business-objectives-list li:hover {
	background: rgba(245, 245, 245, 0.8);
}

.artistic-design-3 .business-objectives-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 4px;
	background: linear-gradient(to right, rgba(106, 27, 154, 0.7), rgba(156, 39, 176, 0.3));
	transform: scaleX(0.3);
	transform-origin: left;
	transition: transform 0.3s ease;
}

.artistic-design-3 .business-objectives-list li:hover::before {
	transform: scaleX(1);
}

/* プロフィールスタイル - 和モダン */
.artistic-design-3 .profile-box,
.artistic-design-3 .founder-message {
	padding: 2rem;
	background: rgba(245, 245, 245, 0.5);
	position: relative;
}

.artistic-design-3 .profile-box::before,
.artistic-design-3 .founder-message::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 3rem;
	height: 3rem;
	background: linear-gradient(to right bottom, rgba(106, 27, 154, 0.1) 50%, transparent 50%);
	z-index: 1;
}

.artistic-design-3 .profile-box::after,
.artistic-design-3 .founder-message::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 3rem;
	height: 3rem;
	background: linear-gradient(to right bottom, transparent 50%, rgba(106, 27, 154, 0.1) 50%);
	z-index: 1;
}

.artistic-design-3 .profile-box p,
.artistic-design-3 .founder-message p {
	margin-bottom: 1.5rem;
	font-size: 1rem;
	line-height: 1.8;
	color: #333;
}

.artistic-design-3 .profile-box p:last-child,
.artistic-design-3 .founder-message p:last-child {
	margin-bottom: 0;
}

/* レスポンシブ調整 */
@media screen and (max-width: 1024px) {
	.artistic-design-3 .company-info-table th {
		width: 30%;
	}

	.artistic-design-3 h2.has-mask,
	.artistic-design-3 h3.has-mask {
		font-size: 1.8rem;
	}

	.artistic-design-3 h3.has-mask {
		font-size: 1.4rem;
	}
}

@media screen and (max-width: 768px) {
	.artistic-design-3 .company-info-table {
		border-spacing: 0;
	}

	.artistic-design-3 .company-info-table tr {
		margin-bottom: 1rem;
		display: block;
	}

	.artistic-design-3 .company-info-table th,
	.artistic-design-3 .company-info-table td {
		display: block;
		width: 100%;
	}

	.artistic-design-3 .company-info-table th {
		border-bottom: none;
		padding-bottom: 0.5rem;
	}

	.artistic-design-3 .company-info-table td {
		padding-top: 0.5rem;
	}

	.artistic-design-3 .business-objectives-list {
		grid-template-columns: 1fr;
	}

	.artistic-design-3 h2.has-mask,
	.artistic-design-3 h3.has-mask {
		font-size: 1.6rem;
	}

	.artistic-design-3 h3.has-mask {
		font-size: 1.3rem;
	}

	.artistic-design-3 h2.has-mask::before,
	.artistic-design-3 h3.has-mask::before {
		width: 1.2rem;
		height: 1.2rem;
	}

	.artistic-design-3 h3.has-mask::before {
		width: 1rem;
		height: 1rem;
	}
}

/* お問い合わせフォーム */
.contact-form-container {
	padding: 30px 0;
	max-width: 600px;
	margin: 0 auto;
}

.contact-form {
	background: #fff;
	padding: 40px;
	border-radius: 8px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	margin-bottom: 50px;
	max-width: 100%;
}

.form-group {
	margin-bottom: 25px;
	position: relative;
}

.form-group label {
	display: block;
	margin-bottom: 8px;
	font-weight: 500;
	color: #333;
}

.form-control {
	width: 100%;
	padding: 12px 15px;
	font-size: 16px;
	border: 1px solid #999 !important;
	border-radius: 4px;
	background: #fff !important;
	transition: all 0.3s ease;
	color: #333 !important;
	box-sizing: border-box;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	outline: none !important;
}

input.form-control,
textarea.form-control {
	display: block;
	width: 100%;
	padding-left: 10px;
}

.form-control:focus {
	border-color: var(--primary-color) !important;
	background: #fff !important;
	box-shadow: 0 0 0 3px rgba(106, 27, 154, 0.1);
	outline: none;
}

.form-control::placeholder {
	color: #999;
	opacity: 1;
}

textarea.form-control {
	min-height: 150px;
	resize: vertical;
	border: 1px solid #999 !important;
}

.error-message {
	color: #d32f2f;
	font-size: 14px;
	margin-top: 5px;
}

.contact-info-section {
	background: #f9f5fc;
	padding: 40px;
	border-radius: 8px;
	height: 100%;
}

.contact-info-section h3 {
	margin-bottom: 25px;
	color: var(--primary-color);
	font-weight: 600;
}

.contact-info-item {
	display: flex;
	align-items: flex-start;
	margin-bottom: 25px;
}

.contact-info-item i {
	color: var(--primary-color);
	font-size: 20px;
	margin-right: 15px;
	margin-top: 3px;
}

.contact-info-item .info-content {
	flex: 1;
}

.contact-info-item h4 {
	margin-bottom: 5px;
	font-size: 16px;
	color: #333;
}

.contact-info-item p {
	margin: 0;
	color: #666;
	line-height: 1.6;
}

.form-submit-btn,
.submit-button {
	background: var(--primary-color);
	color: #fff;
	border: none;
	padding: 14px 30px;
	font-size: 16px;
	border-radius: 4px;
	cursor: pointer;
	transition: all 0.3s ease;
	font-weight: 500;
}

.form-submit-btn:hover,
.submit-button:hover {
	background: #4a148c;
	transform: translateY(-2px);
	box-shadow: 0 5px 15px rgba(106, 27, 154, 0.2);
}

/* サンクスページ */
.thank-you-content {
	padding: 80px 0;
}

.thank-you-box {
	background: #fff;
	padding: 60px;
	border-radius: 8px;
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.05);
	text-align: center;
	max-width: 700px;
	margin: 0 auto;
}

.icon-check {
	margin-bottom: 30px;
}

.icon-check i {
	font-size: 80px;
	color: #4caf50;
}

.thank-you-box h2 {
	color: #333;
	margin-bottom: 20px;
	font-weight: 600;
}

.thank-you-box p {
	color: #666;
	font-size: 16px;
	margin-bottom: 15px;
	line-height: 1.6;
}



.contact-info p {
	margin: 10px 0;
}

.contact-info i {
	color: var(--primary-color);
	margin-right: 10px;
}

.back-buttons {
	margin-top: 30px;
	text-align: center;
}

.back-buttons .btn {
	display: inline-block;
	padding: 12px 30px;
	border-radius: 4px;
	text-decoration: none;
	font-weight: 500;
	transition: all 0.3s ease;
}

.btn-primary {
	background: var(--primary-color);
	color: #fff;
}

.btn-primary:hover {
	background: #4a148c;
	transform: translateY(-2px);
	box-shadow: 0 5px 15px rgba(106, 27, 154, 0.2);
}

/* エラーメッセージコンテナ */
.form-errors {
	background: #ffebee;
	color: #d32f2f;
	padding: 15px;
	border-radius: 4px;
	margin-bottom: 25px;
	border-left: 4px solid #d32f2f;
}

.form-errors ul {
	margin: 0;
	padding-left: 20px;
}

.form-errors li {
	margin-bottom: 5px;
	line-height: 1.5;
	font-size: 14px;
}

.g-recaptcha {
	margin-bottom: 25px;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
	.contact-form {
		padding: 30px 20px;
	}

	.contact-info-section {
		margin-top: 40px;
		padding: 30px 20px;
	}

	.thank-you-box {
		padding: 40px 20px;
	}
}

@media (max-width: 480px) {
	.contact-form {
		padding: 25px 15px;
	}

	.form-group label {
		font-size: 14px;
	}

	.contact-info-item {
		flex-direction: column;
	}

	.contact-info-item i {
		margin-bottom: 10px;
	}
}

/* 必須マーク */
.required {
	color: #d32f2f;
	margin-left: 3px;
}

/* フォーム送信ボタンのコンテナ */
.form-submit {
	margin-top: 30px;
	text-align: center;
}

/* メインページコンテンツレイアウト調整 */
#main-page-content .vc_row {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

/* お問い合わせフォーム用コンテナ調整 */
#main-page-content .contact-form-container {
	width: 100%;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
	padding: 30px 20px;
}

@media (max-width: 1200px) {

	#main-page-content .vc_row,
	#main-page-content .contact-form-container {
		max-width: 100%;
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media (max-width: 768px) {

	#main-page-content .vc_row,
	#main-page-content .contact-form-container {
		padding-left: 15px;
		padding-right: 15px;
	}
}

/* お問い合わせフォーム関連 */
.contact-intro-text {
	max-width: 600px;
	margin: 0 auto 30px;
	text-align: left;
}


.contact-intro-text p.bigger {
	margin-bottom: 15px;
}

/* フォームのグリッドレイアウト調整 */
.vc_row.row_padding_top.row_padding_bottom.change-header-color.artistic-design-2 {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 100%;
}

/* アイコン修正 */
.method-icon {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	background-color: var(--primary-color);
	border-radius: 50%;
	margin-right: 15px;
}

.method-icon i {
	color: #fff;
	font-size: 18px;
}

.contact-method {
	display: flex;
	align-items: flex-start;
	margin-bottom: 20px;
}

.method-info {
	flex: 1;
}

.method-info h4 {
	margin-top: 0;
	margin-bottom: 5px;
	font-size: 16px;
	font-weight: 600;
}

.method-info p {
	margin: 0;
}

.contact-info-box {
	background: #fff;
	padding: 30px;
	border-radius: 8px;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
	max-width: 600px;
	margin: 0 auto;
}

.contact-details {
	margin-top: 25px;
}

/* アイコンの視認性修正 - 影響範囲を限定 */
.contact-info-box .method-icon {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	background-color: var(--primary-color);
	border-radius: 50%;
	margin-right: 15px;
}

.contact-info-box .method-icon i {
	color: #fff;
	font-size: 18px;
}

.contact-info-box .contact-method {
	display: flex;
	align-items: flex-start;
	margin-bottom: 20px;
}

.contact-info-box .method-info {
	flex: 1;
}

.contact-info-box .method-info h4 {
	margin-top: 0;
	margin-bottom: 5px;
	font-size: 16px;
	font-weight: 600;
}

.contact-info-box .method-info p {
	margin: 0;
}

