@charset "UTF-8";

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

:root {
	--base:       #242424;
	--main:       #F15A24;
	--sub:        #1B1464;
	--link:       #06C;
	--light:      #FFF;
	--accent:     #61BD62;
	--emphasis01: #607D8B;
	--emphasis02: #39445A;
	--emphasis03: #32404B;
	--emphasis04: #E7EEEC;
	--emphasis05: #274478;
	--emphasis06: #749092;
}

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;
	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: #242424;
	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: #06C;
}
a:hover {
	color: var(--sub) !important;
	text-decoration: underline;
}
a:visited {
	color: #242424 !important;
}
:focus {
	outline: none !important;
}
a:visited {
	color: #06C;
}
a.service-link:hover {
	text-decoration: none !important;
}
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: #FFF !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;
}
a.text-link {
	color: #177464 !important;
	text-decoration: underline !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-gray { background-color: #F5F5F5 !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, .h1, .h2 .h3 {
	margin: 0 0 1rem;
	text-align: left;
	font-weight: 700;
	line-height: 1.4 !important;
	letter-spacing: 0.5px;
}
h4, h5, h6, .h4, .h5, .h6 {
	margin: 0 0 1rem;
	font-weight: 700 !important;
	text-align: left;
	line-height: 1.4 !important;
	letter-spacing: 0.5px;
}
.post-title {
	letter-spacing: .1rem;
}
h1 {
	color: #232323;
	font-weight: 700 !important;
}
.title {
	font-weight: 700 !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 2rem !important;
	color: #232323;
	font-weight: 700 !important;
	letter-spacing: .2rem;
}
h2.title {
	margin-bottom: 5rem;
	font-weight: 700 !important;
	letter-spacing: .0 !important;
}
h2.title small {
	margin-top: .2rem;
	display: block;
	text-align: center;
	font-weight: 500 !important;
	letter-spacing: 0.5px !important;
	font-size: 1.5rem !important;
	line-height: 1.2;
}
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;
}
h3.title {
	margin-bottom: 3rem !important;
	padding-bottom: .5rem;
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	width: 100%;
	border-bottom: 2px solid #CCC;
}
h3.title::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 0;
	width: 20%;
	height: 2px;
	background-color: var(--accent);
}
h3.title > span {
	margin-right: .5rem;
	padding: .3rem 1rem;
	display: inline-block;
	line-height: 1 !important;
	color: #FFF;
	background-color: var(--accent);
}
h3.title-center {
	margin-bottom: 3rem !important;
	padding-bottom: .5rem;
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	width: 100%;
	border-bottom: 2px solid #CCC;
}
h3.title-center::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 0;
	width: 20%;
	height: 2px;
	background-color: var(--accent);
}
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;
}
p {
	margin: 0 0 1rem;
	line-height: 1.7 !important;
	letter-spacing: 0.5px;
	text-align: left;
}
strong {
	font-weight: 600 !important;
	letter-spacing: 0 !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: .5rem 2rem;
	line-height: 1;
	text-transform: capitalize;
	letter-spacing: 0.5px;
	background: #FFF !important;
	border-radius: .25rem;
}
label.control-label {
	padding: 1rem 2.5rem !important;
	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;
}
.heading {
	position: relative;
	font-size: 1.5rem;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	text-align: center;
	letter-spacing: 0.5px;
}
.heading::before {
	content: attr(data-en);
	display: block;
	margin-bottom: 5px;
	color: var(--sub);
	font-size: 4.2rem;
	font-weight: 700 !important;
	letter-spacing: 0;
}
.sub-title {
	padding: 0 6px 6px !important;
	background-image: repeating-linear-gradient(-45deg, #5DBE51 0px, #5DBE51 1px, rgba(0 0 0 / 0) 0%, rgba(0 0 0 / 0) 50%);
	background-size: 4px 4px;
	background-repeat: repeat-x;
	background-position: center bottom;
}
.number-title {
	position: relative;
	overflow: hidden;
	padding: 1rem 2rem 1rem 90px;
	color: var(--sub);
	border-bottom: 1px solid var(--emphasis02);
}
.number-title:before {
	position: absolute;
	top: -50%;
	left: -35px;
	width: 100px;
	height: 165%;
	content: '';
	-webkit-transform: rotate(25deg);
	transform: rotate(25deg);
	background: var(--emphasis02)
}
.number-title span {
	padding-top: 0;
	padding-left: 16px;
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	display: block;
	color: #fff;
	font-weight: 400;
	font-family: "Helvetica Neue", "Open Sans", "Noto Sans JP", sans-serif !important;
	letter-spacing: 0.5px !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.6 !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", serif !important;
}
.vertical-text {
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode:vertical-rl;
	margin: 2rem auto .5rem;
}

/* ------------------------------------
// 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;
}
.header-info {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	text-align: right;
}
.header-info a.header-btn {
	width: 100%;
	text-align: center;
	color: var(--base);
	font-size: .85em !important;
	letter-spacing: 0 !important;
}
.header-info a.lang-btn {
	padding: .5rem .75rem;
	width: 100%;
	text-align: center;
	color: #FFF !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
	font-size: .7em !important;
	background-color: #AAA;
}
.header-info a.lang-btn.lang-jp {
	background-color: var(--emphasis03);
}
.header-info a:hover.lang-btn {
	text-decoration: none !important;
	color: #FFF !important;
	background-color: var(--emphasis01);
}
@media (max-width: 767.98px) {
	.sp-lang {
		width: 20%;
	}
	.sp-lang a.lang-btn {
		margin: 0 0 6px;
		padding: .5rem .75rem;
		display: block;
		width: 100%;
		text-align: center;
		color: #FFF !important;
		line-height: 1.2 !important;
		letter-spacing: 0 !important;
		font-size: .7em !important;
		background-color: #AAA;
	}
	.sp-lang a.lang-btn.lang-jp {
		background-color: var(--emphasis03);
	}
	.sp-lang a:hover.lang-btn {
		text-decoration: none !important;
		color: #FFF !important;
		background-color: var(--emphasis01);
	}
}

/* ------------------------------------
// 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.6;
	letter-spacing: 0.5px;
}
dl {
	margin: .5rem 0 1rem !important;
}
dt {
	margin: 0 0 .5rem;
	padding: .5rem .5rem .5rem .75rem;
	text-align: left;
	font-size: 1.1em !important;
	font-weight: 700 !important;
}
dd {
	margin: 0 0 1.2rem !important;
	padding: 0 0 .5rem;
	line-height: 1.6;
	text-align: left;
}
dl.faq {
	margin: 0 0 2.5rem !important;
}
dl.faq dt {
	margin-bottom: 1rem;
	padding: 1.25rem .5rem 1.25rem .75rem;
	color: #FFF !important;
	background-color: var(--accent);
	border-radius: 29px;
}
dl.faq dt::before {
	margin-right: .3rem;
	content: 'Q.';
	color: #FFF;
}
dl.faq dd {
	padding: 0 .5rem 0 1.5em;
	text-indent: -1em;
	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: var(--main) !important;
}
li {
	margin: .5rem 0 .5rem;
	list-style: none;
}
ol.num-list {
	margin: 0 !important;
	list-style: none;
	counter-reset: number;
}
ol.num-list li {
	position: relative;
	padding-left: 2.5rem;
	letter-spacing: 0.5px !important;
}
ol.num-list li::before {
	counter-increment: number;
	content: '（' counter(number) '）';
	position: absolute;
	left: 0;
}
ol.num-list li small {
	font-size: .85em !important;
}
ol.num-list li:last-child {
	margin-bottom: 0 !important;
}
ul.arrow {
	margin: 0 0 2rem;
}
ul.arrow li {
	margin: 0 0 .75rem;
	text-align: left;
	font-weight: 500;
}
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: "\f105";
	color: var(--main);
	opacity: 0.7;
}
ul.arrows {
	margin: 0 0 2rem;
}
ul.arrows li {
	margin: 0 0;
	padding: .75rem .25rem .75rem .75rem;
	text-align: left;
	font-weight: 500;
}
ul.arrows li:nth-child(odd) {
	background-color: #F5F5F5;
}
ul.arrows li:nth-child(even) {
	background-color: #DBE6E4;
}
ul.arrows li:last-child {
	margin-bottom: 0 !important;
}
ul.arrows li:before {
	margin-right: 5px;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f105";
	color: var(--main);
	opacity: 0.7;
}
ul.square {
	margin: 0 0 2rem;
}
ul.square li {
	margin: 0 0 .5rem;
	text-align: left;
	font-weight: 500;
}
ul.square li:last-child {
	margin-bottom: 0 !important;
}
ul.square li:before {
	margin-right: 5px;
	font-family: "Font Awesome 6 Free";
	font-weight: 400;
	content: "\f14a";
	opacity: 0.5;
}
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.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-round {
	border-radius: 31px 0 31px 15px !important;
}
.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;
}
section {
	margin: 0 0;
	padding: 4rem 0 4rem;
}
article section {
	padding: 5rem 0 5rem;
	background-color: #FFF;
}
article section.news {
	background-color: #F5F5F5;
}
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: #F5F5F5;
}
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;
	font-weight: 400 !important;
	color: #FFF;
	position: relative;
	background-color: var(--sub);
}
.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 {
		min-height: 45vh !important;
	}
	.pc-contents {
		text-align: center !important;
	}
}

/* ------------------------------------
// slider
------------------------------------ */
header#mv {
	margin-top: 0;
	padding: 0 !important;
	width: 100%;
	position: relative;
	background: rgb(255,255,255);
}
.main-visual {
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	position: relative;
	z-index: 2;
}
.main-visual .slide-contents {
	margin: 0 !important;
	padding: 0 0 0 !important;
	width: 80%;
	position: absolute !important;
	top: 50%;
	left: 5%;
	transform: translateY(-50%);
	z-index: 3;
	text-align: left;
	color: #FFF !important;
}
.main-visual .slide-contents .card {
	padding: 1.5rem 2rem !important;
}
.main-visual .slide-contents h1 {
	margin-bottom: 1.5rem;
	text-align: left;
	color: #FFF !important;
	font-size: 5.4rem;
	font-weight: 900 !important;
	letter-spacing: .1rem !important;
	line-height: 1.5 !important;
}
.main-visual .slide-contents h2 {
	margin-bottom: 1.5rem !important;
	text-align: left;
	font-size: 2.3rem !important;
	font-weight: 700 !important;
	letter-spacing: .1rem !important;
	color: #FFF;
}
.main-visual .slide-contents p {
	margin-bottom: .5rem !important;
	text-align: left;
	font-size: 1.9rem !important;
	font-weight: 500 !important;
	letter-spacing: .1rem !important;
	color: #FFF;
}
.main-visual .slide-scroll {
	margin-top: 3rem;
	display: inline-block;
	overflow: hidden;
	text-align: center;
	color: #0870d8 !important;
}
.main-visual .slide-scroll:hover {
	color: #0c5094 !important;
}
.slide {
	width: 100%;
	height: 60vh;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.slider-img {
	z-index:10;
	opacity: 0;
	width: 100%;
	/*height: calc(100vw * 1 / 2);*/
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	left: 0;
	top: 0;
	animation: slideAnime 15s ease infinite;
}
.slider-img.slide01 {
	background-image: url('common/slider/slide01.jpg');
}
.webp .slider-img.slide01 {
	background-image: url('common/slider/slide01.webp');
}
.slider-img.slide02 {
	background-image: url('common/slider/slide02.jpg');
}
.webp .slider-img.slide02 {
	background-image: url('common/slider/slide02.webp');
}
.slider-img.slide03 {
	background-image: url('common/slider/slide03.jpg');
}
.webp .slider-img.slide03 {
	background-image: url('common/slider/slide03.webp');
}
.slider-img:nth-of-type(1) {
	animation-delay: 0s
}
.slider-img:nth-of-type(2) {
	animation-delay: 5s
}
.slider-img:nth-of-type(3) {
	animation-delay: 10s
}
.slider-img::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.35);
}
@keyframes slideAnime {
	0% {
		opacity: 0
	}
	16% {
		opacity: 1
	}
	33% {
		opacity: 1
	}
	49% {
		opacity: 0;
		transform: scale(1.1) ;
	}
	100% {
		opacity: 0
	}
}
.scrolldown1 {
	position:absolute;
	left:50%;
	bottom:20px;
	height:50px;
	z-index: 3;
}
.scrolldown1 span {
	position: absolute;
	left:-25px;
	top: 0px;
	color: #eee;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-webkit-text-orientation: mixed;
	text-orientation: mixed;
}
.scrolldown1::after {
	content: "";
	position: absolute;
	top: 0;
	width: 1px;
	height: 30px;
	background: #eee;
	animation: pathmove 1.4s ease-in-out infinite;
	opacity:0;
	}
	@keyframes pathmove {
	0% {
		height:0;
		top:0;
		opacity: 0;
	}
	30% {
		height:30px;
		opacity: 1;
	}
	100% {
		height:0;
		top:50px;
		opacity: 0;
	}
}
@media (max-width: 767.98px) {
	header#mv {
		background: #FFF !important;
		background: linear-gradient(0deg, rgba(255,255,255,1) 65%, rgba(255,255,255,1) 65%);
	}
	.slide {
		width: 100%;
		height: 50vh;
	}
	.main-visual .slide-contents {
		margin: 0 !important;
		padding: 0 10px 0 !important;
		width: 100%;
		top: 50%;
		left: 0;
	}
	.slider-img {
		height: 100%;
	}
	.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 h2 {
		font-size: 1.8rem !important;
		line-height: 1.4 !important;
		letter-spacing: 0 !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;
	}
}

/*-----------------------------------------------------
// contents
-----------------------------------------------------*/
#page-header {
	padding: 0 !important;
	position: relative;
	background-color: #FFF !important;
}
#page-header .header-element {
	margin: 0 auto;
	padding-top: 22.5%;
	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-headers .header-element {
	margin: 0 auto;
	padding-top: 22.5%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead.webp');
	background-position: center bottom !important;
	background-size: cover !important;
}
#page-header .header-element::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.2);
}
#page-header .container {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
#page-header .container h2.title {
	margin-bottom: 0 !important;
	text-align: center;
	border: none !important;
}
/*
#page-header .container h1.title {
	margin: 0 !important;
	padding: 5px 20px 5px;
	display: inline-block;
	color: #FFF !important;
	font-size: 2.7rem !important;
	font-weight: 500 !important;
	line-height: 5 !important;
	letter-spacing: .2rem !important;
	background: var(--sub);
}*/
#page-header .container h1.title {
	margin: 0 !important;
	font-size: 2.7rem !important;
	font-weight: 700 !important;
	color: #FFF !important;
}
#page-header .container h1.title span {
	display: flex;
	align-items: center;
	color: #FFF;
	font-size: 21px;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	text-transform: capitalize;
}
#page-header .container h1.title span::before {
	content: '';
	display: inline-block;
	margin-right: 20px;
	width: 40px;
	height: 1px;
	background-color: #FFF;
}
.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;
}
@media (max-width: 767.98px) {
	#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 bottom !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');
		background-position: center bottom !important;
		background-size: cover !important;
	}
	#page-header .container {
		top: 50%;
	}
	#page-header .container h1.title {
		margin-top: 0 !important;
		font-size: 2.7rem !important;
		letter-spacing: .2rem !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
}
.webp article section.primary-element {
	position: relative;
	background-image: url('common/background/bg-primary.webp');
	background-position: center center !important;
	background-size: cover !important
}
article section.secondary-element {
	position: relative;
	background-image: url('common/background/bg-secondary.jpg');
	background-position: right center !important;
	background-size: cover !important
}
.webp article section.secondary-element {
	position: relative;
	background-image: url('common/background/bg-secondary.webp');
	background-position: right 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.5);
	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.7);
	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;
	}
	.webp article section.primary-element {
		position: relative;
		background-image: url('common/background/bg-primary_sp.webp');
		background-position: right center !important;
		background-size: cover !important;
	}
	article section.secondary-element {
		position: relative;
		background-image: url('common/background/bg-secondary_sp.jpg');
		background-position: right center !important;
		background-size: cover !important;
	}
	.webp article section.secondary-element {
		position: relative;
		background-image: url('common/background/bg-secondary_sp.webp');
		background-position: right center !important;
		background-size: cover !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: #777;
}
#footer-banner h4 {
	margin-bottom: 1rem !important;
}
footer h5 {
	margin: 0 0 .5rem;
	letter-spacing: .1rem;
	text-align: center;
}
footer p {
	margin: 0 0 .5rem;
	font-size: .9em;
	letter-spacing: 0;
}
footer p a,
footer p a:hover,
footer p a:visited {
	margin: 0 0 .5rem;
	font-size: .9em;
	letter-spacing: 0;
	color: #FFF !important;
	text-decoration: none;
}
footer p.social {
	font-size: 1.5rem;
}
footer p.social a {
	margin: 0 1rem;
	display: inline-block;
}
footer .lead {
	font-size: 2rem !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}
footer ul.footer-nav {
	margin: 0 0 2.5rem !important;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-around;
	font-size: .9em !important;
}
footer ul.footer-nav li {
	margin-top: 0;
	margin-bottom: .75rem;
	display: block;
	text-align: left;
}
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: "\f105";
	opacity: 0.7;
}
footer ul.footer-nav li a:visited {
	color: #FFF !important;
}
footer ul.footer-nav li ul.sub-nav {
	margin-top: .75rem;
	padding-left: 1rem;
}
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: .75em !important;
	letter-spacing: 0 !important;
}
@media (max-width: 767.98px) {
	footer ul.footer-nav {
		width: 100%;
	}
	footer ul.footer-nav li {
		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
-----------------------------------------------------*/
.page-title {
	padding: 0 !important;
	border: none !important;
	font-weight: 700 !important;
	background-color: transparent !important;
}
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;
}
#post .single-post h3,
#post .single-post h4 {
	margin: 1rem 0 !important;
}

/*-----------------------------------------------------
// 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 {
	display: block !important;
}
summary::-webkit-details-marker {
	display: none !important;
}
.summary_inner {
	cursor: pointer;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding: 1.5rem 1rem;
	font-weight: 500 !important;
	font-size: 1.7rem !important;
	letter-spacing: 0.5px !important;
	background-color: var(--emphasis04);
	border: 1px solid rgba(118, 146, 141, 0.4);
}
.arrow-icon {
	display: block;
	position: relative;
	width: 24px;
	margin-left: 6px;
	flex-shrink: 0;
	transform-origin: center 43%;
	transition: transform 0.4s;
}
/*details[open] .icon {*/

/*  transform: rotate(180deg);*/

/*}*/

/* is-openedクラスが付与されたときのスタイル */

details.is-opened .arrow-icon {
	transform: rotate(180deg);
}
.arrow-icon::before,
.arrow-icon::after {
	content: "";
	position: absolute;
	display: block;
	width: 15px;
	height: 3px;
	background-color: var(--emphasis02);
}
.arrow-icon::before {
	left: 0;
	transform: rotate(45deg);
}
.arrow-icon::after {
	right: 0;
	transform: rotate(-45deg);
}
.content {
	overflow: hidden;
	background-color: rgba(126, 126, 126, 0.1)
	/* details直下のタグにpaddingを設定すると挙動がおかしくなるので、ここには指定しない */
}
.content_inner {
	padding: 1rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.content_inner p {
	font-size: .95em !important;
	letter-spacing: 0.5px !important;
}
.wrapper {
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
}
.wrapper details {
	margin-bottom: 1rem;
}
.wrapper details:last-child {
	margin-bottom: 0;
}
@media (max-width: 767.98px) {
	.wrapper {
		width: 100%;
	}
}

/* ------------------------------------
// seminar
------------------------------------ */
.seminar-element h3 {
	margin-bottom: 3rem !important;
	padding-bottom: .5rem;
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	width: 100%;
	border-bottom: 2px solid #CCC;
}
.seminar-element h3::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 0;
	width: 20%;
	height: 2px;
	background-color: #61BD62;
}
.seminar-element h4 {
	font-weight: 500 !important;
}

/* ------------------------------------
// report
------------------------------------ */
.reports {
	margin: 0 0 1rem;
	padding: 0 0 .5rem;
	display: block;
	border-bottom: 1px dotted rgba(0, 0, 0, .2);
}
.reports li {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
}
.reports li a.report-title {
	padding: 0 1rem 0;
	flex-grow: 1;
	text-align: left;
}
.reports li .post-date {
	flex-grow: 0;
}
.reports li a.btn-sm {
	padding: .5rem .75rem !important;
	flex-grow: 0;
	font-size: .8em !important;
}
.reports .post-date {
	margin: 0 .75rem 0 0 !important;
	padding: .35rem 1rem;
	color: #FFF;
	letter-spacing: 0 !important;
	border-radius: .2rem;
	background-color: var(--emphasis02);
}
@media (max-width: 767.98px) {
	.reports li {
		width: 100%;
		display: block;
	}
	.reports li .post-date {
		display: inline-block;
	}
	.reports li a.report-title {
		margin: .5rem 0 .75rem;
		padding: 0;
		display: block;
		font-size: 1.1em !important;
		letter-spacing: 0 !important;
	}
}

/* ------------------------------------
// Snow Monkey Foem
------------------------------------ */
.smf-form--letter .smf-item__col--label {
	margin-bottom: .5rem !important;
	padding-bottom: .25rem !important;
}
.smf-item__label__text {
	position: relative;
}
.smf-item__label__text::after {
	position: absolute;
	content: '必須';
	color:  #fff;
	width:  40px;
	height: 22px;
	top: 50%;
	transform: translateY(-50%);
	right: -50px;
	display: grid;
	place-items: center;
	background:  #DD3234;
	border-radius: 4px;
	font-size: 12px;
}
.smf-form .smf-radio-button-control__control {
	margin-top: 0 !important;
}
.wp-block-snow-monkey-forms-item:nth-child(9) .smf-item__label__text::after {
	display: none;
}
body.contact .wp-block-snow-monkey-forms-item:nth-child(1) .smf-item__label__text::after {
	display: none;
}
.wp-block-snow-monkey-forms-item:last-child .smf-item__label__text::after {
	display: none;
}
.smf-action .smf-button-control__control {
	padding: 1.5rem 2.5rem;
	line-height: 1.2;
	color: #FFF !important;
	letter-spacing: 1px !important;
	background-image: none !important;
	background-color: var(--sub) !important;
	border-radius: 29px !important;
}

/* ------------------------------------
// WPforms
------------------------------------ */
div.wpforms-container-full:not(:empty) {
	margin-top: 0 !important;
}
div.wpforms-container-full .wpforms-field-label, .wp-core-ui div.wpforms-container-full .wpforms-field-label {
	margin: 0 0 .75rem;
	padding: 1rem .75rem;
	width: 100%;
	font-weight: 600 !important;
	color: #FFF !important;
	background-color: #369;
}
.form-message {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}
.form-message .wpforms-field-description {
	margin: 1rem 0 0 !important;
	padding: .75rem;
	background-color: #EEE;
}
.form-message .wpforms-field-description h4 {
	margin: 0 !important;
	color: #369;
	font-size: 1.1rem;
}
div.wpforms-container-full input[type=submit], div.wpforms-container-full button[type=submit], div.wpforms-container-full .wpforms-page-button, .wp-core-ui div.wpforms-container-full input[type=submit], .wp-core-ui div.wpforms-container-full button[type=submit], .wp-core-ui div.wpforms-container-full .wpforms-page-button {
	margin: 2rem auto;
	display: block;
	width: 35%;
	height: 5.5rem;
	text-align: center;
	font-weight: 600 !important;
	font-size: 1.8rem !important;
	background-color: var(--emphasis01) !important;
}
div.wpforms-container-full .wpforms-confirmation-container-full, div[submit-success]>.wpforms-confirmation-container-full:not(.wpforms-redirection-message) {
	background: #efffe1;
	border: 1px solid #b4d39b;
	box-sizing: border-box;
}
div.wpforms-container-full .wpforms-confirmation-container-full p:last-child, div[submit-success]>.wpforms-confirmation-container-full p:last-child {
	font-size: 1.1rem !important;
}
.wpforms-container .wpforms-recaptcha-container .g-recaptcha {
	padding: 10px 0 0;
	margin: 1rem auto 0;
	display: block;
	width: 305px;
}
div.wpforms-container-full .wpforms-form .wpforms-required-label {
	margin-left: 3px;
	padding: .35rem .5rem !important;
	font-size:10px;
	color: #FFF !important;
	background-color: #C33 !important;
	border-radius: 0 !important;
	white-space: nowrap;
}

/* ------------------------------------
// 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
------------------------------------ */
#feed {
	margin: 0 0 .5rem;
}
#feed .card-img,
#feed .img-responsive {
	width: 100% !important;
}
#feed a {
	color: #242424 !important;
}
#feed a:hover {
	color: #177464 !important;
}
#feed a:visited {
	color: #242424 !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;
}
.category-post .feed .card-header {
	color: #242424 !important;
}
.category-post .feed .card-header a {
	color: #242424;
}
.category-post .feed .card-header a:hover {
	color: var(--emphasis01) !important;
}
.feed .card-body {
	padding: 1rem 1.5rem .5rem !important;
}
.feed h2 {
	margin: 1rem 0 !important;
	font-size: 2.6rem !important;
	text-align: left !important;
	letter-spacing: 1px !important;
}
.category-post .feed h2 {
	margin: 1rem 0 !important;
	font-size: 2rem !important;
	text-align: left !important;
	font-weight: 500 !important;
	letter-spacing: 0.5px !important;
}
.category-post .feed .card-header {
	border-bottom: none !important;
}
#post section.single-post .feed .card-body p {
	margin: 0 0 1rem;
	line-height: 1.7 !important;
}
.feed p {
	text-align: left;
	font-weight: normal !important;
}
.feed .feed-body {
	padding: 1rem !important;
}
.feed .card-body img {
	margin-bottom: 1rem !important;
	display: block;
}
.feed .btn {
	color: #FFF !important;
}
.feed .post-date {
	margin-right: 1rem;
	font-size: 1.4rem !important;
	font-weight: normal !important;
	color: #555;
	letter-spacing: 0 !important;
}
.feed .cat-name {
	font-size: 1.2rem !important;
	font-weight: normal !important;
}
.feed .cat-name a {
	padding: .3rem 1rem;
	display: inline-block;
	letter-spacing: 0 !important;
	color: #FFF !important;
	background-color: #D2B48C;
	border-radius: .35rem;
}
.feed .cat-name a::before {
	margin-right: .35rem;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f02b";
}
.arrival-date {
	margin: 0;
	padding: .3rem .35rem;
	position: absolute;
	top: 5px;
	left: 5px;
	font-size: 1.3rem !important;
	line-height: 1.2;
	font-weight: normal !important;
	color: #FFF;
	letter-spacing: 0 !important;
	background-color: #FF8800;
}
.news-list {
	margin: 1.5rem 2rem 2rem !important;
}
.news-list li {
	margin: 0 0 .75rem !important;
	padding: 0 !important;
}
.news-list li span {
	margin-right: 1rem;
}
.feed-list {
	margin: 0 0 1.5rem;
}
.feed-list li {
	margin: 0 0 .75rem !important;
	padding: .5rem .5rem .5rem;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	width: 100%;
	text-align: left;
	border-bottom: 2px dotted rgba(0, 0, 0, .1);
}
.feed-list span.date {
	margin-right: 2rem;
	letter-spacing: 0 !important;
	color: var(--base);
}
.feed-list li a {
	color: var(--sub) !important;
}
.feed-list li a:hover {
	color: var(--link) !important;
	text-decoration: none !important;
}
.feed-list li:last-child {
	margin-bottom: 0;
	border-bottom: none;
}

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

/*-----------------------------------------------------
// Sitemap
-----------------------------------------------------*/
/* -------- Top Level --------- */
.primaryNav {
	clear: both;
	width: 100%;
	margin-top: 6em;
}
.primaryNav #home {
	position: absolute;
	margin-top: -3em;
	margin-bottom: 0;
	min-width: 11.5em;
	width: 100%;
}
.primaryNav #home:before {
	display: none;
}
.primaryNav ul {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	position: relative;
}
.primaryNav li {
	flex: 1;
	flex-basis: 11.5em;
	padding-right: 1.25em;
	position: relative;
}
.primaryNav>ul>li {
	margin-top: 2em;
}
.primaryNav li a {
	margin: 0;
	padding: .875em .9375em .9375em .9375em;
	display: block;
	font-size: .9375em;
	font-weight: 400;
	color: #FFF !important;
	background: var(--emphasis01);
	text-decoration: none;
}
.primaryNav li a:before {
	margin-right: 5px;
	font-family: "Font Awesome 6 Free";
	font-weight: 700;
	content: "\f14a";
	opacity: 0.9;
}
.primaryNav li a:hover {
	background-color: var(--sub);
}
/* -------- Second Level --------- */
.primaryNav ul ul {
	display: block;
}
.primaryNav ul ul li {
	padding-top: .5em;
	padding-right: 0;
}
.primaryNav ul ul li a {
	background-color: var(--emphasis02);
}
.primaryNav ul ul li a:before {
	margin-right: 5px;
	font-family: "Font Awesome 6 Free";
	font-weight: 400;
	content: "\f14a";
	opacity: 0.9;
}
.primaryNav ul ul li a:hover {
	background-color: var(--sub);
}
.primaryNav ul ul li:first-child {
	padding-top: .5em;
}
/*
.primaryNav ul:before,
.primaryNav ul:after,
.primaryNav ul li:before,
.primaryNav ul li:after {
	display: block;
	content: '';
	position: absolute;
	border-width: 0;
	border-color: var(--emphasis02);
	border-style: solid;
	z-index: -1;
}*/
.primaryNav>ul>li:before {
	height: 1.375em;
	top: -1.375em;
	;
	right: calc(50% + .625em);
	width: calc(100% - 2px);
	border-top-width: 2px;
	border-right-width: 2px;
}
.primaryNav>ul>li:first-child+li:before {
	border-top-width: 0;
	height: 5em;
	top: -5em;
}
.primaryNav ul ul li:after {
	width: 50%;
	height: .6875em;
	top: 0;
	right: 1px;
	border-left-width: 2px;
	;
}
.primaryNav ul ul li:first-child:before {
	width: 50%;
	height: 1.3125em;
	top: .6875em;
	right: 1px;
	border-left-width: 2px;
}
.primaryNav>ul>li:last-child:after {
	border-bottom-width: 0;
}
.primaryNav ul ul ul li:before {
	width: calc(50% - 5px) !important;
	height: calc(100% - 2px);
	top: -50%;
	left: 0;
	border-left-width: 2px;
	border-bottom-width: 2px;
}
.primaryNav ul ul ul li:first-child:before {
	height: 2.125em;
	top: -1px;
	border-top-width: 2px;
}
.primaryNav ul ul ul:before {
	width: 50%;
	height: 1.25em;
	top: -10px;
	right: 1px;
	border-left-width: 2px;
}
.primaryNav ul ul ul li:after {
	border-width: 0;
}
.primaryNav ul ul ul ul li:before,
.primaryNav ul ul ul ul li:first-child:before {
	display: none;
}
.primaryNav ul ul ul ul:before {
	width: 1px;
	height: calc(100% + 2.5em);
	top: -2.5em;
	left: 0;
	border-left-width: 2px;
}
.utilityNav {
	float: right;
	margin-top: 0;
	margin-bottom: -.25em;
	margin-right: 1.25em;
	max-width: 48%;
	list-style-type: none;
}
.utilityNav li {
	padding: 0 0 .625em .625em;
	display: inline-block;
}
.utilityNav li:first-child {
	display: inline-block;
}
.utilityNav li a {
	display: block;
	font-size: .75em;
	font-weight: 700;
	padding: .75em 1em;
	font-weight: 600;
	text-align: left;
	color: #FFF !important;
	background-color: #ff9d00;
	text-decoration: none;
}
.utilityNav li a:hover {
	background-color: #ff831b;
}
.utilityNav li a:link:after,
.utilityNav li a:visited:after {
	color: rgba(255, 255, 255, .75);
	font-size: .75em;
	font-weight: 600;
	margin-top: .25em;
}
@media screen and (max-width: 30em) {
	.primaryNav ul {
		display: block;
	}
	.primaryNav li {
		width: 100%;
		padding-right: 0;
	}
	.primaryNav #home {
		width: 100%;
		position: relative;
		margin-bottom: -1em;
		margin-top: 0;
	}
	.utilityNav {
		float: none;
		display: block;
		width: 100%;
		text-align: right;
		margin-bottom: 2.5em;
		max-width: 100%;
	}
}
/* two column */
@media screen and (min-width: 30em) {
	.primaryNav>ul>li {
		max-width: 50%;
	}
}
/* three column */
@media screen and (min-width: 38.5em) {
	.primaryNav>ul>li {
		max-width: 25%;
	}
}
/* four column */
@media screen and (min-width: 50em) {
	.primaryNav>ul>li {
		min-width: 25%;
	}
}

/*-----------------------------------------------------
// table
-----------------------------------------------------*/
table {
	table-layout: auto !important;
	word-break: break-all;
	word-wrap: break-word;
	letter-spacing: 0.5px !important;
}
.seminar-element table {
	margin: 1.5rem 0 !important;
	width: 100%;
	overflow-x: auto;
	table-layout: fixed;
}
.seminar-element table tbody tr:nth-of-type(odd) {
	background-color: hsl(169.29deg 11.38% 51.76% / 20%) !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.seminar-element table 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);
}
.seminar-element table th, .seminar-element table td {
	padding: 1rem 1rem !important;
	line-height: 1.4;
	vertical-align: middle;
	font-weight: 400 !important;
	border: 5px solid #FFF !important;
}
.seminar-element table tr td:nth-child(1) {
	width: 20% !important;
	text-align: center !important;
	font-weight: 500 !important;
}
.table-auto {
	table-layout: auto !important;
}
.text-nowrap {
	white-space: nowrap !;
}
.table-striped tbody tr:nth-of-type(odd) {
	background-color: hsl(169.29deg 11.38% 51.76% / 20%) !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 {
	font-weight: 400 !important;
	text-align: center;
	vertical-align: middle !important;
}
.table td {
	text-align: left;
	vertical-align: middle !important;
}
.table td {
	background-color: rgba(255, 255, 255, 0.5) !important;
}
.table thead th {
	padding: 1rem .75rem;
	color: #FFF;
	font-weight: 700 !important;
	background-color: #61BD62;
	border-bottom: 1px solid #61BD62 !important;
}
.table thead td {
	padding: 1rem .75rem;
	color: #FFF;
	background-color: #61BD62;
	border-bottom: 1px solid #61BD62 !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: 500 !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%;
	font-size: 1.6rem;
	border-collapse: collapse;
	border: none;
	box-sizing: border-box !important;
}
table.tbl tr {
	margin: 0;
	padding: 0;
	border: none;
}
table.tbl th {
	padding: 1rem 1.2rem 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(--emphasis02) !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 th, table.tbl td {
	border-bottom: 5px solid #FFF;
}
table.tbl tr:last-child th, table.tbl tr:last-child td {
	border-bottom: none !important;
}
input {
	padding: .5rem;
}

/*-----------------------------------------------------
// 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;
}
.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.form-control {
	padding: .2rem .75rem !important;
	height: 4rem !important;
}
input, textarea {
	padding: .5rem .75rem;
	border: 1px solid rgba(0,0,0,.2) !important;
}
input[type="submit"] {
	margin: 0 1rem;
	padding: 1.5rem 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 #177464;
	border-radius: .3rem;
	background-color: #177464;
}
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;
}

/* ------------------------------------
// button
------------------------------------ */
a.learn-more {
	margin-bottom: 0;
	padding: 0;
	width: 13rem;
	height: auto;
	position: relative;
	display: inline-block;
	cursor: pointer;
	outline: none;
	border: 0;
	vertical-align: middle;
	text-decoration: none;
	background: transparent;
	font-size: 1.3rem !important;
	font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
}
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(--sub);
	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 1.85rem;
	color: var(--sub);
	font-weight: 500;
	line-height: 1.1;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0 !important;
}
a.learn-more .button-text_jp {
	font-size: 1.1em !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 {
	margin-top: 1rem;
	padding-right: 5px;
	display: block;
	width: 100%;
	text-align: right;
	grid-area: main;
	align-items: center;
	align-self: center;
	justify-content: center;
	justify-self: center;
}

/*-----------------------------------------------------
// 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(--main) !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: #555;
}
.pager .pager-prev a,
.pager .pager-next a {
	padding: 1rem 3rem;
	background: #555;
	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(--main);
}
.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: #555;
}
.pager a:hover,
.pager-number a:hover {
	color: #FFF!important;
	text-decoration: none !important;
	background-color: var(--main) !important;
}


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

/* ------------------------------------
// @Media Queries
------------------------------------ */
@media (min-width: 1600px) {
	article#pages section {
		padding: 8rem 0;
	}
}
@media (max-width: 1140px) {
	header#main-head .btn {
		max-width: 210px;
	}
}
@media (max-width: 991.98px) {
	.navbar-dark .navbar-nav .nav-link {
		letter-spacing: .1rem !important;
	}
	header#main-head .btn {
		margin-left: .5rem;
		max-width: 190px;
	}
	article#pages section {
		padding: 5rem 0;
	}
}
@media (min-width: 768px) {
	.pc-center {
		text-align: center !important;
	}
	#service-list .card-body {
		padding-right: 1rem !important;
		overflow-wrap: break-word !important;
	}
	.sp-mb-0 {
		margin-bottom: 0 !important;
	}
	.pc-pad {
		padding-left: 0 !important;
		padding-right: 15px !important;
	}
}

/*--under 768px--*/
@media (max-width: 767.98px) {
	body {
		font-size: 1.5rem;
	}
	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;
	}
	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 p.social {
		font-size: 1.4rem !important;
	}
	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;
	}
	h1.page-title {
		font-size: 2.1rem !important;
		letter-spacing: .1rem !important;
	}
	h2, .h2 {
		margin: 1rem 0 2rem !important;
		font-size: 2.2rem;
		letter-spacing: 0.5px !important;
	}
	h2.title {
		margin: .5rem 0 3.5rem !important;
		/*font-size: 2.6rem !important;*/
		font-size: 2.15rem !important;
		letter-spacing: 0.5px !important;
	}
	h2.heading {
		font-size: 1.5rem;
		font-weight: 500 !important;
		line-height: 1.2 !important;
		text-align: center;
	}
	.heading::before {
		content: attr(data-en);
		display: block;
		margin-bottom: 5px;
		font-size: 4.2rem;
		letter-spacing: .1rem !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;
	}
	h4, .h4 {
		font-size: 1.6rem !important;
	}
	h5, .h5 {
		font-size: 1.5rem !important;
	}
	h6, .h6 {
		font-size: 1.5rem !important;
	}
	p {
		font-size: 1.4rem !important;
	}
	.small {
		font-size: 90% !important;
		letter-spacing: 0 !important;
	}
	.pc-contents {
		text-align: center !important;
	}
	summary {
		padding: 1.5rem 1rem;
	}
	summary.h5 {
		line-height: 1.5 !important;
	}
	details .details-inner {
		padding: 1rem .5rem;
	}
	details .details-inner p {
		font-size: 1.3rem !important;
	}
	.news-list li span {
		margin: 0 0 .1rem !important;
		display: block;
	}
	.table th {
		width: 30% !important;
	}
	.table th, .table td {
		padding: 1rem .5rem !important;
		font-size: 1.3rem !important;
		letter-spacing: 0 !important;
	}
	.table td a {
		display: block;
		text-align: left;
	}
	.table-xs th, .table-xs td {
		padding: .5rem 1.5rem !important;
		font-size: 1.3rem !important;
		text-align: left !important;
		letter-spacing: 0.5px !important;
	}
	.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.3rem !important;
	}
	dl.faq dt {
		font-size: 1.5rem !important;
	}
	dl.faq dd {
		font-size: 1.4rem !important;
	}
	.btn,
	.button {
		font-size: 1.5rem !important;
	}
	.page-nav {
		margin-top: 1.5rem;
		text-align: center;
	}
	.align-items-center p {
		margin-top: 1rem !important;
	}
	.feed .card-body {
		padding: 2rem !important;
	}
	.feed .feed-body {
		padding: .5rem 1rem .7rem !important;
	}
	#feed .card-img {
		width: 100%;
		min-height: auto !important;
		object-fit: cover !important;
	}
	footer ul.footer-nav {
		margin: 0 0 1.5rem !important;
	}
	footer ul.footer-nav li {
		margin-bottom: 1rem;
		width: 100%;
		font-size: 1.2rem !important;
	}
	footer .footer-logo {
		margin: 0 auto 1rem !important;
		padding: 0;
		display: block;
		width: 50%;
	}
	.sp-nav {
		margin: 0 !important;
		width: 100%;
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		position: fixed;
		bottom: 0;
		left: 0;
		background-color: var(--main);
		box-shadow: 0px -2px 4px -2px rgba(0, 0, 0, 0.18);
		z-index: 9999;
	}
	.sp-nav li {
		margin: 0;
		padding: 0;
		width: calc(100% / 4);
		height: auto;
		display: flex;
		flex-direction: column;
		box-sizing: border-box;
		text-align: center;
	}
	.sp-nav li a {
		padding: .7rem 0;
		display: block;
		text-align: center;
		font-size: 1.8rem;
		color: #FFF !important;
		text-align: center;
	}
	.sp-nav li.nav-recruit a {
		background-color: var(--accent) !important;
	}
	.sp-nav li a > span {
		display: block;
		text-align: center;
		color: #FFF !important;
		letter-spacing: 0 !important;
		font-size: 1.1rem !important;
	}
	.label-title {
		display: none !important;
	}
	.txt-c {
		text-align: left !important;
	}
	.img-border {
		border: none !important;
	}
	.hidden-pc {
		display: block !important;
	}
	.hidden-sp {
		display: none !important;
	}
	.wp-form {
		padding: 0 15px !important;
	}
	.col-form {
		padding: 0 !important;
	}
	.privacy {
		margin: 2rem auto 2rem;
		border: 1px solid #ccc;
		padding: 1rem;
		overflow: auto;
		height: 350px;
		font-size: 1.2rem;
	}
	.privacy p {
		font-size: 1.2rem !important;
	}
	table a.btn {
		margin-top: .3rem;
	}
	table.tbl th,
	table.tbl td {
		padding: .7rem .5rem !important;
		width: 100% !important;
		display: block !important;
		text-align: left !important;
	}
	table.tbl, table.tbl th, table.tbl td {
		border: none !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;
	}
	br.sp-space {
		display: none !important;
	}
	#wpfront-scroll-top-container {
		width: 42px;
		bottom: 140px !important;
	}
	/* reCAPTCHAの位置調整　*/
	.grecaptcha-badge {
		bottom: 70px !important;
	}
}
