/*
	Theme Name: Grenada
	Theme URI: http://clapat.ro/themes/grenada-wordpress/
	Description: Responsive WordPress Theme
	Version: 2.9
	Author: Clapat
	Author URI: http://themeforest.net/user/clapat
	Created Date: 02/10/2018
	License: Themeforest
	License: GNU General Public License version 3.0
	License URI: http://www.gnu.org/licenses/gpl-3.0.html
	Tags: four-columns, custom-background, custom-colors, featured-images, full-width-template, theme-options
	Text Domain: grenada
*/

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

01. General Styles
02. Magic Cursor
03. Page Overlay
04. Header Elements
05. Hero Section
06. Main Content 
07. Footer Elements
08. Product Purchase Section
09. Responsive Media Querries

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

/*--------------------------------------------------
	01. General Settings
---------------------------------------------------*/		
	@charset "UTF-8";
	@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
	@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&display=swap');

	html,body{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 300;
		font-size:14px;
		height:100%;
		width:100%;
		color:#45350D;
		background-color:#F5C000;
		font-feature-settings: "palt" 1;
	}
	
	html {
		box-sizing: border-box;
		margin-right: 0px!important;
		overflow: visible!important;
	}
	
	body {
	  overflow-x: hidden;
	  overflow-y: scroll;
	  -webkit-transition: opacity 0.2s ease-in-out 0.2s;
		transition: opacity 0.2s ease-in-out 0.2s;
	}
	
	body.hidden {
		opacity:0;
	}
	
	.smooth-scroll {
		overflow:hidden;
	}
	
	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%;
		vertical-align: middle;
	}	
	
	address {
		font-style: italic;
		margin-bottom: 24px;
	}
	
	abbr[title] {
		border-bottom: 1px dotted #2b2b2b;
		cursor: help;
	}
	
	b,
	strong {
		font-weight: 700;
	}
	
	.light-content b, .light-content strong {
		font-weight: 600;
		color:#fff;
	}
	
	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;
	}
	
	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 img {
		max-width:100%;
	}
	
	.full img {
		width:100vw;
	}
	
	figcaption {
		background-color: rgba(0,0,0,1);
		bottom: 25px;
		color: #fff!important;
		font-weight:400;
		font-size: 12px;
		padding: 10px 20px;
		position: absolute;
		right: 25px;
		z-index: 10;
		border-radius:3px
	}
	
	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;
		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);
	}
	
	table, th, td {
		border: 1px solid rgba(0, 0, 0, 0.1);
	}
	
	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;
	}

	.margin-center {
		margin: 0 auto !important;
	}
	
	hr {
		border: 0;
		height: 25px;
		width:100%;
		float:none;
		margin:0;
		display:inline-block;
	}
	
	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: 600;
		color:#45350D;
		margin-bottom:10px;
	}
	
	h1.big-title{
		font-size: 80px;
		font-style: normal;
		font-weight: 600;
		line-height: 110px;
		margin-left:-7px;
	}	
	
	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: 24px;
		margin-left:-1px;
	}
	
	h6{
		font-size:14px;
		line-height: 18px;
	}
	
	.light-content h1, .light-content h2, .light-content h3, .light-content h4, .light-content h5, .light-content h6 {
		color: #fff!important;
	}
	
	.light-content p {
		color:rgba(255,255,255,0.5);
	}
	
	.title-has-line {
		position:relative;
		margin-bottom:25px;
	}
	
	.title-has-line::after {
		background: none repeat scroll 0 0 #000;
		bottom: 20px;
		content: "";
		height: 1px;
		left: -40px;
		position: absolute;
		width: 25px;
	}
	
	p.title-has-line {
		position:relative;
		margin-bottom:5px;
		font-size:12px;
	}
	
	p.title-has-line::after {
		background: none repeat scroll 0 0 #000;
		bottom: 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,0.3);
	}
	
	p {
		font-size:16px;
		margin-bottom:10px;
		line-height:28px;
		font-weight: 500;
		color: #45350D;
	}
	
	.light-content p {
		color:#999;
	}
	
	p.no-margins {
		margin-bottom:0;
	}
	
	.bigger {
		font-size: 24px;
		font-weight: 400;
		line-height:36px;
		color:#222;
	}
	
	.smaller {
		font-size: 12px;
	}

	.txt_white {
		color: #fafafa !important;
	}
	
	.container {
		max-width:1280px;
		width:100%;
		margin:0 auto;
		box-sizing:border-box;
	}
	
	.small .container {
		max-width:900px;
		width:100%;
		margin:0 auto;
		box-sizing:border-box;
	}
	
	.vc_row.small, .small {
		max-width:900px;
		width:100%;
		margin:0 auto;
		box-sizing:border-box;
	}
	
	.full .container {
		margin-left: calc(50% - 50vw)!important;
		margin-right: calc(50% - 50vw)!important;
		max-width: 1000%!important;
		width: 100vw!important;
		padding: 0!important;
	}
	
	.vc_row.full {
		margin-left: calc(50% - 50vw)!important;
		margin-right: calc(50% - 50vw)!important;
		max-width: 1000%!important;
		width: 100vw!important;
		padding: 0!important;
	}
	
	.full {
		margin-left: calc(50% - 50vw)!important;
		margin-right: calc(50% - 50vw)!important;
		max-width: 1000%!important;
		width: 100vw!important;
		padding: 0;
	}
	
	.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;
	}
	
	.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;
	}
	
	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: 20px!important;
		margin-right: 4%!important;
		position: relative!important;
	}

	.last {
		margin-right:0px!important;
	}
	
	.text-align-center {
		text-align:center;
	}
	
	.text-align-left {
		text-align:left;
	}
	
	.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;
	}
	
	.vc_row {
		position:relative;
		z-index:1;
		opacity:1;
	}
	
	.vc_row.has-animation {
		opacity:0;
	}
	
	.row_padding_top {
		padding-top:120px;
	}
	
	.row_padding_top_80 {
		padding-top:80px;
	}
	

	.row_margin_80 {
		margin: 80px 0;
	}

	.row_margin_top_200 {
		margin-top: 200px;
	}

	.row_padding_bottom {
		padding-bottom:80px;
	}

	.pb-30 {
		padding-bottom: 30px !important;
	}
	.en {
		font-family: 'Montserrat', sans-serif;
		letter-spacing: 0.4rem !important;
	}

	.wpb_wrapper .features__description {
		font-size: 1.6rem !important;
	}

	.spacer_16 {
		margin-bottom: 160px;
	}

	@media screen and (max-width: 768px) {
		.row_margin_top_200 {
			margin-top: 60px;
		}
	}

/*--------------------------------------------------
	02. Magic Cursor
---------------------------------------------------*/	
	
	main {
		-webkit-transition: background 0.4s ease-in-out 0s;
		transition: background 0.4s ease-in-out 0s;
	}
	
	#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 #magic-cursor {
		opacity:0!important;
	}
	
	#ball {
		position: fixed;
		transform: translate(-50%, -50%);
		width: 30px;
		height: 30px;
		border: 2px solid #000;
		border-radius: 50%;
		pointer-events: none;
		opacity:1;
		box-sizing:border-box;	
	}
	
	
	
	.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,  #ball.with-icon {
		border: 2px solid #fff;
		border-color:#fff!important;
	}
	
	#ball:before {
		font-family: FontAwesome;
		content: "\f053";
		font-size:6px;
		width:4px;
		height:8px;
		line-height:8px;
		text-align:center;
		position:absolute;
		left:-12px;
		top:9px;
		color:#000;
		opacity:0;
		transition: all 0.1s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.light-content #ball:before {
		color:#fff;
	}
	
	#ball:after {
		font-family: FontAwesome;
		content: "\f054";
		font-size:6px;
		width:4px;
		height:8px;
		line-height:8px;
		text-align:center;
		position:absolute;
		right:-10px;
		top:9px;
		color:#000;
		opacity:0;
		transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.light-content #ball:before, .light-content #ball:after {
		color:#fff;
	}
	
	.scale-up #ball:before, .scale-up #ball:after {
		opacity:1;
		transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.scale-up.scale-none #ball:before, .scale-up.scale-none #ball:after {
		opacity:0;
	}
	
	#ball i {
		color:#000;
		width:29px;
		height:30px;
		line-height:28px;
		text-align:center;
		font-size:6px;
		display:block;
		opacity:1;
		transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.light-content #ball i, #ball.over-movie i, #ball.with-icon i {
		color:#fff;
	}
	
	.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:27px;
	}
	
	#ball.close-icon i {
		width:27px;
		font-size:8px;
	}
	
	#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: 40px;
		height: 40px;
		position:absolute;
		background-color: transparent;
		border-right: 2px solid transparent;
		border-bottom: 2px solid #000;
		border-left: 2px solid transparent;
		border-top: 2px solid transparent;
		border-radius: 50px;
		box-sizing: border-box;
		opacity:0;
		transform: translate(-9px, -9px) rotate(0deg);
		-webkit-animation: rotating 0.8s ease-in-out infinite;
		animation: rotating 0.8s ease-in-out infinite;
		-webkit-transition: opacity 0.2s ease-in-out 0s;
		transition: opacity 0.2s ease-in-out 0s;
	}
	
	.light-content #ball-loader { 
		border-bottom: 2px solid #fff;
	}
	
	.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(-7px, -7px) rotate(0deg);
		transform:  translate(-7px, -7px) rotate(0deg);
      }
	  
	  95% {
        -webkit-transform:  translate(-7px, -7px) rotate(350deg);
		transform:  translate(-7px, -7px) rotate(350deg);
      }
	  
      100% {
        -webkit-transform:  translate(-7px, -7px) rotate(360deg);
		transform:  translate(-7px, -7px) rotate(360deg);
      }
	}
	
	.show-loader a, .show-loader nav {
		pointer-events:none;
	}
	
	#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;
	}
	
	
/*--------------------------------------------------
	03. Page Overlay
---------------------------------------------------*/	

	.preloader-wrap {
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0; 
		bottom: 0;
		background: #F5C000;
		z-index : 800;
		text-align:center;
		opacity: 1;
		transition: opacity 0.7s ease-in-out;
	}
	
	.light-content.preloader-wrap {
		background: #0f1010;
	}
	
	.percentage {
		z-index: 100;
		color: #FEFCF2;
		opacity:1;
		font-family: 'Montserrat', sans-serif;
		font-weight: 100;
		font-size:16px;
		line-height:200px;
		color:rgba(254,252,242,0);
		-webkit-text-stroke: 2px rgba(254,252,242,1);
	}
	
	.light-content .percentage {
		color:rgba(255,255,255,0);
		-webkit-text-stroke: 2px rgba(255,255,255,1);
	}
	
	
/*--------------------------------------------------
	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;
		-webkit-transition: background 0.4s ease-in-out 0.3s;
		transition: background 0.4s ease-in-out 0.3s;
	}
	
	header.transparent {
		background-color:transparent!important
	}
	
	.over-sidebar {
		z-index:2100;
	}
	
	#header-container {
		box-sizing: border-box;
		height: inherit;
		padding:30px 80px;
		margin: 0 auto;
		position: relative;
		width: 100%;
		z-index: 20;
		opacity:0;
	}
	
	.header-visible #header-container{
		opacity:1;
	}
	
	#logo {
		position: relative;
		display: table;
		pointer-events: auto;
		z-index: 10;
		top: 30px;
		float: left;
	}
	
	#logo a {
		display:block;
	}
	
	#logo a.disable, .open #logo a {
		pointer-events: none;
	}
	
	#logo img {
		display: block;
		height: 44px;
		width: auto;
		max-width:none;
	}
	
	#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;
	}
	
	.menu-open.light-content .slide-in #logo img.white-logo {
		opacity:1;
	}
	
	
	@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: 40px;
			margin: 20px 0;
			background-color:transparent!important;
			opacity:1!important;
		}
		
		.flexnav {
			display: block;
			float: right;
			position: relative;
			width: auto;
			max-height: 40px;
		}
		
		.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;
		}
		
		.menu-timeline {
			opacity:1;
			-webkit-transition: transform 0.3s ease;
			transition: transform 0.3s ease;
			transform: translateY(0px);
		}
		
		.flexnav li:first-child {
			padding-left:0px;
		}
		
		.flexnav li:last-child {
			padding-right:0px;
		}
		
		.flexnav li a {    
			background: transparent none repeat scroll 0 0;
			padding: 10px 0 4px 0;
			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;		
		}
		
		.flexnav:hover li a {
			color: rgba(0,0,0,0.4);
		}
		
		.light-content .flexnav:hover li a {
			color: rgba(255,255,255,0.4);
		}
		
		.flexnav li:hover a {
			color:#000;
		}
		
		.light-content .flexnav li:hover a {
			color:#fff;
		}
	
		.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:#aaa!important;
			-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 {
			color:#fff!important;
		}
		
		.flexnav li > ul li {
			margin-left:0;
			padding:0;
		}
		
		.classic-menu .flexnav li ul {
			-webkit-transform: translate3d(0px, 20px, 0px);
			transform: translate3d(0px, 20px, 0px);
			display:block!important;
			opacity:0!important;
			height:inherit!important;
			overflow:visible!important;
			visibility:hidden;
			left:15px;
			top:50px;
			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;
		}
		
		.flexnav li:first-child ul {
			left:-15px;
		}
		
		.classic-menu .flexnav li ul ul {
			left:5px!important;
		}
		
		.flexnav li ul:after {
			display: block;
			content: '';
			position: absolute;
			top: -6px;
			left: 15px;
			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: 0;
		}
		
		.classic-menu .flexnav 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;
		}
		
		
		
		
		
		
		
		.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;
			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;
			line-height: 4vw;
			padding:0 25px;
			box-sizing:border-box;
			float:none;
			-webkit-transition: color .15s ease-out 0s;
			transition: color .15s ease-out 0s;	
		}
		
		.fullscreen-menu .menu-timeline {
			opacity:0;
			-webkit-transition: transform 0.3s ease;
			transition: transform 0.3s ease;
			transform: translateY(80px);
		}
		
		.fullscreen-menu .flexnav:hover li  {
			color:rgba(255,255,255,0.4)
		}
		
		.fullscreen-menu .flexnav li:hover, .fullscreen-menu .flexnav li.active {
			color:rgba(255,255,255,1)
		}
		
		.fullscreen-menu .flexnav .touch-button {
			width: 100%;
			display: block;
			height: calc(4vw + 20px);
		}
		
		.fullscreen-menu .flexnav .touch-button .navicon {
			display:none;
		}
		
		.fullscreen-menu .flexnav li.link {
			border-bottom: none;	
		}
		
		.fullscreen-menu .flexnav li a {
			font-weight: 700;
			font-family: 'Poppins', sans-serif;
			font-size: 4vw;
			line-height:4vw;
			padding:10px 0;
			color:inherit;
		}
		
		.fullscreen-menu .flexnav a.link::before {
			display:none;
		}
		
		.light-content .fullscreen-menu .flexnav li a {
			color: inherit;
		}
		
		.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: 10px 0;
			font-size: 16px;
			font-weight: 500;
			line-height:20px;
			border-top: 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;
		}
		
		
	}

	#cart-wrapper {
		width: 64px;
		height: 80px;
		float: right;
		top: 0px;
		right: 55px;
		display: flex;
		position: absolute;
		justify-content: center;
		align-items: center;
		cursor: pointer;
		z-index: 0;
	}
	
	.cart-icon-link {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		text-decoration: none;
		transition: none !important;
		-webkit-tap-highlight-color: transparent;
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		user-select: none;
		transform: none !important;
		-webkit-transform: none !important;
	}
	
	.cart-icon-link:active,
	.cart-icon-link:focus,
	.cart-icon-link:visited {
		transform: none !important;
		-webkit-transform: none !important;
		opacity: 1 !important;
		scale: 1 !important;
		-webkit-scale: 1 !important;
	}
	
	.cart-icon {
		width: 20px !important;
		height: 20px !important;
		min-width: 20px !important;
		min-height: 20px !important;
		max-width: 20px !important;
		max-height: 20px !important;
		display: block;
		transition: none !important;
		pointer-events: none;
		transform: none !important;
		-webkit-transform: none !important;
		scale: 1 !important;
		-webkit-scale: 1 !important;
	}
	
	.cart-icon-link:hover,
	.cart-icon-link:hover .cart-icon {
		opacity: 1;
		transform: none !important;
		-webkit-transform: none !important;
		scale: 1 !important;
		-webkit-scale: 1 !important;
	}
	
	.cart-icon-link:active .cart-icon,
	.cart-icon-link:focus .cart-icon,
	.cart-icon-link:visited .cart-icon {
		transform: none !important;
		-webkit-transform: none !important;
		width: 20px !important;
		height: 20px !important;
		min-width: 20px !important;
		min-height: 20px !important;
		max-width: 20px !important;
		max-height: 20px !important;
		scale: 1 !important;
		-webkit-scale: 1 !important;
	}
	
	#cart-wrapper:active .cart-icon,
	#cart-wrapper:active .cart-icon-link {
		transform: none !important;
		-webkit-transform: none !important;
		scale: 1 !important;
		-webkit-scale: 1 !important;
	}
	
	#cart-wrapper:active .cart-icon {
		width: 20px !important;
		height: 20px !important;
	}
	
	#burger-wrapper {
		width: 64px;
		height: 80px;
		float: right;
		top: 0px;
		right: -25px;
		display: flex;
		position: relative;
		justify-content: center;
		align-items: center;
		cursor: pointer;
		z-index: 1;
	}
	
	.classic-menu #burger-wrapper {
		display:none;
	}

	#menu-burger {
		width: 16px;
		height: 22px;
		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: 2px;
	  width: 100%;
	  background-color: #000;
	  opacity: 1;
	  right: 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,  top  0.2s ease-in-out;
		transition: background-color  0.05s ease-in-out,  transform  0.2s ease-in-out,  top  0.2s ease-in-out;
	}
	
	#burger-wrapper .touch-button {
		display:none;
	}
	
	.light-content #menu-burger span {
		background-color:#fff;
	}

	#menu-burger span:nth-child(1) {
	  top: 7px;
	}
	
	#menu-burger span:nth-child(2){
	  top: 15px;
	}
	
	#menu-burger.open span:nth-child(1) {
	  -webkit-transform: rotate(45deg);
	  -moz-transform: rotate(45deg);
	  -o-transform: rotate(45deg);
	  transform: rotate(45deg);
	  top:10px;
	}
	
	#menu-burger.open span:nth-child(2) {
	  -webkit-transform: rotate(-45deg);
	  -moz-transform: rotate(-45deg);
	  -o-transform: rotate(-45deg);
	  transform: rotate(-45deg);
	  top:10px;
	}
	
	
	
/*--------------------------------------------------
	05. Hero Section
---------------------------------------------------*/		
	
	#hero {
		overflow:hidden;
		width:100%;
		height:auto;
		position:relative;
		z-index:0;
	}
	
	#hero.has-image {
		z-index:2;
		height:100vh;
	}
	
	#hero.error {
		height:calc(100vh - 140px);
	}
	
	#hero.post-hero {
		height:50vh;
		-webkit-transition: height 0.5s ease-in-out 0s;
		transition: height 0.5s ease-in-out 0s;
	}
	
	.load-post-page #hero.post-hero {
		z-index:2;
		height:100vh;
	}
	
	#hero.has-map {
		pointer-events:none;
	}
	
	.transition #hero {
		opacity:1!important;
		transform: translate3d(0px, 0px, 0px)!important;
		-webkit-transform: translate3d(0px, 0px, 0px)!important;
	}
	
	#hero-styles {
		position: relative;
		width: 100%;
		height:auto;
		top: 0;
		left: 0;
		right: 0;
		display: block;
		margin: 0 auto;
		overflow: hidden;
		z-index:2
	}
	
	#hero.has-image #hero-styles, #hero.error #hero-styles {
		position: fixed;
		height:100vh;
	}
	
	#hero-caption {
		display: table;
		width: 100%;
		max-width:1280px;
		padding: 180px 60px 180px 60px;
		margin: 0 auto;
		height: 100%;
		position: relative;
		text-align: left;
		box-sizing: border-box;
	}
	
	#hero.has-image #hero-caption, #hero.error #hero-caption{
		padding:20px;
	}
	
	.load-post-page #hero.post-hero #hero-caption {
		padding:180px 60px 180px 60px;
	}
	
	#hero.post-hero #hero-caption {
		-webkit-transition: padding 0.5s ease-in-out 0s;
		transition: padding 0.5s ease-in-out 0s;
		padding:180px 60px 0px 60px;
	}
	
	#hero #hero-caption .inner {
		vertical-align: bottom;
	}
	
	#hero.has-image #hero-caption .inner, #hero.post-hero #hero-caption .inner, #hero.error #hero-caption .inner {
		vertical-align: middle;
	}
	
	#hero-bg-wrapper {
		position: fixed;
		width: 100%;
		height: 100vh;
		z-index: 1;
		margin: 0 auto;
		left: 0;
		top:0;
		right: 0;
		-webkit-transition: filter 0.6s ease-in-out;
		transition: filter 0.6s ease-in-out;
		overflow: hidden;
	}
	
	/* #hero-bg-image::after {
		content: "";
		width: 100%;
		height: 60%;
		position: absolute;
		bottom: 0;
		left: 0;
		pointer-events: none;
		background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 100%);
		background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.5) 100%);
		background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.5) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 );
	} */
	
	#hero-image-parallax {
		position:absolute;
		width:100%;
		height:100%;
		overflow:hidden;
	}
	
	#hero-bg-image {
		background-size:cover;
		position:absolute;
		background-position:center center;
		width:100%;
		height:100%;
		opacity:0.5;
		z-index:0;
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}
	
	
	/* Hero Image Slider */
	.hero-slide {
		background-size:cover;
		position:absolute;
		background-position:center center;
		width:100%;
		height:100%;
		opacity:0;
		transition: opacity 0.8s ease-in-out;
		z-index:1;
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}
	
	.hero-slide.active {
		opacity:1;
	}
	
	.load-project-page .hero-slide.active, .load-next-project .hero-slide.active {
		opacity: 0.8;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	
	.load-project-page #hero-bg-image, .load-next-project #hero-bg-image {
		opacity:0.8;
		-webkit-transform: scale(1);
		transform: scale(1);	
	}
	
	.hero-title {
		font-weight: 600;
    color: #45350D;
    margin-bottom: 10px;
	}
	
	.light-content .hero-title {
		color:#fff;		
		-webkit-text-stroke: 1px #fff;
	}
	
	.text-align-center .hero-title, #hero.has-image .hero-title {
		text-align:left;
	}
	
	.hero-title span, .light-content h1.hero-title span {
		color:transparent!important;
	}
	
	.load-next-project .hero-title {
		transform: translateY(0)!important;
		-webkit-transform: translateY(0)!important;
		opacity:1!important;
	}
	
	#hero.has-image .hero-title {
		transform: translateY(10vh);
		-webkit-transform: translateY(10vh);
		opacity:0;
	}
	
	.hero-subtitle {
		font-size:1.2vw;
		font-weight:300;
		letter-spacing: 0.2vw;
		color:#897F65;
		line-height:2vw;
		margin-bottom:0px;
		width: 100%;
		z-index: 10;
		opacity:0;
		position:relative;
		transform: translateY(18vh);
		-webkit-transform: translateY(18vh);
	}
	
	.text-align-center .hero-subtitle, #hero.has-image .hero-subtitle{
		text-align:left;
	}
	
	/* .hero-subtitle:before {
		content:'';
		position:absolute;
		width:20px;
		height:2px;
		background-color:#000;
		left:0;
		margin-left:0px;
		top:-20px;
	} */
	
	.light-content .hero-subtitle:before {
		background-color:#fff;
	}
	
	#hero.has-image .hero-subtitle:before, .text-align-center .hero-subtitle:before {
		left:50%;
		margin-left:-10px;
	}
	
	
	.load-next-project .hero-subtitle {
		transform: translateY(10vh);
		-webkit-transform: translateY(10vh);
	}
	
	.scroll-down-wrap{
		opacity:0;
		transform: translateY(50px) scale(0.8);
		-webkit-transform: translateY(50px) scale(0.8);
		visibility:visible;
	}
	
	.scroll-down-wrap, .scroll-down-wrap.no-border {
		position:absolute;
		bottom:20px;
		left:0;
		width:60px;
		margin-left:5px;
		z-index:101;
		left:50%;
		margin-left:-26px;
	}
	
	.scroll-down-wrap.no-border .section-down-arrow{
		display:inline-block;
		width:49px;
		height:49px;
		color:#897F65!important;
		border:2px solid #897F65;
		text-align:center;
		line-height:50px;
		border-radius:100px;
		font-size:25px;
		-webkit-border-radius:100px;
		transition:opacity 0.4s ease;
		-webkit-transition:opacity 0.4s ease;
		overflow:hidden;
		margin-left:0px;
		left:0;
		opacity:0.6;
	}
	
	.light-content .scroll-down-wrap.no-border .section-down-arrow{
		color:#fff!important;
		border:2px solid #fff;
	}
	
	.scroll-down-wrap.no-border .section-down-arrow,.slider-down-arrow.no-border{
		border:none!important;
		overflow:visible;
		text-align:center;
		opacity:1;
		height:auto;
		bottom:13px;
		-webkit-animation:nudgeMouse 2.4s cubic-bezier(0.250,0.460,0.450,0.940) infinite;
		animation:nudgeMouse 2.4s cubic-bezier(0.250,0.460,0.450,0.940) infinite;
	}
	
	.nectar-scroll-icon-path{
		fill:transparent;
		stroke-width:2px;
		stroke-dashoffset:120;
		stroke-dasharray:120;
		-webkit-animation:mouse-scroll-btn-roll-out .55s cubic-bezier(.5,.1,.07,1);
		animation:mouse-scroll-btn-roll-out .55s cubic-bezier(.5,.1,.07,1);
	}
	
	.nectar-scroll-icon{
		width:30px;
		height:45px;
		text-align:center;
		cursor:pointer;
		position:relative;
		z-index:100;
	}
	
	.scroll-down-wrap.no-border .section-down-arrow:after,.slider-down-arrow.no-border:after{
		content:"";
		position:absolute;
		top:0;
		left:50%;
		display:block;
		width:30px;
		height:45px;
		margin-left:-15px;
		border:2px solid rgba(0,0,0,0.5);
		border-radius:30px;
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		box-sizing:border-box;
		z-index:62;
	}
	
	.light-content .scroll-down-wrap.no-border .section-down-arrow:after, .light-content .slider-down-arrow.no-border:after{
		border:2px solid rgba(255,255,255,0.5);
	}
	
	.scroll-down-wrap.no-border:hover .section-down-arrow:before, .slider-down-arrow.no-border:hover:before{
		background-color:rgba(0,0,0,1);
	}
	
	.light-content .scroll-down-wrap.no-border:hover .section-down-arrow:before, .light-content .slider-down-arrow.no-border:hover:before{
		background-color:rgba(255,255,255,1);
	}
	
	.scroll-down-wrap.no-border:hover .nectar-scroll-icon-path, .slider-down-arrow.no-border:hover .nectar-scroll-icon-path{
		stroke-dashoffset:0;
		-webkit-animation:mouse-scroll-btn-roll-over .55s cubic-bezier(.5,.1,.07,1);
		animation:mouse-scroll-btn-roll-over .55s cubic-bezier(.5,.1,.07,1)
	}
	
	@-webkit-keyframes mouse-scroll-btn-roll-over{
		0%{stroke-dashoffset:120}
		100%{stroke-dashoffset:0}
	}
	
	@keyframes mouse-scroll-btn-roll-over{
		0%{stroke-dashoffset:120}
		100%{stroke-dashoffset:0}
	}
	
	@-webkit-keyframes mouse-scroll-btn-roll-out{
		0%{stroke-dashoffset:0}
		100%{stroke-dashoffset:-120}
	}
	
	@keyframes mouse-scroll-btn-roll-out{
		0%{stroke-dashoffset:0}
		100%{stroke-dashoffset:-120}
	}
	
	.scroll-down-wrap.no-border .section-down-arrow:before,.slider-down-arrow.no-border:before{
		position:absolute;
		content:'';
		display:block;
		left:50%;
		margin-left:-1px;
		top:22px;
		background-color:rgba(0,0,0,0.5);
		width:2px;
		height:6px;
		border-radius:10px;
		transition:background-color .55s cubic-bezier(.5,.1,.07,1);
		-webkit-animation:trackBallSlide 2.4s cubic-bezier(0.000,0.000,0.725,1.000) infinite;
		animation:trackBallSlide 2.4s cubic-bezier(0.000,0.000,0.725,1.000) infinite;
	}
	
	.light-content .scroll-down-wrap.no-border .section-down-arrow:before, .light-content .slider-down-arrow.no-border:before {
		background-color:rgba(255,255,255,0.5);
	}
	
	@-webkit-keyframes trackBallSlide{
		0%{
			opacity:1;
			-webkit-transform:scaleY(1) translateY(-10px);
			transform:scaleY(1) translateY(-10px);
		}
		45%{
			opacity:0;
			-webkit-transform:scaleY(0.5) translateY(13px);
			transform:scaleY(0.5) translateY(13px);
		}
		46%{
			opacity:0;
			-webkit-transform:scaleY(1) translateY(-10px);
			transform:scaleY(1) translateY(-10px);
		}
		65%,100%{
			opacity:1;
			-webkit-transform:scaleY(1) translateY(-10px);
			transform:scaleY(1) translateY(-10px);
		}
	}
	
	@keyframes trackBallSlide{
		0%{
			opacity:1;
			-webkit-transform:scaleY(1) translateY(-10px);
			transform:scaleY(1) translateY(-10px);
		}
		45%{
			opacity:0;
			-webkit-transform:scaleY(0.5) translateY(13px);
			transform:scaleY(0.5) translateY(13px);
		}
		46%{
			opacity:0;
			-webkit-transform:scaleY(1) translateY(-10px);
			transform:scaleY(1) translateY(-10px);
		}
		65%,100%{
			opacity:1;
			-webkit-transform:scaleY(1) translateY(-10px);
			transform:scaleY(1) translateY(-10px);
		}
	}
	
	@keyframes nudgeMouse{
		0%{
			-webkit-transform:translateY(0);
			transform:translateY(0);
		}
		45%{
			-webkit-transform:translateY(8px);
			transform:translateY(8px);
		}
		65%,100%{
			-webkit-transform:translateY(0);
			transform:translateY(0);
		}
	}
	@-webkit-keyframes nudgeMouse{
		0%{
			-webkit-transform:translateY(0);
			transform:translateY(0);
		}
		45%{
			-webkit-transform:translateY(8px);
			transform:translateY(8px);
		}
		65%,100%{
			-webkit-transform:translateY(0);
			transform:translateY(0);
		}
	}


	@media screen and (max-width: 1200px) {
		#hero.has-image {
			height: 80vh;
		}
		#hero-bg-wrapper {
			position: fixed;
			width: 100%;
			height: 80vh;
			z-index: 1;
			margin: 0 auto;
			left: 0;
			top:0;
			right: 0;
			-webkit-transition: filter 0.6s ease-in-out;
			transition: filter 0.6s ease-in-out;
			overflow: hidden;
		}
		#hero.has-image #hero-styles, #hero.error #hero-styles {
			position: fixed;
			height: 80vh;
		}
	}
	
	@media screen and (max-width: 768px) {
		#logo img {
			height: 24px;
		}
		#hero-bg-wrapper {
			position: relative;
			width: auto;
			height: 100vh;
			z-index: 1;
			margin: 0 auto;
			left: 0;
			top:0;
			right: 0;
			-webkit-transition: filter 0.6s ease-in-out;
			transition: filter 0.6s ease-in-out;
			overflow: hidden;
		}
	}
	
	
/*--------------------------------------------------
	06. Main Content
---------------------------------------------------*/		
	
	.smooth-scroll #content-scroll {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
	}
	
	.scrollbar-track {
		background: transparent!important;
		display:none!important;
	}
	
	#main {
		position:relative;
		opacity:0;
		background-color: #FEFCF2;
	}

	body.page:not(.home) #main {
			padding-top: 40px;
			padding-bottom: 30vh;
		}

	#main #hero-caption {
		padding: 180px 60px 80px 60px;
	}
	body.page:not(.home) #main h2 {
		font-size: 20px;
  	line-height: 38px;
  	padding: 0 0.8em;/*上下 左右の余白*/
  	margin-bottom: 1em;
	  background: transparent;/*背景透明に*/
	  border-left: solid 3px #F5C000;/*左線*/
	}
	body.page:not(.home) #main p {
  	margin-bottom: 4em;
  	line-height: 2.4em;
	}
	body.page:not(.home) #main ul li,body.page:not(.home) #main ol li {
	font-size: 14px;
    line-height: 1.8em;
    font-weight: 500;
    margin-bottom: 1em;
    color: #45350D;
	text-align: left;
	}
	body.page:not(.home) #main　.onayami_faq_answer p {
		margin-bottom: 0.8em;
	  }
	body.page:not(.home) #main　.onayami_faq_answer em {
  	font-size: inherit;
  	line-height: 1.5em;
	}


	
	@media (max-width: 768px) {
		#main {
			
		}
		body.page:not(.home) #main {
			padding-top: 100px;
			padding-bottom: 30vh;
		}
		body.page:not(.home) #main h2 {
			font-size: 20px;
    	line-height: 38px;
		}
		
	}


	.load-project-page #main, .load-next-project #main, .load-post-page #main {
		opacity:1;
	}
	
	#main-content {
		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;
		padding:0 60px;
		opacity: 0;
		max-width:1280px;
		margin:0 auto;
		margin-bottom:0;
		transform: translateY(15vh);
		-webkit-transform: translateY(15vh);
	}
	
	#main-page-content::after {
		clear: both;
		content: " ";
		display: table;
	}
	
	#main-page-content.project-page {
		/* margin-bottom: calc(20vh - 140px); */
	}
	
	#main-page-content.portfolio-page {
		width:100%;
		max-width:none;
		padding:0;
	}
	
	
/*--------------------------------------------------
	07. 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;
	}
	
	footer.fixed {
		position:fixed;
	}
	
	#footer-container {
		padding: 0 80px;
		margin: 50px auto;
		height: 40px;
		opacity: 0;
		position: absolute;
		width: 100%;
		box-sizing: border-box;
		bottom: 0;
		left: 0;
	}
	
	#counter-wrap {
		line-height: 30px;
		position: relative;
		width: 20px;
		margin: 0;
		text-align: center;
		bottom: 0;
		height: 40px;
		line-height:40px;
		float: left;
		color:#000;
		font-size:12px;
		font-weight:600;
	}
	
	.light-content #counter-wrap {
		color:#fff;
	}
	
	#counter-wrap span:first-child {
		opacity:1;
	}
	
	#counter-wrap span {
		position:absolute;
		left:0;
		top:0;
		opacity:0;
	}
	
	#counter-wrap::before {
		position: absolute;
		width:20px;
		top: 0;
		left:100px;
		content: attr(data-hover);
	}
	
	#counter-wrap:after {
		width: 40px;;
		height: 1px;
		position: absolute;
		content: "";
		background-color: rgba(0,0,0,0.2);
		left: 40px;
		bottom: 20px;
		-webkit-transition: opacity 0.2s ease-in-out 0.2s;
		transition: opacity 0.2s ease-in-out 0.2s;
	}
	
	.light-content #counter-wrap:after {
		background-color: rgba(255,255,255,0.3);
	}
	
	.copyright-wrap {
		position:relative;
		float: left;
		color: #000;
		width: 270px;
		height: 180px;
		box-sizing: border-box;
		pointer-events:initial;	
		transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.light-content .copyright-wrap {
		color: #fff;
	}
	
	.copyright-wrap:hover {
		transform: translateY(-50px);
		-webkit-transform: translateY(-50px);
	}
	
	.copyright-text {
		float: left;
		font-size: 12px;
		font-weight: 600;
		font-family: 'Poppins', sans-serif;
		line-height: 40px;
	}
	
	.copyright-icon {
		float: left;
		width: 30px;
		height: 40px;
		font-size: 12px;
		line-height: 40px;
		text-align: left;
		margin-right: 0px;
		transform: scale(1);
		transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.copyright-icon i{
		font-size:13px;
	}
	
	.copyright-wrap:hover .copyright-icon {
		transform:scale(0);
		width:0;
		margin:0;
		overflow:hidden;
		
	}
	
	.copyright-icon:after, .copyright-text:after {
	  content: "";
	  clear: both;
	  display: table;
	}
	
	.copyright {
		height: auto;
		line-height: 30px;
		position: relative;
		width: auto;
		margin:0 auto;
		margin-top: 10px;
		text-align: center;
		bottom: 0;
		display: table;
	}
	
	.copyright-wrap .copyright {
		display: inline-block;
		width: 100%;
		text-align: left;
	}
	
	.copyright p {
		color: #000;
		font-size: 12px;
		font-weight: 600;
		margin-bottom: 0;
		line-height: 30px;
		box-sizing:border-box;
		padding-top:5px;
		position: relative;		
		height: 40px;
		float: left;
		z-index: 2;
		-webkit-transition: background 0.4s ease-in-out 0s;
		transition: background 0.4s ease-in-out 0s;
	}
	
	.light-content .copyright p {
		color: #fff;
	}
	
	.copyright-wrap .copyright p {
		opacity:0;
		transform: translateY(10px);
		-webkit-transform: translateY(10px);
		transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.copyright-wrap:hover .copyright p {
		transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s;
		opacity:1;
		transform: translateY(0px);
		-webkit-transform: translateY(0px);		
	}
	
	.socials-wrap {
		position:relative;
		float: right;
		color: #000;
		width: 280px;
		height: 180px;
		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(-50px);
		-webkit-transform: translateY(-50px);
	}
	
	.socials-text {
		float:right;
		font-size:12px;
		font-weight: 600;
		font-family: 'Poppins', sans-serif;
		line-height:40px;
	}
	
	.socials-icon {
		float:right;
		width:30px;
		height:40px;
		font-size:12px;
		line-height:40px;
		text-align:right;
		margin-left:10px;
		transform:scale(1);
		transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	
	.socials-wrap:hover .socials-icon {
		transform:scale(0);
		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(10px);
		-webkit-transform: translateY(10px);
		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(0px);
		-webkit-transform: translateY(0px);		
	}
	
	.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(0px);
		-webkit-transform: translateY(0px);		
	}
	
	.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(0px);
		-webkit-transform: translateY(0px);			
	}
	
	.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(0px);
		-webkit-transform: translateY(0px);			
	}
	
	.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(0px);
		-webkit-transform: translateY(0px);			
	}
		
	.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;
		float:left;
		cursor:pointer;
		left:-15px;
		pointer-events:initial;		
	}
	
	.icon-wrap {
		width: 40px;
		height: 40px;
		display: flex;
		position: relative;
		justify-content: center;
		align-items: center;
		float:left;
	}
	
	.button-icon {
		height: 25px;
		width: 14px;
		color: #fff;
		text-align: center;
		line-height: 22px;
		font-size: 22px;
	}

	.button-text {
		font-weight: 600;
		font-family: 'Poppins', sans-serif;
		font-size: 12px;
		line-height:40px;
		margin-left: 20px;
		overflow: hidden;
		width:70px;
		color:#fff;
		text-align:left;
		float: left;
	}
	
	.button-text span {
		position: relative;
		display: inline-block;
		-webkit-transition: -webkit-transform 0.2s;
		transition: transform 0.2s;
		width:140px;
		transform-origin: 100% 0%;;
	}
	
	.button-text span::before {
		position: absolute;
		width:140px;
		top: 100%;
		left:0;
		content: attr(data-hover);
	}
	
	.button-wrap:hover .button-text span {
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
		transform-origin: 0% 0%;;
	}
	
	#backtotop {
		width:40px;
		height:40px;
		position:absolute;
		left:50%;
		margin-left:-20px;
		line-height: 40px;
		display: flex;
		justify-content: center;
		align-items: center;
		opacity:0;
		visibility:hidden;
	}
	
	#backtotop.active {
		opacity:1;
		visibility:visible;
	}
	
	#backtotop .parallax-element {
		font-size: 22px;
		display: block;
		height: 40px;
		width: 40px;
		line-height: 40px;
		text-align: center;
		cursor:pointer;
	}
	
	#backtotop .parallax-element i {
		color: #000;
	}
	
	.light-content #backtotop .parallax-element i {
		color: #fff;
	}
	
	nav, nav.open {
		-webkit-transition: all 0s ease-in 0s;
		transition: all 0s ease-in 0s;
		background:transparent;
	}
	
/*--------------------------------------------------
	08. Responsive
---------------------------------------------------*/			
			
@media only screen and (max-width: 1466px) {
	
	header {
    	height: 120px;
	}
	
	#header-container {
		padding: 15px 60px;
		margin: 0 auto;
	}
	
	#footer-container {
		padding: 0 60px;
		margin: 40px auto;
	}
	
}


@media only screen and (max-width: 1024px) {	
	
	.percentage {
		font-family: 'Montserrat', sans-serif;
		font-weight: 100;
		font-size:16px;
		line-height:120px;
	}
	
	header {
		height:80px;
		z-index: 1;
	}
	
	#header-container {
    	padding: 0;
		margin: 0 auto;
	}
	
	#logo {
		left: 50px;
	}
	
	#menu-burger {
		display: block;
		position: absolute;
		right: 50px;
		top: 32px;
	}
	
	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 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;
	}
	
	#menu-burger span.touch-button {
		display:none;
	}
	
	.parallax-wrap {
		transform:none!important;
	}
	
	.parallax-element {
		transform:none!important;
	}
	
	#magic-cursor {
		display:none;
	}
	
	#hero.has-image #hero-styles {
		position: relative;
	}
	
	#hero-caption, #hero-image-parallax, #hero-bg-image {
		transform:none!important;
	}
	
	#hero-caption {
   		padding: 180px 50px 180px 50px;
	}
	
	#hero.post-hero #hero-caption {
		padding: 140px 50px 0px 50px;
	}
	
	.load-post-page #hero.post-hero #hero-caption {
		padding:180px 50px 180px 50px;
	}
	
	.hero-title, .light-content h1.hero-title {
		font-size: 60px;
		line-height: 70px;
	}
	
	.scroll-down-wrap, .scroll-down-wrap.no-border {
		bottom: 40px;
	}
	
	#main-page-content {
		padding: 0 50px;
	}
	
	#footer-container {
		padding: 0 50px;
	}
	
	.destroy {
		display:none;
	}
	
	.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;
		top:0;
		left:0;
		width: 100%;
		box-sizing: border-box;
		visibility: visible;
		pointer-events:none;
		opacity:0;
		z-index: 1;
		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;
		-webkit-transition: all 0.2s ease-out;
		transition: all 0.2s ease-out;
	}
	
	.flexnav {
    	max-height: 2000px;
		-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 {
		text-align:center;
		line-height: 6vw;
		-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(6vw + 20px);
	}
	
	.flexnav .touch-button .navicon {
		display:none;
	}
	
	.flexnav li.link {
		border-bottom: none;	
	}
	
	.flexnav li a {
		font-weight: 700;
		font-family: 'Poppins', sans-serif;
		font-size: 6vw;
		padding:10px 0;
		color:inherit;
	}
	
	.light-content .flexnav li a {
		color: inherit;
	}
	
	.flexnav li ul {
		margin-bottom:20px;
	}
	
	.flexnav li ul:after {
		display:none;
	}
	
	.flexnav li ul li a {
		padding: 10px 0;
		font-size: 16px;
		font-weight: 500;
		line-height:20px;
		border-top: none;
	}
	
	#burger-wrapper {
    	right: 2px;
		top:-4px;
	}
	
	.classic-menu #burger-wrapper {
		display:block;
	}
	
	#backtotop {
		display:none!important;
	}
	
	#footer-container {
		padding: 0 50px;
		margin: 10px auto;
    	min-height: 40px;
		height:auto;
	}
	
	.copyright-wrap {
		height:40px;
		width:100%;
		float:none;
	}
	
	.copyright-wrap:hover {
		transform: translateY(0px);
		-webkit-transform: translateY(0px);
	}
	
	.copyright-icon, .copyright-text {
		display:none;
	}
	
	.copyright {
		margin-top: 0px;
		transform: translateX(0px);
		-webkit-transform: translateX(0px);	
	}
	
	.copyright-wrap .copyright p {
		opacity: 1;
		float:none;
		text-align:center;
		transform: translateY(0px);
		-webkit-transform: translateY(0px);
	}
	
	.socials-wrap {
		width: 200px;
		height: 40px;
	}
	
	.centered .socials-wrap {
		float:none;
		margin:0 auto;
	}
	
	.socials-wrap:hover {
		transform: translateY(0px);
		-webkit-transform: translateY(0px);
	}
	
	.socials-icon, .socials-text {
		display:none;
	}
	
	.socials-wrap .socials {
		margin-top: 5px;
		text-align: center;
		transform: translateX(0px);
		-webkit-transform: translateX(0px);	
	}
	
	.socials-wrap .socials li {
		opacity: 1;
		transform: translateY(0px);
		-webkit-transform: translateY(0px);
	}
	
	.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) {

	#hero-styles .features__description {
		font-size: 16px !important;
		color: #45350D;
		line-height: 1.5;
	}

	.page-header {
		margin-top: 80px !important;	
	}

	#page-content #hero {
		height: auto;
        min-height: inherit;
	}
	
	.percentage {
		font-family: 'Montserrat', sans-serif;
		font-weight: 100;
		font-size:16px;
		line-height:100px;
	}
	
	.admin-bar header {
		top: 46px;
	}
	
	#logo {
		left: 40px;
	}
	
	#cart-wrapper {
		right: 95px;
	}
	
	#menu-burger {
		right: 40px;
	}
	
	.flexnav {
    	padding: 0 40px;
	}

	span{
		font-size: 12px;
	}
	
	.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;
	}
	
	p {
    	font-size: 14px;
	}
	
	#hero-caption {
   		padding: 160px 40px 160px 40px;
	}
	
	#hero.post-hero #hero-caption {
		padding: 140px 40px 0px 40px;
	}
	
	.load-post-page #hero.post-hero #hero-caption {
		padding:180px 40px 180px 40px;
	}
	
	.hero-title, .light-content h1.hero-title {
		font-size: 24px;
		line-height: 50px;
	}
	
	#main-page-content {
		padding: 0 40px;
	}
	
	#footer-container {
		padding: 0 40px;
		margin: 10px auto;
    	min-height: 40px;
		height:auto;
	}
	
	.copyright-wrap {
		height:40px;
		width:100%;
		float:none;
	}
	
	.copyright-wrap:hover {
		transform: translateY(0px);
		-webkit-transform: translateY(0px);
	}
	
	.copyright-icon, .copyright-text {
		display:none;
	}
	
	.copyright {
		margin-top: 0px;
		transform: translateX(0px);
		-webkit-transform: translateX(0px);	
	}
	
	.copyright-wrap .copyright p {
		opacity: 1;
		float:none;
		text-align:center;
		transform: translateY(0px);
		-webkit-transform: translateY(0px);
	}
	
}


@media only screen and (max-width: 479px) {	
	
	hr {
		height: 10px;
	}
	
	#logo {
		left: 20px;
	}
	
	#cart-wrapper {
		right: 65px;
	}
	
	#menu-burger {
		right: 24px;
	}
	
	.flexnav {
    	padding: 0 20px;
	}
	
	.row_padding_bottom {
		padding-bottom: 50px;
	}
	
	.row_padding_top {
    	padding-top: 60px;
	}
	
	p.title-has-line::after {
		display:none;
	}
	
	#hero.post-hero {
    	height: 45vh;
	}
	
	#hero.post-hero #hero-caption {
		padding: 100px 20px 0px 20px;
	}
	
	.load-post-page #hero.post-hero #hero-caption {
		padding:180px 20px 180px 20px;
	}
	
	#hero-caption {
   		padding: 140px 20px 160px 20px;
	}
	
	#main-page-content {
		padding: 0 20px;
	}
	
	#footer-container {
		padding: 0 20px;
		margin: 10px auto;
    	min-height: 40px;
		height:auto;
	}
	
	#counter-wrap::before {
		left: 80px;
	}
	
	#counter-wrap::after {
    	width: 20px;
	}
	
	.button-text {
    	margin-left: 0px;
	}
	
	.socials li {
		margin: 0 auto;
	}
	
	.socials-wrap {
		width: 150px;
	}
	
	
	
}

@media only screen and (min-device-width : 375px) and (max-device-width : 667px) and (orientation : landscape) {
    
	#rotate-device {
		display:block;
	}
}

/* Custom Portfolio Item Styles */
/* Box container with 1.5x scale */
.vc_row .wpb_wrapper {
	overflow: visible;
}

.box {
	position: relative;
	width: 90%;
	height: 1040px;
	vertical-align: middle;
	margin: 0 auto;
	padding: 200px 0 0 0;
	transform: scale(1.3);
	transform-origin: center center;
	overflow: visible;
}

.box .group {
	width: 1080px;
	margin: auto;
	position: relative;
	height: fit-content;
}

.box .firefly {
	position: absolute;
	width: 405px;
	height: 508px;
	top: 0;
	left: 0;
	aspect-ratio: 0.8;
	border-radius: 16px;
	object-fit: cover;
}

.box .heading {
	position: absolute;
	height: 140px;
	top: 0;
	left: 481px;
	font-weight: 700;
	color: #45350D;
	font-size: 40px;
	letter-spacing: 9.60px;
	line-height: 74px;
}

.box .text-wrapper,.text-wrapper_y {
	position: absolute;
	width: 575px;
	top: 160px;
	left: 485px;
	font-weight: 500;
	color: #45350D;
	font-size: 16px;
	letter-spacing: 2.24px;
	line-height: 50px;
}

/* Responsive adjustments for the custom portfolio item */
@media screen and (max-width: 1200px) {
	.box {
		transform: scale(1.0);
		height: auto;
		padding: 100px 0 0 0;
	}

	.box .heading {
		position: static;
		line-height: 1.6;
        letter-spacing: 0.28em;
		text-align: left;
		margin: 15px 0;
	}
	.box .text-wrapper, .text-wrapper_y {
		position: static;
		width: 100%
	}
	
	.box .group {
		position: relative;
		width: 100%;
		height: fit-content;
		min-height: inherit;
	}
	
	.box .firefly {
		position: static;
		height: auto;
		aspect-ratio: unset;
		border-radius: unset;
		object-fit: unset;
	}
}

@media screen and (max-width: 768px) {
	.box {
		transform: scale(1.0);
		padding: 60px 0 0 0;
		height: auto;
	}
	
	.box .heading {
		position: static;
		height: auto;
		font-size: 6.6666666667vw;
		line-height: 1.6;
        letter-spacing: 0.28em;
		text-align: left;
		margin: 15px 0;
	}
	
	.box .text-wrapper {
		text-align: left;
		position: static;
		width: 100%;
		font-size: 3.7333333333vw;
        line-height: 2.4;
        letter-spacing: 0.28em;
		margin: 7.4666666667vw 0;
	}
	.box .firefly {
		border-radius: 16px;
	}
}

/* Box Two Styles */
.box_two {
	position: relative;
	width: 100%;
	height: 863px;
    vertical-align: middle;
    margin: 0 auto;
    padding: 120px 0 120px 0;
	background-color: #F5B63F;
}

.box_two .group {
	position: relative;
	width: 874px;
	height: 863px;
	margin: 0 auto;
}

.box_two .button {
	all: unset;
	box-sizing: border-box;
	position: absolute;
	width: 169px;
	height: 117px;
	top: 4px;
	left: 694px;
	background-color: #fefcf2;
	border-radius: 16px;
}

.box_two .text-wrapper {
	height: 24px;
	top: 71px;
	left: 24px;
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 1.28px;
	position: absolute;
	color: #F5B63F;
	text-align: center;
	line-height: normal;
}

.box_two .cart {
	position: absolute;
	width: 34px;
	height: 31px;
	top: 28px;
	left: 65px;
}

.box_two .overlap-group {
	position: absolute;
	width: 35px;
	height: 25px;
	top: -1px;
	left: -1px;
	background-image: url(./img/vector-155.svg);
	background-size: 100% 100%;
}

.box_two .ellipse {
	left: 8px;
	position: absolute;
	width: 5px;
	height: 5px;
	top: 26px;
	background-color: #fefcf2;
	border-radius: 2.51px;
}

.box_two .div {
	left: 23px;
	position: absolute;
	width: 5px;
	height: 5px;
	top: 26px;
	background-color: #fefcf2;
	border-radius: 2.51px;
}

.box_two .macs-macs {
	position: absolute;
	height: 32px;
	top: 831px;
	left: 37px;
	font-weight: 400;
	color: #fefcf2;
	font-size: 11px;
	text-align: center;
	letter-spacing: 0;
	line-height: normal;
}

.box_two .text-wrapper-2 {
	width: 855px;
	height: 16px;
	top: 802px;
	left: 8px;
	font-weight: 400;
	font-size: 11px;
	letter-spacing: 0;
	position: absolute;
	color: #fefcf2;
	text-align: center;
	line-height: normal;
}

.box_two .img {
	position: absolute;
	width: 261px;
	height: 61px;
	top: 56px;
	left: 5px;
}

.mac_w_img {
	width: 100%;
}

.box_two .heading {
	top: 166px;
	left: 0;
	font-size: 32px;
	letter-spacing: 7.68px;
	line-height: 60px;
	position: absolute;
	font-weight: 500;
	color: #fefcf2;
}

.box_two .p {
	left: 5px;
	line-height: 40px;
	position: absolute;
	top: 0;
	font-weight: 500;
	color: #fefcf2;
	font-size: 20px;
	letter-spacing: 2.80px;
	white-space: nowrap;
}

.box_two .span {
	letter-spacing: 0.56px;
}

.box_two .text-wrapper-3 {
	font-size: 14px;
	letter-spacing: 0.27px;
}

.box_two .group-2 {
	position: absolute;
	width: 857px;
	height: 264px;
	top: 511px;
	left: 8px;
}

.box_two .heading-2 {
	left: 265px;
	line-height: 60px;
	position: absolute;
	top: 0;
	font-weight: 500;
	color: #fefcf2;
	font-size: 20px;
	letter-spacing: 2.80px;
	white-space: nowrap;
}

.box_two .group-3 {
	position: absolute;
	width: 131px;
	height: 131px;
	top: 96px;
	left: 60px;
}

.box_two .overlap-group-2 {
	position: absolute;
	width: 123px;
	height: 57px;
	top: -2px;
	left: -2px;
}

.box_two .heading-3 {
	top: 0;
	left: 11px;
	font-size: 24px;
	letter-spacing: 1.92px;
	line-height: 50px;
	white-space: nowrap;
	position: absolute;
	font-weight: 500;
	color: #fefcf2;
}

.box_two .heading-4 {
	height: 14px;
	top: 43px;
	left: 0;
	font-weight: 400;
	color: #fefcf2;
	font-size: 12px;
	text-align: center;
	letter-spacing: 0.24px;
	line-height: normal;
	white-space: nowrap;
	position: absolute;
}

.box_two .heading-5 {
	height: 41px;
	top: 88px;
	left: 20px;
	font-weight: 500;
	color: #fefcf2;
	font-size: 48px;
	text-align: center;
	letter-spacing: 0.96px;
	line-height: 41px;
	white-space: nowrap;
	position: absolute;
}

.box_two .heading-6 {
	height: 24px;
	top: 105px;
	left: 84px;
	font-family: "Outfit-Medium", Helvetica;
	font-weight: 500;
	color: #fefcf2;
	font-size: 24px;
	text-align: center;
	letter-spacing: 0.48px;
	line-height: 24px;
	white-space: nowrap;
	position: absolute;
}

.box_two .group-4 {
	position: absolute;
	width: 131px;
	height: 130px;
	top: 94px;
	left: 364px;
}

.box_two .heading-7 {
	top: 87px;
	left: 3px;
	font-family: "Outfit-Medium", Helvetica;
	font-weight: 500;
	color: #fefcf2;
	font-size: 48px;
	text-align: right;
	letter-spacing: 0.96px;
	line-height: 41px;
	white-space: nowrap;
	position: absolute;
}

.box_two .heading-8 {
	height: 24px;
	top: 104px;
	left: 97px;
	font-family: "Outfit-Medium", Helvetica;
	font-weight: 500;
	color: #fefcf2;
	font-size: 24px;
	text-align: center;
	letter-spacing: 0.48px;
	line-height: 24px;
	white-space: nowrap;
	position: absolute;
}

.box_two .group-5 {
	position: absolute;
	width: 214px;
	height: 128px;
	top: 96px;
	left: 630px;
}

.box_two .overlap {
	position: absolute;
	width: 206px;
	height: 57px;
	top: -2px;
	left: -2px;
}

.box_two .heading-9 {
	top: 0;
	left: 0;
	font-weight: 500;
	color: #fefcf2;
	font-size: 24px;
	letter-spacing: 1.92px;
	line-height: 50px;
	white-space: nowrap;
	position: absolute;
}

.box_two .heading-10 {
	height: 14px;
	top: 43px;
	left: 42px;
	font-weight: 400;
	color: #fefcf2;
	font-size: 12px;
	text-align: center;
	letter-spacing: 0.24px;
	line-height: normal;
	white-space: nowrap;
	position: absolute;
}

.box_two .heading-11 {
	top: 85px;
	left: 46px;
	font-weight: 500;
	color: #fefcf2;
	font-size: 48px;
	text-align: right;
	letter-spacing: 0.96px;
	line-height: 41px;
	white-space: nowrap;
	position: absolute;
}

.box_two .heading-12 {
	height: 24px;
	top: 102px;
	left: 140px;
	font-weight: 500;
	color: #fefcf2;
	font-size: 24px;
	text-align: center;
	letter-spacing: 0.48px;
	line-height: 24px;
	white-space: nowrap;
	position: absolute;
}

.box_two .line-2 {
	position: absolute;
	width: 244px;
	height: 1px;
	top: 72px;
	left: 0;
	object-fit: cover;
}

.box_two .line-3 {
	position: absolute;
	width: 244px;
	height: 1px;
	top: 263px;
	left: 0;
	object-fit: cover;
}

.box_two .line-4 {
	position: absolute;
	width: 244px;
	height: 1px;
	top: 72px;
	left: 304px;
	object-fit: cover;
}

.box_two .line-5 {
	position: absolute;
	width: 244px;
	height: 1px;
	top: 263px;
	left: 304px;
	object-fit: cover;
}

.box_two .line-6 {
	position: absolute;
	width: 244px;
	height: 1px;
	top: 72px;
	left: 611px;
	object-fit: cover;
}

.box_two .line-7 {
	position: absolute;
	width: 244px;
	height: 1px;
	top: 263px;
	left: 611px;
	object-fit: cover;
}

.box_two .overlap-wrapper {
	position: absolute;
	width: 860px;
	height: 164px;
	top: 317px;
	left: 5px;
}

.box_two .heading-wrapper {
	position: relative;
	width: 858px;
	height: 164px;
	background-color: #fefcf2;
	border-radius: 8px;
}

.box_two .heading-13 {
	width: 804px;
	height: 112px;
	top: 23px;
	left: 31px;
	font-weight: 500;
	color: #F5B63F;
	font-size: 16px;
	letter-spacing: 1.28px;
	line-height: 28px;
	position: absolute;
}

/* Responsive adjustments for box_two */
@media screen and (max-width: 1200px) {
	.box_two {
		width: 100%;
		max-width: 866px;
		height: auto;
		min-height: 863px;
	}
	
	.box_two .group {
		position: relative;
		width: 100%;
		height: auto;
		min-height: 863px;
	}
	
	.box_two .button {
		position: relative;
		top: auto;
		left: auto;
		margin: 20px auto;
		display: block;
	}
	
	.box_two .heading,
	.box_two .heading-2,
	.box_two .heading-3,
	.box_two .heading-4,
	.box_two .heading-5,
	.box_two .heading-6,
	.box_two .heading-7,
	.box_two .heading-8,
	.box_two .heading-9,
	.box_two .heading-10,
	.box_two .heading-11,
	.box_two .heading-12,
	.box_two .heading-13 {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		text-align: center;
		margin: 10px 0;
	}
	
	.box_two .group-2,
	.box_two .group-3,
	.box_two .group-4,
	.box_two .group-5 {
		position: relative;
		width: 100%;
		height: auto;
		top: auto;
		left: auto;
		margin: 20px 0;
	}
}

@media screen and (max-width: 768px) {
	.box_two .heading {
		font-size: 24px;
		letter-spacing: 4px;
	}
	
	.box_two .heading-2,
	.box_two .heading-3,
	.box_two .heading-9 {
		font-size: 16px;
		letter-spacing: 1.5px;
	}
	
	.box_two .heading-5,
	.box_two .heading-7,
	.box_two .heading-11 {
		font-size: 32px;
		letter-spacing: 0.5px;
	}
	
	.box_two .heading-6,
	.box_two .heading-8,
	.box_two .heading-12 {
		font-size: 18px;
		letter-spacing: 0.3px;
	}
}

.top_subtext {
	text-align: center;
	color: #F5B63F;
	font-weight: 500;
	display: flex;
	gap: 40px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.subtext-column {
	flex: 1;
	text-align: left;
}

.subtext-column p {
	margin: 0;
	line-height: 1.6;
	font-size: 16px;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
	.top_subtext {
		flex-direction: column;
		gap: 20px;
		padding: 0 15px;
	}
	
	.subtext-column {
		text-align: center;
	}
}

.top_contents {
	margin: 140px;
}

.subtitle {
	color: #45350D;
	font-weight: 500;
	margin: 40px 0 16px 0;
	font-weight: 600;
    font-size: 60px;
    letter-spacing: 3px;
    line-height: 80px;
}

.txt_yellow {
	font-size: 1.1vw;
    line-height: 2.4vw;
	color: #45350D;
	font-weight: 500;
	padding-left: 4px;
	margin-bottom: 80px;
}

/* Box Two Styles - moved from front-page.php */
.ellipse-56 {
	width: 24px;
	height: 24px;
	background: #F5C000;
	border-radius: 9999px;
}

.heading120_span {
	color: #45350D;
	font-size: 24px;
	font-family: Noto Sans JP;
	font-weight: 500;
	line-height: 36px;
	letter-spacing: 2.24px;
	word-wrap: break-word;
}

.heading-1-20- {
	justify-content: center;
	display: flex;
	flex-direction: column;
}

.heading120_01_span {
	color: #45350D;
	font-size: 24px;
	font-family: Noto Sans JP;
	font-weight: 500;
	line-height: 50px;
	letter-spacing: 2.80px;
	word-wrap: break-word;
}

.heading-1-20-_01 {
	width: 17.11px;
	justify-content: center;
	display: flex;
	flex-direction: column;
}

.heading120_02_span {
	color: #45350D;
	font-size: 28px;
	margin: 10px 0;
	font-weight: 500;
	line-height: 50px;
	letter-spacing: 2.80px;
	word-wrap: break-word;
}

.heading-1-20-_02 {
	justify-content: center;
	display: flex;
	flex-direction: column;
}

.heading120_03_span {
	color: #45350D;
	font-size: 18px;
	font-family: Noto Sans JP;
	font-weight: 500;
	line-height: 42px;
	letter-spacing: 1.96px;
	word-wrap: break-word;
}

.heading-1-20-_03 {
	width: 100%;
	justify-content: center;
	display: flex;
	flex-direction: column;
}

.vector-157 {
	width: 94px;
	height: 199px;
	left: 0px;
	top: 0px;
	position: absolute;
	outline: 1px black solid;
	outline-offset: -0.50px;
}

.vector-158 {
	width: 94px;
	height: 199px;
	left: 461px;
	top: 313px;
	position: absolute;
	transform: rotate(-180deg);
	transform-origin: top left;
	outline: 1px black solid;
	outline-offset: -0.50px;
}

.frame-2398 {
	justify-content: flex-start;
	align-items: center;
	gap: 8px;
	display: inline-flex;
}

.group-2423 {
    border: 16px;
	border-radius: 16px;
	text-align: left;
	margin-bottom: 80px;
}

/*--------------------------------------------------
	08. Product Purchase Section
---------------------------------------------------*/

.product-purchase-container {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	padding: 40px 20px;
	background: #FEFCF2;
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.product-purchase-background {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, #FEFCF2 0%, #F5C000 100%);
	border-radius: 12px;
	opacity: 0.1;
}

.product-purchase-title {
	text-align: center;
	color: #FEFCF2;
	font-size: 24px;
	font-weight: 500;
	line-height: 70px;
	letter-spacing: 5.76px;
	margin-bottom: 40px;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.product-cards-wrapper {
	display: flex;
	justify-content: space-between;
	gap: 40px;
	flex-wrap: wrap;
}

.product-card {
	background: white;
	border-radius: 8px;
	padding: 30px;
	flex: 1;
	min-width: 300px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.product-image {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 20px;
}

.product-package {
	width: 120px;
	height: 160px;
	background: white;
	border: 2px solid #E0E0E0;
	border-radius: 8px;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.package-logo {
	text-align: center;
	margin-bottom: 10px;
}

.logo-symbol {
	font-size: 24px;
	font-weight: bold;
	color: #D4AF37;
	margin-bottom: 5px;
}

.logo-text {
	font-size: 12px;
	font-weight: bold;
	color: #333;
	margin-bottom: 3px;
}

.logo-subtitle {
	font-size: 8px;
	color: #666;
	line-height: 1.2;
}

.package-weight {
	position: absolute;
	bottom: 8px;
	right: 8px;
	font-size: 10px;
	font-weight: bold;
	color: #333;
}

.product-info {
	flex: 1;
}

.product-name {
	color: #67544A;
	font-size: 13.42px;
	font-weight: 500;
	letter-spacing: 0.67px;
	margin-bottom: 20px;
}

.product-usage {
	background: #9D9D9D;
	color: white;
	font-size: 8.95px;
	font-weight: 500;
	padding: 3px 6px;
	border-radius: 3px;
	display: inline-block;
	margin-bottom: 15px;
}

.purchase-options {
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin-bottom: 20px;
}

.purchase-option {
	display: flex;
	align-items: center;
	gap: 15px;
}

.purchase-type {
	color: #67544A;
	font-size: 11.93px;
	font-weight: 500;
	letter-spacing: 0.60px;
	min-width: 80px;
}

.purchase-button {
	width: 92.48px;
	height: 37.29px;
	border-radius: 5.97px;
	border: none;
	cursor: pointer;
	font-size: 11.32px;
	font-weight: 700;
	transition: all 0.3s ease;
}

.purchase-button.regular {
	background: #F5C000;
	color: #FEFCF2;
}

.purchase-button.subscription {
	background: #67544A;
	color: white;
}

.purchase-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.price-section {
	margin-bottom: 20px;
}

.regular-price {
	color: #67544A;
	font-size: 13.42px;
	font-weight: 500;
	letter-spacing: 0.67px;
}

.price-tax {
	color: #67544A;
	font-size: 9.70px;
	font-weight: 500;
	letter-spacing: 0.48px;
}

.subscription-price {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 10px;
}

.original-price {
	color: #67544A;
	font-size: 10.44px;
	font-weight: 500;
	text-decoration: line-through;
	letter-spacing: 0.52px;
}

.discounted-price {
	color: #67544A;
	font-size: 13.42px;
	font-weight: 500;
	letter-spacing: 0.67px;
}

.discount-badge {
	color: #FF6B6B;
	font-size: 10.44px;
	font-weight: 700;
	letter-spacing: 0.52px;
	margin-top: 5px;
}

.delivery-frequency {
	margin-top: 20px;
}

.frequency-label {
	color: #67544A;
	font-size: 8.20px;
	font-weight: 400;
	margin-bottom: 10px;
}

.frequency-options {
	display: flex;
	gap: 5px;
	margin-bottom: 10px;
}

.frequency-option {
	background: #CABEB8;
	color: white;
	font-size: 9.91px;
	font-weight: 700;
	padding: 1.5px 6px;
	border-radius: 1.49px;
	cursor: pointer;
	transition: all 0.3s ease;
}

.frequency-option.active {
	background: #67544A;
	color: white;
}

.frequency-option:hover {
	background: #8B7355;
}

.flexibility-notice {
	background: #CABEB8;
	color: white;
	font-size: 9.91px;
	font-weight: 700;
	padding: 1.5px 6px;
	border-radius: 1.49px;
	display: inline-block;
	margin-top: 10px;
}

.frequency-description {
	color: #67544A;
	font-size: 8.20px;
	font-weight: 400;
	line-height: 1.4;
}

.frequency-description .highlight {
	font-weight: 700;
}

.divider {
	width: 100%;
	height: 0.75px;
	background: #67544A;
	margin: 15px 0;
}

/* Responsive Design */
@media (max-width: 768px) {
	.top_contents {
		padding: 0;
		margin: 0;
	}
	.product-cards-wrapper {
		flex-direction: column;
		gap: 20px;
	}
	
	.product-card {
		min-width: auto;
		padding: 20px;
	}
	
	.product-purchase-title {
		font-size: 20px;
		letter-spacing: 2px;
		line-height: 1.4;
	}
	
	.purchase-options {
		gap: 10px;
	}
	
	.purchase-button {
		width: 80px;
		height: 32px;
		font-size: 10px;
	}
	
	.product-package {
		width: 100px;
		height: 140px;
	}
	
	.logo-symbol {
		font-size: 20px;
	}
	
	.logo-text {
		font-size: 10px;
	}
	
	.logo-subtitle {
		font-size: 7px;
	}
	
	.package-weight {
		font-size: 9px;
	}
}

.concept_section {
	width: 100%;
	margin: 0 auto;
	padding: 80px 0;
	background: linear-gradient(135deg, #F5C000 0%, #F7C500 50%, #F5C000 100%);
	color: #333;
	position: relative;
}

.p-index__concept {
	width: 100%;
	padding: 80px 0;
	margin: 0;
	color: #333;
	position: relative;
}

  .p-index__concept .subtitle {
	margin: 0;
  }

  .p-index__concept .features__description {
    font-size: 24px;
    letter-spacing: 0.2em;
    font-weight: 700;
}

@media (min-width: 993px) {
	.p-index__concept {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-direction: row;
        max-width: 1200px;
        margin: 0 auto;
        padding: 60px 40px 40px;
    }
}
.p-index__concept__visual-group {
	position: relative;
}

@media (min-width: 993px) {
	.p-index__concept__visual-group {
		width: 46%;
		margin-right: 4%;
		flex-shrink: 0;
	}
}

@media (max-width: 992px) {
	.p-index__concept__visual-group {
		margin-bottom: 40px;
		text-align: center;
	}
}
  .p-index__concept__video {
	padding-top: 9.0909%;
	padding-left: 12.0454%;
	overflow: hidden;
  }
  @media (max-width: 992px) {
	.p-index__concept__video {
	  padding-top: 21.8666%;
	  padding-left: 13.3333%;
	}
  }
  .p-index__concept__video .clip {
	position: relative;
	aspect-ratio: 774/804;
	/* -webkit-mask-image: url("../images/concept_clip_pc.svg"); */
	-webkit-mask-mode: alpha;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	-webkit-mask-position: top center;
  }
  @media (max-width: 750px) {
	.p-index__concept__video .clip {
	  aspect-ratio: 325/378;
	  /* -webkit-mask-image: url("../images/concept_clip_pc.svg"); */
	}
	.concept_section {
		padding: 20px 0;
	}
  }
  .p-index__concept__video .clip-path-svg {
	position: absolute;
	inset: 0;
	z-index: -1;
  }
  .p-index__concept__video .video {
	position: absolute;
	z-index: 1;
	inset: 0;
  }
  .p-index__concept__video .video video {
	display: block;
	width: auto;
	height: 100%;
  }
  .p-index__concept__video .button {
	cursor: pointer;
	position: absolute;
	z-index: 2;
	top: 54.9751%;
	left: 63.2428%;
	transform: translate(-50%, -50%);
	max-width: 207px;
	width: 26.7441%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.17);
	display: flex;
	justify-content: center;
	align-items: center;
  }
  @media (min-width: 751px) {
	.p-index__concept__video .button {
	  backdrop-filter: blur(50px);
	}
  }
  @media (max-width: 750px) {
	.p-index__concept__video .button {
	  top: 50.7936%;
	  left: 61.5384%;
	  width: 30.7692%;
	}
  }
  .p-index__concept__video .button .text {
	display: flex;
	padding-left: 0.05em;
	color: rgb(var(--color-bg));
	font-size: 18px;
	line-height: 100%;
	letter-spacing: 0.05em;
	font-family: "itc-avant-garde-gothic-pro", sans-serif;
	font-weight: 500;
  }
  @media (max-width: 750px) {
	.p-index__concept__video .button .text {
	  font-size: 12px;
	  line-height: 14px;
	}
  }
  @media (max-width: 750px) {
	.p-index__concept__video .button .text.pc {
	  display: none;
	}
  }
  @media (min-width: 751px) {
	.p-index__concept__video .button .text.sp {
	  display: none;
	}
  }
  .p-index__concept__bottle {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
  }

  .p-index__concept__bottle .bottle-image {
	width: 90%;
	height: 500px;
	margin: auto;
	object-fit: contain;
	object-position: left center;
	display: block;
  }
  @media (max-width: 750px) {
	.p-index__concept__bottle {
	  margin: 0 auto;
	  height: auto;
	  width: 46.6666%;
	}
	.p-index__concept__bottle .bottle-image {
		height: auto;
	}
  }
.p-index__concept__text-group {
	padding: 0 20px;
}

@media (min-width: 993px) {
	.p-index__concept__text-group {
		width: 50%;
		padding: 0 40px 0 0;
	}
}

@media (max-width: 992px) {
	.p-index__concept__text-group {
		text-align: center;
		padding: 0 20px;
	}
}
  .p-index__concept__copy {
	display: flex;
	margin-bottom: 40px;
	font-size: 56px;
	line-height: 80px;
	letter-spacing: 0.05em;
	font-weight: 500;
	color: #45350D;
  }
  .paragraph {
	font-weight: 500;
	color: #45350D;
  }
  @media (max-width: 750px) {
	.p-index__concept__copy {
	  font-size: 24px;
	  line-height: 24px;
	}
  }
  .p-index__concept__lead-text {
	display: flex;
	flex-direction: column;
	gap: 33px;
	margin-bottom: 40px;
  }
  @media (max-width: 750px) {
	.p-index__concept__lead-text {
	  gap: 30px;
	  font-size: 3vw;
	  margin-bottom: 0;
	}
  }
  .p-index__concept__lead-text .paragraph {
	display: block;
	font-size: 24px;
	margin-top: 16px;
	line-height: 44px;
	letter-spacing: 0.05em;
  }
  

  .mask {
	overflow: hidden;
    width: 100%;
    -webkit-mask-image: url("./images/page_mask.png");
    -webkit-mask-mode: alpha;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 100% 200%;
    -webkit-mask-position: 0% 0%;
    transform-origin: center top;
  }

  .sub_ttitle {
	display: block;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.05em;
	margin-bottom: 24px;
  }

  .sample_btn {
	display: block;
	width: 250px;
	margin: 50px 0 0 0;
	text-align: center;
	border-radius: 100px;
	text-decoration: none;
	line-height: 60px;
	outline: none;
	color: #F5C000;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.05em;
	background-color: #fafafa;
	-webkit-transition: all .3s;
	transition: all .3s;
  }

  .sample_btn:hover {
	transform: scale(1.1,1.1);
  }
  
  .sample_btn_b {
	display: block;
	width: 250px;
	margin: 50px 0 0 170px;
	text-align: center;
	border-radius: 100px;
	text-decoration: none;
	line-height: 60px;
	outline: none;
	color: #fafafa;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.05em;
	background-color: #F5C000;
	-webkit-transition: all .3s;
	transition: all .3s;
  }

  .sample_btn_b:hover {
	transform: scale(1.1,1.1);
  }

.features {
	font-family: AvenirLTPro-Heavy, FP-KoburinaGoStdN-W6, Hiragino Kaku Gothic ProN, Yu Gothic, yugothic, メイリオ, meiryo, sans-serif;
    font-weight: 500;
    display: flex;
    margin: 0 auto;
    counter-reset: count
}

.features__item {
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
}

.features__item+.features__item {
    margin-left: 5.6rem
}

.features__texts {
    position: relative;
    margin: 0 0;
    z-index: 2
}

.features__heading {
    margin-top: 1rem;
    font-size: 20px;
    line-height: 1.7;
    letter-spacing: 0.2em
}

.features__heading span {
	font-size: 1.1rem !important;
	font-weight: 500;
	letter-spacing: 0.1em;
}

.features__headingStrong {
	color: #45350D;
    background-image: linear-gradient(transparent 64%, #F3C11D 64%, #F3C11D 94%, transparent 100%)
}

.features__description {
    margin-top: 1rem;
    font-size: 1.1rem;
    line-height: 2;
    letter-spacing: 0.2em;
	color: #45350D;
	font-weight: 700;
}

.features__image img{
    overflow: hidden;
    border-radius: 2rem;
}

.scale_imsge:hover {
	transform: scale(1.1, 1.1);
}

.slide-media,
  .thumb-media {
    position: relative;
    overflow: hidden;
  }
  .slide-media img,
  .thumb-media img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }


  :root {
    --easing: cubic-bezier(.2, 1, .2, 1);
    --transition: .8s var(--easing);
    --color-base: #f8f8f8;
    --color-gray: #ddd;
    --color-theme: #f5695f;
    --color-theme-darken: #f12617;
    --box-shadow: .8rem .8rem 1.2rem rgba(0, 0, 0, .05), -.8rem -.8rem 1.2rem #fff;
    --box-shadow-hover: 1rem 1rem 1.5rem rgba(0, 0, 0, .08), -1rem -1rem 1.5rem #fff;
    --box-shadow-inset: inset .8rem .8rem 1.2rem rgba(0, 0, 0, .05), inset -.8rem -.8rem 1.2rem #fff;
    --box-shadow-dark: .8rem .8rem 1.2rem rgba(0, 0, 0, .1), -.8rem -.8rem 1.2rem rgba(#fff,.2);
  }

  .p-5 {
	width: 95%;
	margin: 0 2.5%;
	overflow: hidden;
  }

 .p-left-5 {
	width: 95%;
	margin-left: 5%;
	overflow: hidden;
 }

.mb-0 {
	margin-bottom: 0!important;
}
.mb-30 {
	margin-bottom: 30px!important;
}
  .w-90 {
	width: 90%;
	max-width: 1480px;
	margin: 0 auto;
  }

  .swiper-button-prev, .swiper-button-next {
    display: grid;
    place-content: center;
    width: 6.4rem;
    height: 6.4rem;
    cursor: pointer;
    -webkit-transition: var(--transition);
    transition: var(--transition);
  }
  .swiper-button-prev::before, .swiper-button-next::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    border-radius: 50%;
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
  }
  .swiper-button-prev::after, .swiper-button-next::after {
    width: 1.2rem;
    height: 1.2rem;
    content: "";
    border: solid var(--color-gray);
    border-width: 3px 3px 0 0;
  }
  .swiper-button-prev::after {
    margin-left: 0.4rem;
    -webkit-transform: rotate(-135deg);
            transform: rotate(-135deg);
  }
  .swiper-button-next::after {
    margin-right: 0.4rem;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .swiper-button-disabled {
    pointer-events: none;
    opacity: 0;
  }

  .card02 {
    overflow: hidden;
  }
  .card02 .swiper {
    overflow: visible;
  }
  .card02 .swiper-controller {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 1.6rem;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: 3.2rem;
  }
  .card02 .swiper-pagination {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 1.2rem 0.8rem;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0 auto 0 0;
    text-align: center;
  }
  .card02 .swiper-pagination-bullet {
    width: 1.6rem;
    height: 3px;
    cursor: pointer;
    -webkit-transition: var(--transition);
    transition: var(--transition);
    vertical-align: top;
    background-color: var(--color-gray);
  }
  .card02 .swiper-pagination-bullet-active {
    width: 4rem;
    background-color: var(--color-theme);
  }
  .card02 .swiper-button-prev, .card02 .swiper-button-next {
    position: relative;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    margin: 0;
  }
  .card02 .swiper-button-disabled {
    pointer-events: none;
    opacity: 0.5;
  }
  .card02 .swiper-button-disabled::before {
    -webkit-box-shadow: var(--box-shadow-inset);
            box-shadow: var(--box-shadow-inset);
  }
  .card02 .swiper-slide {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
	text-align: center;
	font-size: 18px;
	background: transparent;
	width: 100% !important;
	max-width: 100% !important;
	padding:0 80px;
	box-sizing:border-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;		
	opacity:0;
	
  }
  .card02 .slide {
    overflow: hidden;
    width: 36rem;
    border-radius: 4px;
  }
  .card02 .slide-media {
    padding-top: 62.5%;
  }
  .card02 .slide-media img {
    height: calc(100% + 16px);
    -webkit-transform: translateY(-16px);
            transform: translateY(-16px);
  }
  .card02 .slide-content {
    padding: 3.2rem;
  }
  .card02 .slide-date {
    font-size: 1.2rem;
    line-height: 1;
    display: block;
    color: var(--color-theme);
  }
  .card02 .slide-title {
    line-height: 1.6;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    height: 3.2em;
    margin-top: 1.6rem;
  }

  .mid_pc {
	display: none;
	}

  @media only screen and (max-width: 1024px) {
    html {
      -webkit-text-size-adjust: 100%;
    }
    .l-inner {
      padding: 0 4rem;
    }
    .pc {
      display: none !important;
    }
	.mid_pc {
	display: block!important;
	}
  }
  @media only screen and (max-width: 599px) {
    html {
      font-size: 50%;
    }
    .pc-tab {
      display: none !important;
    }
    .card02 .slide {
      width: 24rem;
    }
	.mid_pc {
		display: none !important;
	}
  }

  @media only screen and (min-width: 1025px) {
    .tab-sp {
      display: none !important;
    }
    .swiper-button-prev::before, .swiper-button-next::before {
      -webkit-transition: var(--transition);
      transition: var(--transition);
    }
    .swiper-button-prev:hover::before, .swiper-button-next:hover::before {
      -webkit-transform: scale(1.2);
              transform: scale(1.2);
    }
    .card02 .slide {
      -webkit-transition: var(--transition);
      transition: var(--transition);
    }
    .card02 .slide img {
      -webkit-transition: var(--transition);
      transition: var(--transition);
    }
    .card02 .slide:hover {
      -webkit-transform: translateY(-16px);
              transform: translateY(-16px);
      -webkit-box-shadow: var(--box-shadow-hover);
              box-shadow: var(--box-shadow-hover);
    }
    .card02 .slide:hover img {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
  }

  @media only screen and (min-width: 600px) {
    .sp {
      display: none !important;
    }
  }

  .item {
    display: block;
    position: relative;
    box-sizing: border-box;
    z-index: 0;
    width: calc(50% - 40px);
    height: auto;
    margin: 0;
}
.item_box {
	padding: 4em;
	background-color: #fff;
	border-radius: 16px;
}

hr.style1{
	border-top: 1px solid #45350D;
	height: 1px;
    width: 100%;
    float: none;
    margin: 0;
    display: inline-block;
  }

.btn_a {
	font-size: 1.2rem;
	background: #F5C000;
	color: #000;
	padding: 1em 2em;
	font-weight: 500;
	border-radius: 8px;
	overflow: hidden;
}
.btn_b {
	border: 1px solid #000;
	color: #000;
	padding: 0.8em 2em;
}

.portfolio-inner{
	max-width: 1200px;
	display: flex;
	gap: 50px;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 auto;
}

#item-wrap #portfolio{
	clear: both;
	padding: 0;
	display: flex;
	justify-content: center;
}

#item-wrap .item{
	float: left;
	margin: 20px;
}
#others-wrap #portfolio{
	width: 1200px;
	clear: both;
	padding: 0;
	display: flex;
	justify-content: center;
}

#others-wrap .item{
	float: left;
	width: auto;
	margin: 20px;
}

#portfolio >.features__image {
	padding: 0.8em 2em;
}

.price-container {
	display: flex;
	gap: 20px;
	width: 100%;
}

.price-container > p {
	flex: 0 0 calc(50% - 10px);
	width: calc(50% - 10px);
	margin: 0;
}


#faq {
	background: #faf8f2;
	padding: 15rem 10%;;
	margin: 15rem auto;
}

.faq__item {
    background-color: #fff
}

.faq__item+.faq__item {
    margin-top: 0.8rem
}

.faq__q {
	font-weight: 700;
    position: relative;
    cursor: pointer;
    padding: 2.7rem 6.4rem 2.5rem 5.5rem;
    font-size: 1.2rem;
    line-height: 1.5;
    letter-spacing: 0.12em;
    background-color: #ece6d9;
    transition: color 150ms cubic-bezier(0.25, 0.25, 0.75, 0.75)
}

.faq__q::before {
    position: absolute;
    display: block;
    content: "Q.";
    top: 2.3rem;
    left: 3.2rem;
    font-size: 1.5rem;
    letter-spacing: 0.2em
}

.faq__icon {
    position: absolute;
    top: 0;
    bottom: 0;
    display: block;
    margin: auto;
    right: 3.2rem;
    width: 1.6rem;
    height: 1.6rem
}

.faq__icon::before,.faq__icon::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    display: block;
    width: 100%;
    height: 0.2rem;
    content: "";
    background-color: currentcolor;
    transition: transform 1000ms cubic-bezier(0.19, 1, 0.22, 1)
}

.faq__icon::after {
    transform: rotate(-90deg)
}

.is-show .faq__icon::after {
    transform: rotate(0)
}



.faq__a {
    height: 0;
    overflow: hidden;
    font-size: 1.8rem;
    line-height: 2;
    letter-spacing: 0.12em;
    transition: height 1000ms cubic-bezier(0.19, 1, 0.22, 1)
}

/* FAQ Accordion Active State */
.faq__item.active .faq__a {
    height: auto;
}

.faq__item.active .faq__q::after {
    transform: rotate(45deg);
}

.faq__aInner {
    position: relative;
    padding: 3.4rem 3.2rem 3rem 7.4rem
}

.faq__aInner::before {
    position: absolute;
    display: block;
    content: "A.";
    top: 2.7rem;
    left: 3.3rem;
    font-size: 1.6rem;
	font-weight: 700;
    letter-spacing: 0.1em
}

.faq__aInner::before a {
    text-decoration: underline
}

.faq__aInner p {
	font-size: 1.2rem;
	font-weight: 500;
    text-align: justify;
	color: #45350D;
    word-break: break-all;
}

.faq__aInner p+p,.faq__aInner p+ul,.faq__aInner p+ol {
    margin-top: 1em
}

.faq__aInner ul li,.faq__aInner ol li {
    position: relative;
    margin-left: 1.2em;
    text-align: justify;
    text-indent: -1.2em;
    font-feature-settings: normal;
    letter-spacing: 0.1em
}

.faq__aInner ul li+li,.faq__aInner ol li+li {
    margin-top: 0.5rem
}

.faq__aInner ul.note li,.faq__aInner ol.note li {
    margin-left: 1.45em;
    color: #9d9d9d;
    text-indent: -1.45em;
    font-size: 1.4rem
}

.faq__aInner ul+p,.faq__aInner ul+ul,.faq__aInner ul+ol,.faq__aInner ol+p,.faq__aInner ol+ul,.faq__aInner ol+ol {
    margin-top: 1em
}

.faq__aInner dl {
    margin-top: 1em
}

.faq__aInner dl dt {
    font-size: 2rem
}

.faq__aInner dl dt small {
    padding-left: 1em;
    color: #9d9d9d;
    vertical-align: middle;
    font-size: 1.4rem
}

.faq__aInner dl dd {
    margin-left: .6em;
    text-indent: -0.6em
}

.faq__aInner dl+p {
    margin-top: 1em
}

.faq__aInner a {
    text-decoration: underline
}

.l-faq {
    padding-top: 16rem;
    padding-bottom: 16rem;
    display: flex;
    justify-content: center
}

.l-faq__header {
    width: 43.2rem;
    padding: 0.3rem 0 0 0
}

.l-faq .sectionHeading {
    text-align: left
}

.l-faq .sectionHeading__en {
    padding-left: 0;
    font-size: 4rem
}

.l-faq .sectionHeading__ja {
    margin-top: 1.6rem;
    padding-left: 0;
	color: #45350D;
    font-size: 1.3rem
}

.l-faq__contents {
    width: 81.6rem
}

.l-faq__button {
    margin: 6rem auto 0
}

.buttonMore {
    display: block;
    box-sizing: border-box;
    width: 16rem;
    padding: 1.8rem 0 1.4rem .12em;
    border-radius: 2.4rem;
    color: #fff;
    font-size: 1.6rem;
    text-align: center;
    letter-spacing: 0.12em;
    text-decoration: none;
    background-color: #FDBE02
}
.media_list {
	display: flex;
	margin: 40px auto;
	flex-wrap: wrap;
	gap: 24px;
	justify-content: center;
}
.media_item {
	width: 200px;
	height: 300px;
	overflow: hidden;
	border-radius: 8px;
}
.media_item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.owl-carousel .owl-stage-outer {
	padding-bottom: 2px;
}

.voc .owl-item{
	
}

.voc .owl-item .slide {
	padding: 0;
	height: 100%;
	background-color: #fff;
	border-radius: 16px;
	border: 1px solid #E0E0E0;
}

.voc .owl-item .slide .features {
	padding: 20px;
	
}

.voc_description {
	margin-top: 16px;
	display: flex;
	align-items: center;
}

.voc_description img {
	width: 40px !important;
	height: 40px;
	margin-right: 16px;
	border-radius: 100px;
}

.voc .features__heading {
	font-size: 20px;
	text-align: left;
	line-height: 1.6;
	margin-bottom: 10px;
}

.voc p {
	font-size: 16px;
	font-weight: 500;
	color: #45350D;
	text-align: left;
	line-height: 1.6;
	margin-bottom: 10px;
}

.voc p.features__description {
	font-size: 14px;
	letter-spacing: 0;
	font-weight: 500;
	color: #45350D;
	text-align: left;
	line-height: 1.6;
	margin: 0;
}


.capacity {
	display: inline-block;
	font-size: 14px;
	letter-spacing: 0.05em;
	color: #fafafa;
	font-weight: 500;
	padding: 4px 8px;
	border-radius: 4px;
	background-color: #9D9D9D;
}

.item .features__texts {
	margin: 0.5rem 0 0 0;
    font-size: 1.1rem;
    line-height: 2;
    letter-spacing: 0.2em;
    color: #45350D;
    font-weight: 700;
}

.item .features__texts span {
    font-size: 0.8rem;
	font-weight: 800;
}
.item .features__texts b {
	color: #FF6B6B;
	font-size: 1.3em;
	font-weight: 800;
}
.item .features__texts strong {
	color: #FF6B6B;
	font-size: 0.8em;
}
.mt_30 {
	margin-top: 30px;
}

.mt_15 {
	margin-top: 15px;
}

.textlink {
	margin-top: 24px;
}

.textlink a {
	text-decoration: underline;
	color: #45350D;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.6;
	text-align: center;
}

#pbnr {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
	gap: 40px;
	margin-top: 24px;
}

/*--------------------------------------------------
	09. Media List Template Styles
---------------------------------------------------*/

#key-features {
	width: 100%;
	background-color: #ece6d9;
	padding-bottom: 80px;
}

/* Media List Container */
#media-list-wrap {
	padding: 0;
	max-width: 1200px;
	margin: 0 auto;
}

#media-list {
	width: 100%;
}

/* Year Section */
.media-year-section {
	margin-bottom: 80px;
}

.media-year-section:last-child {
	margin-bottom: 0;
}

.media-year-title {
	font-size: 1.5rem;
	display: inline-block;
	font-weight: 700;
	color: #000;
	margin-bottom: 40px;
	padding-bottom: 20px;
	border-bottom: 1px solid #000;
	text-align: left;
	letter-spacing: 0.1em;
}

/* Media Posts Grid */
.media-posts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(480px, 1fr));
	gap: 30px;
	margin-bottom: 40px;
}

/* Media Post Item */
.media-post-item {
	overflow: hidden;
	transition: all 0.3s ease;
}

.media-post-item:hover {
	transform: translateY(-5px);
}

.media-post-content {
	padding: 0;
}

/* Post Thumbnail */
.media-post-thumbnail {
}

.media-post-thumbnail img {
	width: 240px;
	max-width: none;
	height: auto;
	display: block;
}

/* Post Details */
.media-post-details {
	padding: 25px 40px 25px 0;
}

.media-post-title {
	margin: 0 0 15px 0;
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 1.4;
	color: #45350D;
}

.media-post-title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.3s ease;
}

.media-post-title a:hover {
	color: #F5C000;
}

/* Post Meta */
.media-post-meta {
	margin-bottom: 15px;
}

.media-post-date {
	font-size: 0.9rem;
	color: #8B8B8B;
	font-weight: 500;
	letter-spacing: 0.05em;
}

/* Post Content - Two Column Layout */
.media-post-content {
	margin-top: 15px;
	display: flex;
	gap: 30px;
	align-items: flex-start;
}

.media-post-content .content-images {
	flex: 0 0 40%;
	max-width: 40%;
}

.media-post-content .content-images img {
	width: 100%;
	height: auto;
	margin-bottom: 15px;
	display: block;
}

.media-post-content .content-text {
	flex: 1;
	line-height: 1.6;
	color: #666;
	font-size: 0.95rem;
}

.media-post-content .content-text p {
	margin-bottom: 15px;
}

.media-post-content .content-text p:last-child {
	margin-bottom: 0;
}

.media-post-content .content-text h1,
.media-post-content .content-text h2,
.media-post-content .content-text h3,
.media-post-content .content-text h4,
.media-post-content .content-text h5,
.media-post-content .content-text h6 {
	margin: 20px 0 10px 0;
	color: #45350D;
	font-weight: 600;
}

.media-post-content .content-text ul,
.media-post-content .content-text ol {
	margin: 15px 0;
	padding-left: 20px;
}

.media-post-content .content-text li {
	margin-bottom: 5px;
}

/* No Posts Message */
.no-media-posts {
	text-align: center;
	padding: 80px 20px;
	color: #8B8B8B;
	font-size: 1.1rem;
}

/* Responsive Design */
@media (max-width: 768px) {
	#key-features {
		padding-bottom: 0;
	}
	.portfolio-inner{
		gap: 0;
		
	}
	.voc .owl-item .slide{
		padding: 0;
		background-color: #fff;
		border-radius: 16px;
		border: 1px solid #E0E0E0;
	}	
	#media-list-wrap {
		padding: 0;
	}

	.media-post-meta {
		margin-bottom: 0;
	}
	
	.media-year-title {
		font-size: 2rem;
		margin-bottom: 30px;
	}
	
	.media-posts-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	
	.media-post-details {
		padding: 0
	}
	
	.media-post-title {
		font-size: 1.2rem;
	}
	
	.media-post-content {
		flex-direction: column;
		gap: 20px;
	}
	
	.media-post-content .content-images {
		flex: none;
		max-width: 100%;
	}
	.media-post-content .content-text p {
		margin-bottom: 0;
		font-size: 14px;
	}
	
}

@media (max-width: 480px) {
	.media-year-title {
		font-size: 1.8rem;
	}
	
	.media-post-title {
		font-size: 1.1rem;
	}
	
	.media-post-content {
		font-size: 0.9rem;
		flex-direction: column;
		gap: 20px;
		margin: 0;
	}
	
	.media-post-content .content-images {
		flex: none;
		max-width: 100%;
	}
}

/*--------------------------------------------------
	10. FAQ Archive Template Styles
---------------------------------------------------*/


.page-header {
	/* position: relative;
    box-sizing: border-box;
    padding: 0 60px;
    max-width: 1280px;
    margin: 0 auto;
    margin-bottom: 0; */
	text-align: left;
}

.page-header .subtitle {
    font-weight: 500;
    font-size:40px;
	color: #000;
	letter-spacing: 0.3rem !important;
}

.page-header .features__description {
	font-size: 0.9rem!important;
	letter-spacing: 0.2vw;
	line-height: 2vw;
	color: #000;
	font-weight: 500;
}

/*--------------------------------------------------
	11. Front Page Responsive Styles
---------------------------------------------------*/


@media (max-width: 768px) {
	#hero-wrapper {
		display: none;
	}
}

/*--------------------------------------------------
	12. Mobile Hero Slider Styles
---------------------------------------------------*/

/* Mobile Hero Wrapper */
.mobile-only {
	display: none!important;
}

@media (max-width: 768px) {
	.mobile-only {
		display: block!important;
	}
}

#mobile-hero-wrapper {
	position: relative;
	width: 100%;
	height: auto;
	background: transparent;
	margin: 0;
	padding: 0;
	display: block;
}


.mobile-hero-swiper {
	width: 100%;
	height: auto;
}

.mobile-hero-swiper .swiper-slide {
	width: 100%;
	height: auto;
	display: flex;
	padding: 0%;
	align-items: center;
	justify-content: center;
}

.mobile-hero-image {
	width: 100%;
	height: auto;
	object-fit: contain;
	object-position: center;
	display: block;
	background: transparent;
	margin: 0;
	padding: 0;
	border: none;
	outline: none;
	box-sizing: border-box;
}


/* Mobile Hero Dots */
.mobile-hero-dots {
	position: absolute;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 10px;
	z-index: 3;
}

.mobile-hero-dots .dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.5);
	cursor: pointer;
	transition: all 0.3s ease;
}

.mobile-hero-dots .dot.active {
	background: #F5C000;
	transform: scale(1.2);
}

.mobile-hero-dots .dot:hover {
	background: rgba(255, 255, 255, 0.8);
}

/* Mobile Hero Navigation */
.mobile-hero-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	display: flex;
	justify-content: space-between;
	padding: 0 20px;
	z-index: 3;
}

.mobile-hero-prev,
.mobile-hero-next {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.2);
	border: 2px solid rgba(255, 255, 255, 0.5);
	color: #fff;
	font-size: 1.5rem;
	font-weight: bold;
	cursor: pointer;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	backdrop-filter: blur(10px);
}

.mobile-hero-prev:hover,
.mobile-hero-next:hover {
	background: rgba(245, 192, 0, 0.8);
	border-color: #F5C000;
	transform: scale(1.1);
}

/* Mobile Hero Responsive */
@media (max-width: 768px) {
	#mobile-hero-wrapper {
		height: auto;
		background: #fff;
	}
	
	.mobile-hero-image {
		width: 100%;
		height: auto;
		object-fit: contain;
	}
	
	.mobile-hero-nav {
		padding: 0 15px;
	}
	
	.mobile-hero-prev,
	.mobile-hero-next {
		width: 40px;
		height: 40px;
		font-size: 1.2rem;
	}
	
	.mobile-hero-dots {
		bottom: 20px;
	}
	
	.mobile-hero-dots .dot {
		width: 10px;
		height: 10px;
	}
}

@media (max-width: 480px) {
	#mobile-hero-wrapper {
		height: auto;
		background: #fff;
	}
	
	.mobile-hero-image {
		width: 100%;
		height: auto;
		object-fit: contain;
	}
	
	.mobile-hero-nav {
		padding: 0 10px;
	}
	
	.mobile-hero-prev,
	.mobile-hero-next {
		width: 35px;
		height: 35px;
		font-size: 1rem;
	}
	
	.mobile-hero-dots {
		bottom: 15px;
	}
	
	.mobile-hero-dots .dot {
		width: 8px;
		height: 8px;
	}
}
/* Hero Section Responsive */
@media (max-width: 768px) {
	
	#hero {
		height: 60vh;
		min-height: 400px;
	}
	
	#hero-caption, #main #hero-caption {
		padding: 20px;
	}
	
	.scroll-down-wrap {
		bottom: 20px;
	}
	
	.section-down-arrow {
		width: 20px;
		height: 30px;
	}
}

@media (max-width: 480px) {
	#hero {
		height: 50vh;
		min-height: 300px;
	}
	
	.scroll-down-wrap {
		bottom: 15px;
	}
	
	.section-down-arrow {
		width: 18px;
		height: 25px;
	}
}

/* Top Contents Section Responsive */
@media (max-width: 768px) {
	.top_contents {
		padding: 40px 20px;
	}
	
	.box {
		padding: 0;
		width: 85.3333333333vw;
		margin: 4rem auto;
	}
	
	.heading {
		font-size: 1.8rem;
		line-height: 1.4;
		margin-bottom: 20px;
	}
	
	.text-wrapper {
		font-size: 0.9rem;
		line-height: 1.6;
	}
}

@media (max-width: 480px) {
	.top_contents {
		padding: 30px 15px;
	}
	
	.box {
		padding: 15px;
	}
	
	.heading {
		font-size: 1.5rem;
		line-height: 1.3;
		margin-bottom: 15px;
	}
	
	.text-wrapper {
		font-size: 0.85rem;
		line-height: 1.5;
	}
}

/* Concept Section Responsive */
@media (max-width: 768px) {
	.p-index__concept {
		padding: 60px 0;
	}
	
	.p-index__concept__text-group {
		padding: 0 20px;
	}
	
	.subtitle.txt_white {
		font-size: 2.5rem;
		margin: 1rem 0 2rem 0;
		line-height: 1.4;
	}
	
	.features__description.txt_white {
		font-size: 4vw;
		margin-bottom: 20px;
		line-height: 1.6;
	}
	
	.paragraph.txt_white {
		font-size: 1rem;
		line-height: 1.8;
	}
	
	.mac_w_img {
		width: 90%;
		margin: 20px auto 0;
	}
}

@media (max-width: 480px) {
	.p-index__concept {
		padding: 40px 0;
	}
	
	.subtitle.txt_white {
		font-size: 4rem;
		padding: 1vw 0;
		margin: 0;
	}
	
	
	.paragraph.txt_white {
		font-size: 3.5vw;
		margin: 0 0 8vw 0;
		padding: 0;
	}
}
#portfolio-wrap {
	background-color: #ece6d9;
	padding-bottom: 160px;
}
/* Key Features Section Responsive */
@media (max-width: 768px) {
	#portfolio-wrap {
		padding: 40px 20px;
	}
	
	#portfolio {
		display: inherit;
		flex-direction: inherit;
		gap: 0;
		padding: 0;
		width: 85.3333333333vw;
	}
	
	#portfolio-wrap .item {
		width: 84%;
		text-align: left;
		margin: 0 auto 5rem auto;
	}

	#portfolio-wrap .item h3{
		font-size: 5vw;
		margin: 4vw 0 4vw 0 ;
		line-height: 3.8rem; 
		text-align: left;
	}

	#item-wrap .item, #others-wrap .item {
		padding: 5%;
		border-radius: 16px;
		background-color: #fafafa;
		margin: 0;
	}

	#item-wrap .features__description span, #others-wrap .features__description span {
		font-size: 11px;
		text-align: left;
		font-weight: 300;
		display: inline-block;
	}
	
	.subtitle.en {
		font-size: 1.8rem;
		margin-bottom: 15px;
	}
	
	.features__description {
		font-size: 0.9rem;
		margin-bottom: 30px;
	}
}

@media (max-width: 480px) {
	#portfolio-wrap {
		padding: 30px 0;
	}
	
	.subtitle.en {
		font-size: 1.8rem;
		line-height: 1.6;
		margin: 0;
	}
	.wpb_wrapper .features__description {
		font-size: 6.6666666667vw!important;
		line-height: 1.6;
	}
	
	.features__description {
		font-size: 0.85rem;
		margin-bottom: 20px;
	}
}

/* Shop Online Section Responsive */
@media (max-width: 768px) {
	.owl-carousel {
		width: 100%;
	}
	.owl-stage-outer .features__texts p {
		font-size: 13px;
		text-align: left;
		margin: 0;
	}

	.owl-carousel .owl-item .slide .features {
		padding: 0;
		border-radius: 16px;
		height: 100%;
	}

	.max_w_slider {
		width: calc(100% + 20px) !important;
    	margin-right: -20px!important;	
	}
	#item-wrap {
		padding: 0;
	}

	
	
	#item-wrap #portfolio {
		display: flex;
		flex-direction: column;
		gap: 30px;
	}
	
	.item_box {
		width: 100%;
		margin-bottom: 30px;
	}
	
	.features__image {
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}
	
	.features__image img {
		width: 100%;
		height: auto;
	}
	
	.features__texts {
		text-align: center;
	}
	
	.features__heading {
		font-size: 1.3rem;
		margin-bottom: 15px;
	}
	
	.features__texts p {
		font-size: 1.3rem;
		color: #45350D;
		line-height: 1.5;
	}
	
	.capacity {
		padding: 0 8px;
		border-radius: 100px;
		font-size: 11px;
	}
	.item .features__texts strong {
		font-size: 13px;
	}
	
	.btn_a {
		display: inline-block;
		padding: 12px 24px;
		font-size: 14px;
		color: #fff;
	}
}


/* Carousel Section Responsive */
@media (max-width: 768px) {
	.wp-block-grenada-gutenberg-container {
		padding: 40px 20px;
	}
	
	.carousel {
		display: flex;
		flex-direction: column;
		gap: 30px;
	}
	
	.carousel .slide {
		width: 100%;
		padding: 0 !important;
		margin-bottom: 0;
	}

	.carousel .slide .features__heading {
		font-size: 4vw;
		text-align: left;
        line-height: 1.4;
        margin: 15px 0;
	}

	.carousel .slide .features__image {
		margin-bottom: 0;
	}
	
	.features__item {
		display: flex;
        flex-direction: column;
        text-align: center;
        justify-content: flex-start;
        padding: 0 16px;
	}
	
	.features__texts {
		order: 2;
		margin-bottom: 20px;
	}
	
	.features__image {
		order: 1;
		margin-bottom: 20px;
	}
	
	.features__image img {
		height: auto;
		margin: 0 auto;
	}
	
	.features__heading {
		font-size: 5vw;
		line-height: 1.4;
		margin-bottom: 15px;
	}
	.item .features__texts {
		font-size: 16px;
		line-height: 1.6;
	}
	.item .features__texts span {
		font-size: 11px!important;
		font-weight: 500!important;
	}
	
	.features__description {
		font-size: 13px;
		line-height: 1.6;
	}
	.shop_infoimg {
		width: 100%!important;
	}

	.owl-carousel .owl-item {
		background: none;
	}
}

/* Media Section Responsive */
@media (max-width: 768px) {
	
	
	
	.sample_btn_b {
		display: inline-block;
		width: auto;
		line-height: 1.6;
		padding: 12px 10%;
		font-size: 14px;
		letter-spacing: 0.2rem;
		
	}
}

@media (max-width: 480px) {
	.media_list {
		grid-template-columns: 1fr;
		gap: 10px;
		margin-bottom: 20px;
	}
}

/* User Voice Section Responsive */
@media (max-width: 768px) {
	.p-left-0-mobile {	
		padding-left: 0;
		margin-left: 0;
	}

	.text-carousel {
		width: 100%!important;
		max-width: fit-content;
	}

	.text-carousel .owl-nav {
		display: none;
	}

	.voc {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}
	
	.voc .slide {
		width: 100%;
		margin-bottom: 20px;
	}

	.voc p {
		font-weight: 500;
		line-height: 1.6;
	}
	
	.voc .features__heading {
		font-size: 1.2rem;
		line-height: 1.4;
		margin-bottom: 15px;
	}
	
	.voc .voc_description {
		margin-top: 15px;
		font-size: 12px;
	}
	
	.voc .voc_description img {
		width: 40px !important;
		height: 40px;
		margin-right: 10px;
	}
	
	.voc .voc_description p {
		font-size: 12px;
	}
}

@media (max-width: 480px) {
	.voc .features__heading {
		font-size: 14px;
		text-align: left;
		line-height: 1.6;
		margin-bottom: 10px;
	}
	
	.voc_description img {
		width: 35px !important;
		height: 35px;
		margin-right: 0;
		margin-bottom: 5px;
	}
	
	.voc_description p {
		font-size: 0.8rem;
	}
}

/* FAQ Section Responsive */
@media (max-width: 768px) {
	.l-faq {
		padding: 40px 20px;
	}
	
	.sectionHeading__en {
		font-size: 1.8rem;
		margin-bottom: 10px;
	}
	
	.sectionHeading__ja {
		font-size: 0.9rem;
		margin-bottom: 30px;
	}
	
	.faq__item {
		margin-bottom: 12px;
	}
	
	.faq__q {
		font-size: 14px;
		padding: 20px 40px 20px 35px;
		line-height: 1.4;
	}
	.faq__q::before {
		position: absolute;
		display: block;
		content: "Q.";
		top: 23px;
		left: 15px;
		line-height: 1;
		font-size: 1.5rem;
		letter-spacing: 0.2em;
	}

	.faq__aInner {
		padding: 20px 35px 20px 35px;
	}
	
	.faq__aInner p {
		font-size: 14px;
		line-height: 1.8;
	}
	
	.sample_btn {
		display: inline-block;
		padding: 12px 24px;
		font-size: 4vw;
		margin: 0 auto;
	}

	.faq__aInner::before {
		top: 21px;
		left: 15px;
		font-size: 1.5rem;
		letter-spacing: 0.2em;	
	}
}

@media (max-width: 480px) {
	.l-faq {
		padding: 30px 15px;
	}
	
	.sectionHeading__en {
		font-size: 1.5rem;
		margin-bottom: 8px;
	}
	
	.sectionHeading__ja {
		font-size: 0.85rem;
		margin-bottom: 20px;
	}
	
	.sample_btn {
		line-height: 6vw;
		width: auto;
		padding: 12px 12vw;
		font-size: 4vw;
	}
}

/* Links Section Responsive */
@media (max-width: 768px) {
	#others-wrap {
		padding: 40px 20px;
	}
	
	#others-wrap #portfolio {
		width: 90%;
		display: flex;
		flex-direction: column;
		gap: 20px;
	}
	
	.price-container {
		flex-direction: column;
		gap: 10px;
	}
	
	.price-container > p {
		width: 100%;
		flex: 0 0 100%;
	}
	
}

@media (max-width: 480px) {
	
}

/* General Responsive Utilities */
@media (max-width: 768px) {
	.w-90 {
		width: 95%;
		margin: 0 auto;
	}
	.w_mobile-100 {
		width: 100%;
		margin: 0 auto;
	}
	.p-0-mobile {
		width: 100%;
		padding: 0;
		margin: 0 auto;
	}
	
	.margin-center {
		margin: 0 auto;
	}
}

/* Mobile-only Break Line Classes */
.mobile-br {
	display: none;
}

@media (max-width: 768px) {
	.mobile-br {
		display: block;
	}
}

.mobile-br-inline {
	display: none;
}

@media (max-width: 768px) {
	.mobile-br-inline {
		display: inline;
	}
}

/* Desktop-only Break Line Classes */
.desktop-br {
	display: block;
}

@media (max-width: 768px) {
	.desktop-br {
		display: none;
	}
}

.desktop-br-inline {
	display: inline;
}

@media (max-width: 768px) {
	.desktop-br-inline {
		display: none;
	}
	.text-align-center {
		text-align: center;
	}
	
	.row_padding_top {
		padding-top: 40px;
	}
	
	.row_padding_bottom {
		padding-bottom: 40px;
	}

	.pt_0_sp {
		padding-top: 0;
	}

	.pb_0_sp {
		padding-bottom: 0 !important;
	}
	
	.pb-30 {
		padding-bottom: 30px;
	}
	
	.mt_30 {
		margin-top: 30px;
	}
	
	.mt_15 {
		margin-top: 15px;
	}
	.mt_10_mobile {
		margin-top: 10px;
	}
	hr.style1 {
		border-top: 1px solid #908e8b;
	}
}

@media (max-width: 480px) {
	.w-90 {
		width: 98%;
	}
	
	.row_padding_top {
		padding-top: 30px;
	}
	
	.row_padding_bottom {
		padding-bottom: 30px;
	}
	
	.pb-30 {
		padding-bottom: 20px;
	}
	
	.mt_30 {
		margin-top: 20px;
	}
	
	.mt_15 {
		margin-top: 10px;
	}
}

@media (max-width: 768px) {
	.media_list {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 15px;
		margin-bottom: 30px;
	}
	.media_item {
		width: 100%;
		height: 100%;
	}
	.media_item img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	#faq {
		margin: 0 auto;
		padding: 40px 5%;
		display: block;
	}

	.l-faq__header, .l-faq__contents {
		width: 100%;
	}

	.l-faq .sectionHeading {
		text-align: center;
	}

	.l-faq .sectionHeading__ja {
		font-size: 1.4rem;
		font-weight: 600;
    	color: #45350D;
	}

	#portfolio >.features__image {
		padding: 0;
	}
	#portfolio .item_point {
		padding: 5% 0;
		margin: 0;
		text-align: left;
	}
	#portfolio .item_point img {
		margin: 2vw 0 4vw;
	}
	#portfolio .item_point p {
		font-size: 3.6vw;
		letter-spacing: 0.1em;
		color: #45350D;
		font-weight: 600;
		line-height: 2;
	}

	#portfolio .item_point h3 {
		font-size: 6vw;
		letter-spacing: 0.18em;
		line-height: 1.6;
	}

	.num {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}
	
	.num p {
		font-size: 3.6vw;
		letter-spacing: 0.1em;
		color: #45350D;
		font-weight: 600;
		line-height: 2;
	}
	
	
}

@media (max-width: 480px) {
	.media_list {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 15px;
		margin-bottom: 30px;
	}
	.media_item img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

/* 統計データ - 画像デザインに合わせたスタイル */
.stats {
	margin: 40px 0;
	padding: 60px 80px 0px;
	border-top: 2px solid #fff;
	text-align: center;
	max-width: 1040px;
	margin-left: auto;
	margin-right: auto;
}

.stats h2 {
	color: white;
	font-size: 32px;
	font-weight: 600;
	margin-bottom: 32px;
	line-height: 1.4;
	letter-spacing: 0.05em;
}

.stats-row {
	display: flex;
	flex-direction: row;
	gap: 5%;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: center;
	align-items: center;
}

.stat {
	width: 30%;
	color: white;
	padding: 25px 0;
	position: relative;
	display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
}

.stat-label {
	font-size: 24px;
	font-weight: 500;
	margin-bottom: 8px;
	letter-spacing: 0.1em;
	flex: 1;
	text-align: center;
}

#main-page-content .stat-number {
	font-size: 68px;
	font-weight: 600;
	letter-spacing: 0rem!important;
	margin: 0;
}

#main-page-content .stat-number span {
	font-size: 24px;
	margin-left: 8px;
	font-weight: 600;
}

.stat-desc {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.1em;
	position: absolute;
	bottom: 5px;
	left: 0;
	right: 0;
	text-align: center;
}

@media (max-width: 768px) {
	.stats {
		width: 75%;
		padding: 40px 20px 30px;
		margin: 0 auto 30px;
	}
	
	.stats h2 {
		font-size: 24px;
		margin-bottom: 30px;
	}
	
	.stat {
		width: 90%;
        padding: 8px 0;
		margin-bottom: 8px;
        display: flex;
		background-color: #fff;
        flex-direction: column;
		border-radius: 16px;
        align-items: center;
        gap: 0;
		color: #F5B400;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: center;
	}

	#main-page-content .stat-number {
		align-self: auto;
	}
	
	.stat-label {
		font-size: 16px;
	}
	
	.stat-number {
		font-size: 40px;
		margin-left: 0;
		align-self: flex-end;
	}
	
	.stat-desc {
		position: static;
		font-size: 13px;
		text-align: left;
	}

	.stats-row {
		flex-direction: column;
		flex-wrap: nowrap;
	}
}

@media (max-width: 480px) {
	
	.stats h2 {
		font-size: 20px;
		line-height: 1.3;
	}
	
	
	.stat-label {
		font-size: 18px;
	}
	
	.stat-number {
		font-size: 36px;
	}
	
	.stat-desc {
		font-size: 12px;
	}
}

/* ラッパー */
.c-wrap {
	margin: 0 auto;
	padding: 0 20px;
}

/* フッター */
.p-footer {
	position: relative;
	z-index: 3;
	padding: 60px 0 5px;
	background-position: bottom center;
	background-size: cover;
	color: #fff;
}
.c-account-list__item {
	color: #fff;
	display: block;
	list-style: none;
}

@media (max-width: 750px) {
	.p-footer {
		padding: 40px 0 20px;
	}
}

.p-footer::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	background: #F5C000
}

.p-footer::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 1;
	width: 100%;
	height: auto;
	background-position: bottom right;
	background-repeat: no-repeat;
	background-size: auto 100%;
}

@media (max-width: 750px) {
	.p-footer::after {
		height: 160px;
	}
}

.p-footer__container {
	position: relative;
    margin: auto;
    z-index: 3;
    max-width: 1480px;
}

/* ナビゲーション */
.p-footer__nav {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	margin-bottom: 130px;
	justify-content: space-between;
}

.p-footer__nav p {
	font-size: 12px;
	letter-spacing: 0.1em;
	color: #fff;
}

@media (max-width: 750px) {
	.p-footer__nav {
		flex-direction: row;
		flex-direction: column;
		justify-content: space-between;
		margin-bottom: 60px;
	}
}

.c-nav-list {
	display: flex;
	flex-direction: column;
}

.c-nav-list__item {
	display: flex;
	color: #fff;
}

.c-nav-list__item + .c-nav-list__item {
	margin-top: 25px;
}

@media (max-width: 750px) {
	.c-nav-list__item + .c-nav-list__item {
		margin-top: 26px;
	}
}

.c-nav-list__link {
	display: flex;
	text-decoration: none;
	color: inherit;
}

.c-nav-list__link .en,
.c-nav-list__link .jp {
	display: block;
}

.p-footer__link-list__link .text {
	font-size: 14px;
}

.c-nav-list__link .en {
	margin-right: 15px;
	font-size: 30px;
	line-height: 100%;
	letter-spacing: 0.1em!important;
	font-weight: 400;
}

@media (max-width: 750px) {
	.c-nav-list__link .en {
		margin-right: 14px;
		font-size: 18px;
	}

.c-nav-list__link .jp {
	display: none;
}

}

.c-nav-list__link .jp {
	padding-top: 2px;
	color: rgb(var(--color-sub--b));
	font-size: 13px;
	line-height: 100%;
	font-weight: 700;
}

@media (max-width: 750px) {
	.c-nav-list__link .jp {
		padding-top: 1px;
		font-size: 10px;
		transform: scale(0.8);
		transform-origin: top left;
	}
}

.not-touchdevice .c-nav-list__link .en {
	transition: color 0.3s;
}

.not-touchdevice .c-nav-list__link .jp {
	transition: transform 0.3s, color 0.3s;
}

.not-touchdevice .c-nav-list__link:hover .en {
	color: rgba(var(--color-sub--b), 0.6);
}

.not-touchdevice .c-nav-list__link:hover .jp {
	transform: translateX(-3px);
	color: rgba(var(--color-sub--b), 0.6);
}

/* リンクリスト */
.p-footer__link-list {
	margin-bottom: 60px;
}

@media (max-width: 750px) {
	.p-footer__link-list {
		margin-bottom: 60px;
		list-style: none;
	}
	.p-footer__link-list p {
		list-style: none;
		color: #fff;
		margin-top: 20px;
		font-weight: 300;
	}
}

.p-footer__link-list__item {
	display: flex;
	color: #fff;
}

.p-footer__link-list__item + .p-footer__link-list__item {
	margin-top: 14px;
}

@media (max-width: 750px) {
	.p-footer__link-list__item + .p-footer__link-list__item {
		margin-top: 20px;
	}
}

.p-footer__link-list__link {
	display: flex;
	color: rgb(var(--color-sub--b));
	font-size: 14px;
	line-height: 17px;
	text-decoration: none;
}

@media (max-width: 750px) {
	.p-footer__link-list__link {
		font-size: 10px;
		line-height: 12px;
	}
}

.p-footer__link-list__link .text {
	display: block;
	letter-spacing: 0.1em!important;
}

.not-touchdevice .p-footer__link-list__link .text {
	transition: transform 0.3s;
}

.not-touchdevice .p-footer__link-list__link:hover .text {
	transform: translateX(3px);
}

/* フッターボトム */
.p-footer__bottom {
	display: flex;
}

@media (min-width: 751px) {
	.p-footer__bottom {
		position: absolute;
		right: 0;
		bottom: -6px;
		align-items: center;
	}
}

@media (max-width: 750px) {
	.p-footer__bottom {
		justify-content: space-between;
		align-items: flex-end;
	}
}

/* アカウント */
.p-footer__account {
	display: flex;
	align-items: center;
}

.p-footer__account__title {
	margin-right: 25px;
	font-size: 14px;
	line-height: 17px;
	letter-spacing: 0.05em;
	color: #fff;
	font-weight: 500;
}

@media (max-width: 750px) {
	.p-footer__account__title {
		display: none;
	}
}

.c-account-list {
	display: flex;
	margin: 0;
}

.c-account-list__item + .c-account-list__item {
	margin-left: 20px;
}

@media (max-width: 750px) {
	.c-account-list__item + .c-account-list__item {
		margin-left: 19px;
	}
}

.c-account-list__link {
	display: flex;
	width: 32px;
	height: 32px;
	text-decoration: none;
}

.c-account-list__link .icon {
	display: block;
	width: 100%;
	height: 100%;
}

.c-account-list__link .icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.c-account-list__link .icon svg .fill {
	fill: #ffffff;
}

.c-account-list__link .icon svg .stroke {
	fill: #ffffff;
}

.not-touchdevice .c-account-list__link .icon {
	transition: transform 0.3s, opacity 0.3s;
}

.not-touchdevice .c-account-list__link:hover .icon {
	transform: scale(0.96);
	opacity: 0.6;
}

/* コピーライト */
.p-footer__copyright {
	margin-right: -0.05em;
	color: rgba(var(--color-bg), 0.5);
	font-size: 10px;
	line-height: 12px;
	letter-spacing: 0.05em;
	font-family: "itc-avant-garde-gothic-pro", sans-serif;
	font-weight: 500;
}
.p-footer__bnr {
	display: flex;
	flex-direction: column;
	gap: 0px;
}
.p-footer__bnr img {
	border: 0 none;
	max-width: 100%;
	vertical-align: middle;
	height: 120px;
	margin: 0;
}

@media (min-width: 751px) {
	.p-footer__copyright {
		margin-left: 30px;
	}
	
}

.p-footer__copyright small {
	font-size: 1;
}

/* レスポンシブ対応 */
@media (max-width: 750px) {
	.c-wrap {
		padding: 0 15px;
	}
	.p-footer__bnr {
		display: flex;
		width: 90%;
		flex-direction: column;
		gap: 12px;
		margin: 0 0 24px 20px;
	}
	.p-footer__bnr img {
		border: 0 none;
		max-width: 100%;
		vertical-align: middle;
		height: auto;
		margin: 0;
	}
}

/* Lulumilk About Section */
.lulumilk-about-section {
	background-color: #faf8f2;
	padding: 80px 0;
	clear: both;
}

.lulumilk-about-wrapper {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 40px;
	overflow: hidden;
}

.lulumilk-about-wrapper::after {
	content: "";
	display: table;
	clear: both;
}

.lulumilk-about-text {
	float: left;
	width: 55%;
	padding-right: 40px;
	box-sizing: border-box;
}

.lulumilk-about-image {
	float: right;
	width: 40%;
	box-sizing: border-box;
}

.lulumilk-about-image img {
	width: 100%;
	height: auto;
	display: block;
}

.about-label {
	font-size: 14px;
	font-weight: 400;
	color: #45350D;
	margin-bottom: 10px;
	letter-spacing: 0.1em;
}

.about-title {
	font-size: 32px;
	font-weight: 700;
	color: #45350D;
	margin-bottom: 20px;
	line-height: 1.4;
}

.about-feature {
	margin-bottom: 30px;
}

.feature-bullet {
	color: #F5C000;
	font-size: 16px;
	margin-right: 8px;
}

.feature-text {
	font-size: 14px;
	color: #45350D;
	line-height: 1.6;
}

.about-main-text {
	margin-bottom: 20px;
}

.about-line1,
.about-line2,
.about-line3 {
	font-size: 28px;
	font-weight: 700;
	color: #45350D;
	line-height: 1.5;
	margin: 0;
	letter-spacing: 0.05em;
}

.about-description {
	font-size: 14px;
	color: #45350D;
	line-height: 1.8;
	margin-top: 20px;
}

/* Lulumilk Food Section */
.lulumilk-food-section {
	background-color: #faf8f2;
	padding: 40px 0;
	clear: both;
}

.lulumilk-food-wrapper {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 40px;
	overflow: hidden;
}

.lulumilk-food-wrapper::after {
	content: "";
	display: table;
	clear: both;
}

.food-item {
	float: left;
	width: calc(16.666% - 13.33px);
	margin-right: 16px;
	margin-bottom: 16px;
	box-sizing: border-box;
}

.food-item.last {
	margin-right: 0;
}

.food-item:nth-child(6) {
	margin-right: 0;
}

.food-item img {
	width: 100%;
	height: auto;
	display: block;
}

/* Lulumilk Stats Section */
.lulumilk-stats-section {
	background-color: #faf8f2;
	padding: 60px 0 80px;
	clear: both;
}

.lulumilk-stats-section .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 40px;
}

.stats-header {
	text-align: center;
	margin-bottom: 40px;
	padding-bottom: 20px;
	border-bottom: 1px solid #45350D;
}

.stats-header-text {
	font-size: 18px;
	color: #45350D;
	font-weight: 500;
	margin: 0;
}

.lulumilk-stats-wrapper {
	width: 100%;
	overflow: hidden;
	margin-bottom: 40px;
}

.lulumilk-stats-wrapper::after {
	content: "";
	display: table;
	clear: both;
}

.stat-column {
	float: left;
	width: calc(33.333% - 20px);
	margin-right: 30px;
	text-align: center;
	box-sizing: border-box;
}

.stat-column.last {
	margin-right: 0;
}

.stat-column:nth-child(3) {
	margin-right: 0;
}

.stat-label {
	font-size: 16px;
	color: #45350D;
	font-weight: 500;
	margin-bottom: 15px;
}

.stat-number {
	font-size: 48px;
	font-weight: 700;
	color: #45350D;
	font-family: 'Montserrat', sans-serif;
	margin-bottom: 10px;
	line-height: 1.2;
}

.stat-number span {
	font-size: 32px;
}

.stat-desc {
	font-size: 12px;
	color: #45350D;
	line-height: 1.6;
}

.stats-footer {
	clear: both;
	padding-top: 40px;
}

.stats-source {
	font-size: 12px;
	color: #45350D;
	line-height: 1.8;
	margin-bottom: 20px;
	text-align: center;
}

.stats-note {
	font-size: 11px;
	color: #45350D;
	line-height: 1.8;
	margin-bottom: 10px;
}

/* Responsive Styles */
@media only screen and (max-width: 1024px) {
	.lulumilk-about-text {
		width: 50%;
		padding-right: 30px;
	}

	.lulumilk-about-image {
		width: 45%;
	}

	.food-item {
		width: calc(33.333% - 11px);
		margin-right: 16px;
	}

	.food-item:nth-child(3n) {
		margin-right: 0;
	}

	.food-item:nth-child(4),
	.food-item:nth-child(5),
	.food-item:nth-child(6) {
		margin-top: 16px;
	}
}

@media only screen and (max-width: 768px) {
	.lulumilk-about-section {
		padding: 60px 0;
	}

	.lulumilk-about-wrapper {
		padding: 0 20px;
	}

	.lulumilk-about-text {
		float: none;
		width: 100%;
		padding-right: 0;
		margin-bottom: 30px;
	}

	.lulumilk-about-image {
		float: none;
		width: 100%;
		max-width: 300px;
		margin: 0 auto;
	}

	.about-title {
		font-size: 24px;
	}

	.about-line1,
	.about-line2,
	.about-line3 {
		font-size: 20px;
	}

	.lulumilk-food-wrapper {
		padding: 0 20px;
	}

	.food-item {
		width: calc(50% - 8px);
		margin-right: 16px;
	}

	.food-item:nth-child(2n) {
		margin-right: 0;
	}

	.food-item:nth-child(3),
	.food-item:nth-child(4),
	.food-item:nth-child(5),
	.food-item:nth-child(6) {
		margin-top: 16px;
	}

	.lulumilk-stats-section .container {
		padding: 0 20px;
	}

	.stat-column {
		float: none;
		width: 100%;
		margin-right: 0;
		margin-bottom: 30px;
	}

	.stat-column.last {
		margin-bottom: 0;
	}

	.stats-header-text {
		font-size: 16px;
	}
}

/* TOP CVボタン
==============================　*/
.float_btn {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 99;
	height: inherit !important;
    min-height: fit-content !important;
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition: transform 0.8s ease-in-out, opacity 0.8s ease-in-out, visibility 0.8s ease-in-out;
  }
  
  .float_btn:hover {
	opacity: 0.8;
	transform: translateY(-5px) scale(1.02);
	transition: transform 0.3s ease-in-out;
  }
  
  .float_btn_link {
	position: relative;
	display: block;
	width: 400px;
	height: auto;
	transition: transform 0.3s ease-in-out, filter 0.3s ease-in-out;
  }
  
  .float_btn:hover .float_btn_link img {
	transform: scale(1.02);
	transition: transform 0.3s ease-in-out;
  }
  
  .float_btn_link img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform 0.3s ease-in-out;
  }
  
  /*フッターまでスクロールしたら消す*/
  .float_btn.hide {
	transform: translateY(calc(100% + 20px)) !important; /* 要素を下方向に隠す */
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transition: transform 0.8s ease-in-out, opacity 0.8s ease-in-out, visibility 0.8s ease-in-out;
  }
  
  .float_btn.hide:hover {
	transform: translateY(calc(100% + 20px)) !important;
  }


  @media (min-width: 1025px) {
	/* Cart Link - テキストを非表示にしてアイコンを表示 */
	.cart-link a {
		background: transparent none repeat scroll 0 0;
		padding: 10px 0 4px 0;
		position: relative;
		border-left: medium none;
		font-weight: 600;
		font-family: 'Poppins', sans-serif;
		color: #000;
		font-size: 0;
		line-height: 20px;
		display: block;
		overflow: visible;
		text-indent: -9999px;
		white-space: nowrap;
		-webkit-transition: all 0.15s ease-in-out;
		transition: all 0.15s ease-in-out;
		width: auto;
		height: auto;
		min-height: 23px;
		min-width: 20px;
	}

	.cart-link a:hover {
		opacity: 1;
		transform: translateY(-6px) scale(1);
		transition: transform 0.3s ease-in-out;
		transform-origin:0% 0%;
	}

	.cart-link a::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		width: 20px;
		height: 20px;
		min-width: 20px;
		min-height: 20px;
		background: url('./images/shopping-cart.svg');
		background-size: 20px 20px;
		background-repeat: no-repeat;
		background-position: center;
		display: block;
		text-indent: 0;
		z-index: 10;
		opacity: 1;
		visibility: visible;
		-webkit-transition: all 0.15s ease-in-out;
		transition: all 0.15s ease-in-out;
	}

  }