@charset "utf-8";
/*

**-- COM CSS
*/

/*-- 基本設定 -----------------------------------------------*/

*,
*:before,
*:after {
	-webkit-print-color-adjust:exact;
	-webkit-text-size-adjust:none;
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	font-size:inherit;
	background-repeat:no-repeat;
	background-position:center center;
}
html, body, div, p, table, iframe, ul, li, img, h1, h2, h3, h4, h5, h6, header, footer {
	margin:0;
	padding:0;
}
h1, h2, h3, h4, h5, h6 {
	display:block;
	font-size:inherit;
	font-weight:normal;
	font-style:normal;
}

:root {
	--color1:#005baa;
	--color2:#444c9c;
	--vwp:1008px;
	--esr:env(safe-area-inset-right);
	--esl:env(safe-area-inset-left);
	--opp:1;
	--bri:1;
	#--opp:.1;
	#--bri:2;
}
::-webkit-scrollbar {
	width:7px;
	height:7px;
}
::-webkit-scrollbar-thumb {
	background-color:var(--color1);
	border-radius:3px;
}
::-webkit-scrollbar-track {
	background-color:#fff;
	border-radius:3.5px;
}
::-webkit-scrollbar-corner {
	display:none;
}

:where(input, textarea, select, button) {
	font-size:inherit;
	font-family:inherit;
	-webkit-appearance:none;
	margin:0;
	#line-height:1.3;
	border-width:1px;
	border-style:solid;
	border-radius:2px;
	padding:0 6px;
	vertical-align:bottom;
}
:where(input[type='text'],
input[type='email'],
input[type='zip'],
input[type='tel'],
input[type='password'],
input[type='file'],
input[type='date'],
textarea, select, button) {
	width:100%;
	line-height:calc(1em + 6px);
}
input[type='dfile'] {
	display:none;
}
:where(button,
input[type='submit'],
input[type='button']) {
	min-width:2em;
	padding:6px 10px;
	padding:0 6px;
}
:where(button:not(:disabled),
input[type='submit']:not(:disabled),
input[type='button']:not(:disabled)) {
	cursor:pointer;
}
:where(button:disabled,
input[type='submit']:disabled,
input[type='button']:disabled) {
	pointer-events:none;
	filter:brightness(2) contrast(.4) blur(1px);
}
input::placeholder {
	color:rgba(0,0,0,.3);
	font-weight:bolder;
}
select + .selecttri {
	position:relative;
	display:inline-block;
	vertical-align:bottom;
	pointer-events:none;
	width:0;
	border:none;
}
select {
	display:inline-block;
	#padding:6px 2px;
}
select + .selecttri:before {
	position:absolute;
	bottom:0;
	right:0;
	content:'▼';
	#line-height:1.3;
	line-height:calc(1em + 6px);
	display:block;
	padding:1px 6px;
	#padding:7px 3px;
}
textarea {
	resize:none;
}

body {
	font-size:3.5vw;
	text-align:left;
	vertical-align:top;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-weight:500;
	--headh:min(14vw, 14vh);
}
@media screen and (min-width:700px) {
	body {
		font-size:14px;
		--headh:min(14vw, 14vh);
	}
}

.soluList {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
	place-items:center;
	padding-top:.5em;
}
.soluList .item {
	display:block;
	width:100%;
}
.soluList a {
	display:flex;
	justify-content:left;
	margin-bottom:.5em;
	background-color:var(--color2);
	text-decoration:none;
}
.soluList .ico {
	display:block;
}
.soluList .ico svg {
	display:block;
	height:5.5em;
	width:5.5em;
	fill:#ffffff66;
}
.soluList .labl {
	display:block;
	color:#fff;
	padding:1em;
	#width:100%;
}
@media screen and (min-width:700px) {
	.soluList li {
		width:calc((100% - 1em) / 2);
	}
}

.simulor {
	position:fixed;
	display:flex;
	justify-content:center;
	align-items:center;
	inset:0;
	overflow:hidden;
	z-index:9;
}
.simulor .wsd {
	position:absolute;
	display:block;
	inset:0;
	background-color:#00000088;
	transition-duration:.5s;
	transition-property:all;
	transition-timing-function:ease;
}
.simulor .wsd:hover {
	background-color:#00000088;
}
.simulor[pre] .wsd {
	background-color:#ffffff00;
}
.simulor .ins {
	position:relative;
	display:block;
	width:calc(100% - 3em);
	max-width:800px;
	max-height:calc(100% - 3em);
	overflow:auto;
	transition-duration:.3s;
	transition-property:all;
	transition-timing-function:ease;
}
.simulor[pre] .ins,
.simulor .ins:empty {
	opacity:0;
}
.simulor :where(h2, .h2) {
	color:#fff;
	padding:.5em 2em;
	font-size:130%;
}
.simulor .issueList h2 {
	background-color:var(--color1);
}
.simulor .fectList h2 {
	background-color:var(--color2);
}
.simulor .fixrList .h2 {
	background-color:#ee5500;
}
.simulor .fixrList table {
	width:100%;
	border-spacing:0;

}
.payments,
.payments .pitem {
	display:block;
}
.payments th[colspan]{
	background-color:var(--color2);
	color:#fff;
}
:where(.simulor .fixrList, .payments .pitem) table th {
	padding:1em;
}
:where(.simulor .fixrList, .payments .pitem) table td {
	padding:1em .1em;
	text-align:right;
}
:where(.simulor .fixrList, .payments .pitem) table td:after {
	content:'円';
	display:inline-block;
	text-align:left;
	width:2em;
}
:where(.simulor .fixrList, .payments .pitem) table td.kara:after {
	content:'円〜';
}
:where(.simulor .fixrList, .payments .pitem) .notice {
	font-size:80%;
	padding:0 calc(1em / .8) calc(1em / .8);
}
:where(.simulor .fixrList, .payments .pitem) .notice:before {
	content:'※';
}
:where(.simulor .fixrList, .payments .pitem) .words {
	padding:1em;
}
.simulor .fixrList .words p:not(:last-child) {
	margin-bottom:.6em;
}

.simulor .wrp {
	width:calc(100% - 2em);
	margin:auto;
	padding-bottom:min(10vh, 10vw);
}
.simulor .xl {
	counter-reset:li;
}
.simulor .wnd {
	font-size:125%;
}
.simulor .xl,
.simulor .wnd {
	display:block;
	padding:0;
	background-image:linear-gradient(#eee, #fff 10em);
	border-radius:2em;
	overflow:hidden;
	box-shadow:0 .5em .6em #00000088;
}
.simulor :where(.xl, .wnd):not(:empty) {
	margin-top:1em;
}
:where(.soluList, .simulor) .wnd ul {
	display:block;
	padding:.5em 0;
}
:where(.soluList, .simulor) .wnd > ul {
	padding:2em;
}
:where(.soluList, .simulor) .wnd li {
	display:block;
	text-indent:-1em;
	padding-left:1em;
}
:where(.soluList, .simulor) .wnd ul > li:before {
	content:'●';
}
:where(.soluList, .simulor) .wnd ul ul > li:before {
	content:'■';
}
.simulor .xl > li {
	position:relative;
	overflow:hidden;
	display:block;
	font-size:120%;
	line-height:1.3;
}
.simulor .xl li:not(:last-of-list) {
	margin:0 0 .5em;
}
.simulor .xl .lir {
	display:flex;
	justify-content:left;
	padding:.5em 1em;
	inset:0;
	transition-duration:1s;
	transition-property:all;
	transition-timing-function:ease;
}
.simulor .xl .lir[pre] {
	transform:scale(.8);
	opacity:0;
}
.simulor .probList {
	display:flex;
	flex-wrap:wrap;
	background-image:linear-gradient(#000, #000000aa 10em);
	box-shadow:none;
}
.simulor .probList li {
	display:block;
	font-size:80%;
	width:50%;
	padding:1em;
}
.simulor .probList a {
	display:block;
	text-decoration:none;
	transition-duration:1s;
	transition-property:all;
	transition-timing-function:ease;
	filter:drop-shadow(0 0 1em #000);
}
.simulor .probList .item {
	color:#ffffffff;
	font-weight:bold;
	text-align:center;
	text-shadow:0 0 .5em #000;
	transition-duration:1s;
	transition-property:all;
	transition-timing-function:ease;
}
.simulor .probList use {
	fill:#ffffff99;
	transition-duration:1s;
	transition-property:all;
	transition-timing-function:ease;
}
.simulor .probList li:hover a {
	filter:drop-shadow(0 0 .5em #0ff) drop-shadow(0 0 1em #000);
}
.simulor .probList li:hover use {
	fill:#ffffffff;
}
@media screen and (min-width:720px) {
	.simulor .probList li {
		width:25%;
	}
}

.simulor :where(.fectList, .issueList) .lir {
	cursor:pointer;
}
.simulor .issueList .lir:hover {
	background-color:#ff000055;
}
.simulor .fectList .sitem[class^='sitem '] .lir:hover .solit:before {
	background-color:#ff000055;
	right:0;
}

.simulor ul.xl li {
	padding-left:1.5em;
}
.simulor ul.xl li:before {
	display:inline-block;
	content:'●';
	margin-left:-1.5em;
	padding-right:.5em;
}
.simulor .xl li i {
	position:relative;
	display:block;
	white-space:nowrap;
	font-style:normal;
}
.simulor .xl li i:after {
	font-style:normal;
	counter-increment:li;
	content:counter(li)'：';
}
.simulor .xl li:only-of-type i:after {
	content:none;
}
.simulor .xl .rng {
	position:absolute;
	inset:.8em 0 auto;
	inset:.6em 1em auto 0;
}
.simulor .solit {
	position:relative;
}
.simulor .solit b {
	position:relative;
}
.simulor .solit:before {
	position:absolute;
	content:'';
	inset:-.5em;
	margin:0;
	right:100%;
	transition-duration:1s;
	transition-property:all;
	transition-timing-function:ease;
}

.guess {
	position:relative;
	z-index:3;
}
.guess ul {
	position:absolute;
	inset:0 -1em auto -1em;
	display:block;
	filter:drop-shadow(0 .5em 1em #00000088);
}
.guess[mr] ul {
	inset:auto -1em 3.1em auto;
}
.guess li {
	display:block;
	background-color:#ffffffcc;
	padding:.5em 1em;
	border-radius:3px;
	margin:1px 0 0;
	white-space:nowrap;
	color:#666666;
	cursor:pointer;
	transition-duration:.5s;
	transition-property:all;
	transition-timing-function:ease;
	overflow:hidden;
	text-overflow:ellipsis;
}

.guess li[act] {
	background-color:#ffffff;
	color:#000088;
}
.guess li:not(:first-child) {
	#margin:1px 0 0;
}

.gmap .outer {
	padding:var(--pd) 0;
}
.gmap .wrp {
	position:relative;
	overflow:hidden;
	padding:.3em;
	border-radius:1.3em;
	background-color:#f00;
	max-width:500px;
	margin:auto;
}
.gmap .wrp img {
	width:100%;
	overflow:hidden;
	border-radius:1em;
	display:block;
}
.gmap .wrp a {
	position:absolute;
	inset:auto 0 0 auto;
	width:fit-content;
	padding:.5em 1em;
	border-radius:1em 0 0 0;
	background-color:#f00;
	text-decoration:none;
	color:#fff;
}

.fileUpdates {
	position:relative;
}
.fileUpdates .drops {
	position:absolute;
	display:flex;
	justify-content:center;
	align-items:center;
	pointer-events:none;
	transition-duration:.1s;
	transition-property:all;
	transition-timing-function:linear;
	inset:0;
	z-index:3;
	color:#fff;
}
.fileUpdates .drops:before {
	position:absolute;
	content:'';
	display:block;
	inset:-.2em;
	border-radius:1em;
	border:3px dashed #888;
	background-color:#88888888;
	transition-duration:.3s;
	transition-property:all;
	transition-timing-function:linear;
	backdrop-filter:blur(3px);
	-webkit-backdrop-filter:blur(3px);
}
.fileUpdates .filsield {
	overflow:auto;
	max-height:20em;
}
.fileUpdates:not([drp]) .filestk:not(:empty) ~ .drops:before {
	transition-delay:.2s;
	inset:-.4em;
	opacity:0;
}
.fileUpdates:not([drp]) .filestk:empty ~ .drops {
	inset:1.8rem 1.8rem calc(1.8rem + 4.5em);
}
.fileUpdates .filestk:empty ~ .drops:before {
	inset:.2em;
}
.fileUpdates .drops li {
	position:relative;
	display:block;
	width:fit-content;
	text-align:center;
	font-weight:bold;
	transition-duration:.3s;
	transition-property:all;
	transition-timing-function:linear;
}
.fileUpdates[drp] .drops li {
	transition-delay:.2s;
}
.fileUpdates:not([drp]) .filestk:not(:empty) ~ .drops li {
	transform:scale(1.3);
	opacity:0;
}
.fileUpdates .filestk {
	display:flex;
	flex-wrap:wrap;
	padding:1em 0;
	column-gap:.5em;
	justify-content:center;
	max-width:100%;
	min-height:5em;
	margin:0 auto 0.5em;
}
@media screen and (min-width:330px) {
	.fileUpdates .filestk {
		padding:1em;
	}
}
.fileUpdates .push {
	position:sticky;
	position:-webkit-sticky;
	bottom:0;
#	backdrop-filter:blur(3px) brightness(3.5);
#	-webkit-backdrop-filter:blur(3px) brightness(3.5);
	display:flex;
	padding:.5em;
	min-height:4em;
	cursor:pointer;
	border-radius:1em;
	background-color:#00000033;
	justify-content:center;
	align-items:center;
	transition-duration:.3s;
	transition-property:all;
	transition-timing-function:linear;
	z-index:3;
}
.fileUpdates .push:hover {
	background-color:#00000011;
}
.fileUpdates .push .ins {
	width:fit-content;
}
.fileUpdates .i0 {
	position:relative;
	display:block;
	margin:0 0 .5em;
}
.fileUpdates .item {
	display:flex;
	gap:.5em;
	padding:.5em;
	width:6em;
	flex-direction:column;
	transition-duration:.3s;
	transition-property:all;
	transition-timing-function:linear;
}
.fileUpdates .item[del] {
	filter:brightness(0);
	opacity:0;
}
.fileUpdates .dmy {
	width:6em;
}
.fileUpdates .itembef {
	position:absolute;
	display:block;
	inset:0 0 auto calc(100% - 1.5em);
	pointer-events:none;
	transition-duration:.3s;
	transition-property:all;
	transition-timing-function:ease;
	z-index:1;
}
@media screen and (min-width:330px) {
	.fileUpdates .itembef {
		left:calc(100% - 1em);
	}
}
.fileUpdates .item:not(:hover) + .itembef {
	transition-delay:.2s;
	left:calc(100% - 4em);
}
.fileUpdates .itembef li {
	display:block;
	position:absolute;
	inset:0;
	margin:auto;
	width:2em;
	height:2em;
	border-radius:1em;
	background-color:#888;
	box-shadow:0 .2em .2em #000;
	transition-delay:.1s;
	transition-duration:.2s;
	transition-property:all;
	transition-timing-function:linear;
	pointer-events:all;
}
.fileUpdates .itembef li:hover {
	opacity:0;
}
.fileUpdates .item:not(:hover) + .itembef li {
	transition-delay:.2s;
	opacity:0;
}
.fileUpdates .itembef li:before,
.fileUpdates .itembef li:after {
	content:'';
	display:block;
	position:absolute;
	inset:0;
	margin:auto;
	width:80%;
	height:15%;
	background-color:#fff;
}
.fileUpdates .itembef li:before {
	transform:rotate(135deg);
}
.fileUpdates .itembef li:after {
	transform:rotate(45deg);
}
.fileUpdates .ico {
	position:relative;
	display:flex;
	width:5em;
	height:5em;
	#border:1px solid #888888;
	border-radius:.3em;
	justify-content:center;
	align-items:center;
	overflow:hidden;
}
.fileUpdates .item[pre] .ico {
	border:1px solid #dddddd;
}
.fileUpdates .item[pre] .ico:before {
	position:absolute;
	content:'';
	width:3.5em;
	height:3.5em;
	border:.3em dashed #ddd;
	border-radius:50%;
	inset:0;
	margin:auto;
	animation:1s linear 0s infinite anime1a;
}
@keyframes anime1a {
	0% { transform:rotate(0deg); }
	100% { transform:rotate(360deg); }
}
.fileUpdates .stat {
	text-align:center;
	line-height:1;
	padding:1em 0;
	font-size:70%;
}
.fileUpdates .ext {
	position:absolute;
	inset:auto 0 2% auto;
	font-size: 80%;
	background-color:#000;
	color:#fff;
	padding:.3em .5em;
	line-height:1;
	z-index:1;
	transition-duration:.3s;
	transition-property:all;
	transition-timing-function:linear;
}
.fileUpdates .ext:empty {
	opacity:0;
}
.fileUpdates .ico img {
	display:block;
	max-width:4.5em;
	max-height:4.5em;
	width:auto;
	height:auto;
}
.fileUpdates .ico .filethum {
	display:block;
	width:3.5em;
	height:4.5em;
	background-color:#eee;
	border:1px solid #555;
}
.fileUpdates .ico .filethum .ins {
	display:block;
	width:1em;
	height:1em;
}
.fileUpdates .proc {
	position:absolute;
	inset:0;
	background-color:#00000088;
	backdrop-filter:blur(2px);
	-webkit-backdrop-filter:blur(2px);
	transition-duration:.3s;
	transition-property:all;
	transition-timing-function:linear;
	pointer-events:none;
}
.fileUpdates .proc:not([pre]) {
	opacity:0;
}
.fileUpdates .upd0 {
	position:absolute;
	inset:0;
	margin:auto;
	width:80%;
	height:20%;
	padding:2px;
	background-color:#fff;
}
.fileUpdates .upd0:after {
	position:absolute;
	content:'upload';
	display:block;
	inset:0;
	margin:auto;
	width:fit-content;
	color:#000;
	line-height:calc(1 / 0.6);
	font-size:60%;
}
.fileUpdates .upd1 {
	margin:0 auto 0 0;
	height:100%;
	width:0;
	background-color:#f00;
	transition-duration:.3s;
	transition-property:all;
	transition-timing-function:linear;
}
.fileUpdates .name {
	display:block;
	line-height:1;
	font-size:60%;
	overflow-wrap:break-word;
	#overflow:hidden;
	#text-overflow:ellipsis;
}
.fileUpdates .cop {
	font-size:60%;
	color:#888888;
}
.fileUpdates .tools {
	position:absolute;
	inset:-.5em;
	border-radius:1em;
	background-color:#00000088;
	overflow:hidden;
	pointer-events:none;
	transition-duration:.3s;
	transition-property:all;
	transition-timing-function:ease;
	z-index:1;
}
@media screen and (min-width:330px) {
	.fileUpdates .tools {
		inset:-1em;
	}
}
.fileUpdates .item:not(:hover) .tools {
	opacity:0;
}
.fileUpdates .tn {
	position:absolute;
	transition-duration:.3s;
	transition-property:all;
	transition-timing-function:ease;
	inset:0;
	pointer-events:all;
	#cursor:col-resize;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	margin:auto 0;
}
.fileUpdates .item:hover .tn {
	transition-delay:.3s;
}
.fileUpdates .item:not(:hover) .tn {
	inset:0 101% 0 -101%;
}
.fileUpdates .tn .bck {
	position:absolute;
	inset:1px 1px auto;
	background-size:cover;
}
.fileUpdates .tn .bck:before {
	display:block;
	content:'';
	padding-top:100%;
}
.fileUpdates .tn .bck[style]:before {
	background-color:#00000088;
}
.fileUpdates .tn ul {
	position:relative;
	display:block;
	padding:.3em;
	#inset:.5em .5em auto auto;
}
.fileUpdates .tn ul li {
	display:block;
	padding:.3em 1.5em;
	border-radius:.3em;
	box-shadow:0 .2em .2em #000;
	color:#fff;
	transition-duration:.15s;
	transition-property:all;
	transition-timing-function:linear;
}
.fileUpdates .tn ul:hover li {
	transform:translate(-3px, -3px);
	box-shadow:0 .3em .3em #000;
	cursor:pointer;
}
.fileUpdates .del li {
	background-color:#f00;
}
.fileUpdates .dwn li {
	background-color:var(--color2);
}

input#main_menu {
	display:none;
}

.top_slog {
	position:absolute;
	inset:-4em 0 auto;
	background-color:var(--color1);
	color:#fff;
	padding:0 var(--esr) 0 var(--esl);
	opacity:var(--opp);
}
.top_slog div {
	max-width:var(--vwp);
	margin:0 auto;
	font-size:80%;
}
@media screen and (min-width:700px) {
	.top_slog {
		position:static;
		inset:auto;
	}
}

.top_apps {
	position:sticky;
	position:-webkit-sticky;
	bottom:0;
	display:block;
	background-color:#ffffffee;
	padding:.5em;
	filter:contrast(var(--opp)) brightness(var(--bri));
	z-index:3;
	pointer-events:none;
}
.top_apps.top {
	max-width:var(--vwp);
}
.top_apps .bara {
	position:relative;
	padding:0 0 0 .5em;
	margin:0 auto;
	display:flex;
	justify-content:center;
}
.top_apps.bottom .bara {
	width:fit-content;
	min-width:200px;
}
.top_apps .ba {
	position:relative;
	display:block;
	pointer-events:all;
}
.top_apps .ba:not(:last-child) {
	margin-right:.5em;
}
.top_apps .ba a {
	position:relative;
	display:block;
	min-width:4em;
	height:4em;
	#border:1px solid var(--color1);
	border-radius:.5em;
	text-decoration:none;
}
.top_apps .icn {
	display:block;
	width:2em;
	height:2em;
	border-radius:1em;
	background-color:var(--color2);
	padding:.2em;
}
.top_apps .icn svg {
	fill:#fff;
	width:100%;
	height:100%;
}
.top_apps .fone a {
	background-color:#22ee33;
}
.top_apps .jump a {
	display:block;
	color:#fff;
	text-decoration:none;
	border-radius:.5em;
	padding:.5em;
	text-align:center;
}
.top_apps .fone2 .actBtm {
	background-color:#22ee33;
}
.top_apps .fone .icn {
	position:absolute;
	inset:0;
	margin:auto;
	background-color:#00000000;
}
.top_apps .fone .icn + span {
	display:none;
}
.top_apps .deli a {
	width:auto;
	display:flex;
	flex-direction:column;
	place-content:center;
}
.top_apps .deli a > * {
	font-size:80%;
	display:block;
}
.top_apps .line .icn {
	position:absolute;
	inset:0;
	width:4em;
	height:4em;
	margin:auto;
	background-color:#22aa00;
}
.top_apps :where(.line2, .wcht2) .actBtm {
	background-color:#22aa00;
}
.top_apps .gmap .icn {
	position:absolute;
	inset:0;
	width:4em;
	height:4em;
	margin:auto;
	background-color:#f00;
}
.top_apps .gmap .c3 {
	fill:#f00;
}
.top_apps .gmap2 .actBtm {
	background-color:#f00;
}
.top_apps .cont a {
	#padding:0 .4em 0 2.4em;
	background-color:var(--color2);
	display:flex;
	flex-direction:column;
	place-content:center;
	color:#fff;
}
.top_apps .cont .icn {
	position:absolute;
	#inset:0 auto 0 .2em;
	inset:0;
	margin:auto;
	background-color:#00000088;
}
.top_apps .cont a > * {
	display:block;
}
.top_apps .cont2 .actBtm {
	background-color:var(--color2);
}
.top_apps.top {
	display:none;
	z-index:9;
}
.top_apps .jump {
	position:absolute;
	display:block;
	inset:auto 0 calc(100%);
}
.top_apps.top .jump {
	inset:calc(100%) 0 auto 50%;
	width:50%;
}
.top_apps.bottom .jump {
	inset:auto 0 calc(100%);
}
.floats {
	position:absolute;
	inset:auto 0 calc(100% - 2px);
	overflow:hidden;
	pointer-events:all;
}
.top_apps.top .floats {
	inset:calc(100% - 2px) 0 auto;
}
.top_apps.bottom .floats {
	inset:auto 0 calc(100% - 2px);
}
.floats ul {
	position:absolute;
	display:block;
	padding:.5em;
	filter:drop-shadow(0 .5em .5em #00000088);
	width:fit-content;
}
.top_apps.top .floats ul {
	inset:1em 1em auto;
	margin:1em auto auto;
}
.top_apps.bottom .floats ul {
	inset:auto 1em 1em;
	margin:auto auto 1em;
}
.floats ul:after {
	position:absolute;
	#content:'';
	display:block;
	width:1.5em;
	height:1.5em;
	border:.75em solid #fff;
	border-color:#fff #fff #00000000 #00000000;
	inset:auto 2em -1em auto;
	transform:skewX(30deg);
}
.floats ul:before {
	position:absolute;
	content:'';
	display:block;
	inset:-.5em;
	background-color:#ffffff;
	border-radius:1em;
}
.floats li {
	position:relative;
	display:block;
	white-space:nowrap;
	color:#000;
}
/*
.top_apps .cont a:not(:hover) {
	#pointer-events:none;
}
.top_apps .cont a + .floats {
	pointer-events:none;
	transition-duration:.3s;
	transition-timing-function:ease;
	transition-property:all;
}
.top_apps .cont a:not(:hover) + .floats {
	#transform:scale(0);
	height:0;
}*/
.jump .floats.fone2 {
	height:10em;
}
.jump .floats.line2 {
	height:25em;
}
.jump .floats.gmap2 {
	height:25em;
}
.jump .floats.gmap2 svg {
	width:15em;
}
.jump .floats.gmap2 .rd {
	fill:#f88;
}
.jump .floats.gmap2 .bd {
	fill:#a11;
}
.jump .floats.gmap2 text {
	text-anchor:middle;
	alignment-baseline:central;
	font-size:6px;
	font-weight:bold;
	fill:#ffffff;
	stroke:none;
}
.jump .floats.cont2 {
	height:10em;
}
.jump :where(.floats.line2, .floats.wcht2) rect {
	stroke-width:.1px;
	stroke:#000;
}
.jump :where(.floats.line2, .floats.wcht2) text {
	text-anchor:middle;
	alignment-baseline:central;
	font-size:4px;
	font-weight:bold;
}
.jump .floats {
	transition-duration:.3s;
	transition-timing-function:ease;
	transition-property:all;
	#background-color:#00000088;
}
.jump .floats ul {
	pointer-events:all;
}
.top_apps .fone:not(:hover) ~ .jump .fone2:not(:hover),
.top_apps .line:not(:hover) ~ .jump .line2:not(:hover),
.top_apps .gmap:not(:hover) ~ .jump .gmap2:not(:hover),
.top_apps .cont:not(:hover) ~ .jump .cont2:not(:hover) {
	#transform:scale(0);
	height:0;
}
.top_apps .jump .floats.wcht2 {
	display:none;
}
@media screen and (min-width:700px) {
	.top_apps {
		margin:auto;
	}
	.top_apps.bottom .bara {
		font-size:min(11px, 1.3vw);
	}
	.top_apps.bottom a {
		line-height:1.2;
	}
	.top_apps.top {
		display:block;
		position:absolute;
		inset:calc(.8em * 1.5) 0 auto;
		padding:3em var(--esr) 0 var(--esl);
		background-color:#ffffff00;
	}
	.top_apps.top .bara {
		justify-content:right;
		padding:0 1em;
		font-size:min(14px, 1.3vw);
	}
	.top_apps.top .fone a {
		display:flex;
		padding-left:1em;
		background-color:#00000000;
	}
	.top_apps.top .fone .icn {
		position:static;
		background-color:#00000088;
	}
	.top_apps.top .fone .icn + span {
		display:block;
		height:1em;
		margin:auto;
		line-height:1;
		padding:0 1em;
	}
}

header .logo {
	max-width:var(--vwp);
	margin:auto;
	padding:0 var(--esr) 0 var(--esl);
}
header [for='main_menu'] {
	position:fixed;
	inset:2px max(2px, var(--esr)) auto auto;
	display:block;
	background-color:var(--color1);
	border-radius:.3em;
	width:5em;
	height:5em;
	z-index:9;
	overflow:hidden;
	cursor:pointer;
	filter:contrast(var(--opp)) brightness(var(--bri));
}
header [for='main_menu']:before {
	content:'';
	position:absolute;
	display:block;
	inset:0 -20%;
	background-image:linear-gradient(to right, #00000000, #00000088);
	transition-property:all;
	transition-duration:.4s;
	transition-timing-function:ease;
}
header [for='main_menu']:not(:hover):before {
	inset:0 -100% 0 100%;
}
header [for='main_menu'] ul {
	position:absolute;
	inset:2.3em 1em;
	display:block;
	transition-property:all;
	transition-duration:.3s;
	transition-timing-function:ease;
}
input#main_menu:not(:checked) ~ header [for='main_menu'] ul {
	transition-delay:.3s;
	inset:1em;
}
header [for='main_menu'] li {
	position:absolute;
	inset:0;
	margin:auto;
	display:block;
	width:100%;
	height:.4em;
	background-color:#fff;
	transition-property:all;
	transition-delay:.3s;
	transition-duration:.3s;
	transition-timing-function:ease;
}
header [for='main_menu'] li:nth-child(1) {
	margin-top:0;
	transform:rotate(225deg);
}
header [for='main_menu'] li:nth-child(2) {
	transform:rotate(225deg);
}
header [for='main_menu'] li:nth-child(3) {
	margin-bottom:0;
	transform:rotate(315deg);
}
input#main_menu:not(:checked) ~ header [for='main_menu'] li {
	transition-delay:0s;
	transform:rotate(0deg);
}
@media screen and (min-width:700px) {
	header [for='main_menu'] {
		display:none;
	}
}

:where(.blogEnt, .contBot) a {
	display:block;
	padding:1em;
	line-height:1;
	background-color:var(--color2);
	color:#fff;
	text-decoration:none;
	font-size:120%;
	text-align:center;
	max-width:80%;
	margin:auto;
	border-radius:.2em;
	box-shadow:.4em .4em 1em #00000055;
}

.mainMenu {
	position:fixed;
	pointer-events:none;
	inset:0 0 auto;
	z-index:8;
}
.mainMenu ul {
	display:block;
	padding:0 var(--esr) 0 var(--esl);
}
.mainMenu li {
	display:block;
	overflow:hidden;
	transition-property:all;
	transition-duration:.4s;
	transition-delay:calc(var(--ss) * .8);
	transition-timing-function:ease;
}
.mainMenu li:nth-child(1) {  --ss:.0s; }
.mainMenu li:nth-child(2) {  --ss:.1s; }
.mainMenu li:nth-child(3) {  --ss:.2s; }
.mainMenu li:nth-child(4) {  --ss:.3s; }
.mainMenu li:nth-child(5) {  --ss:.4s; }
.mainMenu li:nth-child(6) {  --ss:.5s; }
.mainMenu li:nth-child(7) {  --ss:.6s; }
.mainMenu li:nth-child(8) {  --ss:.7s; }
.mainMenu li:nth-child(9) {  --ss:.8s; }
.mainMenu li:nth-child(10) { --ss:.9s; }
input#main_menu:not(:checked) ~ .mainMenu li {
	margin:0 0 0 100%;
	transition-delay:calc((.7s - var(--ss)) * .4);
}
.mainMenu a {
	position:relative;
	display:block;
	width:100vw;
	padding:.7em;
	text-decoration:none;
	background-color:var(--color1);
	color:#fff;
	text-align:center;
	pointer-events:all;
	filter:contrast(var(--opp)) brightness(var(--bri));
}
.mainMenu a:before {
	content:'';
	position:absolute;
	display:block;
	inset:0 -20%;
	background-image:linear-gradient(to right, #00000000, #00000088);
	transition-property:all;
	transition-duration:.3s;
	transition-timing-function:ease-out;
}
.mainMenu a:not(:hover):before {
	transition-timing-function:ease-in;
	inset:0 -100% 0 100%;
}
.mainMenu a > span {
	position:relative;
}
@media screen and (min-width:700px) {
	.mainMenu {
		position:sticky;
		position:-webkit-sticky;
	}
	.mainMenu > div {
		background-color:var(--color1);
	}
	.mainMenu ul {
		max-width:var(--vwp);
		margin:auto;
		display:table;
		#justify-content:space-between;
		width:100%;
	}
	.mainMenu li {
		display:table-cell;
	}
	.mainMenu a {
		width:auto;
		background-color:none;
	}
	.mainMenu a:before {
		background-image:linear-gradient(to top, #00000000, #00000088);
		transition-duration:.1s;
	}
	.mainMenu a:not(:hover):before {
		inset:-100% 0 100% 0;
	}
	input#main_menu:not(:checked) ~ .mainMenu li {
		margin:0;
		transition-delay:calc((.7s - var(--ss)) * .4);
	}
}
header a {
	display:block;
	padding:calc(.5em + 2px);
}
header .mainLogo {
	width:auto;
	height:4em;
}
.mainLogo {
	max-width:50%;
	opacity:var(--opp);
}
.mainLogo use:nth-child(2) {
	transform:translateX(90px);
}
header .mainLogo use:nth-child(2) {
	fill:var(--color2);
}
footer .mainLogo use:nth-child(2) {
	fill:#ffffff;
}
@media screen and (min-width:700px) {
	header a {
		display:inline-block;
		padding:35px 0;
	}
	header .mainLogo {
		height:60px;
		max-width:none;
	}
}

footer {
	position:relative;
	background-color:var(--color2);
	filter:contrast(var(--opp)) brightness(var(--bri));
	z-index:1;
}
footer .feets {
	max-width:var(--vwp);
	margin:auto;
	padding:0 max(var(--esr), 1em) 0 max(var(--esl), 1em);
}
footer a {
	display:block;
	color:#fff;
	text-decoration:none;
	text-align:center;
	padding:.5em;
}
footer ul {
	display:flex;
	justify-content:end;
	gap:.5em;
	font-size:150%;
	max-width:1000px;
	margin:auto;
	padding:.3em 1em;
}
footer ul li {
	position:relative;
	display:block;
	line-height:1;
}
footer ul li:before {
	content:'';
	display:block;
	position:absolute;
	width:100%;
	height:100%;
	inset:-.1em;
	border-radius:.5em;
	transition-timing-function:ease;
	transition-duration:.5s;
	transition-property:all;
	margin:auto;
}
footer ul li:hover:before {
	background-color:#ffffff55;
}
footer ul a {
	position:relative;
}
@media screen and (min-width:700px) {
	footer {
		padding:1em 0;
	}
	footer .feets {
		display:flex;
		justify-content:space-between;
		place-items:center;
	}
	footer .footmenu {
		display:table;
	}
	footer .footmenu a {
		display:table-cell;
		border-width:1px;
		border-style:none none none solid;
		border-color:#ffffff88;
		padding:0 .5em;
	}
	footer .footmenu a:last-child {
		border-style:none solid none solid;
	}
	footer .right,
	footer .footmenu a {
		font-size:min(12px, 1.1vw);
	}
}

.blogList {
	display:block;
	padding:.5em;
}
.blogList .item {
	display:block;
	background-color:#fff;
	margin:0 0 1em;
	box-shadow:.4em .4em 1em #00000055;
}
.blogList .date {
	padding:.2em;
	text-align:right;
}
.blogList h3 {
	position:sticky;
	font-weight:bold;
	padding:0 1.5em 1em;
	top:calc(5em + 4px);
	top:0;
	background-color:#fff;
	z-index:2;
	max-width:calc(100% - 3em);
}
.blogList .label {
	display:block;
	text-align:right;
}
.blogList .label,
.blogMenu {
	padding:0 1.5em 1em;
}
.blogList .label li {
	display:inline-block;
}
.blogList .label li,
.blogMenu .item {
	padding:0 .5em .5em 0;
}
.blogList .label a,
.blogMenu .item a {
	display:block;
	background-color:#666;
	padding:0 0.6em;
	color:#fff;
	text-decoration:none;
	border-radius:.3em;
}
.blogList .body {
	padding:0 1.5em 2em;
}
.blogList .body a {
	max-width:33%;
	display:inline-block;
}
.blogList .body img {
	max-width:100%;
	display:inline-block;
}
.blogList ul.pics {
	display:block;
	padding-left:1px;
}
.blogList li.pic {
	position:relative;
	display:inline-block;
	#max-width:33%;
	width:calc((100% - 3px) / 3);
	margin-right:1px;
	overflow:hidden;
	cursor:pointer;
}
.blogList li.pic:before {
	content:'';
	display:block;
	padding-top:100%;
}
.blogList li.pic:after {
	position:absolute;
	content:'';
	display:block;
	inset:0;
	background-image:var(--bg);
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center center;
	transform-origin:center center;
	transition-timing-function:ease;
	transition-duration:.3s;
	transition-property:all;
}
.blogList li.pic:hover:after {
	filter:blur(2px);
	inset:-5px;
}

.openpic {
	position:fixed;
	display:block;
	inset:0;
	z-index:5;
}
.openpic .bk {
	display:block;
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	background-color:#000000aa;
	backdrop-filter:blur(4px);
	-webkit-backdrop-filter:blur(4px);
}
.openpic .ins {
	position:relative;
	width:100%;
	height:100%;
	display:block;
	padding:.5em;
}
.openpic .pc {
	position:absolute;
	display:block;
	inset:0;
	margin:auto;
	max-width:calc(100% - 3em);
	max-height:calc(100% - 3em);
}


.problemsList {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.problemsList li {
	display:block;
	#width:calc((100% - 1em) / 3);
	width:100%;
	margin-bottom:.5em;
}
.problemsList .btn {
	display:flex;
	border:1px solid #ddd;
	border-radius:3px;
	background-image:linear-gradient(#f8f8f8, #eee);
	height:100%;
	text-decoration:none;
}
.problemsList .btn span {
	display:block;
	font-size:60%;
	text-align:center;
	#color:#333333;
}
.problemsList .spn {
	display:block;
	position:relative;
	font-size:120%;
	color:#fff;
	background-image:linear-gradient(#eee, #ddf);
	height:8em;
	line-height:1;
}
.problemsList .bkn {
	position:absolute;
	inset:0;
	overflow:hidden;
}
.problemsList .bkn :where(p:nth-child(3), p:nth-child(2)) {
	position:absolute;
	inset:0 30% 0 -30%;
	transform-origin:top right;
}
.problemsList .bkn p:nth-child(1) {
	position:absolute;
	inset:0 -1px 0 calc(70% + .5em);
	background-image:var(--bkk);
	background-size:cover;
	background-position:center center;
}
.problemsList .bkn p:nth-child(2) {
	background-color:#fff;
	transform:translate(1em, 0) skewX(20deg);
}
.problemsList .bkn p:nth-child(3) {
	background-color:var(--color1);
	opacity:.8;
	transform:skewX(20deg);
}
.problemsList .unc {
	position:relative;
	height:8em;
	font-weight:bold;
	#filter:drop-shadow(0 .1em .1em #000000aa);
	--cc:#00000000;
}
.problemsList .sh {
	position:absolute;
	inset:0;
	display:flex;
	flex-flow:column;
	justify-content:space-evenly;
	height:8em;
	padding-left:1em;
}
.problemsList .l0 p {
	-webkit-text-stroke:var(--cc) .12em;
}
.problemsList .unc p {
}
.problemsList svg {
	display:block;
	width:20%;
	margin:auto;
}
.problemsList svg use {
	width:74px;
	height:74px;
	fill:#c5c5c5;
	transition-timing-function:ease;
	transition-duration:.5s;
	transition-property:all;
}
.problemsList .item {
	display:flex;
	width:80%;
	justify-content:center;
	align-items:center;
	color:var(--color2);
}
.problemsList .item p {
	display:block;
	width:80%;
}
.problemsList .btn:hover svg {
	#filter:blur(.5px) drop-shadow(0 0 2px #000000);
}
.problemsList .btn:hover svg use {
	fill:#439bdb;
	fill:var(--color2);
}
@media screen and (min-width:700px) {
	.problemsList .normal {
		#width:calc((100% - 4em) / 5);
		width:calc((100% - 1em) / 2);
		margin-bottom:1em;
	}
	.problemsList .btn span {
		font-size:80%;
	}
	.problemsList .bkn :where(p:nth-child(3), p:nth-child(2)) {
		inset:0 40% 0 -30%;
	}
	.problemsList .bkn p:nth-child(1) {
		inset:0 -1px 0 calc(60% + .5em);
	}
	.problemsList .spn {
		font-size:200%;
	}
}

/*
op = ac(ce('ul.openpic')),
oi = ac(ce('li.ins'), op),
pc = ac(ce('img.pc').attr({src:l}), oi),
cl = ac(ce('div.cls'), oi),
*/

.calends {
	background-image:url(/patten.png);
	border-width:1px;
	border-style:solid none;
	border-color:#ededed #000 #f2f2f2;
	opacity:var(--opp);
}
.calends .exp {
	display:flex;
	justify-content:left;
	padding:.2em 0;
}
.calends :where(.exp) :where(div) {
	padding:.2em .3em;
	border:1px solid #00000000;
}
.calends :where(.exp) :where(li) {
	display:block;
	background-color:#eee;
	margin:0 0 0 1px;
	padding:.2em .3em;
	border:1px solid #00000000;
}
.calends .cans {
	width:100%;
	padding:2em 0;
}
.calends .calens {
	width:100%;
	max-width:80%;
	margin:auto;
	--h3w:3em;
	padding-left:var(--h3w);
}
.calends .mont {
	position:relative;
	display:flex;
	flex-wrap:wrap;
	justify-content:right;
	color:#00000088;
	font-size:90%;
}
.calends .mont h3 {
	display:flex;
	position:absolute;
	inset:0 100% 1px auto;
	width:var(--h3w);
	background-color:#555;
	place-content:center;
	color:#ffffffaa;
}
.calends .mont h3 b {
	position:sticky;
	display:block;
	height:fit-content;
	inset:3em 0 0;
}
.calends .mont li {
	display:block;
	background-color:#eee;
	width:calc((100% - 7px) / 7);
	margin:0 0 1px 1px;
	padding:.2em .3em;
	text-align:right;
	border:1px solid #00000000;
}
.calends li.rb {
	display:none;
}
.calends li.zot {
	color:#00000044;
}
.calends li.tod {
	border-color:#00000055;
}
.calends li.rest {
	background-color:#8ff0f7;
}
.calends li.labl {
	background-color:#ddd;
	text-align:center;
}
@media screen and (min-width:700px) {
	.calends .cans {
		display:flex;
		justify-content:space-around;
	}
	.calends .calens {
		max-width:300px;
	}
	.calends .mont li.rb {
		display:block;
	}
	.calends .mont li.ot {
		color:#00000044;
	}
}

.document {
	min-height:90vh;
}

section {
	--pd:1em;
}
section .outer {
	padding:var(--pd) 0 0;
}
section .inner {
	padding:0 0 var(--pd);
}

.sarea {
	padding:0 max(var(--esr), var(--pd)) 0 max(var(--esl), var(--pd));
	max-width:var(--vwp);
	margin:auto;
}
@media screen and (min-width:700px) {
	section {
		--pd:20px;
	}
}

.s404 {
	position:fixed;
	inset:0;
	z-index:7;
	padding:10em 0 2em;
	color:#fff;
}
.s404:before {
	content:'';
	display:block;
	position:absolute;
	inset:0;
	background-color:#000000aa;
	backdrop-filter:blur(4px);
	-webkit-backdrop-filter:blur(4px);
}
.s404 .inner {
	position:relative;
}

.underfoot {
	position:relative;
	filter:contrast(var(--opp)) brightness(var(--bri));
}
.underfoot:before {
	content:'';
	display:block;
	background-color:var(--color2);
	position:absolute;
	inset:auto 0 0;
	height:6em;
}
@media screen and (min-width:700px) {
	.underfoot:before {
		content:none;
	}
}

table.contact :where(
	input[type='text'],
	input[type='email'],
	input[type='tel'],
	textarea,
	select
) {
	background-color:#fff;
	border:1px solid #ccc;
	border-radius:3px;
	outline:0;
	padding:calc(1.8rem*.25) calc(1.8rem*.5);
	line-height:1.8;
	transition:border .2s ease-out;
	box-shadow:inset 0 1px 1px rgb(0 0 0 / 4%);
	text-align:left;
}
table.contact select + .selecttri:before {
	line-height:1.8;
	padding:calc(1.8rem*.25) calc(1.8rem*.5);
}
table.contact + input[type='button'] {
	width:100%;
	line-height:1.8;
	padding:calc(1.8rem*.5) calc(1.8rem*.5);
	background:linear-gradient(0deg, #002047, #002047 50%, #ffffff 130%);
	color:#ffffff;
}
table.contact + input[type='button']:hover {
	background:linear-gradient(0deg, #002047, #002047 40%, #ffffff 115%);
}
table.contact {
	margin-bottom:calc(1.8rem*.25);
}
table.contact,
table.contact :where(td, th) {
	border:1px solid #ededed;
}
table.contact {
	padding:0;
	border-spacing:0;
	border-style:solid none none solid;
	line-height:1.5;
}
table.contact :where(td, th) {
	border-style:none solid solid none;
	padding:calc(1.8rem*1);
	font-size:16px;
	font-weight:500;
	background-color:#fdfdfd;
}
table.contact th {
	background-color:rgba(150,150,150,.05);
	padding:calc(1.8rem*.35 + 1px) calc(1.8rem*.6 + 1px);
	line-height:1.8;
}
table.contact td {
	padding:calc(1.8rem*.1) calc(1.8rem*.1);
}
table.contact,
table.contact :where(thead, tbody, tr, td, th) {
	display:block;
}
@media screen and (min-width:620px) {
	table.contact {
		display:table;
		width:100%
	}
	table.contact tbody {
		display:table-row-group;
	}
	table.contact thead {
		display:table-header-group;
	}
	table.contact tr {
		display:table-row;
	}
	table.contact :where(td, th) {
		display:table-cell;
		#padding:.5em .75em;
		vertical-align:top;
	}
	table.contact th {
		width:200px;
	}
}
