@charset "utf-8";
html{
    scroll-behavior: smooth;
}
body {
	height: 100%;
	width: 100%;
	margin: 0px;
	padding: 0px;
	//color: rgba(51,51,51,1);
	font-size: 1em;
	background-color: rgba(255,255,255,1);
}
.pleft {
	text-align: left;
}
.bgwhite {
	background-color: rgba(255,255,255,1);
}
.gra1 {
    position: relative;
	width:100%;
}
ul li {
	list-style-type: circle;
}
.wktrans {
	opacity:0.4;
}
.gra1::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
	//background: rgb(0,0,0);
//background: linear-gradient(180deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.5) 5%, rgba(255,255,255,1) 100%);
    
	//background: linear-gradient(180deg, #000 0%, transparent 30%,transparent);
	
	background: linear-gradient(135deg, rgba(0,0,0,0.7) 0%, transparent 40%,transparent);
	
}
.wholewidth {
	width: 100%;
	//background-color:rgba(255,255,255,1);
	position: relative;
	//z-index: -10;
	margin:0px;
	padding:0px;
}
.vlongzone {
	height: 90VH;
	display: grid;
  justify-items: center;
  align-items: center;
}
section {
	margin: 0px;
	padding: 0px;
}
nav {
	position: absolute;
	top: 0px;
	margin: 0px;
	padding: 0px;
	width: 100%;
}
.backblask {
	background-color: #000000;
}
img {
	display:block;
}
.logotitle {
	position: absolute;
	left: 20px;
	top: 20px;
	width: 160px;
	z-index: 100;
}
.mgcenter {
	width: 100%;
	height: auto;
	display: grid;
  justify-items: center;
  align-items: center;
}
.txt100 {
	display: block;
	width: 80%;
	margin-right: auto;
	margin-left: auto;
}
/* circletext start */
.circletext {
	display: grid;
	justify-items: center;
	align-items: center;
	margin-right: auto;
	margin-left: auto;
	width: 280px;
	height: 280px;
	position: relative;
	margin-top: 0px;
	margin-bottom: 60px;
   
}
.circletext h2 {
position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
}
.circletext img {
	width: 100%;
	animation: loading_circleleft 20s linear infinite;
}

/* circletext endf */

/* Loading Circle start */

.loading_circle0 {
	display: grid;
	justify-items: center;
	align-items: center;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	border: solid 1px rgb(120, 120, 120);
	position: relative;
	margin-right: auto;
	margin-left: auto;
	font-size: 1.2em;
	//color: #48A055;
	margin-top: 40px;
}
.loading_circle0::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: -3px;
    left: -3px;
    border-radius: 50%;
    border: solid 3px rgb(160, 240, 160);
	
	clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
    animation: loading_circle 15s linear infinite;
	
	/*
	-webkit-filter:blur(2px);
    -moz-filter:blur(2px);
    -ms-filter:blur(2px);
    filter:blur(2px);
	*/
	
}
.loading_circleb {
	display: grid;
	justify-items: center;
	align-items: center;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	border: solid 2px rgb(120, 120, 120);
	position: relative;
	margin-right: auto;
	margin-left: auto;
	font-size: 1.2em;
	color: #000;
	margin-top: 40px;
}
.loading_circleb::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: -3px;
    left: -3px;
    border-radius: 50%;
    border: solid 3px rgb(0, 0, 0);
	
	clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
    animation: loading_circle 10s linear infinite;
}

@keyframes loading_circle {
    to {
        transform: rotate(360deg);
    }
}
@keyframes loading_circleleft {
    to {
        transform: rotate(-360deg);
    }
}



/* Loading Circle end */
.mgyoko, .mgtate {
	padding: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 10px;
	margin-left: auto;
	width: 100%;
}
.mgtate {
	width: 45%;
}
.underl1 {
	border-bottom: 3px solid #000;
	display: inline-block;
	padding-bottom: 6px;
}
.dpshadow {
	filter:drop-shadow(1px 1px 0px #fff);
	//mix-blend-mode: difference;
	//mix-blend-mode: overlay;
}
.sq1 {
	height: 10px;
	width: 10px;
	background-color: #000000;
	margin-right: auto;
	margin-left: auto;
	transform:rotate(45deg);
	margin-bottom: 40px;
	margin-top: 20px;
	padding-top: 0px;
}
.toplogo {
	width: 100%;
	height: 100VH;
			
	background-color: rgba(89,87,87,0.9);
	display: flex;
  justify-content: center;
  align-items: center;
}
/* グラデーション移動による背景アニメ start */
.toplogo2 {
	width: 100%;
	height: 100VH;
	display: flex;
  justify-content: center;
  align-items: center;
  
  
  
  background:linear-gradient(217deg, rgba(255,40,0,1), rgba(255,200,0,0) 70.71%),
      linear-gradient(127deg, rgba(0,255,0,1), rgba(0,255,0,0) 70.71%),
      linear-gradient(336deg, rgba(250,230,0,1), rgba(0,230,255,0) 70.71%);
	  
	  background-size: 200% 200%;/*サイズを大きくひきのばす*/
  animation: bggradient 20s ease infinite;
}
@keyframes bggradient{
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
/* グラデーション移動による背景アニメ end */
/* グラデーションgeneratorによる背景アニメ start */
.toplogo3 {
	width: 100%;
	height: 100VH;
	display: flex;
  justify-content: center;
  align-items: center;

  background: linear-gradient(146deg, #fbe215, #f21c8c, #638cf0, #8ad77e);
    background-size: 800% 800%;

    -webkit-animation: bgrotten 11s ease infinite;
    -moz-animation: bgrotten 11s ease infinite;
    animation: bgrotten 11s ease infinite;
}
@-webkit-keyframes bgrotten {
    0%{background-position:0% 43%}
    50%{background-position:100% 58%}
    100%{background-position:0% 43%}
}
@-moz-keyframes bgrotten {
    0%{background-position:0% 43%}
    50%{background-position:100% 58%}
    100%{background-position:0% 43%}
}
@keyframes bgrotten {
    0%{background-position:0% 43%}
    50%{background-position:100% 58%}
    100%{background-position:0% 43%}
}
/* グラデーションgeneratorによる背景アニメ end */


.toplogomg2 {
	width: 40VW;
	max-width: 440px;
	filter: drop-shadow(10px 10px 10px rgba(0,0,0,0.9));
	
	//opacity: 0.9;
	
	//mix-blend-mode : screen;
}
.toplogomg2mb {
	width: 60VW;
	//max-width: 440px;
	filter: drop-shadow(10px 10px 10px rgba(0,0,0,0.9));
	
	//opacity: 0.9;
	
	//mix-blend-mode : screen;
}
.stickyNote1 {
	width:240px;
	padding:15px;
	margin: 15px;
	//word-break:break-all;
	color:#333;
	box-shadow:0px 2px 4px rgba(0,0,0,0.1);
	
	text-align: center;
	font-size: 0.8em;
	transition: .3s;
	transform:rotate(0deg);
}
.stickyNote1:hover {
	box-shadow: 0 3px 3px rgba(60, 60, 60, 0.28);
	transform:rotate(-15deg);
	}
.stickyNote2 {
	width:240px;
	padding:15px;
	margin: 15px;
	color:#333;
	//box-shadow:0px 2px 4px rgba(0,0,0,0.1);
	text-align: center;
	font-size: 0.8em;
	transition: .3s;
	transform:rotate(0deg);
	background-color: rgba(255,255,255,1);
	font-family: 'Noto Serif JP', serif;
}
.stickyNote2:hover {
	box-shadow: 0 3px 3px rgba(60, 60, 60, 0.28);
	transform:rotate(-15deg);
	}
summary {
	cursor: pointer;
	outline: none;
	border-bottom-width: thin;
	border-bottom-style: solid;
	border-bottom-color: rgba(204,204,204,1);
}
.dl1 {
	border-bottom-width: thin;
	border-bottom-style: dashed;
	border-bottom-color: #CCC;
}
details {
	margin-bottom: 5px;
	padding: 2em;
}
details[open] {
	background-color: #EEE;
	padding: 2em;
}
a {
	text-decoration: none;
	color: #000000;
}
.pcenter {
	text-align: center;
}
.psmall {
	font-size: 80%;
}
.bgglay {
	background-color: rgba(226,226,226,1);
}
.upper80 {
	margin-top: 80px;
}
.upper40 {
	margin-top: 40px;
}
.upper20 {
	margin-top: 20px;
}
.wtext {
	color: rgba(255,255,255,0.8);
}
.titletext {
	color: rgba(255,255,255,1);
	text-align: center;
	text-shadow: 2px 2px 4px rgba(102,102,102,1);
}
/* Loader */
#loader-bg {
    background: #fff;
    height: 100%;
    width: 100%;
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 10;
}
#loader-bg img {	
    background: #fff;
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 10;
}



.dropshadow1 {
	box-shadow: 0px 3px 3px 3px #DDDDDD;
}
.alllink {
	display: block;
	color: rgba(51,51,51,1);
}
.articleheader {
	margin: 0px;
	width: 96%;
	display: block;
	padding-top: 0px;
	padding-right: 2%;
	padding-bottom: 0px;
	padding-left: 2%;
}

.down80 {
	padding-bottom: 80px;
}
.down40 {
	padding-bottom: 40px;
}
.down20 {
	padding-bottom: 20px;
}
.topslider {
	position: relative;
	text-align: center;
	overflow: hidden;
}
.speechBubble {
  position: relative;
  display: inline-block;
  margin-right: 16px;
  padding: 16px;
  border-radius: 12px;
  background-color: #9bee8c;
  text-align: left;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #000000;
}

.speechBubble::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  border-style: solid;
  border-width: 8px 0 8px 16px;
  border-color: transparent transparent transparent #9bee8c;
  translate: 100% -50%;
}

.balloon-008 {
	display: flex;
	align-items: center;
	position: relative;

    //max-width: 300px;
	margin-left: 15px;
	padding: 5px 1em;
	border: 3px solid #2589d0;
	border-radius: 5px;
	background-color: #fff;
	color: #333333;
}

.balloon-008::before,
.balloon-008::after {
    position: absolute;
    left: -15px;
    width: 15px;
    height: 30px;
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
    content: '';
}

.balloon-008::before {
    background-color: #2589d0;
}

.balloon-008::after {
    left: -11px;
    background-color: #fff;
}



#no02 a{ background:#111; }
#no03 a{ background:#203aad; }
#no02 img:hover,
#no03 img:hover{
	opacity:0.5;
	transition:0.3s;
}
#no07 a{ margin-top:20px; }
#no07 img{
	position:relative;
	top:0;
}
#no07 img:hover{
	top:-10px;
	transition:0.3s;
}
