@charset "UTF-8";
/* CSS Document */

html,
html * {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	scroll-padding-top: 120px;
}

body {
    font-family: sans-serif;
	background: -webkit-linear-gradient(#000000, #696969);
	background: -o-linear-gradient(#000000, #696969);
	background: linear-gradient(#000000, #696969);
	color: white;
}

header {
	position: sticky;
	width: 100%;
	height: 120px;
	top: 0px;
	padding: 0.5em 1.5em 0.5em 1.5em;
	background-color: black;
}

.top-logo {
	width: 150px;
	height: 110px;
}

ul.site-nav {
	float: right;
}

.site-nav {
	list-style: none;
	margin-top: 1em;
	margin-left: 0.5em;
	margin-right: 0.5em;
	float: left;
}

a.site-nav:link {
	color: white;
	text-decoration: none;
}
a.site-nav:visited {
	color: white;
	text-decoration: none;
}
a.site-nav:hover {
	color: white;
	text-decoration: none;
}
a.site-nav:active {
	color: white;
	text-decoration: none;
}

.title-img {
	width: 100%;
	background-size: cover;
	height: 0;
	padding-top: calc(4000/6000*100%);         
    background-position: center;
	background-image: url("images/title-plus.jpeg");
	position: relative;
	z-index: -1;　
}

.title-h1 {
	position: absolute;
    top: 0;
    left: 0;
	font-size: 6.5em;
	padding: 200px;
	color: aliceblue;
}

.title-h2 {
	position: absolute;
    top: 0;
    left: 0;
	font-size: 2em;
	padding: 350px 100px 100px 150px;
	color: aliceblue;
}

.about {
	font-size: 1.1em;
	letter-spacing: 0.2em;
	line-height: 1.5em;
	margin-top: 3em;
	margin-left: 3em;
	margin-right: 3em;
	margin-bottom: 3em;
}

.news-frame {
	color: black;
	font-size: 1.2em;
	letter-spacing: 0.2em;
	line-height: 1.5em;
	margin-top: 1em;
	margin-left: 3em;
	margin-bottom: 2em;
	padding: 0.1em;
}

.news-h2 {
	font-size: 1.5em;
	letter-spacing: 0.2em;
	line-height: 1.5em;
	margin-top: 1em;
	margin-left: 3em;
	margin-right: 2em;
	margin-bottom: 1em;
	color: white;
}

a.news:link {
	color: white;
	text-decoration: none;
}
a.news:visited {
	color: white;
	text-decoration: none;
}
a.news:hover {
	color: white;
	text-decoration: none;
}
a.news:active {
	color: white;
	text-decoration: none;
}

.dsjp-img {
	margin: 3.0em;
	background-image: url("images/database.jpeg");
	background-size: cover;
}

.dsjp-text {
	width: 53%;
	color: black;
	font-size: 1.2em;
	letter-spacing: 0.2em;
	line-height: 1.5em;
	margin-top: 1em;
	margin-left: 2em;
	margin-right: 2em;
	margin-bottom: 2em;
	padding: 0.1em;
}

.dsjp-h2 {
	font-size: 1.5em;
	letter-spacing: 0.2em;
	line-height: 1.5em;
	margin-top: 0.5em;
	margin-left: 1em;
	margin-right: 2em;
	margin-bottom: 1em;
}

.dsjp-logo {
	text-align: center;
}

.dsjp-link {
	width: 55%;
	padding-bottom: 1em;
}

.sns-img {
	margin: 3.0em;
	background-image: url("images/sns.jpeg");
	background-size: cover;
}

.sns-text {
	width: 49%;
	font-size: 1.2em;
	letter-spacing: 0.2em;
	line-height: 1.5em;
	margin-top: 1em;
	margin-left: 2em;
	margin-right: 2em;
	margin-bottom: 2em;
	padding: 0.1em;
}

.sns-h2 {
	font-size: 1.5em;
	letter-spacing: 0.2em;
	line-height: 1.5em;
	margin-top: 0.5em;
	margin-left: 1em;
	margin-right: 2em;
	margin-bottom: 1em;
}

.twitter {
	padding-left: 1.0em;
	padding-right: 1.0em;
	display: flex;
	padding-bottom: 2em;
}

.astas-tw {
	margin: 0.2em;
}

.astas-img {
	width: 120px;
}

.dsjp-tw {
	margin: 0.2em;
}

.dsjp_tw-img {
	width: 120px;
}

.dsjpi-tw {
	margin: 0.2em;
}

.dsjpi-img {
	width: 120px;
}

.spacer {
	width: 100%;
}

.his-img {
	margin: 3.0em;
	background-image: url("images/history.jpeg");
	background-size: cover;
}

.his-text {
	width: 50%;
	font-size: 1.2em;
	letter-spacing: 0.2em;
	line-height: 1.5em;
	margin-top: 1em;
	margin-left: 2em;
	margin-right: 2em;
	margin-bottom: 2em;
	padding: 0.1em;
	padding-bottom: 2em;
}

.his-h2 {
	font-size: 1.5em;
	letter-spacing: 0.2em;
	line-height: 1.5em;
	margin-top: 0.5em;
	margin-left: 1em;
	margin-right: 2em;
	margin-bottom: 1em;
}

.his-tw{
	display: flex;
	padding: 0.8em;
}

ul.thx {
	margin-left: 1.5em;
}

.req {
	margin: 3.0em;
}

.req-text {
	width: 80%;
	font-size: 1.2em;
	letter-spacing: 0.3em;
	line-height: 1.7em;
	margin-top: 1em;
	margin-left: 2em;
	margin-right: 2em;
	margin-bottom: 2em;
}

.req-h2 {
	font-size: 1.5em;
	letter-spacing: 0.2em;
	line-height: 1.5em;
	margin-top: 1em;
	margin-left: 1em;
	margin-right: 2em;
	margin-bottom: 1em;
}

ul.req {
	margin-left: 3em;
}

a.req-link:link {
	color: white;
	text-decoration: none;
}
a.req-link:visited {
	color: white;
	text-decoration: none;
}
a.req-link:hover {
	color: white;
	text-decoration: none;
}
a.req-link:active {
	color: white;
	text-decoration: none;
}

.mem-text {
	width: 60%;
	font-size: 1.2em;
	letter-spacing: 0.3em;
	line-height: 1.7em;
	margin-top: 1em;
	margin-left: 2em;
	margin-right: 2em;
	margin-bottom: 2em;
	padding: 0.3em;
	padding-bottom: 1em;
}

.mem-h2 {
	font-size: 1.5em;
	letter-spacing: 0.2em;
	line-height: 1.5em;
	margin-top: 1em;
	margin-left: 1em;
	margin-right: 2em;
	margin-bottom: 1em;
}

.twitter-mem {
	margin-left: 5.0em;
	padding-right: 1.0em;
	display: flex;
	padding-bottom: 2em;
}

.nochika-tw {
	margin: 1.5em;
}

.nochika-img {
	width: 120px;
}

.penguin-tw {
	margin: 1.5em;
}

.penguin-img {
	width: 120px;
}

.take-tw {
	margin: 1.5em;
}

.take-img {
	width: 120px;
}

footer {
	background-color: black;
	width: 100%;
	height: 80px;
	top: 0px;
	padding: 0.5em 1.5em 0.5em 1.5em;
	display: flex;
}

.bottom-text {
	margin-top: 1em;
}

a.bottom-link:link {
	color: white;
	text-decoration: none;
}
a.bottom-link:visited {
	color: white;
	text-decoration: none;
}
a.bottom-link:hover {
	color: white;
	text-decoration: none;
}
a.bottom-link:active {
	color: white;
	text-decoration: none;
}


/* pop up */
.modal_wrap input {
	display: none;
}

.modal_overlay {
	display: flex;
	justify-content: center;
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	opacity: 0;
	transition: opacity 0.5s, transform 0s 0.5s;
	transform: scale(0);
}

.modal_trigger {
	position: absolute;
	width: 100%;
	height: 100%;
}

.modal_content {
	align-self: center;
	width: 60%;
	padding: 30px 30px 15px;
	box-sizing: border-box;
	background: #fff;
	line-height: 1.4em;
	transition: 0.5s;
}

.modal_content p {
	padding-top: 0;
}

.close_button {
	position: absolute;
	top: 14px;
	right: 16px;
	font-size: 24px;
	cursor: pointer;
}

.modal_wrap input:checked ~ .modal_overlay {
	opacity: 1;
	transform: scale(1);
	transition: opacity 0.5s;
}

.modal_wrap input:checked ~ .modal_overlay .modal_content {
	transform: translateY(20px);
}

.open_button {
	color: #4f96f6;
	background-color: #eeeeee;
	font-weight: bold;
	text-align: center;
	cursor : pointer;
	transition: all 0.3s;
	display: block;
	margin-top: 40px;
	margin-bottom: 1px;
	padding: 12px 2px;
	max-width: 300px;
	text-decoration: none;
}

.open-button:active {
  /*ボタンを押したとき*/
	-webkit-transform: translateY(2px);
	transform: translateY(2px);/*下に動く*/

}

/*アイコンを表示*/
.open-button:after {
	font-family: "Font Awesome 5 Free";
	content: "\f2d0";
	padding-left: 8px;
}

/*ラベルホバー時*/
.open-button:hover {
	color: #FFFFFF;
	background-color: #4f96f6;
	transition: .6s;
}

.modal_title2 {
	font-size: 1.5em;
	position: relative;
	overflow: hidden;
	padding-bottom: 10px;
	margin-top: 0;
	margin-bottom: 0;
	color: black;
}

.modal_title2::before,
.modal_title2::after{
	content: "";
	position: absolute;
	bottom: 0;
}

/* h2 プライマリカラー*/
.modal_title2:before{
	border-bottom: 4px solid #6bb6ff;
	width: 100%;
}
/* h2 セカンダリカラー*/
.modal_title2:after{
	border-bottom: 4px solid #c8e4ff;
	width: 100%;
}
/* pop up */