@charset "UTF-8";
html {
	font-size: 14px;
}
@media screen and (min-width: 1100px) {
	html {
		font-size: 16px;
	}
}
html * {
	box-sizing: border-box;
}
body {
	margin: 0;
	font-family: sans-serif;
}
@media screen and (min-width: 1100px) {
	body {
	margin: 0 100px 0 100px;
	font-family: sans-serif;
}
}
a {
  text-decoration: none;
}
a[href$=".pdf"]::after{
	margin-left: 5px;
	content: url(../images/PDF.png);
	position: relative;
	bottom: -3px;
}
a[target="_blank1"]::after{
	content: url(../images/link.png);
	margin-left: 5px;
	position: relative;
	bottom: -1px;
}
a[target="_video"]::after{
	content: url(../images/video.png);
	margin-left: 5px;
	position: relative;
	bottom: -5px;
}
/* ヘッダー */
.header-container{
	margin: 5px 50px 5px 5px;
}
.keyvisual{
	width: auto;
	height: 45px;
}
@media screen and (min-width: 1100px) {
	/* ヘッダー */
	.header-container {
		margin: 5px 100px 5px 5px;
	}
	.keyvisual{
		width: 70%;
		height: auto;
	}
}
.blinking{ 
    -webkit-animation:blink 1.5s ease-in-out infinite alternate; 
    -moz-animation:blink 1.5s ease-in-out infinite alternate; 
    animation:blink 1.5s ease-in-out infinite alternate; 
} 
@-webkit-keyframes blink{ 
    0% {opacity:0;} 
    100% {opacity:1;}  
} 
@-moz-keyframes blink{ 
    0% {opacity:0;} 
    100% {opacity:1;} 
} 
@keyframes blink{ 
    0% {opacity:0;} 
    100% {opacity:1;} 
}
.header-navbtn {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 30;
	width: 62px;
	height: 62px;
	background-image: url(../images/navbtn.png);
	background-size: 62px 62px;
}
@media screen and (min-width: 1100px) {
	.header-navbtn {
		display: none;
	}
}

/* ナビゲーション */
nav {
	font-size: 1rem;
	background: #fff;
}
@media screen and (min-width: 1100px) {
	nav {
		font-size: 1rem;
	}
}
.nav-container {
	position: absolute;
	top: 62px;
	right: 0;
	z-index: 20;
	margin: 0;
	padding: 0;
	width: 300px;
	background: #eeeeee;
	box-shadow: 0px 5px 5px  rgba(0,0,0,0.4);
}
.globalnav {
	list-style: none;
	margin: 0;
	padding: 0;
}
.globalnav li a {
	display: block;
	padding: 15px 20px;
	border-bottom: 1px solid #fff;
	text-decoration: none;
	line-height: 100%;
	color: #000000;
    font-size: 15px;
}
.globalnav li a:hover,
.globalnav li a.current {
	background: #ffefff;
	color: deeppink;
}
@media screen and (min-width: 1100px) {
    .sidebar {
    position: absolute;
    width: 300px;
    height: 100%;
}
	.nav-container {
		position: relative;
		top: 0;
		left: 0;
		padding: 20px 20px 0 20px;
		width: 100%;
		background: none;
		box-shadow: none;
	}
	.globalnav {
		overflow: hidden;
	}
	.globalnav li a {
		padding: 8px 0;
		border-bottom: 3px solid #adff2f;
		text-align: center;
	}
	.globalnav li a:hover,
	.globalnav li a.current {
		border-bottom: 5px solid #eeeeee;
	}
}
.contents{
	position: relative;
}
.absolute{
	position: absolute;
    left: 20px; 
	top: calc(10% - 15px);
    font-size:80%;
	text-align:left;
	line-height:10px;
	font-weight:bolder;
	color: white;
	text-shadow: 
		0 0 0.05em green,
		0 0 0.06em green,
		0 0 0.07em green,
		0 0 0.08em green,
		0 0 0.09em green,
		0 0 0.20em green,
		0 0 0.20em green,
		0 0 0.20em green,
		0 0 0.50em green;
}
@media screen and (min-width: 1100px) {
.contents{
	position: relative;
}
.absolute{
	position: absolute;
    left: 20px; 
	top: calc(10% - 15px);
    font-size:90%;
	text-align:left;
	line-height:10px;
	font-weight:bolder;
	color: white;
	text-shadow: 
		0 0 0.05em green,
		0 0 0.06em green,
		0 0 0.07em green,
		0 0 0.08em green,
		0 0 0.09em green,
		0 0 0.20em green,
		0 0 0.20em green,
		0 0 0.20em green,
		0 0 0.50em green;
}
}
.absolute a{
	color: white;
}
.contents h1{
	font: 18px;
    border-bottom: 4px solid green;
}
.contents h2{
	font: 17px;
}
.contents h3{
	font: 30px;
}
.contents p{
	font: 15px;
    border-bottom: 1px dotted green;
}
.contents img{
	width: 100%;
}
@media screen and (max-width: 1100px) {
.contents h3{
	display: none;
}
}
/* フッター */
footer{
background-color: #009933; 
}
.footer-container{
	margin-left: 10px;
padding-top: 15PX;
padding-bottom: 10PX;
}
div.blocka{
   font-size: 0.8em;
            }
div.blockb{
   font-size: 0.8em;
}
.copyright {
	margin: 0;
	font-size: 0.8em;
}
@media screen and (min-width: 1100px) {
footer{
background-color: #009933; 
}
.footer-container{
padding-top: 15PX;
padding-bottom: 10PX;
}
div.blocka{
	padding-left: 200px;
            float: left;
            width: 50%;
            }
div.blockb{
    float: right;
    width: 50%;
}
div.blockc{
     clear: both;
            }
.copyright {
	margin: 0;
	font-size: 0.8em;
}	
}
/* メインコンテンツレイアウト部分 */
.main-contents { }
.main-contents-container {
	margin-top: 15px;
	padding: 10px 10px 10px 10px;
	background: #ffffff;
}
.button {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: .65em 3.55em;
  border: 1px solid #333;
  color: #333;
  text-decoration: none;
  text-align: center;
  transition: .3s ease-in-out;
}
.button span {
  position: relative;
  z-index: 2;
}
.button::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  content: '';
  width: 100%;
  height: 100%;
  border: 1px solid #333;
}
.button::after {
  position: absolute;
  top: 5px;
  left: 5px;
  content: '';
  width: 101%;
  height: 105%;
  background-color: #fe5f95;
  transition: .3s ease-in-out;
}
.button:hover {
  color: #fff;
}
.button:hover::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.button2 {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: .65em 4em;
  border: 1px solid #333;
  color: #333;
  text-decoration: none;
  text-align: center;
  transition: .3s ease-in-out;
}
.button2 span {
  position: relative;
  z-index: 2;
}
.button2::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  content: '';
  width: 100%;
  height: 100%;
  border: 1px solid #333;
}
.button2::after {
  position: absolute;
  top: 5px;
  left: 5px;
  content: '';
  width: 101%;
  height: 105%;
  background-color: greenyellow;
  transition: .3s ease-in-out;
}
.button2:hover {
  color: black;
}
.button2:hover::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.button3 {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: .65em 2.6em;
  border: 1px solid #333;
  color: #333;
  text-decoration: none;
  text-align: center;
  transition: .3s ease-in-out;
}
.button3 span {
  position: relative;
  z-index: 2;
}
.button3::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  content: '';
  width: 100%;
  height: 100%;
  border: 1px solid #333;
}
.button3::after {
  position: absolute;
  top: 5px;
  left: 5px;
  content: '';
  width: 101%;
  height: 105%;
  background-color: white;
  transition: .3s ease-in-out;
}
.button3:hover {
  color: black;
}
.button3:hover::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.keyvisual {
	font-size: 0;
}
.keyvisual img {
	width: 100%;
    height: 100%;
}
.maincopy {
	margin: 0;
	padding: 5px 5px 0 5px;
	text-align: center;
	font-size: 1.5rem;	
}
.box18{
    margin:2em 0;
    position: relative;
    padding: 0.25em 1em;
    border: solid 2px red;
    border-radius: 3px 0 3px 0;
}
.box18:before,.box18:after
{
    content: '';
    position: absolute;
    width:10px;
    height: 10px;
    border: solid 2px red;
    border-radius: 50%;
}
.box18:after {
    top:-12px;
    left:-12px;
}
.box18:before {
    bottom:-12px;
    right:-12px;
}
.box18 p {
    margin: 0; 
    padding: 10px 10px 10px 10px;
    font-size: 15px;
}
.box26 {
    position: relative;
    margin: 0;
    padding: 1em 1em;
    border: solid 3px red;
    border-radius: 8px;
}
.box26 .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 17px;
    background: #FFF;
    color: red;
    font-weight: bold;
}
.box26 p {
    margin: 0; 
    padding: 0;
}
@media screen and (min-width: 1100px) {
    .main-contents-container {
        margin-right: 50px;
	padding: 5px 5px 5px 310px;
	background: #ffffff;
}
.button {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: .65em 3.55em;
  border: 1px solid #333;
  color: #333;
  font-size: 20px;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  transition: .3s ease-in-out;
}
.button span {
  position: relative;
  z-index: 2;
}
.button::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  content: '';
  width: 100%;
  height: 100%;
  border: 1px solid #333;
}
.button::after {
  position: absolute;
  top: 5px;
  left: 5px;
  content: '';
  width: 101%;
  height: 105%;
  background-color: #fe5f95;
  transition: .3s ease-in-out;
}
.button:hover {
  color: #fff;
  font-size: 22px;
}
.button:hover::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.button2 {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: .65em 4em;
  border: 1px solid #333;
  color: #333;
  font-size: 20px;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  transition: .3s ease-in-out;
}
.button2 span {
  position: relative;
  z-index: 2;
}
.button2::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  content: '';
  width: 100%;
  height: 100%;
  border: 1px solid #333;
}
.button2::after {
  position: absolute;
  top: 5px;
  left: 5px;
  content: '';
  width: 101%;
  height: 105%;
  background-color: greenyellow;
  transition: .3s ease-in-out;
}
.button2:hover {
  color: black;
  font-size: 22px;
}
.button2:hover::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.button3 {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: .65em 2.6em;
  border: 1px solid #333;
  color: #333;
  font-size: 20px;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  transition: .3s ease-in-out;
}
.button3 span {
  position: relative;
  z-index: 2;
}
.button3::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  content: '';
  width: 100%;
  height: 100%;
  border: 1px solid #333;
}
.button3::after {
  position: absolute;
  top: 5px;
  left: 5px;
  content: '';
  width: 101%;
  height: 105%;
  background-color: white;
  transition: .3s ease-in-out;
}
.button3:hover {
  color: black;
  font-size: 22px;
}
.button3:hover::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.box18{
    margin:2em 0;
    position: relative;
    padding: 0.25em 1em;
    border: solid 2px red;
    border-radius: 3px 0 3px 0;
}
.box18:before,.box18:after
{
    content: '';
    position: absolute;
    width:10px;
    height: 10px;
    border: solid 2px red;
    border-radius: 50%;
}
.box18:after {
    top:-12px;
    left:-12px;
}
.box18:before {
    bottom:-12px;
    right:-12px;
}
.box18 p {
    margin: 0; 
    padding: 10px 10px 10px 50px;
    font-size: 18px;
}
.box26 {
    position: relative;
    margin: 0;
    padding: 1em 1em;
    border: solid 3px red;
    border-radius: 8px;
}
.box26 .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 18px;
    background: #FFF;
    color: red;
    font-weight: bold;
}
.box26 p {
    margin: 0; 
    padding: 0;
}
}
/* ========== Javascript用CSS ========== */
/* ナビゲーションを最初は非表示。 */
#js-slidemenu {
	display: none;
}
/* パソコン向けではナビゲーションを常に表示 */
@media screen and (min-width: 1100px) {
	#js-slidemenu {
		display: block !important; 
	}
}
/* ナビゲーションが開いたときに画面を暗くする処理のためのCSS */
.js-slidemenu-effect {
	width: 100%;
	height: 100%;
	background: #fff;
	opacity: 0.4;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
}