@charset "UTF-8";

/*
Theme Name: sodegaura-lp
Description: Bootstrap-V5.3 Design WordPress tmpl.
Author: cmdc
Author URI: c-mdc.jp
Version: 5.3
Requires PHP: 7.0
*/

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-size: 100%;
	font-weight: inherit;
	font-style: inherit;
	text-align: center;
	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;
}
:root {
	--maincolor:  #343B41;
	--subcolor:   #03AFC2;
	--linkcolor:  #0670BD;
	--bgcolor:    #F67824;
	--bgcolor2:   #3F6EB4;
	--bgcolor3:   #2AA6E2;
	--bgcolor4:   #A5D342;
	--bgcolor5:   #B3C4DF;
}
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: normal;
	font-family: 'Roboto','Helvetica Neue','Noto Sans JP','Hiragino Sans','Meiryo','Hiragino Kaku Gothic ProN',sans-serif;
	background: #FFF;
	-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;
	word-break: break-word;
	overflow-wrap : break-word;
	overflow-x: hidden;
}
a {
	overflow: hidden;
	color: var();
	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 {
	color: var(--linkcolor) !important;
}
a:hover {
	color: var(--bgcolor2) !important;
	text-decoration: underline;
}
:focus {
	outline: none !important;
}
/*
a:visited {
	color: #2188D8 !important;
}*/
.current {
	color: #00b5e2 !important;
}
main#page a:link {
	text-decoration: underline !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-transform: scale(0.98);
	-moz-transform: scale(0.98);
	-o-transform: scale(0.98);
	-ms-transform: scale(0.98);
	transform: scale(0.98);
}
.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 {
	padding: 1rem 1.25rem !important;
	color: #454545 !important;
	background-color: #f5f5f5;
	border-radius: .3rem;
}
blockquote small {
	display: block !important;
	text-align: left !important;
}
sub, sup {
	position: relative;
	top: -0.5em;
	font-size: 50% !important;
	line-height: 0;
	vertical-align: baseline;
}
/* ------------------------------------
// background
------------------------------------ */
.bg-main { background-color: #162f4e !important;}
.bg-y { background-color: #970361 !important;}
.bg-x { background-color: #003494 !important;}
.bg-gray { background-color: #999 !important;}
.bg-contact { background-color: #fdeef1 !important;}
.bg-beige {background-color: #FFF8E1 !important;}
.bg-01 { background-color: #DDFCF6 !important}
.bg-02 { background-color: var(--bgcolor2);}
.bg-03 { background-color: var(--bgcolor3);}
.bg-tbl {background-color: #b0d2f5 !important;}
.pattern-01 {
	padding-bottom: 8vh;
	background-image: url("svg/bg-pattern01.svg");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100% auto;
}
.bg-gradation_left h2.title > span {
	color: #FFF !important;
}
.bg-30 {
	background-color: rgba(255, 255, 255, 0.3) !important;
}
.bg-50 {
	background-color: rgba(255, 255, 255, 0.5) !important;
}

/* ------------------------------------
// border
------------------------------------ */
.border-orange {border: 2px solid #EF8300 !important;}

/* ------------------------------------
// typography
------------------------------------ */
h1, h2, .h1, .h2 {
	margin: 0 0 1rem;
	font-weight: 900 !important;
	text-align: left;
	line-height: 1.4 !important;
	letter-spacing: .1rem;
}
h3, h4, h5, h6, .h3, .h4, .h5, .h6 {
	margin: 0 0 1rem;
	font-weight: 700 !important;
	text-align: left;
	line-height: 1.4 !important;
	letter-spacing: .1rem;
}
.post-title {
	letter-spacing: .1rem;
}
h1 {
	color: #101010;
	line-height: 1.3;
}
.title {
	font-weight: 900 !important;
}
.title > small {
	display: block;
	text-align: left;
	font-size: 45% !important;
	font-family: "Helvetica Neue", "Lato", "Noto Sans JP", sans-serif;
}
.title a:hover {
	text-decoration: none !important;
}
.element-title {
	display: block;
	width: 100%;
	padding-left: 30px;
	background-position: left 30px center;
	background-repeat: no-repeat;
	background-size: 30px 30px;
	overflow-wrap: break-word;
	&.tire-b {
		background-image: url("svg/tire-black.svg");
	}
	&.tire-w {
		background-image: url("svg/tire-white.svg");
	}
}
.text-primary a:hover {
	color: #0870d8 !important;
}
h1.title {
	margin: 2rem 0 5rem !important;
	line-height: 1.3;
	letter-spacing: 0 !important;
}
h1.title > small {
	display: block;
	text-align: center;
	font-size: .5em !important;
}
h2 {
	margin: 1rem 0 2.5rem !important;
	color: #101010;
	font-weight: 900 !important;
	line-height: 1.4;
	letter-spacing: .2rem;
}
h2.title {
	margin: 0 0 5rem !important;
	text-align: center;
	letter-spacing: .2rem;
}
h2.title span::before {
	margin-right: 1rem;
	font-family: "bootstrap-icons";
	content: "\F4FE";
	opacity: 0.5;
}
h2.title span::after {
	margin-left: 1rem;
	font-family: "bootstrap-icons";
	content: "\F4FE";
	opacity: 0.5;
}
h2.title > span {
	display: block;
	text-align: center;
	color: initial !important;
	font-weight: 700;
	font-size: .36em !important;
	letter-spacing: 0.5px;
	font-family: "Helvetica Neue", "Lato", "Noto Sans JP", sans-serif;
}
h2.title > small {
	display: block;
	text-align: center;
	color: initial !important;
	font-size: .6em !important;
}
main#page h2.title {
	margin-bottom: 5rem !important;
}
h2.page-title {
	text-align: center;
}
h2.page-title small {
	display: block;
	text-align: center;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
}
h2.page-title span {
	display: block;
	text-align: center;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
}
h2.page-title span::before {
	margin-right: 1rem;
	font-family: "bootstrap-icons";
	content: "\F4FE";
	opacity: 0.5;
}
h2.page-title span::after {
	margin-left: 1rem;
	font-family: "bootstrap-icons";
	content: "\F4FE";
	opacity: 0.5;
}
h2.page-title small {
	margin-bottom: .35rem;
	display: block;
	text-align: center;
	font-size: 70%;
	color: #555;
}
h3 {
	margin: 0 0 1rem !important;
	padding: 0;
	line-height: 1.5;
}
h3.title {
	margin-bottom: 2rem !important;
}
h3.pages {
	margin: 2rem 0 3rem !important;
	padding: 0 0 1.5rem 1.5rem;
	position: relative;
	letter-spacing: .1rem !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
h3.pages:before {
	content: "";
	position: absolute;
	height: 80%;
	background: #106eb8;
	width: 4px;
	left: 0;
	top: 0;
}
h3 small {
	font-weight: bold;
	font-size: 55% !important;
	letter-spacing: .1rem !important;
}
h3.sub-title {
	margin: 0 0 5rem !important;
	padding: .3em 0 .2em 1em;
	position: relative;
	border-bottom: 5px dotted var(--bgcolor5);
}
h3.sub-title::before {
	position: absolute;
	top: 0;
	left: .3em;
	transform: rotate(55deg);
	height: 11px;
	width: 12px;
	background: var(--bgcolor5);
	content: '';
}
h3.sub-title::after {
	position: absolute;
	transform: rotate(15deg);
	top: .6em;
	left: 0;
	height: 8px;
	width: 8px;
	background: var(--bgcolor5);
	content: '';
}
h3.merit {
	border-bottom: 5px dotted var(--subcolor);
}
h3.merit::before,
h3.merit::after {
	background: var(--subcolor);
}
h4 {
	margin: .5rem 0 1rem;
	line-height: 1.5 !important;
	font-weight: 700 !important;
}
h4.page-title::before {
	margin-right: .5rem;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f0c8";
}
h5 {
	margin: 0 0 .75rem !important;
	line-height: 1.5 !important;
	font-weight: 600 !important;
	color: inherit;
}
h6 {
	margin: 0 0 .5rem;
	line-height: 1.5 !important;
	font-weight: 600 !important;
}
p {
	margin: 0 0 1rem !important;
	line-height: 1.7 !important;
	letter-spacing: .1rem;
	text-align: left;
}
/* ------------------------------------
// responsive font
------------------------------------ */
h1, .h1 {
	font-size: calc(1.55rem + 3.6vw);
}
@media (min-width: 1200px) {
	h1, .h1 {
		font-size: 4.25rem;
	}
}
h2, .h2 {
	font-size: calc(1.465rem + 2.58vw);
}
@media (min-width: 1200px) {
	h2, .h2 {
		font-size: 3.4rem;
	}
}
h3, .h3 {
	font-size: calc(1.414rem + 1.968vw);
}
@media (min-width: 1200px) {
	h3, .h3 {
		font-size: 2.89rem;
	}
}
h4, .h4 {
	font-size: calc(1.363rem + 1.356vw);
}
@media (min-width: 1200px) {
	h4, .h4 {
		font-size: 2.38rem;
	}
}
h5, .h5 {
	font-size: calc(1.329rem + 0.948vw);
}
@media (min-width: 1200px) {
	h5, .h5 {
		font-size: 2.04rem;
	}
}
h6, .h6 {
	font-size: calc(1.295rem + 0.54vw);
}
@media (min-width: 1200px) {
	h6, .h6 {
		font-size: 1.7rem;
	}
}
p {
	font-size: calc(1.295rem + 0.54vw);
}
@media (min-width: 1200px) {
	p {
		font-size: 1.7rem;
	}
}

@media (min-width: 768px) {
	h3, .h3 {
		font-size: clamp( 1.75rem, calc( 0.8708860759493671rem + 1.5189873417721522vw ), 2.8rem );
	}
	h4, .h4 {
		font-size: clamp( 1.6rem, calc( 0.8708860759493671rem + 1.5189873417721522vw ), 2.1rem );
	}
	h5, .h5 {
		font-size: clamp( 1.5rem, calc( 0.8708860759493671rem + 1.5189873417721522vw ), 1.85rem );
	}
}

strong {
	font-weight: 700 !important;
}
em {
	font-weight: 900 !important;
	font-style: normal !important;
}
small {
	display: inline-block;
	font-size: 85% !important;
	line-height: 1.6;
}
p > small {
	letter-spacing: 0 !important;
}
.smaller {
	font-size: .7em !important;
	letter-spacing: 0 !important;
}
.description {
	font-size: 95% !important;
	line-height: 1.5 !important;
	letter-spacing: 0.5px !important;
}
label {
	padding: 1.5rem 2.5rem;
	line-height: 1;
	text-transform: capitalize;
	font-weight: bold;
	color: #FFF;
	letter-spacing: 0.5px;
	background: #333 !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;
	font-weight: 700;
	color: #FFF;
	letter-spacing: 0.5px;
	border-radius: .75rem;
}
label.label-list {
	margin-right: .5rem;
	padding: .75rem 1rem;
	line-height: 1;
	text-transform: capitalize;
	font-weight: 700;
	color: #FFF !important;
	letter-spacing: 0.5px;
	border-radius: .35rem;
	background-color: #09E !important;
}
hr {
	margin-top: 3rem !important;
	margin-bottom: 3.5rem !important;
	border: 0;
		border-top-color: currentcolor;
		border-top-style: none;
		border-top-width: 0px;
	border-top: 1px solid rgba(0, 0, 0, 0.1) !important;
}
.eng {
	letter-spacing: 0 !important;
}
.text-link {
	font-weight: bold;
}
.pc-center {
	text-align: center !important;
}
.emphasis {
	padding-left: 3px;
	padding-right: 3px;
	display: inline-block;
	text-decoration: underline;
	text-decoration-thickness: 0.3em;
	text-decoration-color: var(--subcolor);
	text-underline-offset: -0.1em;
	text-decoration-skip-ink: none;
}
.emphasis.blue {
	text-decoration-color: rgba(42, 166, 226, 0.6);
}
.emphasis.orange {
	text-decoration-color: rgba(255, 137, 59, 0.6);
}
.emphasis.yellow {
	text-decoration-color: rgba(255, 193, 7, 0.6);
}
.underline {
	padding-left: 5px;
	padding-right: 5px;
	background-image: linear-gradient(rgba(0 0 0 / 0) 75%, var(--subcolor) 75%);
}
.underline-blue {
	padding-left: 5px;
	padding-right: 5px;
	font-weight: 700 !important;
	background-image: linear-gradient(rgba(0 0 0 / 0) 75%, var(--bgcolor3) 75%);
}
.underline-orange {
	padding-left: 5px;
	padding-right: 5px;
	font-weight: 700 !important;
	background-image: linear-gradient(rgba(0 0 0 / 0) 75%, #ff893b 75%);
}
.underline-red {
	padding-left: 5px;
	padding-right: 5px;
	font-weight: 700 !important;
	background-image: linear-gradient(rgba(0 0 0 / 0) 75%, #CC3300 75%);
}
.underline-yellow {
	padding-left: 5px;
	padding-right: 5px;
	font-weight: 700 !important;
	background-image: linear-gradient(rgba(0 0 0 / 0) 75%, #FFC107 75%);
}
.number-title {
	padding: 1rem 1.4rem;
	position: absolute;
	top: -20px;
	left: 20px;
	font-size: 2rem;
	font-weight: 900;
	line-height: 1;
	color: #FFF;
	background-color: var(--subcolor);
	border: 2px solid #FFF;
	border-radius: 50%;
	z-index: 2;
}
.size-2 {
	font-size: clamp( 1.6rem, calc( 0.8708860759493671rem + 1.5189873417721522vw ), 1.85rem );
}
.ls-eng {
	letter-spacing: -2px !important;
}
.ls-0 {
	letter-spacing: 0 !important;
}
.ls-2 {
	letter-spacing: .2rem !important;
}
.ls-3 {
	letter-spacing: .3rem !important;
}
.lh-2 {
	line-height: 2 !important;
}
.slug {
	text-transform: capitalize;
}

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

/* ------------------------------------
// icon
------------------------------------ */
.fa-line {
	color: #00B900 !important;
}

/* ------------------------------------
// header
------------------------------------ */
header#main-head {
	padding: .5rem 0;
	overflow: hidden;
}
header#main-head .site-title {
	margin: .3rem 0 .5rem 1rem !important;
	text-align: left;
	font-size: 1.35rem;
	color: #101010;
	font-weight: normal !important;
}

.header-nav {
	margin: 0;
	/*background: #FFF !important;
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.18);*/
}
.header-nav .site-title {
	margin: 5px 0 !important;
	font-weight: 600 !important;
	color: #FFF;
	font-size: 1.55rem !important;
	letter-spacing: 0.5px !important;
}
.icn-text {
	margin-bottom: .25rem;
	padding: 0;
	display: block;
	color: #0AA800;
	font-weight: 700;
	font-size: 2.7rem !important;
	text-decoration: none !important;
	background-position: left 0 center;
	background-repeat: no-repeat;
	background-size: 2em 2em;
	overflow-wrap: break-word;
}
.header-nav .header-nav__inner span.contact-title {
	margin: 0 !important;
	padding: 1.25rem 1.25rem;
	display: inline-block;
	color: var(--subcolor);
	text-align: center;
	font-size: .9em;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	background-color: #E2FFFC;
	border-radius: 3rem;
}
.header-nav .header-nav__inner .col-flex {
	margin-top: .7rem !important;
}
.header-nav .header-nav__inner .col-flex li {
	margin: 0;
	padding: 0 .75rem;
	line-height: 1.2 !important;
}
.header-nav .header-nav__inner .col-flex li:last-child {
	padding-right: 0 !important;
}
.header-nav .header-nav__inner .col-flex li small {
	font-size: .7em !important;
}
.header-nav .header-nav__inner a.icn-text {
	color: #FFF !important;
}
.header-nav .header-nav__inner {
	color: #FFF !important;
}
.header-nav .header-nav__inner p {
	line-height: 1.3 !important;
}
.header-nav .header-nav__inner p > small {
	font-size: .7em !important;
}
.header-nav .header-nav__inner a.icn-text {
	color: #FFF !important;
}
.header-nav .header-nav__inner a.btn {
	line-height: 1.2 !important;
	color: #FFF !important;
}
.header-nav .header-nav__inner a.btn small {
	font-size: .6em !important;
}
.header-nav .header-nav__inner .col-flex img {
	width: 48px;
	height: auto;
}
@media (max-width: 767.98px) {
	.header-nav .header-nav__inner .container-fluid,
	.navbar .container-fluid {
		padding: 0 1vw !important;
	}
}
@media (max-width: 1199.98px) {
	.header-nav .header-nav__inner .container-fluid,
	.navbar .container-fluid {
		padding: 0 2vw !important;
	}
	.header-nav .header-nav__inner span.contact-title {
		font-size: clamp(1.4rem, 1vw, 1.65rem) !important;
	}
}
/* ------------------------------------
// color variation
------------------------------------ */
.text-black {color: #101010 !important;}
.text-red {color: #d30023 !important;}
.text-blue {color: #083888 !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;
}
.text-serif {
	font-family: 'Shippori Mincho', serif !important;
}
.shodow {
	box-shadow: 0 0 2px rgba(0,0,0,.15);
	border-radius: .35rem;
	overflow: hidden;
}

/* ------------------------------------
// button
------------------------------------ */
a.learn-more {
	margin-bottom: .5rem;
	padding: 0;
	width: 14rem;
	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;
}
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: #106eb8;
	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: #106eb8;
	font-weight: 400;
	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 {
	grid-area: main;
	align-items: center;
	align-self: center;
	justify-content: center;
	justify-self: center;
}
.button {
	padding: 1.75rem 3.5rem;
	display: inline-block;
	position: relative;
	z-index: 0;
	outline: none;
	color: #FFF !important;
	font-size: 1.8rem;
	font-weight: bold !important;
	text-decoration: none !important;
	text-align: center;
	line-height: 1;
	letter-spacing: .1rem;
	text-shadow: initial;
	border: 2px solid #072752;
	border-radius: .2rem;
	background-color: #072752;
}
.button::before,
.button::after {
	width: 50%;
	height: 100%;
	top: 0;
	display: block;
	position: absolute;
	z-index: -1;
	content: "";
	background-color: #072752;
}
.button,
.button::before,
.button::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.button:hover {
	color: #FFF !important;
	border-color: #162941;
	background-color: #162941;
}
.button:focus,
.button:active,
.button:visited {
	color: #FFF !important;
}
.button::before {
	right: 0;
}
.button::after {
	left: 0;
}
.button:hover::before,
.button:hover::after {
	width: 0;
	background-color: #162941;
}
.button .fas {
	margin-right: .6rem;
}
.button > small {
	margin-bottom: .25rem;
	display: block;
	line-height: 1.1;
	text-align: center;
}
.button > .display-3 {
	font-weight: 600;
	letter-spacing: 0 !important;
}

/* ------------------------------------
// list
------------------------------------ */
ul, ol {
	padding-left: 0 !important;
}
ul, ol, dl dt, dd {
	line-height: 1.5;
}
dl {
	margin: 0 0 2rem;
}
dt {
	margin: 0 0 .5rem;
	padding: 0 0 .5rem;
	text-align: left;
	font-size: 1em;
	letter-spacing: 0.5px;
}
dd {
	margin: 0 0 1rem;
	line-height: 1.6;
	text-align: left;
	font-size: .95em;
	letter-spacing: 0.5px;
}
dl.privacy-policy {
	margin: 0 0;
	font-size: .85em !important;
}
dl.privacy-policy dt {
	margin: 0 0 .35rem;
	padding: 0 0;
}
dl.privacy-policy dd {
	margin: 0 0 1rem;
	padding: 0 0 .5rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
dl.privacy-policy dd strong {
	margin-top: 1rem;
	display: inline-block;
	text-align: left;
}
dl.faq {
	margin: 0 0 2rem;
}
dl.faq dt {
	margin: 0 0 1rem;
	padding: 0 0 0 29px;
	text-indent: -29px;
}
dl.faq dt:before {
	margin-right: 5px;
	padding: 0;
	content: 'Q';
	width: 24px;
	height: 24px;
	box-sizing: content-box;
	display: inline-block;
	text-indent: 0;
	text-align: center;
	font-weight: 700;
	color: #FFF;
	font-size: 18px;
	line-height: 24px !important;
	background-color: var(--bgcolor);
	border-radius: 50%;
}
dl.faq dd {
	margin: 0 0 2rem;
	padding: 0 0 1.5rem 29px;
	text-indent: -29px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
dl.faq dd:before {
	margin-right: 5px;
	padding: .0;
	content: 'A';
	width: 24px;
	height: 24px;
	box-sizing: content-box;
	display: inline-block;
	text-indent: 0;
	text-align: center;
	font-weight: 700;
	color: #FFF;
	font-size: 18px;
	line-height: 24px !important;
	background-color: var(--bgcolor3);
	border-radius: 50%;
}
li {
	margin: .5rem 0 .5rem;
	list-style: none;
}
ul.arrow {
	margin: 0 0 1rem;
}
ul.arrow li {
	margin: 0 0 .35rem;
	text-align: left;
}
ul.arrow li:before {
	margin-right: 5px;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f105";
}
ul.check-list {
	margin: 0 0 2rem;
	/* min-768px to max-1400px*/
	font-size: clamp( 1.65rem, calc( 0.8708860759493671rem + 1.5189873417721522vw ), 2.2rem );
	font-weight: 700;
}
ul.check-list li {
	margin: 0 0 1.25rem;
	padding-left: 1em;
	text-indent: -1em;
	text-align: left;
	line-height: 1.5;
}
ul.check-list li:before {
	margin-right: 3px;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f14a";
	color: var(--bgcolor);
}
ul.check-sublist {
	margin: 0 0;
	font-weight: 500;
}
ul.check-sublist li {
	margin: 0 0 .5rem;
	padding-left: 1em;
	text-indent: -1em;
	text-align: left;
	line-height: 1.5;
}
ul.check-sublist li:before {
	margin-right: 3px;
	font-family: "Font Awesome 6 Free";
	font-weight: 400;
	content: "\f14a";
	color: var(--bgcolor);
}
.icn-text {
	margin-bottom: .25rem;
	padding: 0;
	display: block;
	color: #0AA800;
	font-weight: 700;
	font-size: 2.7rem !important;
	text-decoration: none !important;
	background-position: left 0 center;
	background-repeat: no-repeat;
	background-size: 2em 2em;
	overflow-wrap: break-word;
	&.freedial {
		background-image: url("svg/freedial.svg");
	}
	&.message {
		background-image: url("svg/icon_mail.svg");
	}
}
.sub-list {
	margin: 0 0 1rem;
}
hr.hr-dotted {
	margin: 3rem 0 4rem !important;
	border-top: 2px dotted rgba(125, 125, 125, 0.3) !important;
}
hr.hr-dotted2 {
	margin: 2rem 0 2rem !important;
	border-top: 2px dotted rgba(255, 255, 255, 0.5);
}
hr.hr-line {
	margin: 2em 0;
	border-top: 2px dotted rgba(0, 0, 0, 0.1);
}
details {
	margin: 0 0
}
summary {
	padding: 1rem 1rem;
	position: relative;
	display: block; /* 矢印を消す */
	list-style: none !important;
	padding-left: 20px; /* アイコン分の余白 */
	cursor: pointer;
	font-weight: 400 !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
summary.h6 {
	font-weight: 700 !important;
	font-size: 1.6rem !important;
}
summary::-webkit-details-marker {
	display: none !important; /* 矢印を消す */
}
/* 疑似要素でアイコンを表示 */
summary::before {
	margin-right: .5rem;
	font-family: "Font Awesome 6 Free";
	font-weight: 400;
	content: "\f086";
	color: #09C;
}
summary::after {
	margin: auto;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f078";
	color: rgba(0, 0, 0, 0.5);
	position: absolute;
	left: auto;
	right: 1.5rem;
}
/* オープン時 */
details[open] summary:after {
	margin: auto;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f077";
	color: rgba(0, 0, 0, 0.5);
	position: absolute;
	left: auto;
	right: 1.5rem;
}
details .details-inner {
	padding: 2rem 1.5rem;
	background-color: rgba(255, 255, 255, 0.75);
}

/* ------------------------------------
// media
------------------------------------ */
object {
	pointer-events: none;
}
a > object {
	display: inline-block;
}
.thumbnail>img, .thumbnail a>img, .carousel-inner>.item>img, .carousel-inner>.item>a>img {
	margin-top: 0;
	margin-bottom: 0;
	max-width: 100%;
	height: auto;
	display: block;
	text-align: center;
}
.navbar-brand img {
	margin-top: 0;
	margin-bottom: 0;
	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 {
	margin: 0 auto;
	max-width: 100%;
	height: auto;
	display: block;
	text-align: center;
	border-radius: 50%;
}
.img-svg {
	margin-left: auto;
	margin-right: auto;
	padding-left: 5%;
	padding-right: 5%;
	width: 100%;
	max-width: 100%;
	height: auto;
}
.title-svg {
	margin-left: 0;
	margin-right: auto;
	width: 100%;
	max-width: 100%;
	height: auto;
}
.logo-svg {
	margin-left: auto;
	margin-right: auto;
	padding-left: 0;
	padding-right: 10%;
	width: 100%;
	max-width: 100%;
	height: auto;
}
.svg-logo {
	margin: 0 auto;
	width: 240px;
	height: auto;
	display: block;
	text-align: center;
}
.img-l {
	margin: 0 auto 0 0;
	display: block;
	max-width: 100% !important;
	height: auto;
}
.img-fit {
	max-width: 100% !important;
	width: 100% !important;
	height: auto;
}
.img-circle {
	max-width: 100% !important;
	width: 100% !important;
	height: auto;
	border-radius: 50%;
}
.img-50 {
	margin: 0 auto;
	max-width: 100%;
	height: auto;
	display: block;
	text-align: center;
}
.aspect-ratio-block {
	aspect-ratio: 16 / 9;
	width: 100%;
}
.aspect-ratio-block .img-responsive {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
img.img-border {
	box-shadow: 10px 10px 0 hsla(0, 0%, 0%, 0.2);
}
img.img-border2 {
	box-shadow: 10px 10px 0 hsla(0, 0%, 100%, 0.15);
}
img.img-border3 {
	box-shadow: 10px 10px 0 rgba(3, 76, 94, 0.2);
}
.youtube {
	padding-top: 56.25%;
	width: 100%;
	height: 100%;
	position: relative;
}
.youtube iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
}

/* ------------------------------------
// layout
------------------------------------ */
main {
	margin: 0;
	padding: 0;
	min-height: 10vh;
	position: relative;
}
main#post {
	margin-top: 3rem !important;
}
article {
	margin: 0;
	padding: 0;
	overflow: hidden;
}
article#top {
	margin-top: 0;
}
article#pages {
	text-align: left;
}
section {
	margin: 0 0;
	padding: 6rem 0 4rem;
	position: relative;
}
section .container,
section .container-xl {
	position: relative;
	z-index: 2;
}
article section {
	padding: 6rem 0 4rem;
	background: #FFF;
}
section.section01__element {
	padding: 7rem 0 4rem;
	background-color: #FFF;
}
section.section01__element:after {
	content: "";
	position: absolute;
	width: 100%;
	height: 90%;
	left: 0;
	top: 0;
	z-index: 1;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 566.93 121.7'%3E%3Cpath d='M0 0v14.17L283.46 121.7 566.93 14.17V0H0z' style='fill:%23a5d342'/%3E%3C/svg%3E");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100%;
}
article section.parallax {
	position: relative;
}
article section.parallax-primary {
	background-image: url('common/background/parallax-primary.jpg') !important;
	background-position: right center;
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
}
article section.parallax-primary::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.8);
}
article section.parallax-secondary {
	position: relative;
	background-image: url('common/background/parallax-secondary.jpg') !important;
	background-position: right top;
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
}
article section.parallax-secondary::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.8);
}
article section.parallax-tertiary {
	background-image: url('common/background/parallax-tertiary.jpg') !important;
	background-position: right center;
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
}
article section.parallax-tertiary::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.8);
}
article section.access {
	padding: 20px !important;
}
article section.access .map {
	position: relative;
}
article section.access .map iframe {
	width: 100%;
	aspect-ratio: 16/5;
}
article section:nth-last-child(1) {
	background: #F1F1F1;
}
#page article section:nth-last-child(1),
#post article section:nth-last-child(1) {
	background: #FFF;
}
#page article section.bg-white {
	background-color: #FFF !important;
}
section#service h3.title span {
	vertical-align: middle;
	display: inline-block;
}
section#service h3.title span img.btn-img {
	width: 60px;
	height: auto;
}
article section#contact {
	padding: 3rem 0 3rem;
	color: #101010;
}
section .mv-element {
	margin: 0 auto 4rem;
	padding-top: 21.153%;
	position: relative;
	height: 0;
}
section .mv-element .container {
	margin:0;
	padding:0;
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
article section .container_innner {
	margin-bottom: 5rem;
	background-color: #FFF;
}
aside {
	padding: 0 0 2rem;
	margin: 0 0 1rem;
}
aside section {
	padding: 0;
}
footer {
	margin: 0 auto 0;
	padding: 3rem 0 0;
	position: relative;
	text-align: center;
	color: #FFF;
	background-color: var(--subcolor) !important;
}
.z-20 {
	z-index: 20;
}
.clearfix, .post_body {
	zoom: 1;
}
.clearfix:after, .post_body:after {
	height: 0;
	display: block;
	visibility: hidden;
	content: ".";
	clear: both;
}

/*-----------------------------------------------------
// contents
-----------------------------------------------------*/
.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;
	font-weight: 600;
}

/*-----------------------------------------------------
// top
-----------------------------------------------------*/
.card .flow-number {
	width: 80px;
	height: 80px;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: absolute;
	left: 20px;
	top: 10px;
	text-align: center;
	font-size: 4rem;
	font-weight: 900;
	color: var(--bgcolor);
	line-height: 1 !important;
	background-color: #FFF;
	border-radius: 50%;
}
.card .flow-number small {
	width: 100%;
	font-size: 1.7rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-align: center;
	color: var(--maincolor);
}
.contents--element__btn a.btn {
	color: #FFF !important;
	font-size: 2.5rem !important;
	font-weight: 700 !important;
	letter-spacing: .1rem !important;
}
.contents--element__btn a.btn small {
	font-size: .5em !important;
}

/*-----------------------------------------------------
// footer
-----------------------------------------------------*/
footer section {
	text-align: left;
}
footer a {
	color: #FFF !important;
	text-decoration: none !important;
}
footer a:hover {
	color: rgba(255, 255, 255, 0.7) !important;
	text-decoration: none !important;
}
footer a:visited {
	color: #FFF !important;
}
footer #copy {
	padding: 1.5rem .5rem !important;
}
#footer-banner h4 {
	margin-bottom: 1rem !important;
}
#footer-banner a {
	display: block;
}
#footer-banner a:hover {
	text-decoration: none !important;
	opacity: 0.8;
}
footer .footer-nav {
	margin: 0 0 2.5rem;
	padding: 0;
	font-size: .85em;
}
footer .footer-nav li {
	margin: 0 0 .5rem;
	text-align: left !important;
	font-weight: 500;
}
footer .footer-nav li a::before {
	margin-right: .35rem;
	font-family: bootstrap-icons;
	font-weight: 400;
	content: "\F285";
}
footer .footer-nav li ul {
	margin-top: .5rem;
	margin-left: 1em;
}
footer h4 {
	color: #FFF !important;
}
footer h4 small {
	font-size: 70% !important;
}
footer h5 {
	margin: 0 0 .5rem;
	font-weight: bold !important;
	letter-spacing: .1rem;
}
footer .title small {
	display: inline-block;
	font-size: 80%;
	vertical-align: middle;
}
footer h6 {
	font-size: 1.6rem !important;
	letter-spacing: 0 !important;
}
footer p {
	margin: 0 0 .5rem;
	font-size: .85em;
	text-align: left;
	letter-spacing: 0.5px;
}
footer .svg-icon {
	margin: 0 1rem 0;
	padding: 0;
	display: inline-block;
	width: 42px;
}
footer .footer-logo {
	margin: 0 auto 0;
	padding: 0;
	display: block;
	width: 82%;
}
footer .logo-svg:hover {
	text-decoration: none !important;
}
.copyright {
	margin: 0 !important;
	padding: 0;
	display: block;
	text-align: center;
	font-size: 80%;
	color: #FFF;
	font-size: 1.2rem !important;
	letter-spacing: 0 !important;
}

/* ------------------------------------
// slider
------------------------------------ */
header#mv {
	margin: 0 auto;
	padding: 2rem 5vw 2rem;
	position: relative;
	display: block;
	overflow: hidden;
	background: var(--bgcolor4);
	background: linear-gradient(0deg, var(--bgcolor4) 40%, rgba(255,255,255,1) 40%);
}
.main-visual {
	margin: 0 auto 0;
	padding-top: 0;
	height: 65vh;
	position: relative;
	background: url('common/mv/mv.jpg') no-repeat right center #FFF;
	background-size: cover;
	text-align: center;
	z-index: 1;
}
.main-visual::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.3);
}
.main-visual .visual-contents {
	margin: 0 !important;
	padding: 0 1rem !important;
	width: 65%;
	position: absolute;
	top: 50%;
	left: 1%;
	transform: translate(0%, -50%);
	overflow: hidden;
	z-index: 5;
	text-align: left;
}
.main-visual .visual-contents img.mv-svg {
	padding-left: 5%;
	width: 35%;
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
}
.main-visual .visual-contents h1 {
	margin-bottom: 2rem;
	text-align: left;
	font-size: 4rem;
	font-weight: 900 !important;
	line-height: 1.8 !important;
	letter-spacing: 0 !important;
	text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.5);
}
@media (min-width: 768px) {
	.main-visual .visual-contents h1 {
		font-size: clamp(24px, 2vw, 48px) !important;
	}
	.main-visual .visual-contents h1 .display-1 {
		font-size: clamp(40px, 4vw, 65px) !important;
	}
	.main-visual .visual-contents h1 .display-2 {
		font-size: clamp(32px, 3vw, 55px) !important;
	}
}
.main-visual .visual-contents h1 span {
	margin-right: 5px;
	/*display: inline-block;*/
	text-align: left;
}
.main-visual .visual-contents ul.check-list {
	margin: 0 0 2rem !important;
	font-weight: 700 !important;
	line-height: 1.6 !important;
}
.main-visual .visual-contents ul.check-list li {
	margin: 0 0 .75rem;
	letter-spacing: 0 !important;
}
.main-visual .visual-contents ul.check-list li:before {
	color: var(--bgcolor);
}
.main-visual .visual-contents .img-responsive {
	margin: 0 auto 0 0 !important;
	width: 100%;
	max-width: 340px !important;
	height: auto;
}
.main-visual .visual-contents_prof {
	margin: 0 !important;
	padding: 0 1rem !important;
	width: 35%;
	position: absolute;
	bottom: 0;
	right: 1%;
	overflow: hidden;
	z-index: 3;
	text-align: left;
}
.main-visual .visual-contents_prof .prof-pic {
	position: relative;
}
.main-visual .visual-contents_prof .prof-pic p {
	margin: 0 !important;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%,-50%);
	text-align: center;
	color: #FFF;
	font-weight: 500 !important;
	font-size: .9em;
	letter-spacing: 0 !important;
}
#page-head {
	margin: 0 auto;
	padding: 2rem 5vw 2rem;
	text-align: center;
	background: rgb(173, 9, 9);
	background: linear-gradient(0deg, rgba(173, 9, 9,1) 40%, rgba(255,255,255,1) 40%);
}
#page-head .page-head_inner {
	margin: 0 auto;
	padding-top: 26.041%;
	height: 0;
	position: relative;
	background: url('common/header/pagehead.jpg') no-repeat center center #FFF;
	background-size: cover;
	text-align: center;
}
#page-head .page-head_inner::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.45);
}
#page-head .page-head_inner h1 > small {
	display: block;
	text-align: center;
}
#page-head .container-fluid {
	margin: 0 !important;
	padding: 0 !important;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	overflow: hidden;
}
#container{
	position: relative;
	z-index:1;
}

/*-----------------------------------------------------
// pages
-----------------------------------------------------*/
#page-top {
	margin-top: 0;
}
.page-title {
	padding: 0 !important;
	border: none !important;
	background-color: transparent !important;
}
.tab-title {
	margin: 0 auto 2rem;
	padding: .75rem 1rem;
	width: 50%;
	display: inline-block;
	color: #FFF !important;
	background-color: #08287F;
	border-radius: 0 0 1rem 1rem;
}

/* ------------------------------------
// post
------------------------------------ */
#post h1, #post h2,#post h3,#post h4,#post h5,#post h6,#post p {
	text-align: left;
}
#post h2.post-title {
	margin: 0 0 1rem !important;
	font-size: 2.3rem !important;
	color: #FFF !important;
	letter-spacing: .1rem !important;
}
#post .card-body p {
	margin: 0 0 1rem !important;
	line-height: 1.65 !important;
}
#post .card-body p {
	margin: 0 0 1rem !important;
	line-height: 1.65 !important;
}
#post .feed .card-body h2 {
	font-size: 2.15rem !important;
}
#post .feed .card-body h3 {
	font-size: 1.95rem !important;
}
#post .feed .card-body h4 {
	font-size: 1.8rem !important;
}
#post .feed .card-body h5 {
	font-size: 1.7rem !important;
}
#post .feed .card-body a {
	color: #0870d8 !important;
}

/* ------------------------------------
// widget
------------------------------------ */
.widget-container {
	margin: 0 0 2rem;
}
.widget-container h4 {
	margin: 0 !important;
	color: #08287F !important;
	letter-spacing: 0 !important;
}
.widget-container ul {
	margin-bottom: 0 !important;
	padding: 1rem 1rem .5rem !important;
}
.widget-container li {
	margin: 0 0 .5rem;
	padding-bottom: .0;
	text-align: left;
	font-weight: normal;
	font-size: .95em;
	line-height: 1.5;
}
.widget-container li:last-child {
	border: none !important;
}
.widget-container li a {
	color: #333 !important;
}
.widget-container li::before {
	margin-right: .2rem;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f105";
	color: #3d63ae;
	opacity: 0.7;
}
.widget-container li .post-date {
	padding-left: 1.6rem;
	display: block;
	font-size: 1.2rem;
	text-align: left;
	letter-spacing: 0 !important;
	color: #555;
}
.widget-container ul li ul {
	padding-top: .5rem !important;
}

/* ------------------------------------
// feed
------------------------------------ */
.feed {
	margin-bottom: 5rem !important;
}
.feed li {
	margin: 0 0;
	padding: 1rem 1rem;
	text-align: left;
	border-bottom: 1px dotted rgba(0, 0, 0, 0.1);
}
/*
.feed li:nth-child(2n) {
	background-color: rgba(255, 255, 255, 0.9);
}*/
.feed .card .card-header {
	padding: .75rem 1.5rem .5rem !important;
	background-color: #354c6b !important;
}
.feed li a {
	padding: 1.5rem;
	text-align: left;
}
.feed li a:hover {
	text-decoration: none !important;
}
.feed .btn {
	color: #FFF !important;
	font-size: 1.4rem !important;
}
.feed .date {
	margin-right: 1rem;
	color: rgba(0, 0, 0, 0.6);
	letter-spacing: 0 !important;
}
.feed .cat-name {
	font-size: 1.2rem !important;
	font-weight: normal !important;
}
.feed .cat-name a {
	letter-spacing: 0 !important;
}
.feed .cat-name a::before {
	margin-left: .2rem;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f02b";
}
.feed-list {
	margin: 0 0 2rem
}
.feed-list li {
	margin: 0 !important;
	padding: 1.1rem 1rem;
	text-align: left;
}
.feed-list li a,
.feed-list li a:visited {
	color: #101010 !important;
}
.feed-list li div {
	text-align: left;
	vertical-align: top;
}
.feed-list li span.post-date {
	margin-right: .5rem;
	letter-spacing: -0.5px;
}
.feed-list li span.cat-name {
	margin-right: 1.5rem;
	display: inline-block;
	vertical-align: middle;
}
.feed-list li span.cat-name a {
	padding: .5rem;
	min-width: 7rem;
	display: block;
	letter-spacing: .1rem !important;
	color: #FFF !important;
	background: rgb(23,14,182);
	background: linear-gradient(145deg, rgba(23,14,182,1) 25%, rgba(46,167,224,1) 85%);
}
.feed-list li span.feed-date {
	display: inline-block;
	vertical-align: middle;
	font-weight: 700;
	letter-spacing: 0;
}
.feed img {
	margin: 0 auto 1rem 0 !important;
	display: block;
}

/*-----------------------------------------------------
// table
-----------------------------------------------------*/
table {
	table-layout: fixed;
	word-break: break-all;
	word-wrap: break-word;
}
table a {
	text-decoration: underline !important;
}
.table > :not(caption) > * > * {
	background-color: rgba(255, 255, 255, 0.5) !important;
}
.table-striped tbody tr {
	background-color: rgba(255, 255, 255, 0.75) !important;
}
.table-striped tbody tr:nth-of-type(odd) {
	background-color: rgba(189, 189, 189, 0.75) !important;
}
.table th {
	padding: .75rem 1rem !important;
	line-height: 1.6 !important;
	text-align: center !important;
	font-weight: 700;
	vertical-align: middle !important;
}
.table th.text-left {
	text-align: left !important;
}
.table td {
	padding: .75rem 1rem !important;
	line-height: 1.6 !important;
	text-align: left;
	vertical-align: middle !important;
}
.table td small {
	letter-spacing: 0 !important;
}
.table .text-normal {
	font-weight: bold !important;
}
.table thead th {
	padding: .75rem 1rem;
	color: #FFF;
	font-weight: normal;
	text-align: center;
	background-color: #303131 !important;
	border-bottom: 1px solid #CFCFCF !important;
}
.table thead td {
	padding: .75rem 1rem;
	color: #FFF;
	background-color: #303131 !important;
	border-bottom: 1px solid #CFCFCF !important;
}
.table-responsive tbody th {
	white-space: normal;
}
.table-striped th,
.table-striped td {
	border: none !important;
}
.table-bordered th, .table-bordered td {
	border: 1px solid #CFCFCF !important;
}
.table-bordered tbody th,
.table-bordered tbody td {
	background-color: rgba(255, 255, 255, 0.5) !important;
}
.table-sm {
	font-size: 90% !important;
}
table.tbl-list tbody tr td {
	width: 25%;
	text-align: center;
}
table.tbl {
	margin: 0 0 2rem;
	padding: 0;
	width: 100%;
	font-size: 1.5rem;
	border-collapse: collapse;
	border: none;
}
table.tbl tr {
	margin: 0;
	padding: 0;
	border: none;
}
table.tbl tbody tr:nth-of-type(odd) {
	padding: .5rem 1.5rem;
	width: 25%;
	line-height: 1.5;
	white-space: nowrap;
	border: none;
	background-color: rgb(170 237 255 / 30%) !important;
}
table.tbl td {
	margin: 0;
	padding: .5rem 1.5rem;
	text-align: left;
	line-height: 1.5;
	border: none;
}
table.tbl td small {
	font-size: 80% !important;
}
table.tbl, table.tbl th, table.tbl td {
	border: 1px solid #CCC;
}
input {
	padding: .5rem;
}
table .bg-gray {
	background-color: #EEE !important;
}

/*-----------------------------------------------------
// form
-----------------------------------------------------*/
.wp-form {
	margin: 0 0 1rem;
	width: 100%;
	font-size: 1.6rem;
}
.wp-form p {
	font-size: 1.5rem !important;
}
.wp-form label.control-label {
	padding: 1rem 1.5rem !important;
	color: var(--maincolor) !important;
	font-weight: 700 !important;
	justify-content: flex-end !important;
	background-color: transparent !important;
}
.wp-form label.control-label small {
	margin-left: .5rem;
	padding: .1rem .5rem;
	color: rgba(0, 0, 0, 0.7);
	font-size: 60% !important;
	font-weight: 500 !important;
	border: 1px solid rgba(0, 0, 0, 0.5);
	border-radius: 0;
}
.form-group small {
	display: block;
	text-align: left;
}
.form-button {
	text-align: center;
}
.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;
}
select {
	padding: .75rem 1rem !important;
	border: 1px solid rgba(0,0,0,.2) !important;
}
input#your-age {
	width: 5rem !important;
	display: inline-block;
}
input.date-calendar {
	margin-right: 5px;
	padding: .3rem 1rem !important;
	border-radius: .35rem;
}
select.time-calendar {
	margin-right: 5px;
	border-radius: .35rem;
}
select.wpcf7-select {
	border-radius: .35rem;
}
.wpcf7 input[name="your-age"] {
	width: 5rem !important;
	display: inline-block !important;
}
input[type="submit"] {
	margin: 0 2% 1rem;
	padding: 2rem 3rem;
	width: 30%;
	display: inline-block;
	position: relative;
	z-index: 0;
	outline: none;
	color: #FFF !important;
	font-weight: bold !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(--linkcolor);
	border-radius: .35rem;
	background-color: var(--linkcolor);
}
input[type="button"] {
	margin: 0 2% 1rem;
	padding: 2rem 3rem;
	width: 40%;
	display: inline-block;
	position: relative;
	z-index: 0;
	outline: none;
	color: #555 !important;
	font-weight: bold !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: .35rem;
	background-color: #CCC;
}
input[type="reset"] {
	margin: 0 2% 1rem;
	padding: 2rem 3rem;
	width: 40%;
	display: inline-block;
	position: relative;
	z-index: 0;
	outline: none;
	color: #555 !important;
	font-weight: bold !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: .35rem;
	background-color: #CCC;
}
.wpcf7-text,
.wpcf7-textarea {
	width: 100%;
}
div.wpcf7 input[type="file"] {
	margin-bottom: .5rem;
	font-size: 1.3rem !important;
	display: block;
	background-color: rgba(255, 255, 255, 0.3);
}
input.p-postal-code {
	width: auto !important;
}
.wpcf7-list-item-label {
	font-weight: 400 !important;
}
input.wpcf7c-elm-step1 {
	margin: 0 auto 1rem;
	padding: 2rem 3rem;
	width: 45%;
	display: block;
}
input.wpcf7c-elm-step2 {
	width: 45%;
}
span.wpcf7-list-item label {
	padding: .7rem !important;
	color: #101010;
	font-weight: 400 !important;
	background-color: transparent !important;
}
.acceptance-privacy label {
	color: #333;
}
.quiz-area label {
	margin-bottom: .25rem;
	padding: .2rem 0 !important;
	color: #141b24 !important;
	font-weight: 400 !important;
	background-color: transparent !important;
}
.wpcf7-not-valid-tip {
	color: #b70a0b;
	font-size: .8em;
	font-weight: normal;
	display: block;
	text-align: left;
}
.hisuu {
	margin-right: 3px;
	padding: 3px 5px;
	display: inline-block;
	color: #FFF;
	line-height: 1.2;
	font-weight: 500 !important;
	font-size: .95em;
	background-color: #b70a0b;
	border-radius: .35rem;
}
.req {
	margin-left: 5px;
	padding: 3px 5px;
	display: inline-block;
	color: #FFF;
	font-weight: 500 !important;
	font-size: .8em;
	background-color: #b70a0b;
	border-radius: .3rem;
}
.wp-form .privacy {
	margin: 0 auto 2rem;
	padding: .7rem .5rem .5rem 1rem;
	color: #505050;
	background-color: #FFF;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 1rem;
}
.wp-form .privacy .privacy-contents {
	width: 100%;
	height: 300px;
	overflow-y: scroll;
}
.wp-form .privacy h4 {
	font-size: 1.1em !important;
	color: #454545 !important;
}
.wp-form .privacy h5 {
	font-size: 1.1em !important;
	color: #454545 !important;
}
.wp-form .privacy h6 {
	font-size: .95em !important;
	color: #454545 !important;
}

/*-----------------------------------------------------
// pankuzu
-----------------------------------------------------*/
.breadcrumbs {
	margin: 1.5rem 0 0;
	text-align: left;
	font-size: 1.2rem;
	color: #FFF;
	letter-spacing: 0 !important;
}
.breadcrumbs .fas {
	margin-left: .25rem;
	margin-right: .25rem;
	color: #FFF;
}
.breadcrumbs a {
	color: #FFF !important;
}
.breadcrumbs span a:hover {
	color: #28a7e1 !important;
	text-decoration: none !important;
}
.breadcrumb-area {
	margin: 0 auto 2rem;
	font-size: 1.2rem;
	text-align: left;
	color: #FFF;
}
.breadcrumb-area span {
	margin-right: .25rem;
}
.breadcrumb-area span.current-item {
	color: #28a7e1;
}
@media (max-width:767.98px) {
	.breadcrumb-area {
		font-size: 1rem;
	}
}
/*-----------------------------------------------------
// google map
-----------------------------------------------------*/
#map {
	width: 100%;
	height: 520px;
	position: relative;
}
#top-map {
	width: 100%;
	height: 450px;
	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: 3rem;
	padding: 0 1rem;
	width: 100%;
	overflow: hidden;
	clear: both;
	list-style: none;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
}
.pager .page-prev {
	padding: 1rem 2.5rem !important;
	width: 100%;
}
.pager .page-prev .fas {
	margin-right: 2rem;
}
.pager .page-next {
	padding: 1rem 2.5rem !important;
	width: 100%;
}
.pager .page-next .fas {
	margin-left: 2rem;
}
.pager .page-none-arrow {
	text-align: center;
	color: #adb3db !important;
	background-color: transparent !important;
	border-radius: 0 !important;
}
.pager .page-prev-arrow:hover,
.pager .page-next-arrow:hover {
	color: #3d63ae !important;
}
.pager .page-prev:hover,
.pager .page-next:hover {
	color: #FFF !important;
	background-color: #3d63ae !important;
}
ul.page-numbers li {
	margin: 0 .25rem;
	display: inline-block;
}
.pager .pager-prev {
	margin: 0 2rem 1rem .5rem;
	display: inline-block;
	font-size: 1.4rem;
}
.pager .pager-next {
	margin: 0 .5rem 1rem 1rem;
	display: inline-block;
	font-size: 1.4rem;
}
.pager span {
	padding: .5rem 1rem;
}
.pager span.dots {
	padding: .5rem 1rem;
	text-align: center;
	color: #FFF !important;
	text-decoration: none !important;
	border: none;
	border-radius: .3rem;
	background: #F6B669;
}
.pager a {
	padding: .85rem 1.2rem;
}
.pager a:hover {
	text-decoration: none !important;
}
.pager .pager-prev a,
.pager .pager-next a {
	padding: .85rem 1.2rem;
	border-radius: 1rem
}
.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: #009AC3;
}
.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: #009AC3;
}


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

/* ------------------------------------
// @Media Queries
------------------------------------ */
@media (min-width: 1800px) {
	article#pages section {
		padding: 8rem 0;
	}
	img.img-responsive {
		width: 100%;
	}
}
@media (min-width: 768px) {
	.sp-br {
		display: none;
	}
}
@media (max-width: 1199.98px) {
	.main-visual .visual-contents h1 {
		font-size: 3.35rem;
	}
	.col-flex > p {
		margin-right: 1.5rem !important;
		margin-bottom: 0 !important;
		font-size: 1.35rem !important;
	}
	.icn-text {
		font-size: 2.4rem !important;
	}
	.header-nav .header-nav__inner p > small {
		font-size: .65em !important;
	}
	.header-nav .header-nav__inner a.btn {
		padding: 1rem 1.8rem !important;
		font-size: 1.5rem !important;
	}
	h1.title {
		font-size: 3.6rem !important;
	}
	.display-2 {
		font-size: 3.2rem !important;
	}
	.contents--element__btn {
		margin: 0 2%;
		width: 96%;
		position: absolute;
		bottom: -80px;
		border: 10px #FFF solid;
	}
	.contents--element__block h2.title span {
		font-size: .35em !important;
	}
	.contents--element__block h3.title {
		color: #FFF !important;
		font-size: 2.2rem;
	}
	.contents--element__btn a.btn {
		font-size: 2.2rem !important;
		letter-spacing: .1rem !important;
	}
	.contents--element__btn a.btn small {
		font-size: .5em !important;
	}
}
@media (max-width: 991.98px) {
	.main-visual .visual-contents h1 {
		font-size: 3.2rem;
	}
	.header-nav .header-nav__inner .site-description {
		margin-bottom: 0 !important;
		font-size: 1.3rem !important;
		text-align: center;
	}
	.navbar-dark .navbar-nav .nav-link {
		letter-spacing: .1rem !important;
	}
	article#pages section {
		padding: 5rem 0;
	}
	.header-nav .container-field {
		padding: 0 !important;
	}
	h1.title {
		margin: 2rem 0 5rem !important;
		line-height: 1.3;
		font-size: 3.4rem !important;
		letter-spacing: 0 !important;
	}
	.display-2 {
		font-size: 3rem !important;
	}
	.contents--element__btn {
		margin: 0 2%;
		width: 96%;
		position: absolute;
		bottom: -80px;
		border: 10px #FFF solid;
	}
	.contents--element__btn a.btn {
		font-size: 2rem !important;
		letter-spacing: .1rem !important;
	}
	.contents--element__btn a.btn small {
		font-size: .5em !important;
	}
}

/*--under 768px--*/
@media (max-width: 767.98px) {
	.header-nav .site-title {
		font-size: .85em !important;
		text-align: center !important;
	}
	.header-nav .header-nav__inner .container-fluid {
		padding: .5rem .25rem !important;
	}
	.header-nav .header-nav__inner .container-fluid #sp-nav {
		margin: 0;
		padding: 0;
		position: fixed;
		left: 0;
		bottom: 0;
		width: 100%;
		z-index: 999999;
		background-color: var(--subcolor);
	}
	.header-nav .header-nav__inner .container-fluid #sp-nav p {
		margin: 0 0 5px;
		padding: 5px;
		width: 100%;
		display: block;
		text-align: center;
		font-size: .85em !important;
		background-color: hsla(0, 0%, 0%, 0.25);
	}
	.header-nav .header-nav__inner .container-fluid #sp-nav .sp-menu {
		margin: 0 !important;
		padding: .5rem 0;
		width: 100%;
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: space-between;
	}
	.header-nav .header-nav__inner .container-fluid #sp-nav .sp-menu li {
		margin: 0;
		border-right: 1px solid rgba(255, 255, 255, 0.3);
	}
	.header-nav .header-nav__inner .container-fluid #sp-nav .sp-menu li:last-child {
		border-right: none;
	}
	.header-nav .header-nav__inner .container-fluid #sp-nav .sp-menu li a.icn-text {
		font-size: 2rem !important;
		letter-spacing: 0 !important;
	}
	.header-nav .header-nav__inner .container-fluid #sp-nav .sp-menu li img {
		margin: 0 auto .25rem;
		width: 25%;
		height: auto;
	}
	.header-nav .header-nav__inner .container-fluid #sp-nav .sp-menu li span {
		display: block !important;
		text-align: center;
		font-size: .7em !important;
		font-weight: 500 !important;
	}
	.header-nav .header-nav__inner a.btn {
		letter-spacing: 0 !important;
		font-weight: 700;
		font-size: 1.9rem !important;
	}
	.header-nav .header-nav__inner .sp-contact {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 99999;
		box-shadow: 0px -3px 2px -2px rgba(0,0,0,0.1);
	}
	.header-nav .container {
		padding: 0 !important;
	}
	.navbar {
		padding: 1rem;
	}
	.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: '- ';
	}
	header#mv {
		margin-top: 0;
		padding: 0 0 2rem;
	}
	header#mv .main-visual {
		margin: 0 auto 0;
		height: 50vh;
		position: relative;
		background: url('common/mv/mv_sp.jpg') no-repeat right bottom #FFF;
		background-size: cover;
		text-align: center;
		z-index: 1;
	}
	header#mv .main-visual::before {
		background-color: rgba(255, 255, 255, 0.5);
	}
	.main-visual .visual-contents {
		margin: 0 !important;
		padding: 0 1rem !important;
		width: 100%;
		overflow: hidden;
		z-index: 5;
		text-align: left;
	}
	.main-visual .visual-contents h1 {
		width: 100%;
		font-size: 2rem !important;
	}
	.main-visual .visual-contents h1 .display-1 {
		font-size: 3.2rem !important;
	}
	.main-visual .visual-contents h1 .mb-5 {
		margin-bottom: 1.8rem !important;
	}
	.main-visual .visual-contents h1 .display-2 {
		font-size: 2.5rem !important;
	}
	.main-visual .visual-contents_prof {
		margin: 0 !important;
		padding: 0 1rem !important;
		width: 45%;
		position: relative;
		bottom: 0;
		right: 0;
		overflow: hidden;
		z-index: 3;
		text-align: left;
	}
	#page-head {
		margin-top: 0;
		padding: 2rem 0 2rem;
	}
	#page-head .page-head_inner {
		margin-top: 100px;
		padding-top: 52.6315%;
		background: url('common/header/pagehead_sp.jpg') no-repeat center center #FFF;
		background-size: contain !important;
	}
	body.category-blog #page-head .page-head_inner,
	body.single #page-head .page-head_inner {
		margin-top: 100px;
		padding-top: 52.6315%;
		background: url('common/header/pagehead-blog_sp.jpg') no-repeat center center #FFF;
		background-size: contain !important;
	}
	article section,
	section {
		padding: 3rem 0 2.5rem;
		background: #FFF;
	}
	section.section01__element {
		padding: 5rem 0 4rem !important;
	}
	section.section01__element:after {
		height: 300px;
	}
	article#pages section {
		padding: 2.5rem 0 1rem;
	}
	article#pages section {
		min-height: 400px;
	}
	article section.parallax-primary {
		position: relative;
		background-image: url(common/background/parallax-primary_sp.jpg) !important;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	article section.parallax-secondary {
		position: relative;
		background-image: url(common/background/parallax-secondary_sp.jpg) !important;
		background-position: right top;
		background-repeat: no-repeat;
		background-size: cover;
	}
	article section.parallax-tertiary {
		position: relative;
		background-image: url(common/background/parallax-tertiary_sp.jpg) !important;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	article section.access {
		padding: 10px !important;
	}
	article section.access .map iframe {
		width: 100%;
		aspect-ratio: 4 / 3;
	}
	footer {
		padding-bottom: 11.5rem;
	}
	footer section {
		margin-bottom: 1rem !important;
		padding-bottom: 1rem !important;
		overflow-x: hidden;
		background-color: transparent !important;
	}
	footer #copy {
		margin-bottom: 0 !important;
		padding: 1rem 1rem !important;
	}
	.copyright {
		font-size: 1.1rem !important;
		text-align: center !important;
	}
	footer .footer-nav {
		margin-bottom: 1rem;
		font-size: .85em;
	}
	footer .footer-nav li {
		margin: 0 0 1rem;
		display: block;
		text-align: left;
		letter-spacing: 0.5px;
	}
	footer .footer-nav li a::before {
		margin-right: 0 !important;
	}
	footer .footer-nav li ul {
		margin-left: .6em;
	}
	footer .footer-logo {
		margin: 0 auto 1rem;
		padding: 0;
		display: block;
		width: 65%;
	}
	h1.title {
		font-size: 3rem !important;
		text-align: center !important;
	}
	h1.title span {
		margin-top: .3rem;
		display: block;
		text-align: center;
		font-size: 1.1rem;
		letter-spacing: .3rem;
	}
	h2 {
		margin: 1rem 0 2rem !important;
		letter-spacing: .1rem !important;
	}
	h2.title {
		font-size: 3rem !important;
		letter-spacing: .1rem !important;
	}
	main#page .contents--element__block h2.title {
		margin-bottom: 3rem !important;
		font-size: 3.5rem !important;
	}
	main#page .contents--element__block h2.title::before {
		top: -4rem !important;
	}
	footer p {
		font-size: .85em !important;
	}
	.post-date {
		margin: 0 0 .25rem !important;
		display: block;
		text-align: left;
		font-size: 1.3rem !important;
		font-weight: bold !important;
	}
	.card-title {
		font-size: 1.9rem !important;
	}
	.img-50 {
		margin: 0 auto .5rem !important;
		width: 50% !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.img-border,
	img.img-border2,
	img.img-border3 {
		margin-bottom: 3rem !important;
	}
	summary {
		padding: 1rem 1rem;
	}
	summary.h6 {
		line-height: 1.5 !important;
		font-size: 1.4rem !important;
	}
	details .details-inner {
		padding: 1rem .5rem;
	}
	details .details-inner p {
		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;
	}
	footer .title {
		margin: 0 0 .5rem !important;
		padding: 0 !important;
		font-size: 1.6rem !important;
		letter-spacing: 0 !important;
	}
	.button-link {
		font-size: 1.5rem !important;
	}
	.label-title {
		display: none !important;
	}
	.scrolldown1 {
		bottom: 7px;
	}
	.scrolldown1 span {
		font-size: 1.3rem;
	}
	.arrow_box-left:after,
	.arrow_box-left-white:after {
		border-top-width: 6px;
		border-bottom-width: 6px;
		border-left-width: 20px;
		border-right-width: 20px;
		margin-top: -6px;
		right: 100%;
		top: 50%;
	}
	.arrow_box-right:after,
	.arrow_box-right-white:after {
		border-top-width: 6px;
		border-bottom-width: 6px;
		border-left-width: 20px;
		border-right-width: 20px;
		margin-top: -6px;
		left: 100%;
		top: 50%;
	}
	.arrow_box-bottom:after {
		border-top-width: 20px;
		border-bottom-width: 20px;
		border-left-width: 8px;
		border-right-width: 8px;
		margin-left: -8px;
		top: 100%;
		left: 50%;
	}
	.arrow_box-left, .arrow_box-left-white, .arrow_box-right, .arrow_box-right-white, .arrow_box-bottom {
		margin-bottom: .5rem !important;
		padding: 7px !important;
	}
	.img-circle {
		margin: 0 auto;
		width: 75% !important;
		height: auto;
		border-radius: 50%;
	}
	.hidden-pc {
		display: block !important;
	}
	.hidden-sp {
		display: none !important;
	}
	.wp-form label.control-label {
		padding: 1rem 1rem 0 .7rem !important;
		justify-content: flex-start !important;
	}
	input[type="submit"],
	input[type="button"],
	input[type="reset"] {
		margin: 0 auto 1.5rem;
		width: 90%;
		display: block;
	}
}
/* overwrite style for table-responsive
-------------------------------------------------- */
.table-responsive {
	margin-bottom: 1rem;
}
.table-responsive > .table {
	width: 100% !important;
	table-layout: auto !important;
	word-wrap: break-word !important;
}
@media (max-width: 767.98px) {
	.table-responsive > .table {
		table-layout: auto !important;
	}
	.table-responsive > .table > thead > tr > th,
	.table-responsive > .table > tbody > tr > th,
	.table-responsive > .table > tfoot > tr > th,
	.table-responsive > .table > thead > tr > td,
	.table-responsive > .table > tbody > tr > td,
	.table-responsive > .table > tfoot > tr > td {
		font-size: 1.4rem !important;
		white-space: nowrap;
	}
	.table-responsive tbody th {
		white-space: nowrap;
	}
	.table th, .table td {
		padding: .7rem 1rem !important;
		letter-spacing: 0 !important;
		vertical-align: middle !important;
	}
	.table th span {
		display: block;
		text-align: center;
		letter-spacing: 0 !important;
	}
	table.tbl th {
		padding: .5rem 1rem .2rem !important;
		text-align: left !important;
		width: 100% !important;
		display: block !important;
		white-space: inherit !important;
	}
	table.tbl td {
		padding: .5rem 1rem !important;
		text-align: left !important;
		width: 100% !important;
		display: block !important;
		white-space: inherit !important;
	}
	.tbl tbody tr {
		background-color: rgb(255, 255, 255) !important;
	}
}
/* end
-------------------------------------------------- */