@charset "utf-8";

@import url(reset.css);
@import url(normalize.css);
@import url(animation.css);

@import url("https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;500&display=swap");

/*-----------------------------
	初期設定
------------------------------*/

html,body {
	width: 100%;
	font-family: 'Ubuntu', "Yu Gothic Medium", "Yu Gothic", sans-serif;
	font-weight: 300;
	font-style: normal;
	background-color: #fff;
	margin: 0 auto;
	word-wrap: break-word;
	overflow-wrap: break-word;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body {
	height: 100%;
}

*/
* {
    margin:0;
    padding:0;
}
* {
    min-width: 0;
    min-height: 0;
}
a,
a:active,
a:visited,
a:focus  {
	color: #000;
	text-decoration: underline;
	outline: none;
	transition: all .3s;
}
a:hover {
	color: #000;
	opacity:0.8;
	transition: all .3s;
}

::selection,
::-moz-selection {
	color: #fff;
	background: #000;
}
img,
img a {
	border: none;
}

ul {
	margin: 0px;
	padding: 0px;
	list-style: none;
}
li {
	margin: 0px;
	padding: 0px;
	list-style: none;
	font-size: 14px;
}
h1 {
	font-size: 40px;
}

h1,h2,h3,h4,p,li {
	font-family: font-family: 'Ubuntu', "Yu Gothic Medium", "Yu Gothic", sans-serif;
	font-weight: 300;
	color: #000;
}

#bg,
#bg02 {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	height: 100dvh;
}
#bg {
	background: url('../images/logo.png') center center no-repeat;
}

#bg02 {
	content: '';
	display: block;
	min-height: 600px;
	background-color: rgba(255, 255, 255, 0.5);
	background-image: radial-gradient(#eee 30%, transparent 31%), radial-gradient(#eee 30%, transparent 31%);
	background-size: 2px 2px;
	background-position: 0 0, 1px 1px;
}


@media screen and (max-width: 700px)
{
#bg {
	background-size: contain;
}
}

@media screen and (max-height: 440px)
{
#bg {
	background-size: contain;
}
}


/* ダークモード */

@media (prefers-color-scheme: dark) {
	
html,body {
	background-color: #000;
}
a,
a:active,
a:visited,
a:focus  {
	color: #fff;
}
a:hover {
	color: #fff;
}

::selection,
::-moz-selection {
	color: #000;
	background: #fff;
}

h1,h2,h3,h4,p,li {
	color: #fff;
}
	
#bg {
	background: url('../images/logo.png') center center no-repeat;
}
#bg02 {
	content: '';
	display: block;
	min-height: 600px;
	background-color: rgba(0,0,0,0.5);
	background-image: radial-gradient(#111 30%, transparent 31%), radial-gradient(#111 30%, transparent 31%);
	background-size: 2px 2px;
	background-position: 0 0, 1px 1px;
}


@media screen and (max-width: 700px)
{
#bg {
	background-size: contain;
}
}

@media screen and (max-height: 440px)
{
#bg {
	background-size: contain;
}
}

}


#contents {
	position: relative;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 95%;
	height: 100vh;
	height: 100dvh;
	min-height: 600px;
	margin: 0 auto;
}

#header {
	position: relative;
	top: 50px;
	width: 100%;
}

.head_logo {
	width: 100%;
	text-align: center;
	letter-spacing: .1em;
}
.head_logo a,
.head_logo a:hover,
.head_logo a:active,
.head_logo a:visited,
.head_logo a:focus {
	text-decoration: none;
}
.head_logo span {
	font-weight: 500;
}


#main {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 3vh;
}
#main a {
	font-size: max(3vh,24px);
}

#footer {
	width: 100%;
	margin-bottom: 20px;
	text-align: center;
}
#footer p {
	font-size: 12px;
}