html { scroll-behavior: smooth }
body {
	background-image: none;
	padding: 0;
	margin: 0;
	height: 100%;
	-webkit-text-size-adjust: none;
	min-width: initial;
}
#TOP { padding-top: 100px; margin-top: -100px }
.dragonsLogoH { fill:#FFF }
.navHeader { height:100px; padding-top:15px; box-sizing:border-box; position:fixed; width:100%; z-index:100 }
.navHeader .dLogo { width:162px; margin:auto }

/* header */
div.spHeader { min-width:1000px }
div.spHeader > h1 {
	background-repeat:no-repeat;
	background-position: center top;
	background-size: cover;
	text-indent: -99999px;
	overflow: hidden;
	height: 56.25vw;
	margin: 100px auto 0;
	text-align: center;
}

/* contents */
main { padding-bottom: 100px; overflow: hidden }
section { position: relative }
.content { margin: 0 auto; max-width: 1000px; line-height: 1.6 }
.social-btn { margin:0 }
.topToFix { margin-right: 0; right:0 }

/* NEWS */
#news ul { list-style: none; margin: 0; padding: 0 }
#news ul li { padding: 10px }
#news ul li a:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: inline-block;
	width: 23px;
}

/*表示*/
.dspPC { display: block }
.dspTAB { display: none }
.dspSP { display: none }
.dspNoSP { display:block }

/*
==================================================
～1040
==================================================
*/
@media screen and ( max-width:1040px) {
	.navHeader { height:80px; padding-top:15px }
	.navHeader .dLogo { width:130px; margin:auto }
	/* header */
	div.spHeader { min-width:initial }
	div.spHeader > h1 { margin-top: 80px }
	.content { padding: 10px }
	footer { min-width: initial }
	footer .footerWrap { width: auto; padding:20px 0 }
	footer .footerWrap > .flexBox { display:block; margin-bottom:0!important }
	footer .footerWrap > .flexBox > div { margin-bottom:10px }
	footer .footLink ul { display: none }
	footer .footLink { border-top: none }
	/*表示*/
  .dspPC { display: none }
  .dspSP { display: block }
  .dspNoSP { display: none }
  .flexBox.noFlex { display: block }
/*671～1039 END*/
}
/*
==================================================
～670
==================================================
*/
@media screen and ( max-width:670px ){
	/* header */
	div.spHeader { min-width:initial }
	/* contents */
	.content { padding: 10px }
	.topToFix { width:35px; height:35px }
	.topToFix a { width:25px; height:25px }
	.topToFix img { width:25px; vertical-align:sub }
	/*表示*/
  .dspPC { display: none }
  .dspSP { display: block }
  .dspNoSP { display:none }
  .flexBox.spNoFlex { display: block }
/*～670 END*/
}


/*==================================================
余白
==================================================*/
.mg1e   { margin:        min(4vw,1em)!important }
.mgT05e { margin-top:    min(3.5vw,0.5em)!important }
.mgT1e  { margin-top:    min(4vw,1em)!important }
.mgT2e  { margin-top:    min(5.5vw,2em)!important }
.mgT3e  { margin-top:    min(6vw,3em)!important }
.mgB05e { margin-bottom: min(3.5vw,0.5em)!important }
.mgB1e  { margin-bottom: min(4vw,1em)!important }
.mgB15e { margin-bottom: min(5vw,1.5em)!important }
.mgB2e  { margin-bottom: min(5.5vw,2em)!important }
.mgB25e { margin-bottom: min(4.5vw,2.5em)!important }
.mgB3e  { margin-bottom: min(6vw,3em)!important }
.pd1e   { padding:       min(4vw,1em)!important }
.pd025e { padding:       min(1vw,0.25em)!important }
.pd05e  { padding:       min(3.5vw,0.5em)!important }
.pdT05e { padding-top:   min(3.5vw,0.5em)!important }
.pdT2e  { padding-top:   min(5.5vw,2em)!important }
.pdB05e { padding-bottom:min(3.5vw,0.5em)!important }
.pdB3e  { padding-bottom:min(6vw,3em)!important }