@charset "UTF-8";

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

:root {
	--main:        #78A58A;
	--sub:         #765D4E;
	--heading:     #373737;
	--subheading:  #C3B790;
	--emphasis:    #F08300;
	--bg:          #F7F2EF;
	--dark:        #5F5A57;
	--gray:        #606060;
	--liner:       #EEE3C0;
	--accent:      #009688;
	--product:     #CBB970;
}

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;
	font-optical-sizing: auto;
	font-style: normal;
	-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;
	background-color: #FFF !important;
}
a {
	overflow: hidden;
	color: #252525;
	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: #252525;
}
a:hover {
	color: var(--sub) !important;
	text-decoration: underline;
}
:focus {
	outline: none !important;
}
a:visited {
	color: #252525;
}
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: #4DA7CA !important;
}
.current {
	color: var(--main) !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: 20px;
	/*overflow: hidden;*/
}

/* ------------------------------------
// 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-glay { background-color: #E9FAD5 !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, .h1, .h2 {
	margin: 0 0 2rem !important;
	text-align: left;
	font-weight: 800 !important;
	color: var(--heading);
	line-height: 1.5 !important;
	letter-spacing: .28rem !important;
}
h3, .h3 {
	margin: 0 0 2rem !important;
	text-align: left;
	font-weight: 800 !important;
	color: var(--heading);
	line-height: 1.5 !important;
	letter-spacing: 1px !important;
}
h4, .h4 {
	margin: 0 0 2rem !important;
	text-align: left;
	font-weight: 700 !important;
	color: var(--heading);
	line-height: 1.5 !important;
	letter-spacing: 1px !important;
}
h5, h6, .h5, .h6 {
	margin: 0 0 1.5rem;
	font-weight: 600 !important;
	text-align: left;
	letter-spacing: 0.5px !important;
}
h1 {
	color: #282828;
	font-weight: 700 !important;
	line-height: 1.3;
}
.title {
	font-weight: 700 !important;
}
h1.title {
	margin: 0 0 5rem !important;
	letter-spacing: .3rem !important;
}
h1.heading::after {
	margin-left: 1rem;
	content: attr(data-title);
	font-size: .5em !important;
	font-family: "Cardo", "Zen Old Mincho", serif !important;
	font-weight: 400 !important;
	font-style: normal !important;
	color: var(--subheading);
	letter-spacing: 0 !important;
}
h2 {
	margin: 0 0 2.5rem !important;
	font-weight: 700 !important;
}
h2.title {
	margin-bottom: 5rem;
}
h2.heading::after {
	margin-left: 1rem;
	content: attr(data-title);
	font-size: .5em !important;
	font-family: "Cardo", "Zen Old Mincho", serif !important;
	font-weight: 400 !important;
	font-style: normal !important;
	color: var(--subheading);
	letter-spacing: 0 !important;
}
h2.page-title {
	margin-bottom: 3rem !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;
}
h3 {
	padding: 0;
	line-height: 1.5;
}
.products-title {
	color: var(--product);
}
h4 {
	line-height: 1.5;
	font-weight: 500 !important;
}
h4.menu-title {
	font-size: 2.3rem !important;
}
.menu-title {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	color: var(--dark);
	letter-spacing: 0.5px !important;
}
.menu-title::before {
	margin-right: .7rem;
	color: var(--main);
	font-family: bootstrap-icons;
	content: "\F90C";
}
h5 {
	line-height: 1.6;
	font-weight: 500 !important;
}
h6 {
	line-height: 1.6;
	font-weight: 500 !important;
}
p {
	margin: 0 0 1rem;
	line-height: 1.7;
	text-align: left;
}
p a {
	color: var(--main) !important;
}
strong {
	font-weight: 700 !important;
}
em {
	font-weight: 700 !important;
	font-style: normal !important;
}
small {
	display: inline-block;
	font-size: 85%;
	line-height: 1.5;
}
.small {
	font-size: .9em !important;
}
p.small {
	line-height: 1.5 !important;
}
label {
	padding: 1.5rem 2.5rem;
	line-height: 1;
	text-transform: capitalize;
	color: #FFF;
	letter-spacing: 0.5px;
	background: #4b4b4b !important;
	border-radius: 0;
}
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;
}
.heading {
	font-family: "Cardo", "Zen Old Mincho", serif !important;
	font-weight: 400 !important;
	font-style: normal !important;
}
.heading-bold {
	font-family: "Cardo", serif !important;
	font-weight: 700 !important;
	font-style: normal !important;
}
.round-title {
	padding: .75rem 2rem;
	display: inline-block;
	color: #FFF !important;
	background-color: var(--main);
	border-radius: 2rem;
}
.round-title_block {
	margin: .75rem 0 !important;
	padding: 1rem 2rem 1.25rem;
	display: block;
	color: #FFF !important;
	background-color: var(--main);
	border-radius: 3rem;
}
.caption-title {
	margin: 0 .7rem 0 0;
	padding: .5rem .5rem .35rem;
	display: inline-flex;
	font-size: .8em !important;
	color: #FFF;
	background-color: var(--subheading);
	border-radius: .2rem;
}
.en {
	letter-spacing: 0 !important;
	font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif !important;
}
.lead {
	font-weight: 700 !important;
	font-size: 1.8rem;
}
.normal {
	font-weight: 500 !important;
	letter-spacing: .2rem !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;
}
.vertical-text {
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode:vertical-rl;
	margin: 2rem auto .5rem;
}

/* ------------------------------------
// space
------------------------------------ */
.pt-6 { padding-top: 6rem !important;}
.mt-6 { margin-top: 4rem !important;}
.mt-7 { margin-top: 5rem !important;}
.mb-6 { margin-bottom: 4rem !important;}
.mb-7 { margin-bottom: 5rem !important;}

/* ------------------------------------
// header
------------------------------------ */
header#main-head {
	padding: .35rem 1rem;
	position: fixed;
	width: 100%;
	color: #FFF;
	overflow: hidden;
	z-index: 99999;
}

/* ------------------------------------
// color variation
------------------------------------ */
.text-black {color: #282828 !important;}
.text-gray {color: #AAA !important;}
.text-blue {color: #004DA0 !important;}
.text-db {color: #036 !important;}
.text-red {color: #d30023 !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
------------------------------------ */
.box {
	padding: 1.2rem 1.5rem 1rem;
	background-color: #F5F5F5;
	border-radius: 2rem;
}
ul, ol, dl dt, dd {
	line-height: 1.5;
}
dl {
	margin: .5rem 0 1rem;
}
dt {
	margin: 0 0 .5rem;
	padding: .5rem .5rem .5rem .75rem;
	text-align: left;
	font-weight: 500 !important;
}
dd {
	margin: 0 0 1rem;
	padding: 0 0 .5rem;
	line-height: 1.7;
	text-align: left;
}
dl.privacy-policy {
	margin: 0 0 2rem;
}
dl.privacy-policy dt {
	padding: 1rem !important;
}
dl.privacy-policy dd {
	margin: 0 0 1rem !important;
}
dl.faq {
	margin: 0 0 !important;
	padding: 0 .5rem;
	font-size: .95em !important;
}
dl.faq dt {
	margin: 0 0 .5rem;
	padding: 0;
}
dl.faq dt::before {
	margin-right: .3rem;
	content: 'Q.';
	font-weight: 700 !important;
	font-size: 1.8rem !important;
	color: var(--sub);
}
dl.faq dd {
	margin: 0 0 1rem;
	padding: 0 0 .5rem;
	line-height: 1.5 !important;
	border-bottom: 2px dotted rgba(0, 0, 0, .1);
}
dl.faq dd::before {
	margin-right: .3rem !important;
	content: 'A.';
	font-weight: 700 !important;
	font-size: 1.8rem !important;
	color: var(--emphasis);
}
dl.faq dd:last-child {
	margin-bottom: 0 !important;
	border-bottom: none !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: 700;
}
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.dealer-list {
	margin: 0 0 2rem;
	padding: 0 0 1rem;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 0 20px;
	font-size: 1.1em;
	box-sizing: border-box;
	border-bottom: 3px dotted var(--subheading);
}
ul.dealer-list li {
	margin: 0 0 .75rem;
	padding: 0;
}
ul.dealer-list li:before {
	margin-right: 5px;
	font-family: "Font Awesome 6 Free";
	font-weight: 700;
	content: "\f138";
	color: var(--accent);
	opacity: 0.7;
}
ul.dealer-list li a {
	padding: .5rem 0;
	text-align: center;
	border-radius: 2rem;
}
ul.dealer-list li a:hover {
	color: var(--accent) !important;
	text-decoration: none !important;
	background-blend-mode: darken;
}
ol.dealer-list {
	margin: 0 0 2rem;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 5px;
	box-sizing: border-box;
}
ol.dealer-list li {
	margin: 0 0 .75rem;
	padding: 0;
	width: calc(25% - 20px);
	display: flex;
	flex-direction:column;
	text-align: center;
}
ol.dealer-list li a {
	padding: .5rem 0;
	text-align: center;
	color: #FFF;
	background-color: var(--emphasis);
	border-radius: 2rem;
}
ol.dealer-list li a:hover {
	color: #FFF !important;
	text-decoration: none !important;
	background-blend-mode: darken;
}
ol.dealer-list li a.area01 {
	background-color: #97c1d6;
}
ol.dealer-list li a.area02 {
	background-color: #82a1dd;
}
ol.dealer-list li a.area03 {
	background-color: #b2d67b;
}
ol.dealer-list li a.area04 {
	background-color: #ec9c9b;
}
ol.dealer-list li a.area05 {
	background-color: #f7b959;
}
ol.dealer-list li a.area06 {
	background-color: #c596d5;
}
ol.dealer-list li a.area07 {
	background-color: #8a93d2;
}
ol.dealer-list li a.area08 {
	background-color: #f36d6d;
}
ol.dealer-list:last-child {
	margin-bottom: 0 !important;
}
.sub-list {
	margin: 0 0 1rem;
}
ul.field-checklist {
	margin: 0 0 0 !important;
	padding: 0 !important;
}
ul.field-checklist li {
	margin: 0 5px 0 0 !important;
	padding: 0 !important;
	display: inline-block;
}
ul.field-checklist li::before {
	margin-right: 0;
	content: '・';
}
ul.field-checklist li:first-child::before {
	display: none;
}
ul.inline-list {
	margin: 0 0 .75rem;
}
ul.inline-list li {
	margin: 0 .5rem .5rem 0;
	padding: .5rem;
	display: inline-block;
	border-radius: .35rem;
}
hr.hr-dotted {
	margin: 3rem 0 4rem !important;
	border-top: 2px dotted rgba(125, 125, 125, 0.3);
}

/* ------------------------------------
// 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;
}
.img-responsive {
	margin: 0 auto;
	max-width: 100%;
	height: auto;
	display: block;
	text-align: center;
}
.img-fit {
	max-width: 100% !important;
	width: 100% !important;
	height: auto;
}
.img-round {
	margin: 0 auto;
	max-width: 100%;
	position: relative;
	display: block;
	height: auto;
	clip-path: inset(10px 20px round 10px 20px 0 40px);
}
.img-round_left {
	margin: 0 auto;
	max-width: 100%;
	position: relative;
	display: block;
	height: auto;
	clip-path: inset(10px 20px round 10px 20px 40px 0px);
}
.img-icn {
	margin: 0 5px;
	width: 32px !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);
}
.gallery-item img {
	border: none !important;
}
/* ------------------------------------
// layout
------------------------------------ */
main {
	margin: 0;
}
main#pages {
	text-align: left;
}
article {
	margin: 0;
	padding: 0;
}
article#top {
	z-index: 88888 !important;
}
main#page article {
	min-height: 400px !important;
}
section {
	margin: 0 0;
	padding: 3rem 0 4rem;
}
article section {
	padding: 6rem 0 5rem;
	background-color: #FFF;
}
main#page article section {
	padding: 6rem 0 5rem;
}
main#post article section {
	padding: 2rem 0 2rem;
}
main#post article section.news-post .card-body {
	background-image: url('svg/bg-logo.svg');
	background-size: 25% auto;
	background-position: right top;
	background-repeat: no-repeat;
}
main#page section:nth-child(even) {
	background-color: #F7F2EF !important;
}
main article section.parallax {
	position: relative;
}
main article section.parallax-primary {
	position: relative;
	background-image: url('common/background/bg-primary.jpg');
	background-position: center top !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-color: rgba(255, 255, 255, 0.4);
	background-blend-mode: lighten;
}
.webp main article section.parallax-primary {
	position: relative;
	background-image: url('common/background/bg-primary.webp');
	background-position: center top !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-color: rgba(255, 255, 255, 0.4);
	background-blend-mode: lighten;
}
main article section.parallax-secondary {
	position: relative;
	background-image: url('common/background/bg-secondary.jpg');
	background-position: center top !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-color: rgba(255, 255, 255, 0.4);
	background-blend-mode: lighten;
}
.webp main article section.parallax-secondary {
	position: relative;
	background-image: url('common/background/bg-secondary.webp');
	background-position: center top !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-color: rgba(255, 255, 255, 0.4);
	background-blend-mode: lighten;
}
article section .container_innner {
	margin-bottom: 5rem;
	background-color: #FFF;
}
aside {
	padding: 3rem 0 2rem;
	margin: 0 0 1rem;
}
aside section {
	padding: 0;
}
footer {
	margin: 0 auto 0;
	padding: 2.5rem 0 0;
	text-align: center;
	position: relative;
	background-color: var(--dark)
}
.clearfix, .post_body {
	zoom: 1;
}
.clearfix:after, .post_body:after {
	height: 0;
	display: block;
	visibility: hidden;
	content: ".";
	clear: both;
}
@media screen and (max-width: 767.98px) {
	main article section.parallax-primary {
		position: relative;
		background-image: url('common/background/bg-primary_sp.jpg');
		background-position: center top !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		background-color: rgba(255, 255, 255, 0.4);
		background-blend-mode: lighten;
	}
	.webp main article section.parallax-primary {
		position: relative;
		background-image: url('common/background/bg-primary_sp.webp');
		background-position: center top !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		background-color: rgba(255, 255, 255, 0.4);
		background-blend-mode: lighten;
	}
	main article section.parallax-secondary {
		position: relative;
		background-image: url('common/background/bg-secondary_sp.jpg');
		background-position: center top !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		background-color: rgba(255, 255, 255, 0.4);
		background-blend-mode: lighten;
	}
	.webp main article section.parallax-secondary {
		position: relative;
		background-image: url('common/background/bg-secondary_sp.webp');
		background-position: center top !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		background-color: rgba(255, 255, 255, 0.4);
		background-blend-mode: lighten;
	}
	main#page article section.thankyou,
	main#post article section.single-post {
		min-height: 600px;
	}
	main#post article section.news-post .card-body {
		background-image: url('svg/bg-logo.svg');
		background-size: 45% auto;
		background-position: right top;
		background-repeat: no-repeat;
	}
	.pc-contents {
		text-align: center !important;
	}
}

/*-----------------------------------------------------
// parallax
-----------------------------------------------------*/
article section.parallax {
	background-attachment: fixed;
}
article section.parallax .container {
	position: relative;
	z-index: 2;
}
article section.primary-element {
	position: relative;
	background-image: url('common/background/bg-primary.jpg');
	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.8);
	z-index: 1;
}
article section.white-element::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.85);
	z-index: 1;
}
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);
	z-index: 1;
}
article section.dark-element::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(16, 16, 16, 0.4);
	z-index: 1;
}
@media (max-width: 767.98px) {
	article section.primary-element {
		position: relative;
		background-image: url('common/background/bg-primary_sp.jpg');
		background-position: right center !important;
		background-size: cover !important;
	}
}

/* ------------------------------------
// header
------------------------------------ */
/* ------------------------------------
// MV
------------------------------------ */
header#mv {
	margin-top: 0 !important;
	padding: 0 !important;
	width: 100%;
	position: relative;
}
header#mv .main-visual {
	margin: 0 !important;
	padding: 0 !important;
	/*padding-top: 56.25%;
	height: 0;*/
	height: 100vh;
	position: relative;
	background-image: url('common/header/mv.jpg');
	background-position: right center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-color: #EBE6E1;
	background-blend-mode: multiply;
	opacity: 0.9;
	z-index: 2;
}
.webp header#mv .main-visual {
	margin: 0 auto;
	padding: 0 !important;
	/*padding-top: 56.25%;
	height: 0;*/
	height: 100vh;
	position: relative;
	background-image: url('common/header/mv.webp');
	background-position: right center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-color: #EBE6E1;
	background-blend-mode: multiply;
	opacity: 0.9;
	z-index: 2;
}
header#mv .mv-element {
	margin: 0 !important;
	position: absolute;
	top: 50%;
	left: 5%;
	transform: translate(0%,-50%);
	width: fit-content;
	height: auto;
	z-index: 2;
}
header#mv h1 {
	margin: 0 0 2rem !important;
	width: fit-content;
	height: auto;
	color: #9C7F59;
	z-index: 2;
}
header#mv h2 {
	margin: 0 0 !important;
	width: fit-content;
	height: auto;
	color: #9C7F59;
	font-size: 2.5rem;
	z-index: 2;
}
#mv-header {
	padding: 0 !important;
	position: relative;
	background-color: #FFF !important;
}
#mv-header .header-element {
	margin: 0 auto;
	padding-top: 30%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead.jpg') !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-color: #FFF;
	opacity: 1;
	mix-blend-mode: multiply;
}
.webp #mv-header .header-element {
	margin: 0 auto;
	padding-top: 30%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead.webp') !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-color: #FFF;
	opacity: 1;
	mix-blend-mode: multiply;
}
#mv-header .header-element .container-fluid {
	padding: .7rem .5rem;
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.3);
}
#mv-header .header-element h1 {
	margin: 0 auto !important;
	font-size: 1.8em !important;
}
#mv-header .header-element h1::after {
	margin-left: 1rem;
	content: attr(data-title);
	font-size: .7em !important;
	font-family: "Cardo", "Zen Old Mincho", serif !important;
	font-weight: 400 !important;
	font-style: normal !important;
	color: var(--subheading);
	letter-spacing: 0 !important;
}
#page-header {
	padding: 0 !important;
	position: relative;
	background-color: #FFF !important;
}
#page-header .header-element {
	margin: 0 auto;
	padding-top: 2rem;
	padding-bottom: 2rem;
	position: relative;
}
#page-header .container {
	padding-top:3rem !important;
	padding-bottom: 3rem !important;
}
#page-header .container h2.title {
	margin-bottom: 0 !important;
	text-align: center;
	border: none !important;
}
#page-header .container h1.title {
	margin-bottom: 0 !important;
	padding: 0 .5rem 0 1rem;
	line-height: 3 !important;
	text-align: left;
	font-size: 3rem !important;
	font-weight: 800 !important;
	letter-spacing: 1px !important;
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44.28 32.52'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %23FFBF73; %7D %3C/style%3E%3C/defs%3E%3Cg id='_01' data-name='01'%3E%3Cg%3E%3Ccircle class='cls-1' cx='13.35' cy='19.6' r='6.32'/%3E%3Ccircle class='cls-1' cx='13.35' cy='19.6' r='6.32'/%3E%3Ccircle class='cls-1' cx='27.64' cy='25.67' r='5.26'/%3E%3Ccircle class='cls-1' cx='25.02' cy='12.85' r='4.32'/%3E%3Ccircle class='cls-1' cx='32.48' cy='4.35' r='3.74'/%3E%3Ccircle class='cls-1' cx='2.12' cy='25.27' r='2.12'/%3E%3Ccircle class='cls-1' cx='10.47' cy='29.81' r='2.71'/%3E%3Ccircle class='cls-1' cx='17.84' cy='28.1' r='1.83'/%3E%3Ccircle class='cls-1' cx='3.74' cy='14.2' r='2.71'/%3E%3Ccircle class='cls-1' cx='14.8' cy='6.65' r='3.63'/%3E%3Ccircle class='cls-1' cx='23.28' cy='2.21' r='2.21'/%3E%3Ccircle class='cls-1' cx='41.27' cy='11.97' r='3.01'/%3E%3Ccircle class='cls-1' cx='33.18' cy='16.11' r='2.47'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: contain;
}
@media (max-width: 767.98px) {
	header#mv {
		margin-top: 0px !important;
	}
	header#mv .main-visual {
		margin: 0 !important;
		padding: 0 !important;
		/*padding-top: 62.5%;
		height: 0;*/
		height: 100vh;
		position: relative;
		background-image: url('common/header/mv-sp.jpg');
		background-position: right center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		background-color: #EBE6E1;
		background-blend-mode: multiply;
		opacity: 0.75;
		z-index: 2;
	}
	.webp header#mv .main-visual {
		margin: 0 auto;
		padding: 0 !important;
		/*padding-top: 62.5%;
		height: 0;*/
		height: 100vh;
		position: relative;
		background-image: url('common/header/mv-sp.webp');
		background-position: right center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		background-color: #EBE6E1;
		background-blend-mode: multiply;
		opacity: 0.75;
		z-index: 2;
	}
	header#mv .mv-element {
		margin: 0 !important;
		position: absolute;
		top: auto;
		bottom: 15%;
		left: 3%;
		transform: none !important;
		/*transform: translate(0%, -50%);*/
		width: fit-content;
		height: auto;
		z-index: 2;
	}
	header#mv h1 {
		letter-spacing: .15rem !important;
		z-index: 2;
	}
	.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;
	}
	.main-visual .slide-contents h4 {
		text-align: left !important;
		font-size: 1.8rem !important;
		letter-spacing: .1rem !important;
	}
	.main-visual .slide-contents p {
		font-size: 1.4rem !important;
	}
}
.cards {
	padding-bottom: .5rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.post-date {
	margin: 0 0 1rem !important;
	font-size: 1.3rem;
	font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif !important;
}
.postmeta-date {
	font-size: 1.4rem;
	color: #555;
	font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif !important;
}
ul.tag-list {
	margin: 0 0 .5rem !important;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}
ul.tag-list li {
	margin: 0 .5rem 0 0;
}
ul.tag-list li a {
	padding: .35rem .7rem .5rem;
	font-size: 1.3rem !important;
	color: #FFF !important;
	line-height: 1.4 !important;
	background-color: var(--subheading);
	border-radius: .35rem !important;
}
ul.tag-list li a:visited {
	color: #FFF !important;
}
ul.tag-list li a:hover {
	background-color: var(--sub);
}
.page-nav {
	margin: .5rem 0 0;
	text-align: right;
}
.page-nav a {
	margin: 0 1rem;
	display: inline-block;
	color: #222 !important;
}

/*-----------------------------------------------------
// top
-----------------------------------------------------*/
.box-text {
	padding: 1rem 0;
	display: block;
	color: #FFF;
	font-size: 1.8rem;
	border-radius: .35rem;
}
#sb_instagram {
	padding: 0 7px 7px !important;
	background: #F7F2EF !important;
}

/*-----------------------------------------------------
// slick
-----------------------------------------------------*/
.slider {
	margin-bottom: 2rem;
}
.slider .slick-slide {
	padding: 10px;
	position: relative;
}
.slick-list {
	margin-left: -20px !important;
	margin-right: -20px !important;
}
.slider .slick-slide a span {
	padding: .75rem;
	width: 100%;
	display: block;
	color: #FFF !important;
	background-color: #495057 !important;
}
.slider .slick-slide h4 {
	font-size: 1.5rem !important;
	line-height: 1.5 !important;
	text-align: center;
}
.slider .slick-slide img {
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
	border-radius: 1rem;
}
.slider .slick-slide .cal {
	padding: 5px;
	position: absolute;
	top: 15px;
	left: 15px;
	display: inline-block;
	color: #FFF;
	font-size: 1.2rem;
	line-height: 1.2;
	letter-spacing: 0 !important;
	background-color: var(--sub);
	border-radius: .5rem;
}
.slider .slick-slide a span:hover {
	color: #C1272D !important;
	text-decoration: none !important;
}
.slick-prev:before , .slick-next:before {
	color: rgba(73, 80, 87, .3) !important;
}
.slick-dots li {
	margin: 0 5px;
	padding: 0;
	width: 10px !important;
	height: 10px !important;
	position: relative;
	display: inline-block;
	cursor: pointer;
}
@media (max-width:768px) {
	.slider .slick-slide h4 {
		font-size: 1.3rem !important;
		line-height: 1.4 !important;
		text-align: left;
	}
	.slick-prev , .slick-next {
		display: none !important;
	}
}

/*-----------------------------------------------------
// footer
-----------------------------------------------------*/
footer section {
	padding: 1rem 0 2rem !important;
	text-align: left;
	color: #FFF;
}
footer #copyright {
	color: inherit !important;
	padding: 1rem 0 !important;
	background-color: #FFF !important;
}
footer h5 {
	margin: 0 0 1rem;
	letter-spacing: .1rem;
	text-align: left;
	font-size: 1.5rem !important;
}
footer p {
	margin: 0 0 .5rem;
	font-size: .8em;
}
footer .footer-logo {
	margin: 0 auto;
	padding: 0;
	max-width: 70%;
	display: block;
	text-align: center;
}
footer .footer-nav {
	margin: 0;
}
footer .footer-nav li {
	margin: 0 0 .75rem;
	font-size: 1.3rem;
}
footer .footer-nav li::before {
	margin-right: .5rem;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f105";
}
footer .footer-nav li a {
	color: #FFF !important;
}
footer .btn {
	font-size: 1.5rem !important;
}
footer .footer-contents {
	text-align: right !important;
}
footer .footer-contents a {
	color: #505050 !important;
}
.copyright {
	margin: 1.5rem 0 0 !important;
	padding: 0;
	display: block;
	text-align: center;
	color: #EEE;
	font-size: 1.1rem !important;
}
.btn-contact {
	position: fixed;
	top: 7px;
	right: 10px;
	width: 72px;
	height: 72px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background-color: #4DA7CA;
	color: #FFF !important;
	line-height: 1.2 !important;
	text-align: center;
	z-index: 999999;
}
.btn-contact:hover {
	color: #FFF !important;
	text-decoration: none !important;
	background-color: #18789f;
}
.btn-contact .icn-mail {
	line-height: 1 !important;
	font-size: 3rem !important;
}
.btn-contact .btn-box {
	display: block;
	text-align: center;
}
.btn-contact .btn-box span {
	display: block;
	text-align: center;
	font-size: .9em !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.title {
	margin: 2rem 0 5rem;
}
.col-text {
	line-height: 1.6 !important;
	font-size: 1.5rem;
}
/*-----------------------------------------------------
// pages
-----------------------------------------------------*/
.page-title {
	padding: 0 !important;
	border: none !important;
	font-weight: 700 !important;
	background-color: transparent !important;
}
h4.page-title {
	color: inherit !important;
}
.social {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	font-size: 3rem !important;
}
.social a {
	margin: 0 10px;
}
.social a .bi-line {
	color: #00B900 !important
}
.social a .bi-instagram {
	color: #CF2E92 !important
}
.social a img {
	width: 3rem;
	height: auto;
	display: flex;
	align-items: center;
}

/* ------------------------------------
// 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
-----------------------------------------------------*/
@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: 500 !important;
	letter-spacing: .1rem !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
summary.h5 {
	font-weight: 500 !important;
}
summary::-webkit-details-marker {
	display: none !important; /* 矢印を消す */
}
/* 疑似要素でアイコンを表示 */
summary::before {
	margin-right: .5rem;
	font-family: "Font Awesome 6 Free";
	font-weight: 500;
	content: "\f3a5";
	color: #4DA7CA;
}
summary::after {
	margin: auto;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 2rem;
	content: "\f078";
	color: rgba(0, 0, 0, 0.5);
	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: rgba(0, 0, 0, 0.5);
	position: absolute;
	left: auto;
	right: 1.5rem;
}
details .details-inner {
	padding: 2rem 1.5rem;
}

/* ------------------------------------
// 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;
}
#feed {
	margin: 0 0 .5rem;
	position: relative;
	overflow: hidden;
}
#feed .card-overlay {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	background-color: rgba(0,0,0,0.6);
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
#feed:hover .card-overlay {
	opacity: 1;
}
#feed .card-overlay .example-title {
	padding: 1.5rem 1rem;
	position: absolute;
	top: 50%;
	left: 50%;
	overflow: hidden;
	color: #FFF;
	white-space: nowrap;
	font-size: 1.1em !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-align: center;
	transform: translate(-50%, -50%);
	border: 3px double #FFF;
	background-color: rgba(0, 0, 0, 0.5);
}
#feed .card-img,
#feed .img-responsive {
	width: 100% !important;
	object-fit: cover;
	aspect-ratio: 4 / 3;
}
#feed a {
	color: #3E3E3E !important;
}
#feed a:hover {
	color: #4DA7CA !important;
}
#feed a:visited {
	color: #3E3E3E !important;
}
#feed a.cols-pic {
	display: block;
}
#feed a.cols-pic:hover {
	position: relative;
	-webkit-transform: scale(1.2);
	-moz-transform: scale(1.2);
	-o-transform: scale(1.2);
	-ms-transform: scale(1.2);
	transform: scale(1.2);
	background-color: #111;
}
#feed a img.card-img {
	transition: .3s ease-in-out;
}
#feed a:hover img.card-img {
	filter: brightness(30%);
	/*filter: grayscale(100);*/
}
.feeds .card {
	padding: 0 !important;
}
.feeds .grid-post .card-body {
	padding: .5rem .75rem !important;
}
.feeds .grid-post img {
	width: 100%;
	height: auto;
	aspect-ratio: 4/3;
	object-fit: cover;
}
.feeds .grid-post h4 {
	margin: 0 0 .35rem !important;
	font-size: 1.75rem !important;
	line-height: 1.4 !important;
	letter-spacing: 0.5px !important;
}
.feeds .grid-post .date {
	margin: 0 0 .35rem !important;
	font-size: .8em !important;
	color: var(--dark);
}
.feed {
	margin-bottom: 1rem;
}
.feed .card-header {
	padding: 1rem 1.5rem !important;
	background: #FFF;
	background: linear-gradient(300deg,rgba(207, 171, 145, 0.3) 0%, rgba(207, 171, 145, 1) 55%);
}
.feed .card-header a {
	color: #FFF;
}
.feed .card-body {
	padding: 1rem 1.5rem 1.5rem !important;
}
.feed h2 {
	margin: 1rem 0 !important;
	font-size: 2.6rem !important;
	text-align: left !important;
	letter-spacing: 0.5px !important;
}
.feed p {
	text-align: left;
}
.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: 0 0 2rem !important;
	font-size: 1.4rem !important;
	color: #555;
}
.feed .card-header .post-date {
	margin-bottom: 1rem !important;
}
.feed .cat-name {
	font-size: 1.2rem !important;
}
.feed .cat-name a {
	padding: .3rem 1rem;
	display: inline-block;
	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";
}
.feed-list {
	margin: 0 0 2rem;
}
.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 .post-date {
	margin: 1rem 0 0 !important;
	padding: 0 !important;
	font-size: 1.4rem;
	line-height: 1.2;
	color: #999;
}
.feed-list .feed-title a:hover {
	color: #4DA7CA !important;
}
.feed-list .feed-description {
	line-height: 1.5 !important;
	font-weight: 500 !important;
}
.feed-list li {
	font-size: 1.5rem;
	text-align: left;
}
.feed-list li:last-child {
	border-bottom: none;
}
.feed-list li span.post-date {
	margin-right: .5rem;
	letter-spacing: -0.5px;
}
.feed-list li .feed-title {
	font-size: 1.8rem !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}
.feed-list li .feed-title a {
	color: #3E3E3E !important;
}
.voce {
	margin-bottom: 1.5rem !important;
}
.voice .card-header {
	background: #FFF;
	background: linear-gradient(300deg, rgba(222, 231, 229, 0.3) 0%, rgba(222, 231, 229, 1) 55%);
}
.voice .card-header .title {
	margin-bottom: 1rem !important;
	font-size: 2.15rem !important;
	font-weight: 500 !important;
	letter-spacing: 1px !important;
}
.voice .card-header .title > small {
	font-size: 70% !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
}
@media (min-width: 768px) {
	.voice .card-body p,
	.voice .card-footer p {
		font-size: .9em !important;
	}
}

/*-----------------------------------------------------
// 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 {
	table-layout: auto !important;
}
.text-nowrap {
	white-space: nowrap !important;
}
.table-striped tbody tr:first-child {
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.table-striped tbody tr:nth-of-type(odd) {
	background-color: hsl(204deg 15.15% 93.53% / 55%) !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.table-striped tbody tr:nth-of-type(even) {
	background-color: hsla(0, 0%, 100%, 0.7) !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.table th, .table td {
	padding: 1rem 1rem !important;
	line-height: 1.5;
	vertical-align: middle;
	font-weight: 400 !important;
	border-top: none !important;
}
.table th {
	width: 25%;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle !important;
}
.table th > small {
	display: block;
	font-size: 85% !important;
	text-align: center !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	white-space: nowrap !important;
}
.table td {
	text-align: center;
	vertical-align: middle !important;
}
.table thead th {
	padding: 1rem .75rem;
	color: #FFF;
	font-weight: 500 !important;
	background-color: var(--main);
	border-bottom: 1px solid var(--main) !important;
}
.table thead td {
	padding: 1rem .75rem;
	color: #FFF;
	background-color: var(--main);
	border-bottom: 1px solid var(--main) !important;
}
.table th.sub-field {
color: #FFF !important;
	background-color: #CDC3A3 !important;
	border-bottom: 1px solid #CDC3A3 !important;
}
.table-sm {
	font-size: 1.5rem;
}
.table-sm th, .table-sm td {
	padding: .75rem 1rem !important;
	letter-spacing: 0.5px !important;
}
.table-sm th {
	font-weight: 500 !important;
}
.table-sm td small {
	font-size: .9em;
}
.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.tbl {
	margin: 0 0;
	padding: 0;
	width: 100%;
	border-collapse: collapse;
	border: none;
}
table.tbl-sm {
	font-size: .9em !important;
}
table.tbl tr {
	margin: 0;
	padding: 0;
	border: none;
}
table.tbl th {
	padding: .6rem 1rem !important;
	width: 20%;
	position: relative;
	line-height: 1.5;
	white-space: nowrap;
	vertical-align: middle;
	border: none;
}
table.tbl th > span.tbl-arrow {
	position: absolute;
	right: 1rem;
}
table.tbl td {
	margin: 0;
	padding: .6rem 1rem !important;
	line-height: 1.5;
	vertical-align: middle;
	border: none;
}
table.tbl td.nutrition {
	padding-right: 0 !important;
	width: 5em !important;
	text-align: right !important;
}
table.tbl td.unit {
	padding-left: 1px !important;
}
table.tbl td small {
	font-size: 80% !important;
}
table.tbl, table.tbl th, table.tbl td {
	border: none;
}
table.tbl tr {
	border-bottom: 1px solid rgba(0, 0, 0, .1) !important;
}
table.tbl tr:first-child {
	border-top: 1px solid rgba(0, 0, 0, .1) !important;
}
.news-post table {
	font-size: .9em !important;
}
.news-post table thead th,
.news-post table thead td {
	font-weight: 600 !important;
	background-color: #EBE1C5;
}
.news-post table th,
.news-post table td {
	padding: .5rem .75rem !important;
	vertical-align: middle;
}
.news-post table, .news-post table th, .news-post table td {
	border: 1px solid rgba(0, 0, 0, .1) !important;
}
input {
	padding: .5rem;
}

/*-----------------------------------------------------
// button
-----------------------------------------------------*/
.link-button a {
	margin: 0 auto;
	padding: 10px 25px 10px 50px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 280px;
	transition: .5s ease-in-out;
	letter-spacing: 0 !important;
	font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif !important;
	color: #545454;
	z-index:0;
	overflow: hidden;
	background: rgba(236, 239, 241, 0.55);
	border-radius: 50px;
	border: 1px solid rgba(0, 0, 0, .1);
}
.link-button a:before {
	padding: 12px 11px;
	position: absolute;
	left: 5px;
	font-family: bootstrap-icons;
	content: "\F138";
	line-height: 1;
	color: #FFF;
	background-color: #D7D7D7;
	border-radius: 60px;
	z-index: 2;
}
.link-button a:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 0;
	display: block;
	background-color: #C3C3C3;
	transition: .2s;
	left:0;
}
.link-button a:hover:after {
	width: 100%;
	z-index: -1;
}
.link-button a:hover {
	text-decoration: none !important;
	color: #FFF !important;
}
.link-whitebutton a {
	margin: 0 0 0 auto;
	padding: 10px 25px 10px 50px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 280px;
	transition: .5s ease-in-out;
	letter-spacing: 0 !important;
	font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif !important;
	color: #545454;
	z-index:0;
	overflow: hidden;
	background: rgba(236, 239, 241, 0.55);
	border-radius: 50px;
	border: 1px solid rgba(0, 0, 0, .1);
}
.link-whitebutton a:before {
	padding: 12px 11px;
	position: absolute;
	left: 5px;
	font-family: bootstrap-icons;
	content: "\F138";
	line-height: 1;
	background-color: #D7D7D7;
	border-radius: 60px;
	z-index: 2;
}
.link-whitebutton a:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 0;
	display: block;
	background-color: #C3C3C3;
	transition: .2s;
	left:0;
}
.link-whitebutton a:hover:after {
	width: 100%;
	z-index: -1;
}
.link-whitebutton a:hover {
	color: #FFF !important;
	text-decoration: none !important;
}
.link-button a > span,
.link-whitebutton a > span {
	letter-spacing: 1px !important;
}

/*-----------------------------------------------------
// form
-----------------------------------------------------*/
input, button, select, optgroup, textarea {
	letter-spacing: 0 !important;
}
label.screen-reader-text {
	margin: 0 0 1rem;
}
select{
	appearance: none;
}
.wp-form {
	margin: 0 0 1rem;
	padding-left: 10px;
}
.wp-form label.control-label {
	padding: 1rem 2.5rem !important;
	color: #FFF !important;
	font-weight: 600 !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;
}
.form-group label.control-label {
	background-color: #898989 !important;
}
.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;
}
.send-button {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-around;
}
.wpcf7-spinner {
	display: none !important;
}
input[type="submit"] {
	margin: 0 auto 1rem;
	padding: 2rem 3rem;
	width: 40%;
	display: block;
	position: relative;
	z-index: 0;
	outline: none;
	color: #FFF !important;
	text-decoration: none !important;
	text-align: center;
	line-height: 1;
	font-weight: 600;
	letter-spacing: .3rem;
	font-size: 1.8rem;
	text-shadow: initial;
	border: 2px solid var(--sub);
	border-radius: 6rem;
	background-color: var(--sub);
}
.item-form input[type="submit"] {
	width: 80%;
}
input[type="button"] {
	margin: 0 auto 1rem;
	padding: 2rem 3rem;
	width: 40%;
	display: block;
	position: relative;
	z-index: 0;
	outline: none;
	color: #555 !important;
	text-decoration: none !important;
	text-align: center;
	line-height: 1;
	font-weight: 600;
	letter-spacing: .3rem;
	font-size: 1.8rem;
	text-shadow: initial;
	border: 2px solid #CCC;
	border-radius: 6rem;
	background-color: #CCC;
}
input[type="reset"] {
	margin: 0 auto 1rem;
	padding: 2rem 3rem;
	width: 40%;
	display: block;
	position: relative;
	z-index: 0;
	outline: none;
	color: #555 !important;
	text-decoration: none !important;
	text-align: center;
	line-height: 1;
	font-weight: 600;
	letter-spacing: .3rem;
	font-size: 1.8rem;
	text-shadow: initial;
	border: 2px solid #CCC;
	border-radius: 6rem;
	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);
}
input.p-postal-code {
	width: auto !important;
}
span.wpcf7-list-item label {
	padding: .5rem 0 !important;
	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;
}
.wpcf7-list-item-label {
	color: #282828 !important;
}
.acceptance-privacy label {
	color: #333;
}
.privacy {
	margin: 3rem auto 3rem;
	border: 1px solid #ccc;
	padding: 2rem;
	overflow: auto;
	height: 400px;
	font-size: 1.4rem;
	color: #505050;
}
.privacy h6,
#ModalPrivacy h6 {
	margin-bottom: .5rem !important;
	font-weight: 700 !important;
	font-size: 1.55rem !important;
}
.privacy p,
#ModalPrivacy p {
	margin-bottom: 1rem !important;
	font-size: 1.4rem !important;
	line-height: 1.5 !important;
}

/*-----------------------------------------------------
// pankuzu
-----------------------------------------------------*/
.breadcrumbs {
	margin: .75rem 0 2rem;
	display: block;
	overflow: hidden;
	text-align: left;
	font-size: 1.1rem;
	color: #404040;
}
.breadcrumbs span {
	display: inline-block;
}
.breadcrumbs .fas {
	margin-left: .25rem;
	margin-right: .25rem;
	color: #999;
}
.breadcrumbs a {
	color: #404040 !important;
}
.breadcrumbs span a:hover {
	color: #4DA7CA !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:767.88px) {
	.breadcrumb-area {
		font-size: 1rem;
	}
}

/*-----------------------------------------------------
// youtube
-----------------------------------------------------*/
.embedbox {
	margin: 0 auto;
	width: 100%;
	overflow: hidden;
	border-radius: 1rem;
}
.embed-container {
	position: relative;
	padding-bottom: 56.25%;
	overflow: hidden;
	max-width: 100%;
	height: auto;
}
.embed-container iframe,
.embed-container object,
.embed-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*-----------------------------------------------------
// google map
-----------------------------------------------------*/
#map {
	width: 100%;
	height: 520px;
	position: relative;
}
#top-map {
	width: 100%;
	height: 250px;
	position: relative;
}
#top-map iframe,
#top-map object,
#top-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-mapr 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.6rem;
	text-align: center;
}
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: 2rem;
}
.pager .pager-next {
	margin: 0 .5rem 1rem 1rem;
	display: inline-block;
	font-size: 2rem;
}
.pager span {
	padding: .5rem 1.15rem;
	display: inline-block;
	overflow: hidden;
	text-align: center;
	color: #AAA !important;
	text-decoration: none !important;
	border: none;
}
.pager span.current {
	padding: .5rem 1.15rem;
	display: inline-block;
	overflow: hidden;
	text-align: center;
	color: var(--sub) !important;
	text-decoration: none !important;
	border: none;
}
.pager span.dots {
	padding: .5rem 1.15rem;
	display: inline-block;
	overflow: hidden;
	text-align: center;
	color: #AAA !important;
	text-decoration: none !important;
	border: none;
}
.pager a {
	padding: .5rem 1.15rem;
	display: inline-block;
	overflow: hidden;
	text-align: center;
	color: #AAA !important;
	text-decoration: none !important;
	border: none;
}
.pager .pager-prev a,
.pager .pager-next a {
	padding: 1rem 3rem;
	color: #AAA;
}
.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: var(--sub) !important;
	text-decoration: none !important;
	border: none;
}
.pager-number a {
	margin: 0 .5rem;
	padding: .5rem 1rem;
	text-align: center;
	color: #AAA !important;
	text-decoration: none !important;
	border: none;
}
.pager a:hover,
.pager-number a:hover {
	color: var(--sub)!important;
	text-decoration: none !important;
}
.pager-link {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-around;
}
.pager-link .pager-nav {
	margin: 0 !important;
	font-size: 1.6rem !important;
}
.pager-link .pager-nav li {
	margin: 0 5px;
	display: inline-block !important;
}
.pager-link a {
	color: #AAA !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: 1420px) {
	.btn-contact {
		position: fixed;
		top: 110px;
		right: 20px;
		width: 72px;
	}
}
@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) {
	.header-nav ul.social-nav {
		margin: 0 !important;
		position: fixed;
		top: 45%;
		right: 10px;
	}
	.header-nav ul.social-nav li {
		text-align: center !important;
		line-height: 1.2 !important;
		border-bottom: none !important;
	}
	.header-nav ul.social-nav li a {
		width: 5rem;
		height: 5rem;
		display: block !important;
		color: #585858 !important;
		font-size: 3rem;
		line-height: 4.7rem;
		text-align: center;
		background-color: rgba(211, 211, 211, 0.4);
		border-radius: 50%;
	}
	.header-nav ul.social-nav li a::after {
		margin: 0 !important;
		content: '' !important;
	}
	.header-nav ul.social-nav li a:hover .bi-instagram {
		color: #CF2E92 !important;
	}
	.header-nav ul.social-nav li a:hover .bi-line {
		color: #00B900 !important;
	}
	.br-sp {
		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;
	}
	section {
		margin-bottom: 0;
		padding: 2.5rem 0 1rem;
	}
	article#pages section {
		padding: 2rem 0 1rem !important;
	}
	main#page article section {
		padding: 2rem 0 1rem !important;
	}
	main#post article section {
		padding: 1.5rem 0 1.5rem !important;
	}
	#mv-header {
		padding: 0 !important;
		position: relative;
		background-color: #FFF !important;
	}
	#mv-header .header-element {
		margin: 0 auto;
		padding-top: 84.635%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead_sp.jpg') !important;
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.webp #mv-header .header-element {
		margin: 0 auto;
		padding-top: 84.635%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead_sp.webp') !important;
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	#page-header {
		padding: 0 !important;
		position: relative;
		background-color: #FFF !important;
	}
	#page-header .header-element {
		margin: 0 auto;
		padding-top: 52.083%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead_sp.jpg') !important;
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
	}
	.webp #page-header .header-element {
		margin: 0 auto;
		padding-top: 52.083%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead_sp.webp') !important;
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
	}
	#page-header .container {
		top: 50%;
	}
	#page-header .container h1.title {
		margin-top: 0 !important;
		font-size: 2.4rem !important;
	}
	article#pages section {
		min-height: 400px;
	}
	aside .widgets {
		padding: 0 10px;
	}
	footer {
		margin: 0 auto 0;
		padding: 2.5rem 0 0 !important;
		text-align: center;
	}
	footer section {
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}
	footer section.social {
		padding: 1rem 0 !important;
		text-align: right;
	}
	footer section.social .img-icn {
		width: 40px !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 .footer-logo img {
		margin: 0 auto 0 !important;
		width: 75% !important;
		height: auto;
	}
	footer .text-right {
		text-align: left !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: 0 0 2rem !important;
		/*font-size: 2.6rem !important;*/
		font-size: 2.2rem !important;
	}
	header#mv h2 {
	margin: 0 0 !important;
		font-size: 2rem !important;
	}
	h2.title {
		margin: .5rem 0 3.5rem !important;
		font-size: 2.15rem !important;
		letter-spacing: 0.5px !important;
	}
	h1.heading {
		font-size: 2.5rem !important;
	}
	h1.heading-en {
		font-size: 2.82rem !important;
		letter-spacing: 0.5px !important;
	}
	h2.heading {
		font-size: 2.3rem !important;
	}
	h2.heading-en {
		font-size: 2.6rem !important;
		letter-spacing: 1px !important;
	}
	.feed h2 {
		margin: .5rem 0 !important;
		font-size: 2rem !important;
		letter-spacing: 1px !important;
	}
	h3, .h3 {
		font-size: 1.9rem !important;
	}
	h3.title {
		font-size: 1.8rem !important;
	}
	h3.heading {
		letter-spacing: 0.5px !important;
	}
	h4, .h4 {
		margin-bottom: 1rem;
		font-size: 1.7rem !important;
	}
	h4.menu-title {
		font-size: 1.8rem !important;
		letter-spacing: 0 !important;
	}
	.feeds .grid-post h4 {
		margin: 0 0 .35rem !important;
		font-size: 1.6rem !important;
		line-height: 1.4 !important;
		letter-spacing: 0 !important;
	}
	h5, .h5 {
		font-size: 1.5rem !important;
	}
	h6, .h6 {
		font-size: 1.5rem !important;
	}
	p {
		font-size: 1.4rem !important;
	}
	.small {
		font-size: 90% !important;
	}
	.br-pc {
		display: none !important;
	}
	.pc-contents {
		text-align: center !important;
	}
	.information ul {
		margin: 0 !important;
	}
	.information ul li {
		margin: 0 0 .5rem !important;
		padding: .5rem 0 .75rem;
		display: block;
		width: 100%;
		text-align: left;
		border-bottom: 1px dotted rgba(0, 0, 0, .2);
	}
	.information ul li span {
		margin-right:0;
		display: block;
		text-align: left;
		font-size: .9em;
	}
	.news-list {
		margin: 5px 5px 10px !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;
	}
	.news-list li span.date {
		margin: 0 5px 0 0 !important;
		padding: .35rem .5rem;
		color: #FFF;
		font-size: 1em !important;
		font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif !important;
	}
	.news-list li a {
		font-size: 1.3rem !important;
	}
	.table-sm {
		margin-bottom: .5rem !important;
	}
	.table th {
		width: 20% !important;
	}
	.table th, .table td {
		padding: 1rem .75rem !important;
		font-size: 1.3rem !important;
		text-align: center;
	}
	.table td a {
		display: block;
		text-align: left;
	}
	.table-xs th, .table-xs td {
		padding: .5rem 1rem !important;
		font-size: 1.3rem !important;
		text-align: center !important;
		letter-spacing: 0.5px !important;
	}
	.post-date {
		margin: 0 0 .25rem !important;
		display: block;
		text-align: left;
		font-size: 1.3rem !important;
		font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif !important;
	}
	.feed-list {
		margin-bottom: .2rem;
		padding: 0 !important;
	}
	.feed-list li span.post-date {
		padding: 0 !important;
	}
	.card-title {
		font-size: 1.6rem !important;
	}
	.img-icn {
		max-width: 75% !important;
	}
	.img-round,
	.img-round_left {
		max-width: 100% !important;
	}
	.img-products {
		margin: 0 auto;
		max-width: 96% !important;
		height: auto;
	}
	.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;
	}
	.link-button a,
	.link-whitebutton a {
		margin: 0 auto !important;
		width: 80%;
	}
	.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;
	}
	.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;
	}
	.pager-link .pager-nav {
		margin-right: 5px;
	}
	.pager-link .pager-nav li {
		margin: 0 7px !important;
		font-size: 2rem !important;
	}
	table a.btn {
		margin-top: .3rem;
	}
	table.tbl th {
		width: 15% !important;
	}
	table.tbl th,
	table.tbl td {
		padding: 1rem .5rem !important;
		text-align: left !important;
	}
	input.wpcf7c-elm-step1 {
		margin: 0 auto 1.5rem;
		padding: 2rem 2rem;
		width: auto;
		display: block;
	}
	input[type="button"],
	input[type="reset"] {
		margin: 0 auto 1.5rem;
		padding: 2rem 2rem;
		width: 40%;
		display: block;
	}
	.wp-form label.control-label {
		padding: 1rem 1rem !important;
		font-size: 1.4rem !important;
	}
	#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: 15px !important;
	}
	br.sp-space {
		display: none !important;
	}
	/* off canvas nav */
	.sp-menu {
		margin: 0;
		padding: 10px;
		height: 93px;
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: center;
	}
	.sp-menu .navbar-brand {
		margin: 0 auto 0 0;
		width: 210px;
		max-width: 90% !important;
	}
	.sp-menu .navbar-brand img {
		margin-bottom: 2px !important;
		width: 95% !important;
		height: auto;
	}
	.sp-menu .btn-menu {
		padding: .5rem 1rem;
		font-size: 3.8rem;
		color: #AAA;
		cursor: pointer;
		line-height: 1;
		border: none !important;
		border-radius: .5rem;
		background: transparent;
	}
	.sp-menu .btn-menu i {
		color: #9E9E9E;
	}
	.sp-menu nav {
		position: absolute;
		z-index: 1;
		top: 92px;
		right: 0;
		overflow-x: hidden;
		text-align: center;
		width: 0;
		height: 100vh;
		transition: .5s;
		background-color: var(--bg);
	}
	.sp-menu nav.open-menu {
		width: 100%;
		height: 100vh;
	}
	.sp-menu nav ul {
		margin-left: auto;
		margin-right: auto;
		width: 90%;
		text-align: left;
	}
	.sp-menu nav li {
		font-size: 2rem !important;
		line-height: 3.6 !important;
		text-align: left !important;
		font-family: "Cardo", serif !important;
		font-weight: 400 !important;
		color: var(--heading) !important;
		border-bottom: 1px solid rgba(213, 206, 184, 0.5);
	}
	.sp-menu nav li a {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		color: var(--heading) !important;
		font-weight: 400 !important;
	}
	.sp-menu nav li a::after {
		margin-left: 2rem;
		content: attr(data-title);
		font-weight: 400 !important;
		font-size: .7em !important;
		font-family: 'Zen Kaku Gothic New','Noto Sans JP','Hiragino Sans','Meiryo','Hiragino Kaku Gothic ProN',sans-serif;
		letter-spacing: 0 !important;
	}
	.sp-menu nav ul.accordion-nav {
		padding: 20px 0 0;
		list-style: none;
		border: none;
	}
	.sp-menu nav ul.accordion-nav li {
		margin: 0;
		padding: 0;
		line-height: 2.4;
	}
	.sp-menu nav .accordion-nav ul.children li {
		line-height: 2.2;
	}
	.sp-menu nav ul.accordion-nav li div.accordion {
		padding-left: 10px;
	}
	.sp-menu nav ul.accordion-nav li a {
		display: block;
		padding-left: 10px;
	}
	.sp-menu nav div.accordion {
		position: relative;
		display: block;
		border: none;
		cursor: pointer;
		transition: 0.1s ease-in;
		position: relative;
		margin: 0;
	}
	.sp-menu nav div.accordion::before {
		margin-left: 0;
		position: absolute;
		top: .8em;
		left: 6em;
		content: attr(data-title);
		font-weight: 400 !important;
		font-size: .7em !important;
		font-family: 'Zen Kaku Gothic New','Noto Sans JP','Hiragino Sans','Meiryo','Hiragino Kaku Gothic ProN',sans-serif;
		letter-spacing: 0 !important;
	}
	.sp-menu nav div.accordion,
	.sp-menu nav li.catparent {
		font-weight: 500;
	}
	.sp-menu nav .accordion.active {
		margin-bottom: 0;
	}
	.sp-menu nav .accordion-nav ul.children {
		max-height: 0;
		overflow: hidden !important;
		transition: 0.3s ease-out;
		padding: 0 !important;
	}
	.sp-menu nav .accordion-nav ul.children li:last-child {
		border-bottom: none !important;
	}
	.sp-menu nav div.accordion:hover,
	.sp-menu nav ul.accordion-nav li a:hover {
		background-color: var(--subheading);
		text-decoration: none;
	}
	.sp-menu nav div.accordion:after {
		position: absolute;
		right: 15px;
		top: 50%;
		transform: translateY(-53%);
		font-family: bootstrap-icons;
		content: "\F4FA";
		font-size: 1em;
		color: rgba(0, 0, 0, .2);
	}
	.sp-menu nav div.accordion.active:after {
		content: "\F2E6";
	}
	.sp-menu ul.social-nav {
		margin: 0 !important;
		width: 25%;
		display: flex;
		align-items: center;
		justify-content: space-around;
	}
	.sp-menu ul.social-nav li {
		text-align: center !important;
		line-height: 1.2 !important;
		border-bottom: none !important;
	}
	.sp-menu ul.social-nav li a {
		display: block !important;
		color: #585858 !important;
	}
	.sp-menu ul.social-nav li a::after {
		margin: 0 !important;
		content: '' !important;
	}
	.sp-menu ul.social-nav li a .bi-instagram {
		font-size: 2em !important;
	}
	.sp-menu ul.social-nav li a .bi-line {
		font-size: 2em !important;
	}
	.sp-menu nav ul.social-nav {
		margin-top: 1.5rem !important;
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-around;
	}
	.sp-menu nav ul.social-nav li {
		text-align: center !important;
		line-height: 1.2 !important;
		border-bottom: none !important;
	}
	.sp-menu nav ul.social-nav li a {
		display: block !important;
	}
	.sp-menu nav ul.social-nav li a::after {
		margin: 0 !important;
		content: '' !important;
	}
	.sp-menu nav ul.social-nav li a .bi-instagram {
		color: #CF2E92 !important;
		font-size: 2em !important;
	}
	.sp-menu nav ul.social-nav li a .bi-line {
		color: #00B900 !important;
		font-size: 2em !important;
	}
}
