body,div,dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,code,form,fieldset,legend,
p,blockquote,table,th,td {margin: 0; padding: 0;}

html,body { font:18px/1 "メイリオ","Meiryo","ＭＳ Ｐゴシック","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",sans-serif; overscroll-behavior: none; }

* html body {font-size: small;}
*:first-child+html body {font-size: small;}
main { display: block; }

img {border: 0; vertical-align: top;}

h1,h2,h3,h4,h5,h6 {clear: both; font-size: 100%; font-weight: normal;}

ul,dl,ol {text-indent: 0;}
li {list-style: none;}

address,caption,cite,code,dfn,em,th,var {font-style: normal; font-weight: normal;}

sup {vertical-align: text-top;}
sub {vertical-align: text-bottom;}

input,textarea,select {font-family: inherit; font-size: inherit; font-weight:inherit;}
* html input,* html textarea,* html select {font-size: 100%;}
*:first-child+html+input,*:first-child html+textarea,*:first-child+html select {font-size: 100%;}

table {border-collapse: collapse; border-spacing: 0; font-size: inherit;}
caption {text-align: left;}

pre,code,kbd,samp,tt {font-family: monospace;}
* html pre,* html code,* html kbd,* html samp,* html tt {font-size: 100%; line-height: 100%;}
*:first-child+html pre,*:first-child html+code,*:first-child html+kbd,*:first-child+html+samp,*:first-child+html tt {font-size: 108%; line-height: 100%;}

input,select,textarea {font-size: 100%; font-family: Verdana, Helvetica, sans-serif;}

.mg00 { margin-top: 0rem !important; margin-bottom: 0rem !important; }
.mg10 { margin-top: 1rem !important; margin-bottom: 0rem !important; }
.mg20 { margin-top: 2rem !important; margin-bottom: 0rem !important; }
.mg30 { margin-top: 3rem !important; margin-bottom: 0rem !important; }
.mg40 { margin-top: 4rem !important; margin-bottom: 0rem !important; }
.mg50 { margin-top: 5rem !important; margin-bottom: 0rem !important; }
.mg60 { margin-top: 6rem !important; margin-bottom: 0rem !important; }
.mg70 { margin-top: 7rem !important; margin-bottom: 0rem !important; }
.mg80 { margin-top: 8rem !important; margin-bottom: 0rem !important; }
.mg01 { margin-top: 0rem !important; margin-bottom: 1rem !important; }
.mg11 { margin-top: 1rem !important; margin-bottom: 1rem !important; }
.mg21 { margin-top: 2rem !important; margin-bottom: 1rem !important; }
.mg31 { margin-top: 3rem !important; margin-bottom: 1rem !important; }
.mg41 { margin-top: 4rem !important; margin-bottom: 1rem !important; }
.mg51 { margin-top: 5rem !important; margin-bottom: 1rem !important; }
.mg61 { margin-top: 6rem !important; margin-bottom: 1rem !important; }
.mg71 { margin-top: 7rem !important; margin-bottom: 1rem !important; }
.mg81 { margin-top: 8rem !important; margin-bottom: 1rem !important; }
.mg02 { margin-top: 0rem !important; margin-bottom: 2rem !important; }
.mg12 { margin-top: 1rem !important; margin-bottom: 2rem !important; }
.mg22 { margin-top: 2rem !important; margin-bottom: 2rem !important; }
.mg32 { margin-top: 3rem !important; margin-bottom: 2rem !important; }
.mg42 { margin-top: 4rem !important; margin-bottom: 2rem !important; }
.mg52 { margin-top: 5rem !important; margin-bottom: 2rem !important; }
.mg62 { margin-top: 6rem !important; margin-bottom: 2rem !important; }
.mg72 { margin-top: 7rem !important; margin-bottom: 2rem !important; }
.mg82 { margin-top: 8rem !important; margin-bottom: 2rem !important; }
.mg03 { margin-top: 0rem !important; margin-bottom: 3rem !important; }
.mg13 { margin-top: 1rem !important; margin-bottom: 3rem !important; }
.mg23 { margin-top: 2rem !important; margin-bottom: 3rem !important; }
.mg33 { margin-top: 3rem !important; margin-bottom: 3rem !important; }
.mg43 { margin-top: 4rem !important; margin-bottom: 3rem !important; }
.mg53 { margin-top: 5rem !important; margin-bottom: 3rem !important; }
.mg63 { margin-top: 6rem !important; margin-bottom: 3rem !important; }
.mg73 { margin-top: 7rem !important; margin-bottom: 3rem !important; }
.mg83 { margin-top: 8rem !important; margin-bottom: 3rem !important; }
.mg04 { margin-top: 0rem !important; margin-bottom: 4rem !important; }
.mg14 { margin-top: 1rem !important; margin-bottom: 4rem !important; }
.mg24 { margin-top: 2rem !important; margin-bottom: 4rem !important; }
.mg34 { margin-top: 3rem !important; margin-bottom: 4rem !important; }
.mg44 { margin-top: 4rem !important; margin-bottom: 4rem !important; }
.mg54 { margin-top: 5rem !important; margin-bottom: 4rem !important; }
.mg64 { margin-top: 6rem !important; margin-bottom: 4rem !important; }
.mg74 { margin-top: 7rem !important; margin-bottom: 4rem !important; }
.mg84 { margin-top: 8rem !important; margin-bottom: 4rem !important; }
.mg05 { margin-top: 0rem !important; margin-bottom: 5rem !important; }
.mg15 { margin-top: 1rem !important; margin-bottom: 5rem !important; }
.mg25 { margin-top: 2rem !important; margin-bottom: 5rem !important; }
.mg35 { margin-top: 3rem !important; margin-bottom: 5rem !important; }
.mg45 { margin-top: 4rem !important; margin-bottom: 5rem !important; }
.mg55 { margin-top: 5rem !important; margin-bottom: 5rem !important; }
.mg65 { margin-top: 6rem !important; margin-bottom: 5rem !important; }
.mg75 { margin-top: 7rem !important; margin-bottom: 5rem !important; }
.mg85 { margin-top: 8rem !important; margin-bottom: 5rem !important; }
.mg06 { margin-top: 0rem !important; margin-bottom: 6rem !important; }
.mg16 { margin-top: 1rem !important; margin-bottom: 6rem !important; }
.mg26 { margin-top: 2rem !important; margin-bottom: 6rem !important; }
.mg36 { margin-top: 3rem !important; margin-bottom: 6rem !important; }
.mg46 { margin-top: 4rem !important; margin-bottom: 6rem !important; }
.mg56 { margin-top: 5rem !important; margin-bottom: 6rem !important; }
.mg66 { margin-top: 6rem !important; margin-bottom: 6rem !important; }
.mg76 { margin-top: 7rem !important; margin-bottom: 6rem !important; }
.mg86 { margin-top: 8rem !important; margin-bottom: 6rem !important; }
.mg07 { margin-top: 0rem !important; margin-bottom: 7rem !important; }
.mg17 { margin-top: 1rem !important; margin-bottom: 7rem !important; }
.mg27 { margin-top: 2rem !important; margin-bottom: 7rem !important; }
.mg37 { margin-top: 3rem !important; margin-bottom: 7rem !important; }
.mg47 { margin-top: 4rem !important; margin-bottom: 7rem !important; }
.mg57 { margin-top: 5rem !important; margin-bottom: 7rem !important; }
.mg67 { margin-top: 6rem !important; margin-bottom: 7rem !important; }
.mg77 { margin-top: 7rem !important; margin-bottom: 7rem !important; }
.mg87 { margin-top: 8rem !important; margin-bottom: 7rem !important; }
.mg08 { margin-top: 0rem !important; margin-bottom: 8rem !important; }
.mg18 { margin-top: 1rem !important; margin-bottom: 8rem !important; }
.mg28 { margin-top: 2rem !important; margin-bottom: 8rem !important; }
.mg38 { margin-top: 3rem !important; margin-bottom: 8rem !important; }
.mg48 { margin-top: 4rem !important; margin-bottom: 8rem !important; }
.mg58 { margin-top: 5rem !important; margin-bottom: 8rem !important; }
.mg68 { margin-top: 6rem !important; margin-bottom: 8rem !important; }
.mg78 { margin-top: 7rem !important; margin-bottom: 8rem !important; }
.mg88 { margin-top: 8rem !important; margin-bottom: 8rem !important; }
.mg0t { margin-top: 0rem !important; }
.mg1t { margin-top: 1rem !important; }
.mg2t { margin-top: 2rem !important; }
.mg3t { margin-top: 3rem !important; }
.mg4t { margin-top: 4rem !important; }
.mg5t { margin-top: 5rem !important; }
.mg6t { margin-top: 6rem !important; }
.mg7t { margin-top: 7rem !important; }
.mg8t { margin-top: 8rem !important; }
.mgt0 { margin-bottom: 0rem !important; }
.mgt1 { margin-bottom: 1rem !important; }
.mgt2 { margin-bottom: 2rem !important; }
.mgt3 { margin-bottom: 3rem !important; }
.mgt4 { margin-bottom: 4rem !important; }
.mgt5 { margin-bottom: 5rem !important; }
.mgt6 { margin-bottom: 6rem !important; }
.mgt7 { margin-bottom: 7rem !important; }
.mgt8 { margin-bottom: 8rem !important; }

.t_left { text-align: left !important; } .t_center { text-align: center !important; } .t_right { text-align: right !important; }.th_flex { display: flex; justify-content: flex-start; align-items: center; }.th_flex > * { flex: 1; width: 50%; }

.pc { display: none; }
.tb { display: none; }
.sp { display: none; }
.ssp { display: none; }

.inb { display: inline-block; }

@media(max-width:620px){.ssp { display: block !important; } }
@media(max-width:767px){.sp { display: block !important; } br.sp-br{ display: block; } img { max-width: 100%; } input { max-width: 100%; border-radius: 0px; } iframe { max-width: 100%; } }
@media(min-width:768px){.tb { display: block; } }
@media(min-width:1080px){.pc { display: block !important; } .tb { display: none; } }

.th_flex { display: block; }
.th_flex > * { width: auto; }
.bigger_link, .trigger, .click { cursor: pointer; }

.fs95 { font-size: 95%; }.fs90 { font-size: 90%; }.fs85 { font-size: 85%; }.fs80 { font-size: 80%; }.fs75 { font-size: 75%; }.fs70 { font-size: 70%; }.fs65 { font-size: 65%; }.fs60 { font-size: 60%; }.fs55 { font-size: 55%; }.fs50 { font-size: 50%; }.fs45 { font-size: 45%; }.fs40 { font-size: 40%; }.fs35 { font-size: 35%; }.fs30 { font-size: 30%; }.fs25 { font-size: 25%; }
section::before, article::before, aside::before, .clearfix::before,
section::after, article::after, aside::after, .clearfix::after {
	content: "";
	display: block;
}
section::after, article::after, aside::after, .clearfix::after { clear: both; }
@charset "utf-8";
* {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
			box-sizing: border-box;
}
.material-symbols-outlined { font-variation-settings:'FILL' 0,'wght' 200,'GRAD' 0,'opsz' 24; vertical-align: middle; }

/* ******************************************* */
/*		  total
/* ******************************************* */
.fitting {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
.loading {
	position: fixed;
	width: 100%;
	height: 100%;
	background: var(--base-color);
	top: 0px; left: 0px;
	z-index: 99999;
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 1;
	img { max-width: 30%; }
}
@media(max-width: 767px) {
	.loading img { max-width: 80% !important; }
	.loading img[src*="svg"] { min-width: 280px; }
}
.preview_invisible { opacity: 0.3; }
.inbackground { background-size: cover; background-position: 50%; }

html, body { font-size: var(--pc-font-size); line-height: var(--line-height); font-weight: var(--normal); }
body {
	font-family: var(--google-fonts);
	color: var(--text-color);
	word-wrap: break-word;
	overflow-y: scroll;
	counter-reset: h2count h3count h4count h5count h6count;
	position: relative;
	font-weight: var(--normal);
}
#container {
	min-height: 100vh;
	margin: 0 auto;
	background: var(--base-color);
}
.invisible { display: none !important; }

@media(max-width: 767px){
	html, body { font-size: var(--sp-font-size); -webkit-text-size-adjust: 100%; }
}

/* ******************************************* */
/*		  a link setting
/* ******************************************* */
a { color: var(--main-color); text-decoration: none; cursor: pointer; outline: none; }
a:hover, a:focus, a:active { color: currentColor; text-decoration: none; color: var(--main-color); }
a img { border: 0; }
img { max-width: 100%; }
a [href^="tel:"] { cursor: default; }

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*		  iframe
/* ******************************************* */
.youtube_wrap {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	background: rgba( 0, 0, 0, 0.05 );
}
.youtube_wrap iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
	box-shadow: 2px 2px 5px #999;
}

.fuwafuwa { display: block; animation: fuwafuwa 3s infinite ease-in-out alternate; }
.pukapuka { display: block; animation: pukapuka 4s infinite ease-in-out alternate; }
@keyframes fuwafuwa {
	0% {transform: translate( 0, -5px ); }
	50% {transform: translate( 0, 5px ); }
	100% {transform: translate( 0, -5px ); }
}
@keyframes pukapuka {
	0% {transform: scale( 1.0 ); }
	50% {transform: scale( 1.05 ); }
	100% {transform: scale( 1.0 ); }
}

.sitemap {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.sitemap ul { margin: 0 auto 1rem; font-size: 1.0rem; }
.sitemap ul li { padding: 0.25rem 1rem 0.25rem; }
.sitemap ul li:nth-of-type(1) { font-weight: var(--bold); }
.sitemap ul li:nth-of-type(n+2) a::before { font-size: 0.6rem; content: '▶'; margin-right: 0.5rem; position: relative; top: -0.15rem; opacity: 0.4; }
.sitemap ul li a.level2 { padding-left: 0.5rem; }
.sitemap ul li a.level3 { padding-left: 1.4rem; }
.sitemap ul li a.level4 { padding-left: 2.3rem; }

.popup_message {
	position: fixed;
	top: 50%; left: 50%;
	width: 20em; height: 8em;
	margin-top: -6em; margin-left: -10em;
	padding: 1rem; opacity: 0.95;
	border: 3px solid var(--main-color);
	background: var(--base-color);
	border-radius: 8px; z-index: 9999;
	text-align: center;
	display: flex; justify-content: center; align-items: center;
	pointer-events: none;
}

.scroller { display: block; opacity: 0; transition: 1.0s; position: relative; top: 100px; }
.scroller.scroll { opacity: 1; top: 0; }
.zoomIn { display: block; opacity: 0; transform: scale( 0.8 ); transition: 0.8s; position: relative; }
.zoomIn.scroll { opacity: 1; transform: scale( 1.0 ); }
.sliderIn { display: block; position: relative; transition: 0.8s; transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1); clip-path: polygon( 0 0, 0 0, 0 100%, 0 100% ); }
.sliderIn.scroll { clip-path: polygon( 0 0, 100% 0, 100% 100%, 0 100% ); }

.fade {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--base-color);
	z-index: 99998;
	opacity: 1;
	display: block;
}