@charset "UTF-8";
@import url("layer.css");
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:500');
	body {
		margin: 0;
		font-family: "Noto Sans JP",sans-serif;
		box-sizing: border-box;
		}
	img {
		width: 100%;
		}
	ul , ol {
		}
	.grid_nav ul li , .side_bn ul li {
		list-style: none;
		}
	hr {
		border: 2px;
		border-bottom-style: dashed;
		border-color: rgba(0, 0, 0, 0.34);
		margin-top: 20px;
		
		}
	.top-gr-h2 {
		font-size: 180%;
		}
	.under-h2 {
		font-size: 140%;
		color: rgba(40,  40,  40, 0.87);
		}
	.under-h2-mg-b0 {
		font-size: 140%;
		color: rgba(40,  40,  40, 0.87);
		margin-bottom: 0;
		}
	.plicy-h3 {
		margin-top: 30px;
		margin-bottom: 0;
		font-weight: 100;
		color: rgba(40,  40,  40, 0.87);
		}
	.underlayer-h3 {
		margin-top: 30px;
		margin-bottom: 0;
		font-weight: 100;
		color: rgba(40,  40,  40, 0.87);
		}
	.margin0 {
		margin: 0;
		}
	.margin40 {
		margin-top: 50px;
		}
	.grid-h1 {
		}
	.grid_h2 a {
		text-decoration: none;
		color: black;
		}
	.h2-top {
		margin-top: 0;
		padding-top: 0;
		align-self: start;
		}
	.h2-small {
		font-size: 120%;
		}
	
	.underlayer h3 {
        position: relative;
        padding: 0.25em 0;
        font-weight: 100;
        margin: 25px 0 10px;
        }	
    .underlayer h3:after {
	    content: "";
	    display: block;
	    height: 4px;
	    background: -webkit-linear-gradient(to right, transparent, #a9b4ff, 0%);
	    background: linear-gradient(to right, #a9b4ff, transparent);
	    }
	.underlayer ul li , .underlayer ol li {
		margin-top: 10px;
		margin-bottom: 10px;
		color: rgba(40,  40,  40, 0.87);
		}
		
  
	sub {
		font-size: 65%;
		font-weight: 100;
		margin-left: 20px;
		vertical-align: middle;
		}
	section p a {
		text-decoration: none;
		color: #fe2f91;
		}
	section p a:hover {
		color: rgba(40,  40,  40, 0.87);
		}
	.bold {
		font-weight: 600;
		}
	.p-margin {
		margin-top: 30px;
		}
	.txt-red {
		color: #fe0400;
		}
	.grid_nav h2 {
		font-size: 130%;
		color: #212121;/*文字色*/
		padding: 0.5em 0;/*上下の余白*/
		border-top: solid 3px #0096ff;/*上線*/
		border-bottom: solid 3px #0096ff;/*下線*/
    	}
	aside a img {
		opacity: 1;
		transition: 0.3s;
		}
	aside a:hover img {
		opacity: .6;
		}
	.grid_nav {
		margin-left: 0;
		padding-left: 0;
		}
	.side_bn ul {
		margin-top: 0;
		margin-left: 0;
		padding-left: 0;
		}
	.side_bn ul li {
		margin-bottom: 15px;
		}
	.grid_nav ul {
		font-size: 16px;
		padding-left: 15px;
		}
	.grid_nav ul li {
		padding-bottom: 15px;
		}
	.grid_nav ul li a {
		position: relative;
		display: inline-block;
		transition: .3s;
		color: black;
		text-decoration: none;
	}
	.grid_nav ul li a:hover {
		color: #ff7eba;
		}
	.grid_nav ul li a::after {
		position: absolute;
		bottom: 0;
		left: 0;
		content: '';
		width: 0;
		height: 1px;
		background-color: #ffacd3;
		transition: .3s;
	}
	.grid_nav ul li a:hover::after {
	  width: 100%;
	}
	.nav-01 {
		padding-left: 20px;
		}
	.nav-02 {
		padding-left: 40px;
		}
	.calendar {
		margin-top: 20px;
		padding-top: 20px;
		}
	footer {
		border-top-style: solid;
		border-top-width: 2px;
		border-color: rgba(0, 0, 0, 0.34);
		}
	footer ul {
		display: grid;
		grid-auto-flow: column;
		justify-content: center;
		grid-column-gap: 25px;
		font-size: 110%;
		color: rgba(40,  40,  40, 0.87);
		margin-bottom: 5px;
		}
	footer ul li a {
		color: rgba(40,  40,  40, 0.87);
	}
	footer ul li a:hover {
		color: blue;
		}
	footer .copy {
		font-size: 140%;
		color: rgba(40,  40,  40, 0.87);
		text-align: center;
		}
	.copy a {
		color: rgba(40,  40,  40, 0.87);
		text-decoration: none;
		}
	.h2-ranking:first-letter {
        font-size: 2em;
        color: #fe2f91;
        margin-right: 15px;
    }
    .h2-ranking a {
	    text-decoration: none;
	    color: black;
	    }
	/* page top */
	#pageTop {
	    position: fixed;
		bottom: 20px;
		right: 20px;
	}
	 
	#pageTop i {
	    padding-top: 0;
	}
	#pageTop a {  
	    display: block;
	}
	 
	#pageTop a:hover {
	    text-decoration: none;
	    opacity: 0.7;
	}
.flow-h2 {
	    margin: 0 0 5px 0;
	}
.flow { 
	    border-radius: 30px;        /* CSS3草案 */  
	    -webkit-border-radius: 30px;    /* Safari,Google Chrome用 */  
	    -moz-border-radius: 30px;   /* Firefox用 */  
	    background-color: #feffe5;
	    border:solid 5px;
	    border-color:#000072;
	    margin: 20px 0 20px 0;
	    padding: 20px;
}
@media screen and (min-width: 1000px) {
	section p {
		font-size: 120%;
		color: rgba(40,  40,  40, 0.87);
		font-weight: 400;
		text-align: justify;
		margin: 0;
		line-height: 1.6em;
		}
	.underlayer h2 {
		margin-top: 50px;
		padding-left: 10px;
		font-weight: 100;
		background: linear-gradient(transparent 70%, #ffacd3 70%);
		}
	.img-sy {
		margin: 10px;
		}
}
@media screen and (max-width: 768px) {
	section p {
		}
	sub {
		margin-left: 0;
		}
	/* page top */
	#pageTop {
	    position: fixed;
		bottom: 0px;
		right: 5px;
	}
}

