@charset "utf-8";
/* -------------------- reset -------------------- */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; }
body { line-height:1; font-weight: 500; }
article,aside,details,figcaption,figure, footer,header,hgroup,menu,nav,section { display:block; }
nav ul { list-style:none; }
blockquote, q { quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }
a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; text-decoration: none; }
a img { transition: .2s; }
a:hover, a:hover * { text-decoration: none; transition: .3s; }
/* change colours to suit your needs */
ins { background-color:#ff9; color:#000; text-decoration:none; }
/* change colours to suit your needs */
mark { background-color:#ff9; color:#000;  font-style:italic; font-weight:bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }
table { border-collapse:collapse; border-spacing:0; }
/* change border colour to suit your needs */
hr { display:block; height:1px; border:0; border-top:1px solid #525c53; margin:1em 0; padding:0; }
input, select { vertical-align:middle; }
input, textarea, select { border: 1px solid #e6e6e6; border-radius: 3px; -moz-box-shadow: inset 0 0 4px rgba(0,0,0,0.2); -webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2); box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2); padding:0 2%; width:96%; }
img { max-width: 100%; line-height: 1; }
@-moz-document url-prefix(){ 
	*, ::after, ::before { box-sizing: border-box;}
	table { width: 100%; }
}
@media all and (-ms-high-contrast: none) { 
	*, ::after, ::before { box-sizing: border-box;}
	table { width: 100%; }
	#sidebar ul{ display: flex; flex-wrap: wrap; padding-left: 0; margin-bottom: 0; list-style: none; }
	.form-control{
		display: block;
		width: 100%;
		height: calc(1.5em + .75rem + 2px);
		padding: .375rem .75rem;
		font-size: 1rem;
		font-weight: 400;
		line-height: 1.5;
		color: #495057;
		background-color: #fff;
		background-clip: padding-box;
		border: 1px solid #ced4da;
		border-radius: .25rem;
		transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
	}
}
/* -------------------- foundation -------------------- */
html{ font-size:62.5%; }
h1,h2,h3,h4,h5,h6,p{ font-size:1.6rem; }


/* -------------------- item -------------------- */

html { scroll-behavior: smooth; -webkit-text-size-adjust: none; }
@media(min-width:769px) { a[href^="tel:"] { pointer-events: none; text-decoration: none!important; color: #3c3c3c; } }
/* text align */
.Tcenter { text-align: center; }
.Tleft { text-align: left; }
.Tright { text-align: right; }
.textsub { vertical-align: sub; font-size: 50%; }
/* float */
.Fleft { float: left; }
.Fright { float: right; }
.Fnone { float: none; }
.clear { clear: both; }
.clearleft { clear: left; }
.clearfix:after { content: ""; clear: both; height: 0; display: block; visibility: hidden; }
/* flex */
.flexWrapper, .flex-wrapper { display: flex; }
/* PC only */
.PC { display: initial!important; }
div.PC { display: block; }
.SP { display: none!important; }
div.SP { display: none; }
.breakPC:before { content: "\A"; white-space: pre; }
.breakSP:before { content: ""; white-space: initial; }
/* columns */
.columns1 { column-count: 1; -webkit-column-count: 1; -moz-column-count: 1; -ms-column-count: 1; -o-column-count: 1; }
.columns2 { column-count: 2; -webkit-column-count: 2; -moz-column-count: 2; -ms-column-count: 2; -o-column-count: 2; }
.columns3 { column-count: 3; -webkit-column-count: 3; -moz-column-count: 3; -ms-column-count: 3; -o-column-count: 3; }
.columns4 { column-count: 4; -webkit-column-count: 4; -moz-column-count: 4; -ms-column-count: 4; -o-column-count: 4; }
.columns5 { column-count: 5; -webkit-column-count: 5; -moz-column-count: 5; -ms-column-count: 5; -o-column-count: 5; }
.columns6 { column-count: 6; -webkit-column-count: 6; -moz-column-count: 6; -ms-column-count: 6; -o-column-count: 6; }
.columns7 { column-count: 7; -webkit-column-count: 7; -moz-column-count: 7; -ms-column-count: 7; -o-column-count: 7; }
.columns8 { column-count: 8; -webkit-column-count: 8; -moz-column-count: 8; -ms-column-count: 8; -o-column-count: 8; }
.columns9 { column-count: 9; -webkit-column-count: 9; -moz-column-count: 9; -ms-column-count: 9; -o-column-count: 9; }
.columns10 { column-count: 10; -webkit-column-count: 10; -moz-column-count: 10; -ms-column-count: 10; -o-column-count: 10; }
.columns1 *, .columns2 *, .columns3 *, .columns4 *, .columns5 *, .columns6 *, .columns7 *, .columns8 *, .columns9 *, .columns10 * { -webkit-column-break-inside: avoid; -moz-column-break-inside: avoid; -ms-column-break-inside: avoid; -o-column-break-inside: avoid;  -moz-break-inside: avoid-column; -webkit-break-inside: avoid-column; -o-break-inside: avoid-column; -ms-break-inside: avoid-column; break-inside: avoid-column; -moz-break-inside: avoid; -webkit-break-inside: avoid; -o-break-inside: avoid; -ms-break-inside: avoid; break-inside: avoid; -webkit-page-break-inside: avoid; -moz-page-break-inside: avoid; -ms-page-break-inside: avoid; -o-page-break-inside: avoid; page-break-inside: avoid; page-break-after: avoid; page-break-before: avoid; }
/* js sync */
.scroll-fade { opacity : 0; transform : translate(0, 25px); transition: .5s ease-in-out; }
.scroll-fade2 { opacity : 0; transform : translate(100%, -50%); transition : all .5s; }
.content-inner.scroll-active, .scroll-fade.scroll-active, .scroll-fade2.scroll-active { opacity : 1; transform : translate(0, 0); }

@keyframes rotate {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* -------------------- PC -------------------- */
/**
* common
*/
body { background-color: #f1f3f9; }
.contentWrapper { background: linear-gradient(180deg, #172b4d 0%, #172b4d 560px, transparent 560px, transparent 100%); }

.typewriter.active path { transform: translateY(0); opacity: 0; transition-timing-function: cubic-bezier(.230, .61, .355,1); transition-duration: 690ms; }
.typewriter2 path:nth-child(even) { transform: translateY(-50%); }

.scrollFade { opacity : 0; transform : translate(0, 25px); transition: .5s ease-in-out; }
.scrollFade2 { opacity : 0; transform : translate(100%, -50%); transition : all .5s; }
.scrollFade.scrollActive, .scrollFade2.scrollActive { opacity : 1; transform : translate(0, 0); }

/* common */
.contentWrapper { display: flex; flex-flow: row-reverse; }

/* main */
main { width:100%; margin-top: 12rem; padding: 8.0rem 5% 8.0rem calc(5% + 80px); }
main h2 { font-size: 4.0rem; letter-spacing:0.1em; font-weight: bold; color: #fff; }
main .tab { display: flex; flex-wrap: wrap; justify-content: center; gap: 2vw 30px; margin: clamp(30px, 8vw, 60px) auto 30px; }
main .tab a { display: grid; width: 20rem; height:4.6rem; place-content: center; place-items: center; grid-auto-flow: column; border: 1px solid #fff; border-radius: 3.0rem; background-color: #172b4d; color: #fff; text-align: center; }
main .tab a.current { color: #172b4d; background-color: #fff; }
main .tab a svg { width: 18px; margin-right: 10px; }
main .tab a svg .cls-1{ fill:#fff; }
main .tab a:hover{ background-color:#fff; color:#172b4d; }
main .tab a:hover svg .cls-1{ fill:#172b4d; }
main .inner { width: 100%; margin: 0 auto; }
main h3 { font-size: 24px; font-weight: bold; color: #333; margin: 0 0 20px; }
main .box { width: 100%; padding: clamp(15px, 4vw, 40px); margin: 0 auto clamp(60px, 16vw, 120px); background-color: #fff; border-radius: 5px; }
main .message textarea, main .message p { display: block; width: 100%; min-height: 200px; padding: 20px; background-color: #f1f3f9; box-sizing: border-box; border-radius: 5px; box-shadow:none; }
main .message input[type="submit"]{ max-width:46rem; width:100%; height:6.0rem; display:grid; place-content:center; line-height:1; background: #172b4d; color:#fff; border-radius:5px; box-shadow:none; margin:4.0rem auto 0; border: 2px solid #172b4d; box-sizing:border-box; transition:0.3s; }
main .message input[type="submit"]:hover{ background-color:#fff; color:#172b4d;}
main .list { display: block; width: 100%; }
main .list > div { font-size: 16px; }
main .list > div:nth-child(odd) { background-color: #f1f3f9; }
main .list > div > * { width: 16.67%; padding: 20px 0; text-align: center; }
main .list .listHeader p { font-weight: bold; color: #8898aa; }
main .list .listHeader p:nth-child(1){width: 30%;}
main .list .listHeader p:nth-child(2){width: 20%;}
main .list .listHeader p:nth-child(3){width: 10%;}
main .list .listHeader p:nth-child(4){width: 10%;}
main .list .listHeader p:nth-child(5){width: 10%;}
main .list .listHeader p:nth-child(6){width: 10%;}
main .list .listHeader p:nth-child(7){width: 10%;}
main .list .listItem a:nth-child(1){width: 30%;}
main .list .listItem a:nth-child(2){width: 20%;}
main .list .listItem a:nth-child(3){width: 10%;}
main .list .listItem a:nth-child(4){width: 10%;}
main .list .listItem a:nth-child(5){width: 10%;}
main .list .listItem a:nth-child(6){width: 10%;}
main .list .listItem a{display:grid; place-content:center; font-size:1.4rem; line-height:1.6; color:#172b4d;}
main .list .listItem a:hover{ text-decoration:underline; color:#007bff; }
main .list .listItem .dropdownWrapper{width: 10%;}
main .list .dropdownInner { position: fixed; display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; top: 0; left: 0; background: #00000075; z-index: -1000; opacity: 0; transition: .3s; }
main .list .dropdownInner.active { z-index: 1000; opacity: 1; transition: .3s }
main .list .dropdownInner div { width:80%; position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2rem; max-width: 960px;}
main .list .listItem .dropdownInner a { display: grid; place-content:center; width: 100%; height: 80px; line-height:1; color: #fff; font-size: 1.6rem; background-color: #172b4d; border-top: 1px solid #fff; width: calc((100% - 3rem)/2); border: none; border-radius: 5px; font-size: 1.6rem; }
main .list .listItem .dropdownInner a:hover {  color: #172b4d; background-color: #fff; opacity:1; }
main .list .listItem .dropdownWrapper a.dropdownButton{transition:0.3s; cursor: pointer;  margin:0 auto; background-color:#dfdfdf; color:#999; border-radius:30px; height:3.2rem; text-decoration:none; width: 80%;}
main .list .listItem .dropdownWrapper a.dropdownButton:hover{background-color:#172b4d; color:#fff; }


/* side */
aside { width: 80px; height: 100vh; position: fixed; top: 0; left:0; background: #fff; z-index:100; transition: all 0.3s 0.0s ease;  overflow-x:hidden; overflow-y:scroll; }
aside h1 { font-size: 46px; font-weight: bold; text-align: center; color: #333; line-height: 1; display: block; width: 100%; padding: 5.0rem 0 4.0rem; box-sizing: border-box;}
aside h1 div.logo_sm{display:block; height:16rem; }
aside h1 div.logo_lg{display:none; height:16rem; }
aside h1 div svg.logoSm,aside h1 div svg.logoLg{height:100%;}
aside h1 span { font-size:70%; }
aside .list { width: 100%; margin: 0 auto; }
aside .list a { display: flex; flex-wrap:wrap; justify-content: flex-start; align-items: center; gap: 20px; font-size: 16px; font-weight: normal; color: #333; text-align: left; padding:10px 10px 10px 20px; margin-left: 8px; box-sizing: border-box; border-radius: 30px 0 0 30px; transition: .3s; height:60px; color:#666666;}
aside .list a:hover, aside .list .current a { color: #39b54a; background: #f1f3f9; }
aside .list a svg { width: 25px; height:25px; position:absolute; left:2.8rem; }
aside .list a svg .cls-1 { fill: #ccc; }
aside .list a:hover svg .cls-1, aside .list .current a svg .cls-1 { fill: #39b54a; }
aside .list{transition: all 0.3s 0.3s ease;}
aside .list span{ position:absolute; font-size:1.6rem; left:6.5rem; width:20rem; visibility:hidden;}
aside .list div{position:relative;}
aside:hover{width:28rem;}
aside:hover .list span{visibility:visible;}
aside:hover h1 div.logo_sm{display:none;}
aside:hover h1 div.logo_lg{display:block;}
aside::-webkit-scrollbar{ border:none; width:0.6rem;  display:none;}
aside::-webkit-scrollbar-track{ background-color:transparent; border:none;}
aside::-webkit-scrollbar-thumb{ background-color:rgba(0,0,0,0.2); border-radius:10px; }
aside:hover aside::-webkit-scrollbar{display:block;}

/* paging */

/* breadcrumbs */

/**
* 404
*/


/* -------------------- SP -------------------- */

@media (max-width: 1765px) {
	main .listWrapper, .overflowWrapper { overflow-x: auto; }
	main .listWrapper .list, .overflowWrapper > * { min-width: 112rem; }
	main .listWrapper h3 { position: sticky; left: 0; }

	@media (max-width:1023px) {

		@media (max-width:512px) {
			header{ height:60px; }
			aside { position: fixed; width: 100%; height: 100vh; top:60px;}
			.sideMenu{ left:-100%; }
			aside.show{left:0;}
			aside{width:28rem;}
			aside .list span{visibility:visible;}
			aside h1 div.logo_sm{display:none;}
			aside h1 div.logo_lg{display:block;}
			
			main { width:100%; margin-top:0; padding:16rem 5% 8rem; }
			main .box{ padding: 2.5rem 2.0rem; }
			main h2{ font-size:2.4rem; }
			main h3{ font-size:2.0rem; margin-bottom:1.0rem;}
			main .tab{ gap:1.0rem; justify-content:space-between;}
			main .tab a{ width:calc((100% - 2.0rem)/3); font-size:1.4rem; display:grid; height:6.0rem; border-radius:5px; grid-auto-flow: inherit;}
			main .tab a svg{ margin-right:0; margin-bottom:6px;}
			
			main .list .listItem .dropdownInner a{ width:100%; height:6.4rem; }
		}
	}
}


@media print {
	.scrollFade, section { opacity: 1; }
	header .header-wrapper nav { display: none!important; }
}

/* development */
html { margin: 0!important; }
#wpadminbar,
li#wp-admin-bar-autoptimize,
li#wp-admin-bar-monsterinsights_frontend_button {
	display: none!important;
}