@charset "UTF-8";

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

:root {
	--main: #14afeb;
	--sub: #5b3b36;
	--emphasis: #005CAA;
	--color01: #1CAA92;
	--color02: #F68E06;
	--color03: #6FB9AC;
	--color04: #83D7F8;
	--bg_light: #CBD9DA;
}

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: #282828;
	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: #282828;
}
a:hover {
	color: #005CAA !important;
	text-decoration: underline;
}
:focus {
	outline: none !important;
}
a:visited {
	color: #282828;
}
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: 1rem;
	/*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: "";
}

/* ------------------------------------
// 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-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, h4, .h1, .h2 .h3 .h4 {
	margin: 0 0 1rem;
	text-align: left;
	font-weight: 700;
	line-height: 1.5 !important;
	letter-spacing: .1rem;
}
h5, h6, .h5, .h6 {
	margin: 0 0 1rem;
	font-weight: 500 !important;
	text-align: left;
	letter-spacing: .1rem;
}
.post-title {
	letter-spacing: .1rem;
}
h1 {
	color: #232323;
	font-weight: 700 !important;
	line-height: 1.3;
}
.title {
	letter-spacing: .15rem !important;
}
.subtitle {
	letter-spacing: .15rem !important;
	font-weight: 500 !important;
}
.under-title {
	margin-top: .25rem !important;
	display: block;
	text-align: center;
	font-family: "Halant", serif !important;
	font-weight: 300 !important;
	font-style: normal;
	letter-spacing: .1rem !important;
}
.page-title {
	padding: 0 !important;
	background-color: transparent !important;
}
h1.title {
	margin: 0 0 5rem !important;
	letter-spacing: .3rem !important;
}
h1.title > small {
	margin-left: 2rem;
	display: inline-block;
	text-align: left;
	font-size: 1.3rem !important;
}
h2 {
	margin: 0 0 5rem !important;
	color: #232323;
	font-weight: 700 !important;
	letter-spacing: .2rem;
}
h2.title {
	margin-bottom: 5rem;
	letter-spacing: .2rem !important;
}
h2.title small {
	display: block;
	text-align: center;
	line-height: 1.2;
	color: var(--emphasis);
	font-size: .45em !important;
	font-weight: 400 !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;
}
h2.page-title small {
	margin-bottom: .35rem;
	display: block;
	text-align: center;
	font-size: 70%;
	color: #555;
}
h3 {
	margin: 0 0 1.5rem !important;
	padding: 0;
	line-height: 1.5;
}
h3.page-title {
	margin-bottom: 1.5rem !important;
	padding-bottom: .25rem !important;
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	width: 100%;
	font-size: 2.3rem;
	font-weight: 400 !important;
	/*font-family: 'Noto Serif JP' , "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif !important;*/
	border-bottom: 2px solid #DDD;
}
h3.page-title::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 0;
	width: 35%;
	height: 2px;
	background-color: var(--color01);
}
h3.page-title small {
	margin-left: .5rem;
	font-size: 80% !important;
}
h3.title > span {
	margin-left: 1.5rem;
	font-optical-sizing: auto;
	font-weight: 400 !important;
	font-size: .6em !important;
	font-style: normal;
	opacity: 0.5;
}
h3.eng {
	letter-spacing: 0 !important;
}
h3.sub-title {
	margin: 0 0 1rem !important;
	font-weight: 400 !important;
	letter-spacing: .2rem !important;
	border: none !important;
}
h3.sub-title::after {
	content: '';
	background: none;
}
h3.sub-title small {
	margin-left: .5rem;
	font-size: .8em !important;
}
h4 {
	margin: .5rem 0 1rem;
	line-height: 1.6 !important;
}
h4.title {
	font-weight: 500 !important;
}
h5 {
	margin: 0 0 .5rem;
	line-height: 1.6 !important;
}
h6 {
	margin: 0 0 .5rem;
	line-height: 1.7 !important;
}
p {
	margin: 0 0 1rem;
	line-height: 1.7 !important;
	letter-spacing: .1rem;
	text-align: left;
}
strong {
	font-weight: 700 !important;
}
em {
	font-weight: 700 !important;
	font-style: normal !important;
}
small {
	display: inline-block;
	font-size: 85%;
	line-height: 1.6;
}
.small {
	font-size: .9em !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;
}
.phone-number {
	font-size: 2em !important;
	font-weight: 700 !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;
}
.text-min {
	font-weight: 400 !important;
	letter-spacing: .1rem !important;
	/*font-family: 'Noto Serif JP' , "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif !important;*/
}
.text-eng {
	font-family: "Lora", serif !important;
	font-optical-sizing: auto;
	font-weight: 400 !important;
	font-style: normal;
}
.vertical-text {
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode:vertical-rl;
	margin: 2rem auto .5rem;
}
.sub {
	position: relative;
	padding-bottom: 0;
	text-align: center;
}
.sub::after {
	margin-top: 1px;
	content: attr(data-en);
	display: block;
	color: var(--emphasis) !important;
	font-size: 50%;
	letter-spacing: .1rem !important;
}
.heading {
	margin-bottom: 2.5rem !important;
	position: relative;
	padding-bottom: .5rem;
	width: 100%;
	border-bottom: 3px solid #DDD;
}
.heading::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 0;
	width: 35%;
	height: 3px;
	background-color: #14AFEB;
}

/* ------------------------------------
// space
------------------------------------ */
.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;
}
.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;
}
/* ------------------------------------
// 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.15em !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: 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.sitelink {
	margin: 0 0;
	font-size: .95em !important;
}
ul.sitelink li {
	margin: 0 0 .5rem;
	padding: .75rem .5rem;
	text-align: left;
	letter-spacing: 0 !important;
	border-bottom: 1px dotted rgba(0, 0, 0, 0.2);
}
ul.sitelink li:before {
	margin-right: 5px;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f0c1";
}
ul.sitemap {
	margin: 0 0;
	font-size: .95em !important;
}
ul.sitemap li {
	margin: 0 0 .5rem;
	padding: .75rem .5rem;
	text-align: left;
	letter-spacing: 0 !important;
	border-bottom: 1px dotted rgba(0, 0, 0, 0.2);
}
ul.sitemap li:last-child {
	margin-bottom: 0 !important;
}
ul.sitemap li:before {
	margin-right: 5px;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f0da";
}
ul.sitemap li ul {
	margin: 1rem 0 0;
	padding-left: 1.5rem !important;
}
ul.sitemap li ul li {
	border: none !important;
}
ul.sitemap li ul li:before {
	margin-right: 5px;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f0da";
	opacity: 0.6;
}
.sub-list {
	margin: 0 0 1rem;
}
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);
}
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: .5rem;
	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-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;
}
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: 4rem 0 4rem;
}
article section {
	padding: 4rem 0 4rem;
	background-color: #FFF;
}
main article section:nth-child(even) {
	background-color: #EDFAFF;
}
main#page article section {
	padding: 5rem 0 5rem;
}
main#post article section {
	padding: 3rem 0 3rem;
	background-color: #FFF !important;
}
#page article section:nth-child(even) {
	height: 100%;
	position: relative;
	background-color: #EDFAFF;
}
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 .5rem;
	text-align: center;
	color: #FFF;
	font-weight: 400 !important;
	position: relative;
	background: rgb(0,85,165);
	background: linear-gradient(0deg, rgba(0,85,165,1) 20%, rgba(0,138,211,1) 97%);
}
.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;
	}
	.pc-right {
		text-align: right !important;
	}
}

/*-----------------------------------------------------
// parallax
-----------------------------------------------------*/
article section.parallax {
	padding: 6rem 0 5rem !important;
	background-attachment: fixed;
}
article section.parallax-primary {
	position: relative;
	background-image: url('common/background/parallax-primary.jpg');
	background-position: right center !important;
	background-size: cover !important
}
.webp article section.parallax-primary {
	position: relative;
	background-image: url('common/background/parallax-primary.webp');
	background-position: right center !important;
	background-size: cover !important
}
article section.parallax-secondary {
	position: relative;
	background-image: url('common/background/parallax-secondary.jpg');
	background-position: left top !important;
	background-size: cover !important
}
.webp article section.parallax-secondary {
	position: relative;
	background-image: url('common/background/parallax-secondary.webp');
	background-position: left top !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.85);
}
article section.white-element::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.9);
}
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;
}
@media (max-width: 767.98px) {
	article section.parallax-primary {
		position: relative;
		background-image: url('common/background/parallax-primary_sp.jpg');
		background-position: center center !important;
		background-size: cover !important;
	}
	.webp article section.parallax-primary {
		position: relative;
		background-image: url('common/background/parallax-primary_sp.webp');
		background-position: center center !important;
		background-size: cover !important;
	}
	article section.parallax-secondary {
		position: relative;
		background-image: url('common/background/parallax-secondary_sp.jpg');
		background-position: left top !important;
		background-size: cover !important;
	}
	.webp article section.parallax-secondary {
		position: relative;
		background-image: url('common/background/parallax-secondary_sp.webp');
		background-position: left top !important;
		background-size: cover !important;
	}
}

/*-----------------------------------------------------
// mv
-----------------------------------------------------*/
#mv,
#page-header {
	padding: 0 !important;
	position: relative;
	background-color: #FFF !important;
}
#mv .header-element {
	margin: 0 auto;
	padding-top: 25%;
	height: 0;
	position: relative;
	background-image: url('common/header/mv.jpg');
	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-element {
	margin: 0 auto;
	padding-top: 25%;
	height: 0;
	position: relative;
	background-image: url('common/header/mv.webp');
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-color: #FFF;
	opacity: 1;
	mix-blend-mode: multiply;
}
#mv .container {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
#mv .container h1.title {
	margin: 0 !important;
	padding: 0;
	display: block;
	text-align: left;
	color: var(--main);
	font-size: 3.4rem !important;
	font-weight: 700 !important;
	letter-spacing: .2rem !important;
	text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6);
}
#mv .container h2.title {
	margin-bottom: 0 !important;
	text-align: center;
	border: none !important;
}
#page-header .header-element {
	margin: 0 auto;
	padding-top: 20%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead.jpg');
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-color: #FFF;
	opacity: 1;
	mix-blend-mode: multiply;
}
.webp #page-header .header-element {
	margin: 0 auto;
	padding-top: 20%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead.webp');
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-color: #FFF;
	opacity: 1;
	mix-blend-mode: multiply;
}
body.service #page-header .header-element {
	background-image: url('common/header/pagehead-service.jpg');
	background-position: center center !important;
	background-repeat: no-repeat !important;
}
.webp body.service #page-header .header-element {
	background-image: url('common/header/pagehead-service.webp');
	background-position: center center !important;
	background-repeat: no-repeat !important;
}
body.company #page-header .header-element {
	background-image: url('common/header/pagehead-company.jpg');
	background-position: right center !important;
	background-repeat: no-repeat !important;
}
.webp body.company #page-header .header-element {
	background-image: url('common/header/pagehead-company.webp');
	background-position: right center !important;
	background-repeat: no-repeat !important;
}
body.contact #page-header .header-element {
	background-image: url('common/header/pagehead-contact.jpg');
	background-position: center center !important;
	background-repeat: no-repeat !important;
}
.webp body.contact #page-header .header-element {
	background-image: url('common/header/pagehead-contact.webp');
	background-position: center center !important;
	background-repeat: no-repeat !important;
}
body.category #page-header .header-element,
body.archive #page-header .header-element,
body.single-post #page-header .header-element {
	background-image: url('common/header/pagehead-post.jpg');
	background-position: center center !important;
	background-repeat: no-repeat !important;
}
.webp body.category #page-header .header-element,
.webp body.archive #page-header .header-element,
.webp body.single-post #page-header .header-element {
	background-image: url('common/header/pagehead-post.webp');
	background-position: center center !important;
	background-repeat: no-repeat !important;
}
/*
#page-header .header-element::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: url('common/header/bg.png') repeat center center;
}*/
#page-header .container {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
.page #page-header .container h1.title {
	margin: 0 !important;
	padding: 2.5rem 3rem;
	min-width: 25%;
	display: inline-block;
	position: relative;
	color: #FFF !important;
	font-size: 2.5rem !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: .2rem !important;
	text-align: center !important;
	/*text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);*/
	background-color: rgb(0 160 129 / 70%) !important;
}
.page #page-header .container h1.title::after {
	margin: 5px 0 0 !important;
	display: block;
	content: attr(data-en);
	display: block;
	text-align: center;
	line-height: 1.2 !important;
	font-size: .5em !important;
	font-weight: 400 !important;
	letter-spacing: 0.5px !important;
}
#page-header .container h1.title {
	margin: 0 !important;
	padding: 2.5rem 3rem;
	min-width: 25%;
	display: inline-block;
	position: relative;
	color: #FFF !important;
	font-size: 2.5rem !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	letter-spacing: .2rem !important;
	text-align: center !important;
	/*text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);*/
	background-color: rgb(0 160 129 / 70%) !important;
}
#page-header .container h1.title small.slag-title {
	margin: 0 0 0 !important;
	display: block;
	text-align: center;
	line-height: 1.2 !important;
	font-size: .5em !important;
	letter-spacing: 0.5px !important;
}
#page-header .container h2.title {
	margin-bottom: 0 !important;
	text-align: center;
	border: none !important;
}
.scrolldown1 {
	height: 50px;
	position: absolute;
	z-index: 3;
	bottom: 20px;
	left: 50%;
}
.scrolldown1 span {
	position: absolute;
	top: 0px;
	left: -25px;
	color: #EEE;
	font-size: 1.5rem;
	letter-spacing: .05em;
	-ms-writing-mode: tb-rl;

	writing-mode: vertical-rl;
	-webkit-text-orientation: mixed;
	text-orientation: mixed;
}
.scrolldown1::after {
	width: 1px;
	height: 30px;
	position: absolute;
	top: 0;
	content: '';
	animation: pathmove 1.4s ease-in-out infinite;
	opacity: 0;
	background: #EEE;
}
@keyframes pathmove {
	0% {
		height: 0;
		top: 0;
		opacity: 0;
	}
	30% {
		height: 30px;
		opacity: 1;
	}
	100% {
		height: 0;
		top: 50px;
		opacity: 0;
	}
}

/*-----------------------------------------------------
// contents
-----------------------------------------------------*/
.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;
}

/*-----------------------------------------------------
// top
-----------------------------------------------------*/
.box-text {
	padding: 1rem 0;
	display: block;
	color: #FFF;
	font-size: 1.8rem;
	border-radius: .35rem;
}

/*-----------------------------------------------------
// footer
-----------------------------------------------------*/
footer section {
	padding: 0 !important;
	text-align: left;
}
footer #copy {
	padding: 1.5rem .5rem !important;
	color: #FFF;
}
#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: .9em;
	letter-spacing: 0;
}
footer .lead {
	font-size: 2rem !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
}
footer ul.footer-nav {
	margin: 0 0 1.5rem !important;
}
footer ul.footer-nav li {
	margin-top: 0;
	margin-bottom: .75rem;
	display: block;
	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 .footer-logo {
	margin: 0 auto 1rem 0;
	padding: 0;
	display: block;
}
footer .btn {
	font-size: 1.5rem !important;
}
.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;
}
@media (min-width: 768px) {
	footer ul.footer-nav {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	footer ul.footer-nav li {
		width: calc(100%/4);
		height: auto;
		display: flex;
		flex-direction: column;
		box-sizing: border-box;
		text-align: left;
	}
}

/* ------------------------------------
// 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
-----------------------------------------------------*/
h4.page-title {
	color: inherit !important;
}

/* ------------------------------------
// 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: 0;
	position: relative;
	display: block; /* 矢印を消す */
	list-style: none !important;
	cursor: pointer;
	font-weight: 400 !important;
	letter-spacing: .1rem !important;
}
summary {
	font-weight: 700 !important;
}
summary::-webkit-details-marker {
	display: none !important; /* 矢印を消す */
}
/* 疑似要素でアイコンを表示 */
summary::after {
	margin: auto;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 2rem;
	content: "\f078";
	color: var(--main);
	position: absolute;
	left: auto;
	right: 1.5rem;
	bottom: .5rem;
}
/* オープン時 */
details[open] summary:after {
	margin: auto;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 2rem;
	content: "\f077";
	color: var(--main);
	position: absolute;
	left: auto;
	right: 1.5rem;
	bottom: .5rem;
}
details .details-inner {
	padding: 1rem 1rem;
	background-color: #EEE;
}
.service-list summary .title {
	margin: 0 !important;
	color: #FFF !important;
}
.service-list 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;
	bottom: 3rem;
}
/* オープン時 */
.service-list 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;
	bottom: 3rem;
}
.service-list details .details-inner {
	padding: 1rem 1rem;
	background-color: #EEE;
}
.service-list details h4.title {
	margin: 0 0 1rem !important;
}
.service-list details h4.title::before {
	margin-right: 5px;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f15c";
	color: var(--main);
}

/* ------------------------------------
// widget
------------------------------------ */
.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-container {
	margin: 0 0 2rem;
}
.widget-container h4 {
	letter-spacing: .1rem 1rem .75rem;
	font-weight: 400 !important;
}
.widget-container ul {
	margin-bottom: 0 !important;
	padding: .7rem 1rem 1rem !important;
}
.widget-container li {
	padding: 0 0 .5rem;
	text-align: left;
	font-weight: 500;
	border-bottom: 1px dotted rgba(0, 0, 0, 0.15);
}
.widget-container li a {
	color: #555 !important;
}
.widget-container li:last-child {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
	border: none !important;
}
.widget-container li::before {
	margin-left: .2rem;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f0da";
}
.widget-container li .post-date {
	padding-left: 1.6rem;
	display: block;
	font-size: 1.2rem;
	text-align: left;
	letter-spacing: 0 !important;
	color: #555;
}
/* ------------------------------------
// feed
------------------------------------ */
.information {
	padding: 0;
}
.information ul {
	margin: 0 0 3rem !important;
}
.information ul li {
	margin: 0 0 .5rem !important;
	padding: .5rem 0 .75rem;
	display: flex;
	flex-wrap: wrap;
	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: .75rem;
	flex-basis: auto;
	text-align: left;
	font-size: .9em;
	letter-spacing: 0 !important;
}
.information ul li span.cat a {
	padding: .35rem .7rem !important;
	display: inline-flex;
	text-align: center;
	color: #FFF !important;
	font-size: .8em;
	letter-spacing: .1rem !important;
	background-color: var(--color01);
}
.information ul li span.topics a {
	background-color: var(--color02);
}
.information ul li span.cat a:hover {
	text-decoration: none !important;
	background-color: var(--emphasis) !important;
}
@media (min-width: 768px) {
	.information ul li span.cat {
		min-width: 75px !important;
	}
}

#feed {
	margin: 0 0 .5rem;
}
#feed .card-img,
#feed .img-responsive {
	width: 100% !important;
}
#feed a {
	color: #101010 !important;
}
#feed a:hover {
	color: #177464 !important;
}
#feed a:visited {
	color: #101010 !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 span {
	text-align: left;
	letter-spacing: .1rem !important;
}
.feed .cat a {
	padding: .35rem .7rem !important;
	display: inline-flex;
	text-align: center;
	color: #FFF !important;
	font-size: .9em;
	letter-spacing: .1rem !important;
	background-color: var(--color01);
}
.feed span.topics a {
	background-color: var(--color02);
}
.feed span.cat a:hover {
	text-decoration: none !important;
	background-color: var(--emphasis) !important;
}
.feed .card-body {
	padding: 1rem 1.5rem 1rem !important;
}
.feed h2 {
	margin: .5rem 0 !important;
	font-size: 2.4rem !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: 1.rem !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";
}
.feed .case {
	padding: 0 1rem !important;
}
.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;
}

/* ------------------------------------
// construction-example
------------------------------------ */
.example-list {
	margin: 0 0 1rem
}
.category-list a {
	margin-right: .5rem;
	padding: .35rem .5rem .5rem;
	display: inline-block;
	line-height: 1 !important;
	color: #FFF;
	font-size: 1.3rem !important;
	background-color: #555;
}
.category-list a:hover {
	color: #FFF !important;
	background-color: #252525 !important;
}
.category-list a:last-child {
	margin-right: 0;
}

/*-----------------------------------------------------
// 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 !;
}
.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.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: #1CAA92;
	border-bottom: 1px solid #1CAA92 !important;
}
.table thead td {
	padding: 1rem .75rem;
	color: #FFF;
	background-color: #1CAA92;
	border-bottom: 1px solid #1CAA92 !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.tbl {
	margin: 0 0 2rem;
	padding: 0;
	width: 100%;
	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;
	text-align: left;
	line-height: 1.5;
	color: #FFF;
	white-space: nowrap;
	vertical-align: middle;
	border: none;
	background-color: var(--color03) !important;
}
table.tbl th > span.tbl-arrow {
	position: absolute;
	right: 1rem;
}
table.tbl td {
	margin: 0;
	padding: 1rem 1.5rem !important;
	text-align: left;
	line-height: 1.5;
	vertical-align: middle;
	border: none;
	background: #F5F5F5 !important;
}
table.tbl td small {
	font-size: 80% !important;
}
table.tbl, table.tbl th, table.tbl td {
	border: 5px solid #FFF;
}
input {
	padding: .5rem;
}

/*-----------------------------------------------------
// button
-----------------------------------------------------*/
a.learn-more {
	margin-bottom: .5rem;
	padding: 0;
	width: 16rem;
	height: auto;
	position: relative;
	display: inline-block;
	cursor: pointer;
	outline: none;
	border: 0;
	vertical-align: middle;
	text-decoration: none;
	background: transparent;
	font-size: 1.6rem !important;
}
a.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: var(--main);
	border-radius: 1.625rem;
}
a.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;
}
a.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;
}
a.learn-more .circle .icon.arrow::before {
	position: absolute;
	content: "";
	top: -0.25rem;
	right: 0.0625rem;
	width: 0.625rem;
	height: 0.625rem;
	border-top: 0.125rem solid #FFF;
	border-right: 0.125rem solid #FFF;
	transform: rotate(45deg);
}
a.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 2.5rem;
	color: #252525;
	font-weight: 400;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0 !important;
}
a.learn-more:hover .circle {
	width: 100%;
}
a.learn-more:hover .circle .icon.arrow {
	background: #FFF;
	transform: translate(1rem, 0);
}
a.learn-more:hover .button-text {
	color: #FFF;
}
.container-button {
	grid-area: main;
	align-items: center;
	align-self: center;
	justify-content: center;
	justify-self: center;
}

/*-----------------------------------------------------
// form
-----------------------------------------------------*/
input, button, select, optgroup, textarea {
	letter-spacing: 0 !important;
}
.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;
}
.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;
}
.wpcf7-list-item {
	margin-left: 0 !important;
}
span.wpcf7-list-item label {
	padding: 1rem !important;
}
.check-document span.wpcf7-list-item label {
	padding-bottom: .5rem !important;
}
.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="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 var(--emphasis);
	border-radius: .3rem;
	background-color: var(--emphasis);
}
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);
}
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;
}
.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: 500px;
	font-size: 1.3rem;
}
#ModalPrivacy h6 {
	font-weight: 700 !important;
	font-size: 1.5rem !important;
}
#ModalPrivacy p {
	font-size: 1.4rem !important;
	line-height: 1.5 !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 {
	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.2rem;
	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: 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(--main);
}
.pager .pager-prev a,
.pager .pager-next a {
	padding: 1rem 3rem;
	background: var(--main);
	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(--main);
}
.pager a:hover,
.pager-number a:hover {
	color: #FFF!important;
	text-decoration: none !important;
	background-color: var(--emphasis) !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;
	}
}
/*--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: '- ';
	}
	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: .5rem 0 1.5rem !important;
	}
	#mv .header-element {
		margin: 0 auto;
		padding-top: 78.125%;
		height: 0;
		position: relative;
		background-image: url('common/header/mv_sp.jpg');
		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-element {
		margin: 0 auto;
		padding-top: 78.125%;
		height: 0;
		position: relative;
		background-image: url('common/header/mv_sp.webp');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		background-color: #FFF;
		opacity: 1;
		mix-blend-mode: multiply;
	}
	#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');
		background-position: center center !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		opacity: 1;
		mix-blend-mode: normal;
	}
	.webp #page-header .header-element {
		margin: 0 auto;
		padding-top: 52.083%;
		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;
	}
	body.service #page-header .header-element {
		background-image: url('common/header/pagehead-service_sp.jpg');
	}
	.webp body.service #page-header .header-element {
		background-image: url('common/header/pagehead-service_sp.webp');
	}
	body.company #page-header .header-element {
		background-image: url('common/header/pagehead-company_sp.jpg');
	}
	.webp body.company #page-header .header-element {
		background-image: url('common/header/pagehead-company_sp.webp');
	}
	body.category #page-header .header-element,
	body.archive #page-header .header-element,
	body.single-post #page-header .header-element {
		background-image: url('common/header/pagehead-post_sp.jpg');
	}
	.webp body.category #page-header .header-element,
	.webp body.archive #page-header .header-element,
	.webp body.single-post #page-header .header-element {
		background-image: url('common/header/pagehead-post_sp.webp');
	}
	body.contact #page-header .header-element {
		background-image: url('common/header/pagehead-contact_sp.jpg');
	}
	.webp body.contact #page-header .header-element {
		background-image: url('common/header/pagehead-contact_sp.webp');
	}
	#page-header .container {
		top: 50%;
	}
	#page-header .container h1.title,
	.page #page-header .container h1.title {
		margin: 0 auto !important;
		padding: 5px 10px !important;
		display: block;
		width: 90%;
		font-size: 2.5rem !important;
		letter-spacing: .2rem !important;
		background: rgb(0,0,0);
		background: linear-gradient(90deg, #17746466 0%, #17746400 80%);
	}
	article#pages section {
		min-height: 400px;
	}
	footer {
		margin: 0 auto 0;
		padding: 2.5rem 0 80px !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: 700 !important;
		font-size: 1.8rem !important;
		letter-spacing: 0 !important;
	}
	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;
	}
	#mv .container h1.title {
		font-size: 2.2rem !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;
	}
	h2.title {
		margin: .5rem 0 3.5rem !important;
		font-size: 2.4rem !important;
		letter-spacing: 0.5px !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;
	}
	.service-list summary .title {
		font-size: 1.6rem !important;
	}
	h4, .h4 {
		font-size: 1.65rem !important;
	}
	.service-list details h4.title {
		font-size: 1.5rem !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;
		letter-spacing: 0 !important;
	}
	.pc-contents {
		text-align: center !important;
	}
	.information ul {
		margin: 0 0 1.5rem !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;
		letter-spacing: 0 !important;
	}
	/*.example-title,
	.example-title.text-center {
		margin: .5rem 0 .5rem !important;
		font-size: 1.6rem !important;
		text-align: center !important;
		letter-spacing: 0 !important;
	}*/
	.example-title,
	.example-title.text-center {
		margin: .5rem 0 .5rem !important;
		font-size: 1.6rem !important;
		text-align: center !important;
		letter-spacing: 0 !important;
	}
	.category-list a {
		font-size: 1rem !important;
	}
	.case-contents label {
		margin-bottom: 0 !important;
		padding: 1.25rem !important;
		font-size: 1.35rem !important;
	}
	.case-contents .pt-3 {
		padding-top: 0 !important;
	}
	.case-contents p {
		padding-left: 1.25rem !important;
		font-size: 1.35rem !important;
	}
	.nav-works ul {
		margin: 0 0 2rem !important;
		width: 100%;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	.nav-works ul li {
		margin: 0 .75rem .75rem 0;
		width: auto;
		height: auto;
		display: flex;
		flex-basis: auto;
		flex-direction: column;
		box-sizing: border-box;
		text-align: center;
		letter-spacing: 0 !important;
	}
	.nav-works ul li a {
		padding: .75rem 1rem;
		font-size: 1.5rem;
	}
	summary {
		padding: 1.5rem 1rem;
	}
	.service-list summary {
		padding: 0 !important;
	}
	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;
	}
	.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;
	}
	.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;
	}
	img.check-point {
		margin: 0 auto;
		width: 50% !important;
		height: auto;
	}
	dt {
		font-size: 1.4rem !important;
	}
	dd,li {
		font-size: 1.4rem !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.4rem;
		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: 0 0 1.5rem !important;
		display: flex;
		justify-content: space-between;
	}
	footer ul.footer-nav li {
		margin-bottom: 1rem;
		width: 100%;
		font-size: 1.2rem !important;
	}
	footer .footer-logo {
		width: 70% !important;
	}
	.sp-nav {
		margin: 0 !important;
		width: 100%;
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 10;
		background-color: #FFF;
		box-shadow: 0px -2px 4px -2px rgba(0, 0, 0, 0.18);
	}
	.sp-nav li {
		margin: 0;
		padding: .7rem 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: 1.8rem;
		color: var(--main) !important;
		text-align: center;
	}
	.sp-nav li a > span {
		display: block;
		text-align: center;
		color: #282828 !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;
	}
	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;
	}
	.service-list summary::after {
		font-size: 1.7rem;
		right: 1.5rem;
		bottom: 3.5rem;
	}
	.service-list details[open] summary:after {
		font-size: 1.7rem;
		right: 1.5rem;
		bottom: 3.5rem;
	}
}
