@charset "UTF-8";

/*
Theme Name: sonic-drive
Description: sonic-drive-V4.4 Design WordPress tmpl.
Author: cmdc
Author URI: c-mdc.jp
Version: 4.4.1
*/

:root {
	--main:           #144369;
	--sub:            #223859;
	--emphasis:       #32404B;
	--caption:        #576D7E;
	--essence_floral: #da2f8d;
	--essence_citrus: #EA5412;
	--essence_herb:   #07913A;
	--essence_trees:  #6A3906;
	--essence_spice:  #C30D23;
	--essence_resins: #B18247;
	--essence_exotic: #7a1623;
	--bg_light:       #CBD9DA;
	--c_primary:      #144369;
	--c_secondary:    #223859;
	--c_success:      #EB8F2F;
	--c_info:         #30BC78;
	--c_warning:      #5150AF;
	--c_danger:       #DB2430;
	--c_light:        #C5D4D1;
	--c_dark:         #353535;
	--c_white:        #FFF;
	--c_black:        #000;
	--c_blue:         #0051A2;
}

a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, caption, canvas, center, cite, code, dd, del, details, dfn, dialog, div, dl, dt, em, embed, fieldset, figcaption, figure, form, footer, header, hgroup, h1, h2, h3, h4, h5, h6, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, main, small, span, strike, strong, sub, summary, sup, tt, table, tbody, tfoot, thead, time, tr, th, td, u, ul, var, video {
	margin: 0;
	padding: 0;
	font-family: inherit;
	font-size: 100%;
	font-weight: inherit;
	font-style: inherit;
	text-align: left;
	vertical-align: baseline;
	white-space: normal;
	border: 0;
	background: transparent;
	outline: 0;
}
* {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 100%;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
	display: block;
}

/* ------------------------------------
// common
------------------------------------ */
html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}
body {
	margin: 0;
	padding: 0;
	text-align: center;
	font-weight: 400;
	background: #FFF !important;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	word-break : break-all;
	word-wrap : break-word;
	overflow-wrap : break-word;
	overflow-x: hidden;
}
a {
	overflow: hidden;
	color: #101010;
	outline: none !important;
	-webkit-transition: all .7s;
	-moz-transition: all .7s;
	-ms-transition: all .7s;
	-o-transition: all .7s;
	transition: all .7s;
}
a:link, a:visited, a:active, a:hover, a:focus {
	overflow: hidden !important;
	outline: none !important;
}
a:link {
	color: #101010;
}
a:hover {
	color: #2F7DFF !important;
	text-decoration: underline;
}
:focus {
	outline: none !important;
}
a:visited {
	color: #101010;
}
a > .fa-twitter-square {
	color: #009ac3 !important;
}
a > .fa-line {
	color: #07b53b !important;
}
a > .fa-instagram,
a > .fa-square-instagram {
	color: #C13584 !important;
}
a > .fa-square-x-twitter {
	color: #222 !important;
}
a > .fa-youtube {
	color: #FF0000 !important;
}
a > .fa-square-envelope {
	color: #337AB7 !important;
}
.current {
	color: #337AB7 !important;
}
.link {
	padding-top: 225px !important;
}
.page_link {
	margin-top: -225px !important;
	padding-top: 225px !important;
}
img {
	max-width: 100% !important;
	height: auto !important;
}
a img {
	-moz-transition: -moz-transform 0.5s linear;
	-webkit-transition: -webkit-transform 0.5s linear;
	-o-transition: -o-transform 0.5s linear;
	-ms-transition: -ms-transform 0.5s linear;
	transition: transform 0.5s linear;
}
a:hover img {
	-webkit-opacity: 0.9;
	-moz-opacity: 0.9;
	-o-opacity: 0.9;
	filter: alpha(opacity=90);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=90)"; /* IE 8 */
	opacity: 0.90;
	-webkit-transform: scale(1.02);
	-moz-transform: scale(1.02);
	-o-transform: scale(1.02);
	-ms-transform: scale(1.02);
	transform: scale(1.02);
}
.noimage {
	height: 100%;
	display: block;
	color: #FFF;
	font-size: large;
	text-align: center;
	line-height: 10rem;
	background: #eee;
}
.none {
	display: none;
}
[class*="col-"] {
	margin-bottom: 30px;
	/*overflow: hidden;*/
}
blockquote {
	margin: 2rem auto 2rem;
	padding: 2rem;
	text-align: left;
	line-height: 1.8;
	font-size: 1.7rem;
	border-radius: 1rem;
	border: 3px double rgba(0, 154, 136, 0.7) !important;
}
blockquote:before {
	content: "";
}

/* ------------------------------------
// Custom Color Pallet
------------------------------------ */
.has-primary-color { color: var(--c_primary);}
.has-secondary-color { color: var(--c_secondary);}
.has-success-color { color: var(--c_success);}
.has-info-color { color: var(--c_info);}
.has-warning-color { color: var(--c_warning);}
.has-danger-color { color: var(--c_danger);}
.has-light-color { color: var(--c_light);}
.has-dark-color { color: var(--c_dark);}
.has-white-color { color: var(--c_white);}
.has-black-color { color: var(--c_black);}
.has-blue-color { color: var(--c_blue);}

.has-primary-background-color { background-color: var(--c_primary);}
.has-secondary-background-color { background-color: var(--c_secondary);}
.has-success-background-color { background-color: var(--c_success);}
.has-info-background-color { background-color: var(--c_info);}
.has-warning-background-color { background-color: var(--c_warning);}
.has-danger-background-color { background-color: var(--c_danger);}
.has-light-background-color { background-color: var(--c_light);}
.has-dark-background-color { background-color: var(--c_dark);}
.has-white-background-color { background-color: var(--c_white);}
.has-black-background-color { background-color: var(--c_black);}
.has-blue-background-color { background-color: var(--c_blue);}

/* ------------------------------------
// background
------------------------------------ */
.bg-main { background-color: #162f4e !important;}
.bg-blue {background-color: #004DA0 !important;}
.bg-db {background-color: #0962EA !important;}
.bg-red { background-color: #DA1523 !important;}
.bg-sky { background-color: #00BCD4 !important;}
.bg-green { background-color: #009A88 !important;}
.bg-orange { background-color: #EF8300 !important;}
.bg-pink { background-color: #f77366 !important;}
.bg-purple { background-color: #c375ad !important;}
.bg-gray { background-color: #F3F3F3 !important;}
.bg-contact { background-color: #fdeef1 !important;}
.bg-beige {background-color: #FFF8E1 !important;}
.bg-01 { background-color: #FFF8E1 !important;}
.bg-02 { background-color: #E5F5F3 !important;}
.bg-03 { background-color: hsla(187, 100%, 42%, 0.1) !important;}
.bg-box {
	background-color: rgba(255, 255, 255, 0.95) !important;
}
.pattern-01 {
	background-image: url("common/background/bg-pattern.svg");
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
	background-attachment: fixed;
}
.bg-shadows {
	box-shadow: 0px 4px 2px -2px rgb(0 0 0 / 5%) inset,0px -4px 2px -2px rgb(0 0 0 / 5%) inset !important;
}
.bg-banner {
	background-size: auto auto;
	background-color: rgba(255, 255, 255, 1);
	background-image: repeating-linear-gradient(-45deg, transparent, transparent 3px, rgba(97, 189, 98, 0.3) 3px, rgba(97, 189, 98, 0.3) 6px );
	box-shadow: 0px 4px 2px -2px rgb(0 0 0 / 5%) inset,0px -4px 2px -2px rgb(0 0 0 / 5%) inset;
}
.bg-list {
	background-color: hsla(79, 86%, 43%, 0.2);
}

/* ------------------------------------
// border
------------------------------------ */
.border-db {border: 2px solid rgba(0, 51, 102, 0.7) !important;}
.border-double {
	padding: .75rem !important;
	border-width: 3px !important;
	border-style: double !important;
}

/* ------------------------------------
// typography
------------------------------------ */
h1, h2, h3, .h1, .h2 .h3 {
	margin: 0 0 1rem;
	text-align: left;
	font-weight: 700;
	line-height: 1.5 !important;
	letter-spacing: .1rem;
}
h4, h5, h6, .h4, .h5, .h6 {
	margin: 0 0 1rem;
	font-weight: 700 !important;
	text-align: left;
	letter-spacing: .1rem;
}
.post-title {
	letter-spacing: .1rem;
}
h1 {
	color: #232323;
	font-weight: 900 !important;
	line-height: 1.3;
}
.title {
	font-weight: 700 !important;
	letter-spacing: .2rem !important;
}
.eng-title {
	letter-spacing: -0.5px !important;
	font-weight: 700 !important;
	font-family: "Oswald", sans-serif !important;
	text-transform: uppercase !important;
}
.content-title {
	font-weight: 400 !important;
	letter-spacing: .2rem !important;
}
h1.title {
	margin: 0 0 5rem !important;
	letter-spacing: 1rem !important;
	font-weight: 400 !important;
}
h1.title > small {
	margin-left: 2rem;
	display: inline-block;
	text-align: left;
	font-size: 1.3rem !important;
}
h2 {
	margin: 0 0 2rem !important;
	color: #232323;
	font-weight: 700 !important;
	letter-spacing: .2rem;
}
h2.title {
	margin-bottom: 5rem;
}
h2.eng-title {
	font-size: 4rem !important;
}
h2.title small,
h2.eng-title small {
	margin-top: .2rem;
	padding: 0;
	display: block;
	text-align: center;
	line-height: 1.2;
	font-size: 40% !important;
	font-family: "Roboto", "Hiragino Sans", "Meiryo", "Hiragino Kaku Gothic ProN", sans-serif !important;
}
h2.title small::before,
h2.eng-title small::before {
	margin-right: 5px;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f068";
}
h2.title small::after,
h2.eng-title small::after {
	margin-left: 5px;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f068";
}
.works-title {
	padding: 0 10px 10px !important;
	background-image: repeating-linear-gradient(-45deg, #333 0px, #333 1px, rgba(0 0 0 / 0) 0%, rgba(0 0 0 / 0) 50%);
	background-size: 8px 8px;
	background-repeat: repeat-x;
	background-position: center bottom;
}
h2.page-title {
	margin-bottom: 5rem !important;
	text-align: center;
}
h2.page-title span {
	display: block;
	text-align: center;
	letter-spacing: 0 !important;
}
h2.page-title span::before {
	margin-right: 1rem;
	font-family: "Font Awesome 6 Free";
	content: "\f0c9";
	opacity: 0.5;
}
h2.page-title span::after {
	margin-left: 1rem;
	font-family: "Font Awesome 6 Free";
	content: "\f0c9";
	opacity: 0.5;
}
h2.page-title small {
	margin-bottom: .35rem;
	display: block;
	text-align: center;
	font-size: 70%;
	color: #555;
}
h3 {
	margin: 0 0 1rem !important;
	padding: 0;
	line-height: 1.5;
}
h3.eng-title {
	font-size: 3.2rem !important;
}
h3.sub-title {
	margin-bottom: 2rem !important;
	padding-bottom: .5rem;
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	width: 100%;
	font-weight: 700 !important;
	font-family: "Roboto", "Hiragino Sans", "Meiryo", "Hiragino Kaku Gothic ProN", sans-serif !important;
	border-bottom: 2px solid #CCC;
}
h3.sub-title::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 0;
	width: 20%;
	height: 2px;
	background-color: #61BD62;
}
h3.sub-title > span {
	margin-right: .5rem;
	padding: .3rem 1rem;
	display: inline-block;
	line-height: 1 !important;
	color: #FFF;
	background-color: #61BD62;
}
h3.eng {
	letter-spacing: 0 !important;
}
h4 {
	margin: 0 0 1rem;
	line-height: 1.6 !important;
}
h5 {
	margin: 0 0 1rem;
	line-height: 1.6 !important;
}
h6 {
	margin: 0 0 1rem;
	line-height: 1.7 !important;
}
p {
	margin: 0 0 1rem;
	line-height: 1.7 !important;
	letter-spacing: .1rem;
	text-align: left;
}
strong, .strong {
	font-weight: 700 !important;
}
em {
	font-weight: 700 !important;
	font-style: normal !important;
}
small {
	display: inline-block;
	font-size: 85%;
	font-weight: 400;
	line-height: 1.6;
}
.small {
	font-size: .8em !important;
	font-weight: 400;
	letter-spacing: 0 !important;
}
label {
	padding: 1.5rem 2.5rem;
	line-height: 1;
	text-transform: capitalize;
	color: #FFF;
	letter-spacing: 0.5px;
	background: #76928D !important;
	border-radius: .25rem;
}
label > small {
	display: block;
	text-align: center;
	font-size: 70%;
	color: #0AA800;
}
label.sub-label {
	padding: 1rem 1.5rem;
	line-height: 1;
	text-transform: capitalize;
	color: #FFF;
	letter-spacing: 0.5px;
	border-radius: .75rem;
}
label.label-list {
	margin-right: .5rem;
	padding: .75rem 1rem;
	line-height: 1;
	text-transform: capitalize;
	color: #FFF !important;
	letter-spacing: 0.5px;
	border-radius: .35rem;
	background-color: #09E !important;
}
.lead {
	font-weight: 700 !important;
	font-size: 1.8rem;
}
.normal {
	font-weight: 400 !important;
	letter-spacing: .2rem !important;
}
@keyframes underlineDelay {
	0% {
		transform: scaleX(0);
	}
	100% {
		transform: scaleX(1);
	}
}
.phone-number {
	font-size: 2em !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}
.phone-number:hover {
	text-decoration: none !important;
}
.number-title {
	margin-top: 0 !important;
	margin-bottom: 1rem !important;
	display: flex;
	flex-wrap: nowrap;
	align-items: end;
	line-height: 1.2 !important;
	font-size: 2.7rem !important;
	font-weight: 700 !important;
	letter-spacing: .1rem !important;
}
.number-title small {
	margin-right: .5rem;
	font-weight: 400 !important;
	font-size: .6em !important;
}
hr {
	margin-top: 2rem !important;
	margin-bottom: 2rem !important;
	border: 0;
		border-top-color: currentcolor;
		border-top-style: none;
		border-top-width: 0px;
	border-top: .2rem dotted rgba(0,0,0,.1);
}
.ls-0 {
	letter-spacing: 0 !important;
}
.ls-2 {
	letter-spacing: .2rem !important;
}
.ls-3 {
	letter-spacing: .3rem !important;
}
.lh-1 {
	line-height: 1.7 !important;
}
.lh-2 {
	line-height: 2 !important;
}
.txt-c {
	text-align: center !important;
}
.txt-min {
	font-weight: 400 !important;
	letter-spacing: .1rem !important;
	font-family: 'Noto Serif JP' , "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif !important;
}
.text-min {
	font-weight: 400 !important;
}
.vertical-text {
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode:vertical-rl;
	margin: 2rem auto .5rem;
}

/* ------------------------------------
// Block Editer Aetting
------------------------------------ */
.column-title {
	margin: 0 !important;
	padding: 1rem !important;
	color: #FFF !important;
	text-align: center !important;
	background-color: var(--main) !important;
}
/*
.wp-block-heading {
	color: var(--main);
}*/
h3.wp-block-heading {
	margin-bottom: 1rem;
}
h4.wp-block-heading {
	margin-bottom: .75rem;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: var(--main);
	letter-spacing: 0.5px;
}
h5.wp-block-heading {
	margin-bottom: 1rem;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	letter-spacing: 0.5px;
}
.wp-block-heading.column-title {
	margin-bottom: .75rem;
	font-weight: 400 !important;
	line-height: 1.3 !important;
	color: var(--main);
	letter-spacing: 0.5px;
}
ul.wp-block-list {
	margin: .35rem 0 .75rem;
}
ul.wp-block-list li {
	margin-bottom: .5rem;
}
ul.wp-block-list li:before {
	margin-right: 5px;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f0da";
	opacity: 0.6;
}
.has-text-align-center {
	text-align: center !important;
}
figure {
	margin: 0 !important;
}
figure img {
	/*width: 100%;*/
	max-width: 100%;
	height: auto;
}
.item-gird .card figure {
	display: flex;
}
.item-gird figure img {
	object-fit: cover;
	aspect-ratio: 1 / 1;
}
.products-thum figure img {
	width: 100%;
	height: auto;
	object-fit: cover;
}
figure.wp-block-embed-youtube {
	margin: 1rem 0 !important;
	/*width: 100%;
	aspect-ratio: 16 / 9;*/
}
figure.wp-block-embed-youtube iframe {
	aspect-ratio: 16 / 9;
	width: 100%;
	height: auto;
}
figcaption {
	font-size: 90%;
	line-height: 1.4 !important;
}
.wp-block-button__link {
	margin: 1rem 0;
	color: #FFF !important;
	text-decoration: none !important;
	border-radius: 7px;
	background-color: #144369 !important;
}
.wp-block-button__link:hover {
	color: #FFF !important;
	text-decoration: none !important;
	background-color: var(--emphasis) !important;
}
.wp-block-button__link:visited {
	color: #FFF !important;
	text-decoration: none !important;
}
.wp-block-button__link.has-small-font-size {
	margin-top: .5rem;
	margin-bottom: .5rem;
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-style-stripes tbody tr:nth-child(odd) th,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-style-stripes tbody tr:nth-child(odd) td {
	background-color: #FFF;
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-style-stripes tbody tr:nth-child(even) th,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-style-stripes tbody tr:nth-child(even) td {
	background-color: #F0F0F1;
}
.table-list {
	font-size: 85% !important;
}
.table-list th,
.table-list td {
	text-align: center;
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.makers > table tr th:nth-child(even) {
	background-color: var(--caption) !important;
}
.makers td {
	font-size: 90%;
	line-height: 1.3;
}
.makers img {
	margin: 0 auto !important;
	width: 95px !important;
	height: auto;
}
.tbl-sm table {
	font-size: 80% !important;
}
.tbl-sm table tbody tr th,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.tbl-sm > table tr th {
	padding-left: 1rem !important;
	padding-right: 1rem !important;
	color: inherit !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	white-space: nowrap !important;
	background-color: #f0f0f1 !important;
}
.tbl-sm table tbody tr:nth-child(odd) th,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.tbl-sm > table tr:nth-child(odd) th {
	padding-left: 1rem !important;
	padding-right: 1rem !important;
	color: inherit !important;
	font-weight: 400 !important;
	white-space: nowrap !important;
	background-color: #FFF !important;
}
.tbl-sm table tbody tr td,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.tbl-sm > table tr td {
	padding-left: 1rem !important;
	padding-right: 1rem !important;
	text-align: left;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
}
.tbl-sm.is-content-justification-center table tbody tr td,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.tbl-sm.is-content-justification-center > table tr td {
	width: 18%;
	text-align: center !important;
}
/* カラムブロックの縦並び設定 */
.equal-height-columns .wp-block-column {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
}
/* カラム直下の子要素（グループなど）を縦一杯に伸ばす */
.equal-height-columns .wp-block-column > * {
	flex-grow: 1;
}
@media (max-width: 767.98px) {
	.wp-block-columns {
		gap: .5rem;
	}
	.wp-block-columns.grid-sp-50:not(.is-not-stacked-on-mobile)>.wp-block-column {
		flex-basis: 45% !important;
	}
	.wp-block-columns.sp2::after{
		content: "";
		width: 45%;
		height: 0;
	}
	.wp-block-buttons>.wp-block-button,
	.wp-block-buttons>.wp-block-button.wp-block-button__width-50 {
		width: 90%;
	}
}

/* ------------------------------------
// space
------------------------------------ */
.mb-6 { margin-bottom: 4rem !important;}
.mb-7 { margin-bottom: 6rem !important;}

/* ------------------------------------
// header
------------------------------------ */
header#main-head {
	padding: .35rem 1rem;
	position: fixed;
	width: 100%;
	color: #FFF;
	overflow: hidden;
	z-index: 99999;
}
.header-nav a:hover img {
	-webkit-opacity: 0.85;
	-moz-opacity: 0.85;
	-o-opacity: 0.85;
	filter: alpha(opacity=85);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=85)"; /* IE 8 */
	opacity: 0.85;
	-webkit-transform: scale(1) !important;
	-moz-transform: scale(1) !important;
	-o-transform: scale(1) !important;
	-ms-transform: scale(1) !important;
	transform: scale(1) !important;
}
.header-nav .header-info {
	margin-top: 5px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: end;
	align-items: center;
}
.header-nav .header-phone {
	margin-right: 10px;
	padding: 4px 10px 6px;
	display: inline-block;
	color: #FFF !important;
	font-weight: 700 !important;
	font-size: 1.9rem !important;
	font-family: "Oswald", sans-serif !important;
	line-height: 1;
	letter-spacing: 0 !important;
	background-color: #223859;
	border-radius: .25rem;
}
.header-nav .header-phone:hover {
	color: #FFF !important;
	text-decoration: none !important;
	background-color: #004DA0;
}
.header-nav .header-btn {
	margin: 0 10px 0;
	display: inline-block;
}

/* ------------------------------------
// color variation
------------------------------------ */
.text-black {color: #232323 !important;}
.text-gray {color: #858585 !important;}
.text-blue {color: #004DA0 !important;}
.text-db {color: #036 !important;}
.text-red {color: #d30023 !important;}
.text-sky {color: #009AC3 !important;}
.text-pink {color: #FD757A !important;}
.text-purple {color: #c375ad !important;}
.text-lime {color: #76C944 !important;}
.text-yellow {color: #F8AF4B !important;}
.text-orange {color: #EF8300 !important;}
.text-green {color: #009A88 !important;}
.text-white {color: #FFF !important;}
.svg-title {
	fill: currentColor !important;
}
.shodow {
	box-shadow: 0 0 3px rgba(0,0,0,.2);
	border-radius: .25rem;
}

/* ------------------------------------
// list
------------------------------------ */
ul, ol, dl dt, dd {
	line-height: 1.5;
}
dl {
	margin: .5rem 0 1rem !important;
}
dt {
	margin: 0 0 .5rem;
	padding: .5rem .5rem .5rem .75rem;
	text-align: left;
	font-size: 1.1em !important;
	font-weight: 700 !important;
}
dd {
	margin: 0 0 1.2rem !important;
	padding: 0 0 .5rem;
	line-height: 1.7;
	text-align: left;
}
dl.faq {
	margin: 0 0 2rem !important;
}
dl.faq dt {
	margin-bottom: 1.5rem;
	padding: 1.25rem .5rem 1.25rem .75rem;
	font-size: 1.7rem !important;
	color: #FFF !important;
	background-color: #76928D;
}
dl.faq dt::before {
	margin-right: .3rem;
	content: 'Q.';
	color: #93E7C5;
}
dl.faq dd {
	padding: 0 .5rem 0 1.5em;
	text-indent: -1em;
	font-size: 1.5rem !important;
	line-height: 1.6 !important;
}
dl.faq dd::before {
	margin-right: .3rem !important;
	content: 'A.';
	font-weight: 700 !important;
	font-size: 1.8rem !important;
	color: #C30 !important;
}
li {
	margin: .5rem 0 .5rem;
	list-style: none;
}
ul.arrow {
	margin: 0 0 2rem;
}
ul.arrow li {
	margin: 0 0 .75rem;
	text-align: left;
	font-weight: 400;
}
ul.arrow li:last-child {
	margin-bottom: 0 !important;
}
ul.arrow li:before {
	margin-right: 5px;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f0da";
	opacity: 0.6;
}
ul.inline-list {
	margin: 0 0 .75rem;
}
ul.inline-list li {
	margin: 0 .5rem .5rem 0;
	padding: .5rem;
	display: inline-block;
	border-radius: .35rem;
}
.wp-block-separator,
hr.hr-dotted {
	margin: 3rem 0 4rem !important;
	border-top: 2px dotted rgba(125, 125, 125, 0.3) !important;
}
hr.hr-dotted2 {
	margin: 2rem 0 2rem !important;
	border-top: 2px dotted rgba(255, 255, 255, 0.5);
}
hr.hr-line {
	margin: 2em 0;
	border-top: 2px dotted rgba(0, 0, 0, 0.1);
}

/* ------------------------------------
// media
------------------------------------ */
object {
	pointer-events: none;
}
a > object {
	display: inline-block;
}
.thumbnail>img, .thumbnail a>img, .carousel-inner>.item>img, .carousel-inner>.item>a>img {
	margin-top: 0;
	margin-bottom: 0;
	max-width: 100%;
	height: auto;
	display: block;
	text-align: center;
}
.navbar-brand img {
	margin-top: 0;
	margin-bottom: .0;
	width: 96%;
	max-width: 100%;
	height: auto;
	display: block;
	text-align: center;
}
.img-responsive {
	margin: 0 auto;
	max-width: 100%;
	height: auto;
	display: block;
	text-align: center;
}
.img-50 {
	margin: 0 auto;
	max-width: 50% !important;
	width: 100% !important;
	height: auto;
}
.img-circle {
	margin: 0 auto;
	width: 100% !important;
	height: auto;
	border-radius: 50%;
}
.img-fit {
	max-width: 100% !important;
	width: 100% !important;
	height: auto;
}
.img-shodow {
	box-shadow: 12px 12px 0 hsla(32, 30%, 83%, 0.9);
}
.img-border {
	box-shadow: 10px 10px 0 hsla(0, 0%, 0%, 0.2);
}

/* ------------------------------------
// layout
------------------------------------ */
main {
	margin: 0;
	padding-top: 1.5rem;
}
main#pages {
	text-align: left;
}
article {
	margin: 0;
}
article#top {
	z-index: 88888 !important;
}
main#page article {
	min-height: 400px !important;
}
section {
	margin: 0 0;
	padding: 5rem 0 4rem;
}
article section {
	padding: 7rem 0 5rem;
	background-color: #FFF;
}
article section.parallax {
	background-attachment: fixed;
}
article section.dream-element {
	position: relative;
	background-image: url('common/background/bg-dream.jpg');
	background-position: right center !important;
	background-size: cover !important
}
.webp article section.dream-element {
	position: relative;
	background-image: url('common/background/bg-dream.webp');
	background-position: right center !important;
	background-size: cover !important
}
article section.service-element {
	position: relative;
	background-image: url("common/background/bg-pattern.svg");
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
	background-attachment: fixed;
}
article section.products-element {
	position: relative;
	background-image: url('common/background/bg-products.jpg');
	background-position: center center !important;
	background-size: cover !important
}
.webp article section.products-element {
	position: relative;
	background-image: url('common/background/bg-products.webp');
	background-position: center center !important;
	background-size: cover !important
}
article section.purfume-element {
	position: relative;
	background-image: url('common/background/bg-purfume.jpg');
	background-position: center center !important;
	background-size: cover !important
}
.webp article section.purfume-element {
	position: relative;
	background-image: url('common/background/bg-purfume.webp');
	background-position: center center !important;
	background-size: cover !important
}
article section.purfumeproject-element {
	position: relative;
	background-image: url('common/background/bg-purfumeproject.jpg');
	background-position: center bottom !important;
	background-size: cover !important
}
.webp article section.purfumeproject-element {
	position: relative;
	background-image: url('common/background/bg-purfumeproject.webp');
	background-position: center bottom !important;
	background-size: cover !important
}
article section.purfumeessence-element {
	position: relative;
	background-image: url('common/background/bg-purfumeproject02.jpg') !important;
	background-position: center bottom !important;
	background-size: cover !important
}
.webp article section.purfumeessence-element {
	position: relative;
	background-image: url('common/background/bg-purfumeproject02.webp') !important;
	background-position: center bottom !important;
	background-size: cover !important
}
article section.recruit-element {
	position: relative;
	background-image: url('common/background/bg-recruit.jpg');
	background-position: center center !important;
	background-size: cover !important
}
.webp article section.recruit-element {
	position: relative;
	background-image: url('common/background/bg-recruit.webp');
	background-position: center center !important;
	background-size: cover !important
}
article section.light-element::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.7);
}
article section.white-element::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.85);
}
article section.natural-element {
	color: #FFF;
}
article section.natural-element::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(142, 121, 83, 0.6);
}
article section.black-element,
article section.dark-element {
	color: #FFF;
}
article section.black-element::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(10, 10, 1, 0.85);
}
article section.dark-element::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(16, 16, 16, 0.7);
}
article section .container {
	position: relative;
	z-index: 2;
}
main#post article section {
	padding: 3rem 0 3rem;
	background-color: #FFF !important;
}
#page article section:nth-child(even) {
	height: 100%;
	position: relative;
	background-color: #F5F5F5;
}
article section .container_innner {
	margin-bottom: 5rem;
	background-color: #FFF;
}
aside {
	margin: 0 0 1rem;
	padding: 3rem 0 2rem;
}
aside#sidebar {
	margin: 0 0 1rem;
	padding: 0 0 0 10px;
}
aside section {
	padding: 0;
}
footer {
	margin: 0 auto 0;
	padding: 2.5rem 0 .5rem;
	text-align: center;
	font-weight: 400 !important;
	position: relative;
	color: #FFF;
	background-color: #242424;
}
.clearfix, .post_body {
	zoom: 1;
}
.clearfix:after, .post_body:after {
	height: 0;
	display: block;
	visibility: hidden;
	content: ".";
	clear: both;
}
@media screen and (min-width: 768px) {
	main#page article section.thankyou,
	main#page article section.sitemap-list,
	main#page article section.link-list,
	main#post article section.single-post {
		min-height: 600px;
	}
	.pc-contents {
		text-align: center !important;
	}
}
@media (max-width: 767.98px) {
	aside#sidebar {
		margin: 0 0 1rem;
		padding: 0;
	}
	aside#sidebar .widgets {
		padding: 0 15px;
	}
}

/* ------------------------------------
// slider
------------------------------------ */
header#mv {
	margin-top: 0;
	padding: 0 !important;
	width: 100%;
	position: relative;
	background: rgb(255,255,255);
}
.main-visual {
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	position: relative;
	z-index: 2;
}
.main-visual .slide-contents {
	margin: 0 auto !important;
	padding: 0 0 0 !important;
	width: 90%;
	position: absolute !important;
	top: 50%;
	left: 5%;
	transform: translateY(-50%);
	z-index: 3;
	text-align: left;
	color: #FFF !important;
}
.main-visual .slide-contents .card {
	padding: 1.5rem 2rem !important;
}
.main-visual .slide-contents img.header-svg {
	margin: 0 auto 1rem 0 !important;
	width: 100%;
	max-width: 600px !important;
	height: auto;
}
.main-visual .slide-contents h1 {
	margin-bottom: 1.5rem;
	text-align: left;
	font-size: 5rem;
	font-weight: 700 !important;
	letter-spacing: .2rem !important;
	color: var(--Organic-hex);
	line-height: 1.5 !important;
}
.main-visual .slide-contents h2 {
	margin-bottom: 2rem !important;
	text-align: center;
	font-size: 3rem !important;
	font-weight: 600 !important;
	letter-spacing: .1rem !important;
	color: #FFF;
}
.main-visual .slide-contents p {
	margin-bottom: .5rem !important;
	text-align: left;
	font-size: 1.9rem !important;
	font-weight: 600 !important;
	letter-spacing: .1rem !important;
	color: #FFF;
}

.slideshow {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	background-color: #000;
}
.slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-color: rgba(0,0,0,0.3);
	background-blend-mode: darken;
	opacity: 0;
	animation: zoomFade 21s infinite;
}
.slide:nth-child(1) {
	animation-delay: 0s;
	background-image: url('common/slider/slider-pc01.jpg');
}
.webp .slide:nth-child(1) {
	animation-delay: 0s;
	background-image: url('common/slider/slider-pc01.webp');
}
.slide:nth-child(2) {
	animation-delay: 7s;
	background-image: url('common/slider/slider-pc02.jpg');
}
.webp .slide:nth-child(2) {
	animation-delay: 7s;
	background-image: url('common/slider/slider-pc02.webp');
}
.slide:nth-child(3) {
	animation-delay: 14s;
	background-image: url('common/slider/slider-pc03.jpg');
}
.webp .slide:nth-child(3) {
	animation-delay: 14s;
	background-image: url('common/slider/slider-pc03.webp');
}
@keyframes zoomFade {
	0% {
		opacity: 0;
		transform: scale(1.0);
	}
	5% {
		opacity: 1;
	}
	33.33% {
		opacity: 1;
	}
	38.33% {
		opacity: 0;
		transform: scale(1.15);
	}
	100% {
		opacity: 0;
		transform: scale(1.0);
	}
}
.scroll-down {
	position:absolute;
	left:50%;
	bottom:20px;
	height:50px;
	z-index: 3;
}
.scroll-down span {
	position: absolute;
	left:-25px;
	top: 0px;
	color: #eee;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-webkit-text-orientation: mixed;
	text-orientation: mixed;
}
.scroll-down::after {
	content: "";
	position: absolute;
	top: 0;
	width: 1px;
	height: 30px;
	background: #eee;
	animation: pathmove 1.4s ease-in-out infinite;
	opacity:0;
	}
	@keyframes pathmove {
	0% {
		height:0;
		top:0;
		opacity: 0;
	}
	30% {
		height:30px;
		opacity: 1;
	}
	100% {
		height:0;
		top:50px;
		opacity: 0;
	}
}
@media (max-width: 767.98px) {
	.slideshow {
		width: 100%;
		height: calc(100vh - 60px);
	}
	.main-visual .slide-contents {
		margin: 0 !important;
		padding: 0 10px 0 !important;
		width: 100%;
		top: 50%;
		left: 0;
	}
	.slide:nth-child(1) {
		animation-delay: 0s;
		background-image: url('common/slider/slider-sp01.jpg');
	}
	.webp .slide:nth-child(1) {
		animation-delay: 0s;
		background-image: url('common/slider/slider-sp01.webp');
	}
	.slide:nth-child(2) {
		animation-delay: 7s;
		background-image: url('common/slider/slider-sp02.jpg');
	}
	.webp .slide:nth-child(2) {
		animation-delay: 7s;
		background-image: url('common/slider/slider-sp02.webp');
	}
	.slide:nth-child(3) {
		animation-delay: 14s;
		background-image: url('common/slider/slider-sp03.jpg');
	}
	.webp .slide:nth-child(3) {
		animation-delay: 14s;
		background-image: url('common/slider/slider-sp03.webp');
	}
	.main-visual .card {
		padding: 1rem !important;
	}
	.main-visual .slide-contents h1 {
		margin-bottom: 1.5rem !important;
		font-size: 2.4rem !important;
		line-height: 1.6 !important;
		letter-spacing: 1px !important;
		text-align: left !important;
	}
	.main-visual .slide-contents h2 {
		text-align: left !important;
		font-size: 1.8rem !important;
		letter-spacing: 1px !important;
		text-align: left !important;
	}
	.main-visual .slide-contents p {
		font-size: 1.4rem !important;
	}
}

/*-----------------------------------------------------
// contents
-----------------------------------------------------*/
#page-header {
	padding: 0 !important;
	position: relative;
	height: 100vh;
	background-color: #101010;
}
#page-headers {
	padding: 0 !important;
	position: relative;
	background-color: #101010;
}
#page-header .header-element {
	margin: 0 auto;
	/*padding-top: 51.041%;
	height: 0;*/
	padding: 0;
	height: 100vh;
	position: relative;
	overflow: hidden;
	background-image: url('common/header/header-pc.jpg');
	background-position: center bottom !important;
	background-size: cover !important;
	-webkit-animation: zoom 10s 1;
	animation: zoom 10s 1;
	animation-fill-mode: forwards;
}
.webp #page-header .header-element {
	margin: 0 auto;
	/*padding-top: 51.041%;
	height: 0;*/
	padding: 0;
	height: 100vh;
	position: relative;
	overflow: hidden;
	background-image: url('common/header/header-pc.webp');
	background-position: center bottom !important;
	background-size: cover !important;
	-webkit-animation: zoom 10s 1;
	animation: zoom 10s 1;
	animation-fill-mode: forwards;
}
@keyframes zoom {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.25);
	}
}
#page-header .header-element::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(16, 16, 16, 0.5);
}
#page-header .container {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
#page-header .container h1.title {
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);
}
#page-header .container h2.title {
	margin-bottom: 0 !important;
	text-align: center;
	border: none !important;
}
#page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead.jpg');
	background-position: center bottom !important;
	background-size: cover !important;
}
.webp #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead.webp');
	background-position: center bottom !important;
	background-size: cover !important;
}
.aboutus #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-company.jpg');
	background-position: center bottom !important;
	background-size: cover !important;
}
.webp .aboutus #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-company.webp');
	background-position: center bottom !important;
	background-size: cover !important;
}
.mission #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-mission.jpg');
	background-position: center bottom !important;
	background-size: cover !important;
}
.webp .mission #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-mission.webp');
	background-position: center bottom !important;
	background-size: cover !important;
}
.info #page-headers .header-element,
.category #page-headers .header-element,
.single #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-info.jpg');
	background-position: center bottom !important;
	background-size: cover !important;
}
.webp .info #page-headers .header-element,
.webp .category #page-headers .header-element,
.webp .single #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-info.webp');
	background-position: center bottom !important;
	background-size: cover !important;
}
.product #page-headers .header-element,
.tools #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-service.jpg');
	background-position: center bottom !important;
	background-size: cover !important;
}
.webp .product #page-headers .header-element,
.webp .tools #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-service.webp');
	background-position: center bottom !important;
	background-size: cover !important;
}
.operations #page-headers .header-element,
.single-operation #page-headers .header-element,
.case-study #page-headers .header-element,
.single-case-studies #page-headers .header-element,
.product.solution #page-headers .header-element,
.case #page-headers .header-element,
.support #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-case.jpg');
	background-position: center bottom !important;
	background-size: cover !important;
}
.webp .operations #page-headers .header-element,
.webp .single-operation #page-headers .header-element,
.webp .case-study #page-headers .header-element,
.webp .single-case-studies #page-headers .header-element,
.webp .product.solution #page-headers .header-element,
.webp .case #page-headers .header-element,
.webp .support #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-case.webp');
	background-position: center bottom !important;
	background-size: cover !important;
}
.parts #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-import.jpg');
	background-position: center bottom !important;
	background-size: cover !important;
}
.webp .parts #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-import.webp');
	background-position: center bottom !important;
	background-size: cover !important;
}
.software #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-software.jpg');
	background-position: center bottom !important;
	background-size: cover !important;
}
.webp .software #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-software.webp');
	background-position: center bottom !important;
	background-size: cover !important;
}
.faq #page-headers .header-element,
.service-information-tools #page-headers .header-element,
.single-question #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-faq.jpg');
	background-position: center bottom !important;
	background-size: cover !important;
}
.webp .faq #page-headers .header-element,
.webp .service-information-tools #page-headers .header-element,
.webp .single-question #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-faq.webp');
	background-position: center bottom !important;
	background-size: cover !important;
}
.purfume_project #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-perfume.jpg');
	background-position: center bottom !important;
	background-size: cover !important;
}
.webp .purfume_project #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-perfume.webp');
	background-position: center bottom !important;
	background-size: cover !important;
}
.sonicmembers #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-members.jpg');
	background-position: center bottom !important;
	background-size: cover !important;
}
.webp .sonicmembers #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-members.webp');
	background-position: center bottom !important;
	background-size: cover !important;
}
.support #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-support.jpg');
	background-position: center bottom !important;
	background-size: cover !important;
}
.webp .support #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-support.webp');
	background-position: center bottom !important;
	background-size: cover !important;
}
.contact #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-form.jpg');
	background-position: center bottom !important;
	background-size: cover !important;
}
.webp .contact #page-headers .header-element {
	margin: 0 auto;
	padding-top: 25.00%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead-form.webp');
	background-position: center bottom !important;
	background-size: cover !important;
}
#page-headers .header-element::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(16, 16, 16, 0.5);
}
#page-headers .container {
	position: absolute;
	left: 50%;
	top: 60%;
	transform: translate(-50%,-50%);
}
#page-headers .container h2.title {
	margin-bottom: 0 !important;
	text-align: center;
	border: none !important;
}
#page-headers .container h1.title {
	margin: 0 0 2rem !important;
	padding: 0;
	display: block;
	color: #FFF !important;
	font-size: 4rem !important;
	font-weight: 400 !important;
	letter-spacing: .2rem !important;
	text-align: center !important;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);
}
#page-headers .container h1.title.eng-title {
	letter-spacing: 0 !important;
}
#page-header .container h2.title {
	margin: 0 0 .25rem !important;
	padding: 0;
	display: block;
	color: #FFF !important;
	font-size: 2.4rem !important;
	font-weight: 400 !important;
	letter-spacing: .5rem !important;
	text-align: center !important;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);
}
.cards {
	padding-bottom: .5rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.post-date {
	margin-top: .35rem !important;
	padding: .35rem 1rem;
	font-size: 1.3rem;
	letter-spacing: 0 !important;
	border-radius: .35rem;
}
.postmeta-date {
	font-size: 1.4rem;
	color: #555;
	letter-spacing: 0 !important;
}
.page-nav {
	margin: .5rem 0 0;
	text-align: right;
}
.page-nav a {
	margin: 0 1rem;
	display: inline-block;
	color: #222 !important;
}
#certifications .small {
	font-size: .9em !important;
}

/*-----------------------------------------------------
// footer
-----------------------------------------------------*/
footer section {
	padding: 0 !important;
	text-align: left;
}
footer #copy {
	padding: 1.5rem .5rem !important;
	color: #777;
}
#footer-banner h4 {
	margin-bottom: 1rem !important;
}
footer h5 {
	margin: 0 0 .5rem;
	letter-spacing: .1rem;
	text-align: center;
}
footer p {
	margin: 0 0 .5rem;
	font-size: 1.45rem;
	letter-spacing: 0;
}
footer a {
	color: #FFF !important;
}
footer a:hover {
	text-decoration: none !important;
}
footer .lead {
	font-size: 2rem !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}
footer ul.footer-nav {
	margin: 0 0 2.5rem !important;
}
footer ul.footer-nav li {
	margin-top: 0;
	margin-bottom: .75rem;
	text-align: left;
	font-size: .9em !important;
}
footer ul.footer-nav li a {
	color: #FFF !important;
	font-weight: 400;
	text-decoration: none !important;
}
footer ul.footer-nav li a::before {
	margin-right: .3rem;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f0da";
	opacity: 0.7;
}
footer ul.footer-nav li ul li a::before {
	opacity: 0.4;
}
footer ul.footer-list {
	margin: 0 0 1.5rem !important;
}
footer ul.footer-list li {
	font-size: 1.35rem !important;
}
footer img.footer-logo {
	margin: 0 auto 1rem 0;
	width: 100%;
}
footer img.footer-banner {
	margin: 0 auto 1.5rem 0 !important;
	width: 70%;
}
footer .btn {
	font-size: 1.5rem !important;
}
footer .pc-nav {
	margin: 0 0 1rem;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
}
footer .pc-nav li {
	width: calc(100% / 3);
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	text-align: left;
	font-size: 2.4rem !important;
}
footer .pc-nav li a {
	color: #FFF;
}
.copyright {
	margin: 3.5rem 0 0 !important;
	padding: 0;
	display: block;
	text-align: center;
	color: #FFF;
	font-size: 1.2rem !important;
	letter-spacing: 0 !important;
}

/* ------------------------------------
// pages post
------------------------------------ */
#page h1, #page h2,#page h3,#page h4,#page h5,#page h6,#page p {
	text-align: left;
}
#page h1 {
	margin: 0 0 2rem !important;
	letter-spacing: .1rem;
}
#page h2 {
	margin: 2rem 0 5rem;
	color: var(--main);
}
.page-title {
	font-weight: 400 !important;
	line-height: 1.4 !important;
}
.card .page-title {
	padding: 1rem;
	color: #FFF;
	text-align: center !important;
	text-transform: uppercase;
	background-color: var(--emphasis);
}
.purfumeessence-element .card .page-title {
	padding: 0;
	color: #282828;
	text-align: left !important;
	text-transform: none !important;
	background-color: transparent !important;
}
.purfumeproject-element .card .page-title {
	padding: 1rem;
	color: #FFF;
	text-align: center !important;
	text-transform: uppercase;
	background-color: transparent !important;
}
.card .page-title.text-left {
	text-align: left !important;
}
.col-text {
	line-height: 1.6 !important;
	font-size: 1.5rem;
}

/*-----------------------------------------------------
// pages
-----------------------------------------------------*/
#products-detail h2.title {
	margin-block-end: 4rem !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
}
h2.liner,
h2.title.liner,
#products-detail h2.title.liner {
	margin-block-end: 4rem !important;
	padding: 0 5px 10px;
	font-size: 4.2rem;
	letter-spacing: 0.5px !important;
	background-image: repeating-linear-gradient(-45deg, #cbd9da 0px, #cbd9da 2px, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 50%);
	background-size: 8px 8px;
	background-repeat: repeat-x;
	background-position: center bottom;
}
#products-detail img.img-responsive {
	width: 100% !important;
	height: auto;
}
#products-detail span {
	display: inline-block;
	font-size: 80% !important;
	color: #C33 !important;
}
#products-detail td span {
	margin-right: 2px;
}
.products-card {
	padding: 5px;
	position: relative;
	overflow: hidden;
	height: 100%;
	opacity: 0;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	animation: fadeInUp 0.8s ease forwards;
	border: none;
	border-radius: 5px !important;
	box-shadow: 0 5px 15px rgba(0,0,0,0.05);
	background: #FFF;
}
.products-card .wp-block-image > a {
	display: flex;
}
.products-card img.img-link {
	width: 100%;
	height: auto;
	object-fit: cover;
	transition: transform 0.5s ease;
}
.products-card:hover img.img-link {
	transform: scale(1.1);
}

/* ------------------------------------
// post
------------------------------------ */
#post h1, #post h2,#post h3,#post h4,#post h5,#post h6,#post p {
	text-align: left;
}
#post h1 {
	margin: 0 0 2rem;
	letter-spacing: .1rem;
}

/*-----------------------------------------------------
// contents
-----------------------------------------------------*/
.card-contents {
	padding: 1.5rem 1.5rem .5rem;
	background-color: var(--bg_light) !important;
}
@media (min-width: 768px) {
	.row-stack {
		position: relative !important;
	}
	.stack-left {
		padding: 2rem !important;
		position: absolute !important;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		z-index: 888;
	}
	.stack-right {
		padding: 2rem !important;
		position: absolute !important;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		z-index: 888;
	}
}
details {
	margin: 0 0
}
summary {
	padding: 2rem 1.5rem;
	position: relative;
	display: block; /* 矢印を消す */
	list-style: none !important;
	padding-left: 20px; /* アイコン分の余白 */
	cursor: pointer;
	font-weight: 400 !important;
	letter-spacing: .1rem !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
summary.h5 {
	font-weight: 400 !important;
}
summary::-webkit-details-marker {
	display: none !important; /* 矢印を消す */
}
/* 疑似要素でアイコンを表示 */
summary::before {
	margin-right: .5rem;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f0c8";
	color: #FFF;
}
summary::after {
	margin: auto;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 2rem;
	content: "\f078";
	color: #FFF;
	position: absolute;
	left: auto;
	right: 1.5rem;
}
/* オープン時 */
details[open] summary:after {
	margin: auto;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 2rem;
	content: "\f077";
	color: #FFF;
	position: absolute;
	left: auto;
	right: 1.5rem;
}
details .details-inner {
	padding: 2rem 1.5rem;
}

/*-----------------------------------------------------
// essence
-----------------------------------------------------*/
.essence-note {
	margin-bottom: 1rem !important;
}
.essence-note .card-body {
	padding: 1rem !important;
}
.essence-note .card-body span {
	margin-right: 3px;
	padding: .25rem .5rem;
	display: inline-block;
}
.top-note {
	background-color: #f49704 !important;
}
.middle-note {
	background-color: #a394c7 !important;
}
.base-note {
	background-color: #956133 !important;
}
.essence01 {
	border-color: var(--essence_floral) !important;
}
.essence02 {
	border-color: var(--essence_citrus) !important;
}
.essence03 {
	border-color: var(--essence_herb) !important;
}
.essence04 {
	border-color: var(--essence_trees) !important;
}
.essence05 {
	border-color: var(--essence_spice) !important;
}
.essence06 {
	border-color: var(--essence_resins) !important;
}
.essence07 {
	border-color: var(--essence_exotic) !important;
}
.bg-essence01 {
	color: #FFF !important;
	background-color: var(--essence_floral) !important;
}
.bg-essence02 {
	color: #FFF !important;
	background-color: var(--essence_citrus) !important;
}
.bg-essence03 {
	color: #FFF !important;
	background-color: var(--essence_herb) !important;
}
.bg-essence04 {
	color: #FFF !important;
	background-color: var(--essence_trees) !important;
}
.bg-essence05 {
	color: #FFF !important;
	background-color: var(--essence_spice) !important;
}
.bg-essence06 {
	color: #FFF !important;
	background-color: var(--essence_resins) !important;
}
.bg-essence07 {
	color: #FFF !important;
	background-color: var(--essence_exotic) !important;
}
/* ------------------------------------
// widget
------------------------------------ */
.widgets a:hover {
	color: #177464 !important;
}
.widgets h4.title {
	margin-bottom: 1.5rem !important;
	padding-bottom: .75rem !important;
	line-height: 1.3;
	border-bottom: 3px double rgba(0, 0, 0, 0.2);
}
.widgets h4.title small {
	padding-left: .25rem;
	display: block;
	text-align: left;
	color: #555;
	line-height: 1.2;
	font-family: 'Noto Sans JP', sans-serif !important;
}
.widget-content {
	margin: 0 0 2rem;
}
.widget-content .wp-block-heading {
	margin: 0 0 .7rem !important;
	padding-bottom: 3px;
	font-weight: 400 !important;
	font-family: "Oswald", sans-serif !important;
	letter-spacing: 0 !important;
	text-transform: uppercase !important;
	color: var(--emphasis);
	border-bottom: 2px solid var(--caption);
}
ul.widget-list {
	margin-bottom: 0;
	padding: 0 !important;
}
ul.widget-list li {
	margin: 0 0;
	text-align: left;
	font-size: 1.4rem;
	/*border-bottom: 1px dotted rgba(0, 0, 0, 0.15);*/
}
ul.widget-list li:before {
	margin-right: 3px;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f101";
	opacity: 0.35;
}
ul.widget-list .children {
	margin-top: .5rem;
	padding-left: 1em;
}
ul.widget-list .children li {
	margin: 0 0 .75rem;
}
ul.widget-list .children li:before {
	margin-right: 3px;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f054";
	opacity: 0.35;
}
ul.widget-list .children li .children {
	margin: .5rem 0 .25rem;
}
ul.widget-post li {
	margin: 0 0 .75rem;
	padding-bottom: .35rem;
	padding-left:1em;
	text-indent:-1em;
	font-size: 1.4rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
ul.widget-post li:before {
	margin-right: 3px;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f054";
	opacity: 0.35;
}
ul.widget-post li time {
	padding-left: 1rem;
	letter-spacing: 0.5px;
	color: #555;
}
.wp-block-search__button svg {
	width: 2.25em;
	min-width: 24px;
	height: 2.25em;
	min-height: 24px;
	fill: #768896;
	vertical-align: text-bottom;
}
[type=search] {
	outline-offset: -2px;
	-webkit-appearance: none;
	font-size: 1.4rem;
}
.wp-block-tag-cloud {
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
}
.wp-block-tag-cloud a {
	color: var(--caption) !important;
}
.wp-block-tag-cloud a:visited {
	color: #AAA !important;
}
/* ------------------------------------
// feed
------------------------------------ */
.information {
	padding: 0;
}
.information ul {
	margin: 0 !important;
}
.information ul li {
	margin: 0 0 .5rem !important;
	padding: .5rem 0 .75rem;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	width: 100%;
	text-align: left;
	border-bottom: 1px dotted rgba(0, 0, 0, .2);
}
.information ul li:last-child {
	margin-bottom: 0 !important;
	border-bottom: none !important;
}
.information ul li span {
	margin-right: 1rem;
	flex-basis: auto;
	text-align: left;
	font-size: .9em;
	letter-spacing: 0 !important;
}
#feed {
	margin-bottom: .5rem;
}
#feed .card {
	padding: 5px !important;
	position: relative;
}
#feed .card-img,
#feed .img-responsive {
	width: 100% !important;
}
#feed .img-thumbnail {
	padding: 0;
	object-fit: cover;
	aspect-ratio: 1 / 1;
	border: none;
}
#feed a {
	color: #101010 !important;
}
#feed a:hover {
	color: #177464 !important;
}
#feed a:visited {
	color: #101010 !important;
}
#feed ul.post-categories {
	margin-top: 5px;
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}
#feed .top-feed ul.post-categories {
	margin: 0 0 .25rem !important;
}
#feed ul.post-categories li {
	margin: 0 5px 0 0 !important;
}
#feed ul.post-categories li a,
#feed ul.post-categories li a:visited {
	padding: 5px 7px;
	display: inline-block;
	line-height: 1.2;
	font-size: 70% !important;
	color: #FFF !important;
	letter-spacing: 0.5px !important;
	background-color: var(--caption);
	border-radius: 3px;
}
#feed ul.post-categories li a:hover {
	background-color: var(--main);
}
#feed .feeds-content h4.feed-title {
	margin-bottom: 0 !important;
	font-weight: 600 !important;
}
#feed h4.feed-title.top-news {
	font-weight: 600 !important;
	line-height: 1.3 !important;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 2;
}
#feed .feed-contents .date {
	letter-spacing: 0 !important;
}
.example-title {
	margin:  0 0 .5rem;
	line-height: 1.4 !important;
	font-weight: 700 !important;
	font-size: 1.05em !important;
	text-align: center !important;
	letter-spacing: 0 !important;
}
.example-title small {
	font-size: .75em !important;
	line-height: 1.25 !important;
	letter-spacing: 0 !important;
}
.feed {
	margin-bottom: 1rem;
}
.feed .card-header {
	padding: 1rem 1.5rem !important;
}
.feed .card-header a {
	color: #FFF;
}
.feed .card-body {
	padding: 1rem 1.5rem .5rem !important;
}
.feed h2 {
	margin: 1rem 0 !important;
	font-size: 2.6rem !important;
	text-align: left !important;
	letter-spacing: 1px !important;
}
.feed p {
	text-align: left;
	font-weight: normal !important;
}
.feed .feed-body {
	padding: 1rem !important;
}
.feed .card-body img {
	margin-bottom: 1rem !important;
	display: block;
}
.feed .btn {
	color: #FFF !important;
}
.feed .post-date {
	margin-right: 1rem;
	font-size: 1.4rem !important;
	font-weight: normal !important;
	color: #555;
	letter-spacing: 0 !important;
}
.feed .cat-name {
	font-size: 1.2rem !important;
	font-weight: normal !important;
}
.feed .cat-name a {
	padding: .3rem 1rem;
	display: inline-block;
	letter-spacing: 0 !important;
	color: #FFF !important;
	background-color: #D2B48C;
	border-radius: .35rem;
}
.feed .cat-name a::before {
	margin-right: .35rem;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f02b";
}
.arrival-date {
	margin: 0;
	padding: .3rem .35rem;
	position: absolute;
	top: 5px;
	left: 5px;
	font-size: 1.3rem !important;
	line-height: 1.2;
	font-weight: normal !important;
	color: #FFF;
	letter-spacing: 0 !important;
	background-color: #FF8800;
}
.news-list {
	margin: 1.5rem 2rem 2rem !important;
}
.news-list li {
	margin: 0 0 .75rem !important;
	padding: 0 !important;
}
.news-list li span {
	margin-right: 1rem;
}
.feed-list {
	margin: 0 0 .25rem;
	padding: 0 .5rem;
}
.feed-list li.feed-col {
	padding: .5rem 0 !important;
}
.feed-list .card {
	padding: .5rem !important;
	position: relative;
}
.feed-list .card .col-feedimg {
	margin-bottom: 0 !important;
}
.feed-list .card span.post-date {
	padding: .5rem 1rem;
	position: absolute;
	top: 5px;
	left: 5px;
	font-size: 1.2rem;
	line-height: 1.2;
	color: #FFF;
	letter-spacing: 0;
	background-color: #555;
}
.feed-list .feed-title a:hover {
	color: #337AB7 !important;
}
.feed-list .feed-description {
	line-height: 1.5 !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
}
.feed-list li {
	margin: 0 0 .5rem;
	padding: 1rem 0;
	letter-spacing: 0;
	font-size: 1.5rem;
	text-align: left;
	border-bottom: 1px dotted rgba(0, 0, 0, .2);
}
.feed-list li:last-child {
	margin-bottom: 0;
	border-bottom: none;
}
.feed-list li span.post-date {
	margin-right: .5rem;
	letter-spacing: -0.5px;
}

/*-----------------------------------------------------
// relations
-----------------------------------------------------*/
.relations-list p {
	font-size: 1.5rem !important;
}

/*-----------------------------------------------------
// table
-----------------------------------------------------*/
table {
	table-layout: auto !important;
	word-break: break-all;
	word-wrap: break-word;
}
.table-auto {
	font-size: 1.3rem !important;
	table-layout: auto !important;
}
.text-nowrap {
	white-space: nowrap;
}
.text-nowrap,
table.text-nowrap th,
table.text-nowrap td
.nowrap,
table.nowrap th,
table.nowrap td {
	font-size: 1.3rem !important;
	white-space: nowrap !important;
}
.table-striped tbody tr:nth-of-type(even) {
	background-color: hsl(204deg 15.15% 93.53% / 50%) !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.table-striped tbody tr:nth-of-type(odd) {
	background-color: hsla(0, 3%, 82%, 0.2) !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.table th, .table td {
	padding: 1rem 1rem !important;
	line-height: 1.4;
	vertical-align: middle;
	font-weight: 400 !important;
	border-top: none !important;
}
.table th {
	text-align: center;
	vertical-align: middle !important;
}
.table td {
	text-align: left;
	vertical-align: middle !important;
}
.table thead th {
	padding: 1rem .75rem;
	color: #FFF;
	font-weight: 700 !important;
	background-color: #223859 !important;
	border-bottom: 1px solid #223859 !important;
}
.table thead td {
	padding: 1rem .75rem;
	color: #FFF;
	background-color: #223859 !important;
	border-bottom: 1px solid #223859 !important;
}
.table-sm th, .table-sm td {
	padding: .5rem 1rem !important;
	font-size: 1.4rem;
	text-align: left !important;
	letter-spacing: 0.5px !important;
}
.table-sm th {
	font-weight: 700 !important;
}
.table-xs th, .table-xs td {
	padding: .75rem 1.5rem !important;
	font-size: 1.3rem !important;
	text-align: left !important;
	letter-spacing: 0.5px !important;
}
.table-comparison {
	margin: 0 0 1rem;
	padding: 0;
	display: flex !important;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: space-around;
	width: 100%;
	border-collapse: collapse;
	border: none;
	overflow-x: auto;
}
table.tbl-comparison th {
	padding: .5rem !important;
	height: 6rem;
	font-size: 1.2rem !important;
	text-align: center;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	vertical-align: middle !important;
}
table.tbl-comparison td {
	padding: .5rem !important;
	height: 6rem;
	font-size: 1.1rem !important;
	text-align: center;
	letter-spacing: 0 !important;
	vertical-align: middle !important;
}
table.tbl-comparison td.comparison-pic {
	padding: .5rem !important;
	height: 170px;
	font-size: 1.1rem !important;
	text-align: center;
	letter-spacing: 0 !important;
	vertical-align: middle !important;
}
#products-detail table.tbl-comparison:nth-child(1) tbody tr td,
#products-detail table.tbl-comparison:nth-child(1) tbody tr th {
	font-weight: 700 !important;
	white-space:nowrap;
	background-color: #CBD9DA !important;
}
#products-detail table.tbl-comparison:nth-child(1) tbody tr td.obd2 {
	background-color: #d6e2da !important;
}
#products-detail table.tbl-comparison:nth-child(1) tbody tr td.jp {
	background-color: #dcefea !important;
}
#products-detail table.tbl-comparison:nth-child(1) tbody tr td.import {
	background-color: #ebebe1 !important;
}
#products-detail table.tbl-comparison:nth-child(1) tbody tr td.track {
	background-color: #d6d8e1 !important;
}
#products-detail table.tbl-comparison:nth-child(1) tbody tr td.print {
	background-color: #e2e1d9 !important;
}
table img.img-brand {
	margin: 0 auto !important;
	width: 100%;
	max-width: 100px !important;
	height: auto;
	display: block;
}
table.tbl {
	margin: 0 0 2rem;
	padding: 0;
	width: 100%;
	font-size: 1.4rem;
	border-collapse: collapse;
	border: none;
}
table.tbl tr {
	margin: 0;
	padding: 0;
	border: none;
}
table.tbl th {
	padding: 1rem 3.5rem 1rem 1.5rem !important;
	position: relative;
	width: 35%;
	text-align: left;
	line-height: 1.5;
	white-space: nowrap;
	vertical-align: middle;
	border: none;
	background-color: #CBD9DA !important;
}
table.tbl th > span.tbl-arrow {
	position: absolute;
	right: 1rem;
}
table.tbl thead th {
	color: #FFF !important;
	border: none !important;
	background-color: #49576a !important;
}
table.tbl td {
	margin: 0;
	padding: 1rem 1.5rem !important;
	text-align: left;
	line-height: 1.5;
	vertical-align: middle;
	border: none;
}
table.tbl td small {
	font-size: 80% !important;
}
table.tbl-members tbody th {
	width: auto !important;
	background-color: #CBD9DA !important;
}
#products-detail table.tbl-members td {
	white-space: nowrap !important;
}
.table thead th {
	padding: 1rem .75rem;
	color: #FFF;
	font-weight: 700 !important;
	background-color: #223859 !important;
	border-bottom: 1px solid #223859 !important;
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th {
	color: #FFF;
	font-weight: 700 !important;
	text-align: center;
	background-color: #223859 !important;
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td {
	text-align: center;
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th, .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr td {
	border: 1px solid rgba(0, 0, 0, 0.1) !important;
}
input {
	padding: .5rem;
}
@media (max-width: 767.98px) {
	table.tbl-comparison th {
		line-height: 1.4 !important;
	}
	table.tbl-comparison td {
		height: 9rem !important;
		line-height: 1.4 !important;
	}
	table.tbl-comparison td.comparison-pic {
		height: 100px !important;
	}
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.sp-50 {
		flex-basis: 40% !important;
	}
}

/*-----------------------------------------------------
// button
-----------------------------------------------------*/
button {
	position: relative;
	display: inline-block;
	cursor: pointer;
	outline: none;
	border: 0;
	vertical-align: middle;
	text-decoration: none;
	background: transparent;
	padding: 0;
	font-size: inherit;
	font-family: inherit;
}
button.learn-more {
	margin-bottom: .7rem;
	width: 15rem;
	height: auto;
}
button.learn-more .circle {
	transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
	position: relative;
	display: block;
	margin: 0;
	width: 3rem;
	height: 3rem;
	background: #354959;
	border-radius: 1.625rem;
}
button.learn-more .circle .icon {
	transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	background: #fff;
}
button.learn-more .circle .icon.arrow {
	transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
	left: 0.625rem;
	width: 1.125rem;
	height: 0.125rem;
	background: none;
}
button.learn-more .circle .icon.arrow::before {
	position: absolute;
	content: "";
	top: -0.29rem;
	right: 0.0625rem;
	width: 0.625rem;
	height: 0.625rem;
	border-top: 0.125rem solid #fff;
	border-right: 0.125rem solid #fff;
	transform: rotate(45deg);
}
button.learn-more .button-text {
	transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 0.75rem 0;
	margin: 0 0 0 1.85rem;
	color: #2c5474;
	font-weight: 400;
	font-size: 1.4rem !important;
	letter-spacing: 0 !important;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}
button:hover .circle {
	width: 100%;
}
button:hover .circle .icon.arrow {
	background: #fff;
	transform: translate(1rem, 0);
}
button:hover .button-text {
	color: #fff;
}
button.read-more {
	margin-bottom: .7rem;
	width: 15rem;
	height: auto;
}
button.read-more .circle {
	transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
	position: relative;
	display: block;
	margin: 0;
	width: 3rem;
	height: 3rem;
	background: #2572AF;
	border-radius: 1.625rem;
}
button.read-more .circle .icon {
	transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	background: #fff;
}
button.read-more .circle .icon.arrow {
	transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
	left: 0.625rem;
	width: 1.125rem;
	height: 0.125rem;
	background: none;
}
button.read-more .circle .icon.arrow::before {
	position: absolute;
	content: "";
	top: -0.29rem;
	right: 0.0625rem;
	width: 0.625rem;
	height: 0.625rem;
	border-top: 0.125rem solid #fff;
	border-right: 0.125rem solid #fff;
	transform: rotate(45deg);
}
button.read-more .button-text {
	transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 0.75rem 0;
	margin: 0 0 0 1.85rem;
	color: #FFF;
	font-weight: 400;
	font-size: 1.2rem !important;
	letter-spacing: 0 !important;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}
button.read-more:hover .circle {
	width: 100%;
}
button.read-more:hover .circle .icon.arrow {
	background: #fff;
	transform: translate(1rem, 0);
}
button.read-more:hover .button-text {
	color: #fff;
}

/*-----------------------------------------------------
// form
-----------------------------------------------------*/
input, button, select, optgroup, textarea {
	letter-spacing: 0 !important;
}

/*-----------------------------------------------------
// Snow Monkey Form
-----------------------------------------------------*/
.snow-monkey-form {
	margin: 0 0 2rem;
	padding: 0;
}
.smf-form--simple-table .smf-item {
	margin-bottom: 1rem !important;
	padding: .8rem 0 1.5rem !important;
	align-items: center;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.smf-form--simple-table .smf-item__col--label,
.smf-form--simple-table .smf-item__col--controls {
	margin-bottom: 0;
}
.smf-item__label__text {
	font-size: 1.7rem !important;
	font-weight: 700 !important;
}
.smf-item:has([data-validations~="required"]) .smf-item__label__text::after {
	padding: .3rem .5rem !important;
	position: absolute;
	top: 50%;
	right: -50px;
	transform: translateY(-50%);
	display: grid;
	place-items: center;
	content: "必須";
	font-size: .7em !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	color: #FFF;
	background: #CC3333;
	border-radius: .3rem;
}
.smf-form .smf-textarea-control__control {
	border-radius: 0 !important;
}
.snow-monkey-form .smf-item label,
.snow-monkey-form .smf-label label {
	padding: 0;
	line-height: 1.4;
	text-transform: none;
	color: #282828;
	letter-spacing: 0.5px;
	background: none !important;
	border-radius: 0;
}
.snow-monkey-form .smf-label {
	text-align: left;
}
.smf-form .smf-checkboxes-control--horizontal .smf-checkboxes-control__control>.smf-label {
	display: block;
	text-align: center !important;
}
.smf-form .smf-text-control__control {
	width: 100% !important;
	border-radius: 0 !important;
}
.smf-item__label__text {
	position: relative;
}
.smf-form .smf-radio-button-control {
	align-items: center;
}
.smf-form .smf-radio-button-control__control {
	margin-top: 0 !important;
}
/* プログレストラッカーのカスタマイズ */
form .smf-progress-tracker {
	list-style-type: none;
	display: flex;
	width: 100%;
	padding: 0;
	margin: 2em auto 2em;
	overflow: hidden;
}
.smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number {
	color: #2C5474 !important;
	background-color: #FFF;
}
.smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__text {
	color: #FFF !important;
}
form .smf-progress-tracker li {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 33.33%;
	padding: 1em 0 1em 1em;
	text-align: center;
	color: #282828;
	background: #F3F3F3;
}
form .smf-progress-tracker li:last-child {
	padding-right: 1em;
}
form .smf-progress-tracker li:before {
	display: none;
}
form .smf-progress-tracker li:after {
	content: "";
	position: absolute;
	z-index: 2;
	width: 0;
	height: 100%;
	top: 0;
	bottom: 0;
	right: -0.95em;
	left: auto;
	margin: auto;
	background: none;
	border-style: solid;
	border-width: 2.5em 0 2.5em 1.2em;
	border-color: transparent transparent transparent #F3F3F3;
}
form .smf-progress-tracker li:last-child:after {
	display: none;
}
form[data-screen="input"] .smf-progress-tracker__item--input,
form[data-screen="invalid"] .smf-progress-tracker__item--input,
form[data-screen="back"] .smf-progress-tracker__item--input,
form[data-screen="confirm"] .smf-progress-tracker__item--confirm,
form[data-screen="complete"] .smf-progress-tracker__item--complete {
	color: #FFF;
	background: #2C5474;
}
form[data-screen="input"] .smf-progress-tracker__item--input:after,
form[data-screen="invalid"] .smf-progress-tracker__item--input:after,
form[data-screen="back"] .smf-progress-tracker__item--input:after,
form[data-screen="confirm"] .smf-progress-tracker__item--confirm:after,
form[data-screen="complete"] .smf-progress-tracker__item--complete:after {
	right: -1em;
	border-color: transparent transparent transparent #2C5474;
}
form .smf-progress-tracker li .smf-progress-tracker__item__number {
	margin: 0 0.5em 0 0;
}
form .smf-progress-tracker li .smf-progress-tracker__item__text {
	margin: 0 0 0 0;
}
/* 送信ボタン等のカスタマイズ */
form .smf-action {
	display: flex;
	justify-content: space-between;
}
form .smf-action .smf-button-control {
	margin: 0 auto;
}
form .smf-action .smf-button-control button {
	padding: 1em 2em;
	position: relative;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	font-size: 1.2em;
	font-weight: 600;
	text-align: center;
	color: #FFF;
	background: #2C5474;
	border: none;
	border-radius: .3rem;
	transition: .3s;
}
form .smf-action .smf-button-control button:hover {
	transition: .3s;
	opacity: .7;
}
form .smf-action .smf-button-control button[data-action="back"] {
	background: #e3e3e3;
}
/* 確認画面へボタン */
button[data-action="confirm"] {
	font-weight: 600;
}
button[data-action="back"]  {
	font-weight: 600;
}
button[data-action="complete"]  {
	font-weight: 600;
}

/*-----------------------------------------------------
// Contact Form 7
-----------------------------------------------------*/
.check01 {
	padding: 2rem 1rem;
	width: 100%;
	display: block;
	text-align: center;
	border: 2px solid #17A2B8;
}
.check02 {
	padding: 2rem 1rem;
	width: 100%;
	display: block;
	text-align: center;
	border: 2px solid #CCC;
}
.wp-form {
	margin: 0 0 1rem;
	padding-left: 20px;
}
.wp-form p {
	font-size: .9em !important;
}
.wp-form label.control-label {
	color: #FFF !important;
	font-weight: 700 !important;
}
.wp-form label.control-label small {
	margin-left: .5rem;
	padding: .1rem .5rem;
	color: rgba(0, 0, 0, 0.7);
	font-size: 60% !important;
	border: 1px solid rgba(0, 0, 0, 0.5);
	border-radius: .25rem;
}
.form-group small {
	display: block;
	text-align: left;
}
.hisuu {
	margin-left: .3rem;
	font-size: 70%;
	color: #C33;
}
.wpcf7 input[type="url"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"] {
	width: 100%;
}
input, textarea {
	padding: .5rem .75rem;
	border: 1px solid rgba(0,0,0,.2) !important;
}
input[type=radio], input[type=checkbox] {
	margin-right: 5px;
}
input[type="submit"] {
	margin: 0 1rem 1rem;
	padding: 2rem 3rem;
	width: 40%;
	display: inline-block;
	position: relative;
	z-index: 0;
	outline: none;
	color: #FFF !important;
	text-decoration: none !important;
	text-align: center;
	line-height: 1;
	letter-spacing: .3rem;
	font-size: 1.8rem;
	text-shadow: initial;
	border: 2px solid #2c5474;
	border-radius: .3rem;
	background-color: #2c5474;
}
input[type="button"] {
	margin: 0 1rem 1rem;
	padding: 2rem 3rem;
	width: 40%;
	display: inline-block;
	position: relative;
	z-index: 0;
	outline: none;
	color: #555 !important;
	text-decoration: none !important;
	text-align: center;
	line-height: 1;
	letter-spacing: .3rem;
	font-size: 1.8rem;
	text-shadow: initial;
	border: 2px solid #CCC;
	border-radius: .3rem;
	background-color: #CCC;
}
input[type="reset"] {
	margin: 0 1rem 1rem;
	padding: 2rem 3rem;
	width: 40%;
	display: inline-block;
	position: relative;
	z-index: 0;
	outline: none;
	color: #555 !important;
	text-decoration: none !important;
	text-align: center;
	line-height: 1;
	letter-spacing: .3rem;
	font-size: 1.8rem;
	text-shadow: initial;
	border: 2px solid #CCC;
	border-radius: 3rem;
	background-color: #CCC;
}
.wpcf7-text,
.wpcf7-textarea {
	width: 100%;
}
div.wpcf7 input[type="file"] {
	font-size: 1.3rem !important;
	display: block;
	background-color: rgba(255, 255, 255, 0.3);
	border: none !important;
}
input.p-postal-code {
	width: auto !important;
}
span.wpcf7-list-item label {
	background-color: transparent !important;
}
.label-danger {
	margin-left: .5rem;
	padding: .35rem .3rem .25rem;
	font-size: 65%;
	color: #FFF !important;
	background-color: #C33;
	border-radius: .35rem;
}
.ordername .wpcf7-list-item {
	margin-left: .25rem !important;
}
.ordername label {
	padding: 1.5rem .5rem !important;
}
.wpcf7-list-item-label {
	color: #232323 !important;
}
.acceptance-privacy label {
	color: #333;
}
.privacy {
	margin: 3rem auto 3rem;
	border: 1px solid #ccc;
	padding: 2rem;
	overflow: auto;
	height: 400px;
	font-size: 1.3rem;
}
.privacy h5 {
	font-size: 1.8rem !important;
}
.privacy h6 {
	font-size: 1.6rem !important;
}
/*
.grecaptcha,
.grecaptcha a {
	margin: 2rem 0 !important;
	text-align: center !important;
	color: #777;
	letter-spacing: 0 !important;
}
.grecaptcha-badge {
	visibility: hidden;
}
*/
#ModalPrivacy h6 {
	font-weight: 700 !important;
	font-size: 1.5rem !important;
}
#ModalPrivacy p {
	font-size: 1.4rem !important;
	line-height: 1.5 !important;
}

/*-----------------------------------------------------
// members
-----------------------------------------------------*/
#swpm-registration-form label {
	padding: 0 0 .75rem !important;
	color: #101010 !important;
	background-color: transparent !important;
}
.swpm-pw-reset-widget-inside label {
	padding: .5rem 0 .7rem !important;
	color: #282828 !important;
	background-color: #FFF !important;
}
.swpm-login-form-inner label {
	margin-bottom: .5rem !important;
	padding: 0 !important;
	font-size: 1.4rem !important;
	color: #282828 !important;
	background-color: transparent !important;
}
.swpm-pw-reset-widget-inside input[type="submit"],
.swpm-login-submit input[type="submit"] {
	margin-left: 0 !important;
	background-color: #223859 !important;
}
.swpm-forgot-pass-link,
.swpm-join-us-link,
.swpm-login-action-msg {
	font-size: 1.4rem !important;
}
.swpm-registration-widget-form,
.swpm-pw-reset-widget-form,
.post-password-form {
	margin: 5rem 0 2rem;
	padding-right: 0;
	padding-left: 0;
	text-align: left;
	width: 100%;
	max-width: 1280px;
}
.swpm-pw-reset-email,
.swpm-pw-reset-email-input,
.swpm-pw-reset-submit-button {
	text-align: left;
}
.swpm-post-not-logged-in-msg {
	margin: 2rem auto 2rem;
	padding-right: 15px;
	padding-left: 15px;
	text-align: center;
	width: 100%;
	max-width: 1280px;
}
.post-password-form p {
	margin-bottom: 2rem !important;
	text-align: center !important;
}
.post-password-form input[type="password"] {
	padding: 1rem !important;
	border:1px solid #ddd;
}
.post-password-form label {
	margin: 0 auto 1rem;
	display: block;
	text-align: center;
	border:none;
	color:#282828 !important;
	background:transparent !important;
}
.post-password-form input[type="submit"] {
	padding: 1.5rem !important;
	max-width: 300px;
	border:none;
	color:#ffffff;
	background:var(--main);
}
.swpm-registration-form-section button {
	margin: 0 1rem 1rem;
	padding: 2rem 3rem;
	width: 40%;
	display: inline-block;
	position: relative;
	z-index: 0;
	outline: none;
	color: #FFF !important;
	text-decoration: none !important;
	text-align: center;
	line-height: 1;
	letter-spacing: .3rem;
	font-size: 1.8rem;
	text-shadow: initial;
	border: 2px solid #2c5474;
	border-radius: .3rem;
	background-color: #2c5474;
}
.swpm-forgot-pass-link,
.swpm-join-us-link {
	display: none !important;
}

.swpm-logged-username,
.swpm-logged-status,
.swpm-logged-expiry {
	display: none !important;
}
.swpm-edit-profile-form label {
	margin: 0 0 .5rem !important;
	padding: 0 !important;
	color:#282828 !important;
	background-color: transparent !important;
}
.swpm-submit-btn-default-style {
	margin-bottom: 1rem;
	padding: 1rem 1rem !important;
	color: #FFF !important;
	font-weight: 500;
	text-align: center;
	background-color: var(--c_primary) !important;
	border-radius: 7px !important;
}

/*-----------------------------------------------------
// pankuzu
-----------------------------------------------------*/
.breadcrumbs {
	margin: .75rem 0 1rem;
	text-align: left;
	font-size: 1.2rem;
	color: #404040;
	letter-spacing: 0 !important;
}
.breadcrumbs .fas {
	margin-left: .25rem;
	margin-right: .25rem;
	color: #999;
}
.breadcrumbs a {
	color: #404040 !important;
}
.breadcrumbs span a:hover {
	color: #177464 !important;
	text-decoration: none !important;
}
.breadcrumb-area {
	margin: 0 auto 2rem;
	font-size: 1.2rem;
	text-align: left;
	color: #888;
}
.breadcrumb-area span {
	margin-right: .25rem;
}
.breadcrumb-area span.current-item {
	color: #333;
}
@media (max-width:768px) {
	.breadcrumb-area {
		font-size: 1rem;
	}
}
/*-----------------------------------------------------
// google map
-----------------------------------------------------*/
#map {
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
	height: 520px;
	position: relative;
}
#map iframe,
#map object,
#map embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.g-map {
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
}
.g-map iframe, .g-map object, .g-map embed {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

/* -- pager --*/
.pager {
	margin-top: 2rem;
	margin-bottom: 1rem;
	padding: 0 1rem;
	width: 100%;
	overflow: hidden;
	clear: both;
	list-style: none;
	font-size: 1.2rem;
	text-align: center;
}
#feed .pager a,
#feed .pager-number a {
	color: #FFF !important;
}
ul.page-numbers {
	text-align: center;
}
ul.page-numbers li {
	display: inline-block;
}
.pager .pager-prev {
	margin: 0 2rem 1rem .5rem;
	display: inline-block;
	font-size: 1.3rem;
}
.pager .pager-next {
	margin: 0 .5rem 1rem 1rem;
	display: inline-block;
	font-size: 1.3rem;
}
.pager span {
	padding: .5rem 1.15rem;
	display: inline-block;
	overflow: hidden;
	text-align: center;
	color: #FFF !important;
	text-decoration: none !important;
	border: none;
	border-radius: .3rem;
	background: #bebebe;
}
.pager span.current {
	padding: .5rem 1.15rem;
	display: inline-block;
	overflow: hidden;
	text-align: center;
	color: #FFF !important;
	text-decoration: none !important;
	border: none;
	border-radius: .3rem;
	background: var(--emphasis) !important;
}
.pager span.dots {
	padding: .5rem 1.15rem;
	display: inline-block;
	overflow: hidden;
	text-align: center;
	color: #FFF !important;
	text-decoration: none !important;
	border: none;
	border-radius: .3rem;
	background: #bebebe;
}
.pager a {
	padding: .5rem 1.15rem;
	display: inline-block;
	overflow: hidden;
	text-align: center;
	color: #FFF !important;
	text-decoration: none !important;
	border: none;
	border-radius: .3rem;
	background: var(--caption);
}
.pager .pager-prev a,
.pager .pager-next a {
	padding: 1rem 3rem;
	background: var(--caption);
	color: #FFF;
}
.pager-number {
	margin-top: 3rem;
	padding: 0 1rem;
	margin-bottom: 1rem;
	overflow: hidden;
	list-style: none;
	font-size: .8rem;
	text-align: center;
	display: flex;
	justify-content: center;
}
.pager-number span.current {
	margin: 0 .5rem;
	padding: .5rem 1rem;
	text-align: center;
	color: #FFF !important;
	text-decoration: none !important;
	border: none;
	border-radius: .3rem;
	background: var(--emphasis);
}
.pager-number a {
	margin: 0 .5rem;
	padding: .5rem 1rem;
	text-align: center;
	color: #FFF !important;
	text-decoration: none !important;
	border: none;
	border-radius: .3rem;
	background: var(--caption);
}
.pager a:hover,
.pager-number a:hover {
	color: #FFF!important;
	text-decoration: none !important;
	background-color: var(--emphasis) !important;
}
#feed .pager a:visited {
	color: #FFF !important;
}
#feed .pager-number a:visited {
	color: #FFF !important;
}

/* ------------------------------------
// google translate
------------------------------------ */
#glt-translate-trigger {
	left: 10px !important;
	font-weight: 400 !important;
	font-size: 1.5rem !important;
	letter-spacing: 0 !important;
}

/* ------------------------------------
// display selector
------------------------------------ */
.hidden-pc {
	display: none !important;
}
.hidden-sp {
	display: block !important;
}

/* ------------------------------------
// @Media Queries
------------------------------------ */
@media (min-width: 1600px) {
	article#pages section {
		padding: 8rem 0;
	}
}
@media (max-width: 1140px) {
	header#main-head .btn {
		max-width: 210px;
	}
}
@media (max-width: 991.98px) {
	.navbar-dark .navbar-nav .nav-link {
		letter-spacing: .1rem !important;
	}
	header#main-head .btn {
		margin-left: .5rem;
		max-width: 190px;
	}
	article#pages section {
		padding: 5rem 0;
	}
}
@media (min-width: 768px) {
	br.sp-none {
		display: none !important;
	}
}
/*--under 768px--*/
@media (max-width: 767.98px) {
	header#main-head {
		padding: 0 !important;
	}
	header#main-head .site-title {
		margin: .3rem 0 .5rem !important;
		font-size: 1.1rem !important;
		text-align: center;
		letter-spacing: 0 !important;
	}
	.header-nav {
		box-shadow: 0px 2px 2px rgb(0 0 0 / 18%) !important;
	}
	.navbar {
		padding: 1rem;
	}
	.header-nav .bg-db {
		background-color: #FFF !important;
	}
	.navbar-nav {
		font-size: 1.5rem;
	}
	nav.navbar-sub .collapse:not(.show) {
		display: block !important;
	}
	nav.navbar-sub ul.sub-menu {
		background-color: transparent !important;
	}
	nav.navbar-sub ul.sub-menu li {
		margin: 0 0 1.5rem !important;
		padding: 0 !important;
		font-size: 1.7rem !important;
		border: none !important;
	}
	nav.navbar-sub ul.sub-menu li a {
		padding: 0 0 0 1rem !important;
		text-align: left !important;
	}
	nav.navbar-sub ul.sub-menu li a::before {
		content: '- ';
	}
	main {
		padding-top: 2rem;
	}
	section {
		margin-bottom: 0;
		padding: 2.5rem 0 1rem;
	}
	article section.dream-element {
		position: relative;
		background-image: url('https://sonic-drive.jp/wp/wp-content/themes/sonic-drive/common/background/bg-dream_sp.jpg');
		background-position: right center !important;
		background-size: cover !important;
	}
	.webp article section.dream-element {
		position: relative;
		background-image: url('https://sonic-drive.jp/wp/wp-content/themes/sonic-drive/common/background/bg-dream_sp.webp');
		background-position: right center !important;
		background-size: cover !important;
	}
	article section.service-element {
		position: relative;
		background-image: url('https://sonic-drive.jp/wp/wp-content/themes/sonic-drive/common/background/bg-service_sp.jpg');
		background-position: center center !important;
		background-size: cover !important;
	}
	.webp article section.service-element {
		position: relative;
		background-image: url('https://sonic-drive.jp/wp/wp-content/themes/sonic-drive/common/background/bg-service_sp.webp');
		background-position: center center !important;
		background-size: cover !important;
	}
	article section.products-element {
		position: relative;
		background-image: url('https://sonic-drive.jp/wp/wp-content/themes/sonic-drive/common/background/bg-products_sp.jpg');
		background-position: center center !important;
		background-size: cover !important;
	}
	.webp article section.products-element {
		position: relative;
		background-image: url('https://sonic-drive.jp/wp/wp-content/themes/sonic-drive/common/background/bg-products_sp.webp');
		background-position: center center !important;
		background-size: cover !important;
	}
	article section.purfume-element {
		position: relative;
		background-image: url('https://sonic-drive.jp/wp/wp-content/themes/sonic-drive/common/background/bg-purfume_sp.jpg');
		background-position: center center !important;
		background-size: cover !important;
	}
	.webp article section.purfume-element {
		position: relative;
		background-image: url('https://sonic-drive.jp/wp/wp-content/themes/sonic-drive/common/background/bg-purfume_sp.webp');
		background-position: center center !important;
		background-size: cover !important;
	}
	article section.purfumeproject-element {
		position: relative;
		background-image: url('https://sonic-drive.jp/wp/wp-content/themes/sonic-drive/common/background/bg-purfumprojecte_sp.jpg');
		background-position: center center !important;
		background-size: cover !important;
	}
	.webp article section.purfumeproject-element {
		position: relative;
		background-image: url('https://sonic-drive.jp/wp/wp-content/themes/sonic-drive/common/background/bg-purfumeproject_sp.webp');
		background-position: center center !important;
		background-size: cover !important;
	}
	article section.purfumeessence-element {
		position: relative;
		background-image: url('https://sonic-drive.jp/wp/wp-content/themes/sonic-drive/common/background/bg-purfumprojecte02_sp.jpg') !important;
		background-position: center center !important;
		background-size: cover !important;
	}
	.webp article section.purfumeessence-element {
		position: relative;
		background-image: url('https://sonic-drive.jp/wp/wp-content/themes/sonic-drive/common/background/bg-purfumeproject02_sp.webp') !important;
		background-position: center center !important;
		background-size: cover !important;
	}
	article section.recruit-element {
		position: relative;
		background-image: url('https://sonic-drive.jp/wp/wp-content/themes/sonic-drive/common/background/bg-recruit_sp.jpg');
		background-position: center center !important;
		background-size: cover !important;
	}
	.webp article section.recruit-element {
		position: relative;
		background-image: url('https://sonic-drive.jp/wp/wp-content/themes/sonic-drive/common/background/bg-recruit_sp.webp');
		background-position: center center !important;
		background-size: cover !important;
	}
	article#pages section {
		padding: 2rem 0 1rem !important;
	}
	main#page article section {
		padding: 2rem 0 1rem !important;
	}
	main#post article section {
		padding: .5rem 0 1.5rem !important;
	}
	#page-header {
		padding: 0 !important;
		position: relative;
		background-color: #FFF !important;
	}
	#page-headers {
		margin-top: 80px;
	}
	#page-header .header-element {
		margin: 0 auto;
		padding-top: 0;
		height: 100vh;
		position: relative;
		background-image: url('common/header/header-sp.jpg');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
		-webkit-animation: none;
		animation: none;
		animation-fill-mode: none;
	}
	.webp #page-header .header-element {
		margin: 0 auto;
		padding-top: 0;
		height: 100vh;
		position: relative;
		background-image: url('common/header/header-sp.webp');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		-webkit-animation: none;
		animation: none;
		animation-fill-mode: none;
		mix-blend-mode: normal;
	}
	#page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead_sp.jpg');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.webp #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead_sp.webp');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.info #page-headers .header-element,
	.category #page-headers .header-element,
	.single #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-info_sp.jpg');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.webp .info #page-headers .header-element,
	.webp .category #page-headers .header-element,
	.webp .single #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-info_sp.webp');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.product #page-headers .header-element,
	.tools #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-service_sp.jpg');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.webp .product #page-headers .header-element
	.webp .tools #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-product_sp.webp');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.operations #page-headers .header-element,
	.single-operation #page-headers .header-element,
	.case-study #page-headers .header-element,
	.single-case-studies #page-headers .header-element,
	.product.solution #page-headers .header-element,
	.case #page-headers .header-element,
	.support #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-case_sp.jpg');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.webp .operations #page-headers .header-element,
	.webp .single-operation #page-headers .header-element,
	.webp .case-study #page-headers .header-element,
	.webp .single-case-studies #page-headers .header-element,
	.webp .product.solution #page-headers .header-element,
	.webp .case #page-headers .header-element,
	.webp .support #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-case_sp.webp');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.parts #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-import_sp.jpg');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.webp .parts #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-import_sp.webp');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.software #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-software_sp.jpg');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.webp .software #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-software_sp.webp');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.faq #page-headers .header-element,
	.service-information-tools #page-headers .header-element,
	.single-question #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-faq_sp.jpg');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.webp .faq #page-headers .header-element,
	.webp .service-information-tools #page-headers .header-element,
	.webp .single-question #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-faq_sp.webp');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.aboutus #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-company_sp.jpg');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.webp .aboutus #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-company_sp.webp');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.mission #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-mission_sp.jpg');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.webp .mission #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-mission_sp.webp');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.purfume_project #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-perfume_sp.jpg');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.webp .purfume_project #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-perfume_sp.webp');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.sonicmembers #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-members_sp.jpg');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.webp .sonicmembers #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-members_sp.webp');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.support #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-support_sp.jpg');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.webp .support #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-support_sp.webp');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.contact #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-form_sp.jpg');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.webp .contact #page-headers .header-element {
		margin: 0 auto;
		padding-top: 65.104%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead-form_sp.webp');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	#page-header .container,
	#page-headers .container {
		top: 50%;
	}
	#page-header .container h1.title,
	#page-headers .container h1.title {
		margin-top: 0 !important;
		font-size: 2.5rem !important;
		letter-spacing: .1rem !important;
	}
	#page-header .container h2.title,
	#page-headers .container h2.title {
		margin-top: 0 !important;
		font-size: 1.7rem !important;
		letter-spacing: .3rem !important;
	}
	article#pages section {
		min-height: 400px;
	}
	footer {
		margin: 0 auto 0;
		padding: 1rem 0 65px !important;
		text-align: center;
	}
	footer section {
		margin-bottom: 0 !important;
		padding-bottom: .25rem !important;
	}
	footer #copy {
		margin-bottom: 0 !important;
		padding: 1rem 1rem !important;
	}
	.copyright {
		margin: 2rem 0 0 !important;
		font-size: 8px !important;
		text-align: center !important;
	}
	footer .footer-info {
		text-align: center;
	}
	footer h5 {
		text-align: left;
	}
	footer p {
		font-size: 1.2rem !important;
		text-align: left;
	}
	footer .lead {
		font-weight: 900 !important;
		font-size: 1.8rem !important;
		letter-spacing: 0 !important;
	}
	footer img.footer-logo {
		margin: 0 auto 1rem 0 !important;
		width: 100%;
		max-width: 70% !important;
	}
	footer img.footer-banner {
		margin: 0 auto 1.5rem !important;
		width: 100%;
	}
	footer .text-right {
		text-align: left !important;
	}
	footer ul.footer-list {
		margin: 0 0 2rem;
		display: flex;
		flex-wrap: wrap;
	}
	footer ul.footer-list li {
		margin: 0 0 .5rem !important;
		padding: 0 1px;
		width: calc(100% - 2px);
		font-size: 1.1rem !important;
	}
	.title {
		margin: 2rem 0 1rem !important;
		padding-bottom: .5rem;
		letter-spacing: .05rem !important;
	}
	h1.title {
		margin: 0 0 2.5rem !important;
		letter-spacing: .1rem !important;
		font-size: 2.1rem !important;
	}
	h1.page-title {
		font-size: 2.1rem !important;
		letter-spacing: .1rem !important;
	}
	h2, .h2 {
		margin: 1rem 0 2rem !important;
		/*font-size: 2.6rem !important;*/
		font-size: 2.2rem !important;
		letter-spacing: 0.5px !important;
	}
	#page h2 {
		word-break: break-word !important;
	}
	h2.title {
		margin: .5rem 0 3.5rem !important;
		/*font-size: 2.6rem !important;*/
		font-size: 2.15rem !important;
		letter-spacing: 0.5px !important;
	}
	h2.eng-title {
		font-size: 3.6rem !important;
		line-height: 1.2 !important;
	}
	h2.text-min {
		font-size: 2.3rem !important;
	}
	h2.ls-0 {
		letter-spacing: 0 !important;
	}
	h2.title > small {
		font-size: 1.4rem;
	}
	.feed h2 {
		margin: .5rem 0 !important;
		font-size: 2rem !important;
		letter-spacing: 1px !important;
	}
	h3, .h3 {
		font-size: 1.8rem !important;
		letter-spacing: 0.5px !important;
	}
	h3.title {
		font-size: 1.8rem !important;
	}
	h3.title small {
		margin-bottom: .2rem;
		display: block;
		text-align: left;
	}
	h3.title > span {
		padding: .75rem 1rem;
	}
	h3.wp-block-heading.has-text-align-center {
		text-align: left !important;
	}
	h3.wp-block-heading.has-text-align-center.eng-title {
		text-align: center !important;
	}
	h4, .h4 {
		font-size: 1.6rem !important;
	}
	h5, .h5 {
		font-size: 1.5rem !important;
	}
	h6, .h6 {
		font-size: 1.5rem !important;
	}
	p {
		font-size: 1.4rem !important;
	}
	p.has-text-align-center,
	p.text-center {
		text-align: left !important;
	}
	p.has-text-align-center.sp-center {
		text-align: center !important;
	}
	.display-3 {
		font-size: 1.8rem !important;
	}
	.small {
		font-size: 90% !important;
		letter-spacing: 0 !important;
	}
	.br-none {
		display: none !important;
	}
	.pc-contents {
		text-align: center !important;
	}
	.sp-center {
		text-align: center !important;
	}
	.sp-center h3, .sp-center p {
		text-align: center !important;
	}
	.category-list a {
		font-size: 1rem !important;
	}
	#certifications .small {
		font-size: .8em !important;
	}
	summary {
		padding: 1.5rem 1rem;
	}
	summary.h5 {
		line-height: 1.5 !important;
	}
	details .details-inner {
		padding: 1rem .5rem;
	}
	details .details-inner p {
		font-size: 1.3rem !important;
	}
	.news-list li span {
		margin: 0 0 .1rem !important;
		display: block;
	}
	.table th {
		width: 30% !important;
	}
	.table th, .table td {
		padding: 1rem .5rem !important;
		font-size: 1.3rem !important;
		letter-spacing: 0 !important;
	}
	.table td a {
		display: block;
		text-align: left;
	}
	.table-xs th, .table-xs td {
		padding: .5rem 1.5rem !important;
		font-size: 1.3rem !important;
		text-align: left !important;
		letter-spacing: 0.5px !important;
	}
	#feed ul.post-categories {
		margin: 0 0 .5rem;
	}
	#feed ul.post-categories li {
		font-size: 1.2rem !important;
	}
	#feed .feeds .feeds-content {
		padding-left: 0 !important;
	}
	#feed .feeds-content h4.feed-title {
		margin: 0 !important;
		line-height: 1.4 !important;
		font-weight: 600 !important;
		letter-spacing: 0.5px !important;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		overflow: hidden;
		text-overflow: ellipsis;
		-webkit-line-clamp: 2;
	}
	#feed ul.post-categories li a, #feed ul.post-categories li a:visited {
		padding: 5px 5px;
		display: inline-block;
		line-height: 1.2;
		font-size: 75% !important;
		color: #FFF !important;
		letter-spacing: 0px !important;
		background-color: var(--caption);
		border-radius: 3px;
	}
	#feed .feeds .date {
		padding: 5px;
		position: absolute;
		top: 10px;
		left: 10px;
		color: #555;
		line-height: 1.2;
		background-color: var(--bg_light);
	}
	.post-date {
		margin: 0 0 .25rem !important;
		display: block;
		text-align: left;
		font-size: 1.3rem !important;
	}
	.feed-list {
		margin-bottom: .2rem;
		padding: 0 .75rem !important;
	}
	.feed-list li span.post-date {
		padding: 0 !important;
	}
	.card-title {
		font-size: 1.6rem !important;
	}
	.sp-75 {
		margin: 0 auto !important;
		width: 100%;
		max-width: 75% !important;
		height: auto;
		display: block;
	}
	.img-svg {
		margin-left: auto;
		margin-right: auto;
		padding-left: 10%;
		padding-right: 10%;
	}
	.logo-svg {
		margin-left: auto;
		margin-right: auto;
		padding-left: 10%;
		padding-right: 10%;
		width: 100%;
		max-width: 100%;
		height: auto;
	}
	.img-shodow {
		box-shadow: 10px 10px 0 hsl(32deg 30% 83% / 90%);
	}
	img.img-border {
		margin-bottom: 3rem !important;
	}
	dt {
		font-size: 1.4rem !important;
	}
	dd,li {
		font-size: 1.3rem !important;
	}
	dl.faq dt {
		font-size: 1.5rem !important;
	}
	dl.faq dd {
		font-size: 1.4rem !important;
	}
	.btn,
	.button {
		font-size: 1.5rem !important;
	}
	.page-nav {
		margin-top: 1.5rem;
		text-align: center;
	}
	.align-items-center p {
		margin-top: 1rem !important;
	}
	.feed .card-body {
		padding: 2rem !important;
	}
	.feed .feed-body {
		padding: .5rem 1rem .7rem !important;
	}
	#feed .card-img {
		width: 100%;
		min-height: auto !important;
		object-fit: cover !important;
	}
	footer ul.footer-nav {
		margin: 1rem 0 0 !important;
		display: block;
	}
	footer ul.footer-nav li {
		margin-bottom: 1rem;
		width: 100%;
		font-size: 1.2rem !important;
	}
	footer ul.footer-nav li:last-child {
		margin-bottom: 0 !important;
	}
	.sp-nav {
		position: fixed;
		margin: 0 !important;
		width: 100%;
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-end;
		position: fixed;
		bottom: 0;
		left: 0;
		background-color: #101010;
		box-shadow: 0px -2px 4px -2px rgba(0, 0, 0, 0.18);
		z-index: 99999;
	}
	.sp-nav li {
		margin: 0;
		padding: 1.5rem 0;
		width: calc(100% / 4);
		height: auto;
		display: flex;
		flex-direction: column;
		box-sizing: border-box;
		text-align: center;
	}
	.sp-nav li a {
		display: block;
		text-align: center;
		font-size: 2rem;
		color: #FFF !important;
		text-align: center;
	}
	.sp-nav li a .fa-line {
		color: #FFF !important;
	}
	.sp-nav li a > span {
		display: block;
		text-align: center;
		color: #FFF !important;
		letter-spacing: 0 !important;
		font-size: 1.1rem !important;
	}
	.label-title {
		display: none !important;
	}
	.txt-c {
		text-align: left !important;
	}
	.img-border {
		border: none !important;
	}
	.hidden-pc {
		display: block !important;
	}
	.hidden-sp {
		display: none !important;
	}
	.wp-form {
		padding: 0 15px !important;
	}
	.col-form {
		padding: 0 !important;
	}
	.privacy {
		margin: 2rem auto 2rem;
		border: 1px solid #ccc;
		padding: 1rem;
		overflow: auto;
		height: 350px;
		font-size: 1.2rem;
	}
	.privacy p {
		font-size: 1.2rem !important;
	}
	.breadcrumbs {
		font-size: 1rem;
	}
	table a.btn {
		margin-top: .3rem;
	}
	table.tbl th,
	table.tbl td {
		padding: .5rem;
		text-align: left !important;
	}
	table.tbl th,
	table.tbl td {
		padding: 5px;
		width: 100% !important;
		display: block !important;
	}
	table.tbl, table.tbl th, table.tbl td {
		border: none;
		border-bottom: 5px solid #FFF !important;
	}
	input[type="submit"],
	input[type="button"],
	input[type="reset"] {
		margin: 0 auto 1.5rem;
		width: 90%;
		display: block;
	}
	#ModalPrivacy h6 {
		font-weight: 700 !important;
		font-size: 1.35rem !important;
		letter-spacing: 0 !important;
	}
	#ModalPrivacy p {
		font-size: 1.25rem !important;
		line-height: 1.5 !important;
	}
	#wpfront-scroll-top-container {
		width: 42px;
		bottom: 75px !important;
	}
	br.sp-space {
		display: none !important;
	}
	#glt-translate-trigger {
		padding: 6px 8px 5px !important;
		left: 5px !important;
		bottom: 14px;
		font-weight: 400 !important;
		font-size: 1.3rem !important;
		letter-spacing: 0 !important;
	}
	#to_top_scrollup {
		font-size: 32px !important;
		width: 32px !important;
		height: 32px !important;
		right: 10px !important;
		bottom: 67px !important;
	}
}
