@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 150px 0 150px;
	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;
}

/* フッター */
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;
}
.keyvisual {
	font-size: 0;
}
.keyvisual img {
	width: 100%;
    height: 100%;
}
@media screen and (min-width: 1100px) {
    .main-contents-container {
        margin-right: 50px;
	padding: 5px 5px 5px 310px;
	background: #ffffff;
}
}
h1 {
  position: relative;
  background: forestgreen;
  box-shadow: 0px 0px 0px 5px green;
  border: dashed 2px white;
  padding: 0.2em 0.5em;
  color: white;
  font-size: 17px;
}
h1:after {
  position: absolute;
  content: '';
  left: -7px;
  top: -7px;
  border-width: 0 0 15px 15px;
  border-style: solid;
  border-color: #fff #fff green;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
}
h2{
    font-size: 15px;
}
.p2{
    font-size: 15px;
	padding: 0 0 0 10px;
	font-weight: bold;
    border-bottom: 1px dotted green;
	}
.p3{
	font-size: 15px;
	padding: 0 0 10px 30px;
	}
.p4{
    font-size: 15px;
	padding: 0 0 10px 50px;    
	}
.p5{
	font-size: 15px;
	padding: 0 0 10px 10px;
    color: forestgreen;
	}
.p6{
	font-size: 15px;
	padding: 0 0 0 10px;
	}
.p7{
	font-size: 15px;
	padding: 0 0 10px 10px;
    color: red;
	}
.box18{
    margin:2em 0;
    position: relative;
    padding: 0.25em 1em;
    border: solid 2px #ffcb8a;
    border-radius: 3px 0 3px 0;
}
.box18:before,.box18:after
{
    content: '';
    position: absolute;
    width:10px;
    height: 10px;
    border: solid 2px #ffcb8a;
    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;
}
table {
  border-collapse: collapse;
  margin-left: auto;
    margin-right: auto;
}
table th, table td {
  border: solid 1px black;
  /*実線 1px 黒*/
  font-size: 15px;
}
.table1 {
  border-collapse: collapse;
  margin-left: auto;
    margin-right: auto;
    width: 100%
}
.table1 th, .table1 td {
  border: solid 1px black;
  /*実線 1px 黒*/
  font-size: 15px;
}
.table2 {
  border-collapse: collapse;
      width: 100%
}
.table2 th, .table2 td {
  font-size: 15px;
}
.td-1{
    border: 1px solid black; 
    border-right-style:none; 
    border-left-style:none;   
}
.td-2{
    border: 1px solid black; 
    border-right-style:none;   
}
.b-contents{
    display: inline-block;
    justify-content: space-between;
    list-style: none;
    margin: 0;
    padding: 0;
}
.b-contents li {
	width: calc(80%/1);/*←画像を横に4つ並べる場合*/
	padding:0 5px;/*←画像の左右に5pxの余白を入れる場合*/
	box-sizing:border-box;
}
.b-contents li img {
	max-width:100%; /*画像のはみだしを防ぐ*/
	height: auto; /*画像の縦横比を維持 */
	border:solid 1px #ccc; /*←画像を1pxのグレーの枠線で囲む指定の場合*/
}
@media screen and (min-width: 1100px) {
h1 {
  position: relative;
  background: forestgreen;
  box-shadow: 0px 0px 0px 5px green;
  border: dashed 2px white;
  padding: 0.2em 0.5em;
  color: white;
  font-size: 22px;
}
h1:after {
  position: absolute;
  content: '';
  left: -7px;
  top: -7px;
  border-width: 0 0 15px 15px;
  border-style: solid;
  border-color: #fff #fff green;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
}
h2{
    font-size: 20px;
}
.p2{
    font-size: 20px;
	padding: 0 0 0 10px;
	font-weight: bold;
    border-bottom: 1px dotted green;
	}
.p3{
	font-size: 16px;
	padding: 0 0 10px 30px;
	}
.p4{
    font-size: 18px;
	padding: 0 0 10px 50px;    
	}
.p5{
	font-size: 20px;
	padding: 0 0 0 10px;
    color: forestgreen;
	}
.p6{
	font-size: 16px;
	padding: 0 0 0 10px;
	}
.p7{
	font-size: 20px;
	padding: 0 0 10px 10px;
    color: red;
	}
.box18{
    margin:2em 0;
    position: relative;
    padding: 0.25em 1em;
    border: solid 2px #ffcb8a;
    border-radius: 3px 0 3px 0;
}
.box18:before,.box18:after
{
    content: '';
    position: absolute;
    width:10px;
    height: 10px;
    border: solid 2px #ffcb8a;
    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;
}
table {
  border-collapse: collapse;
}
table th, table td {
  border: solid 1px black;
  /*実線 1px 黒*/
    padding: 5px 5px;
    font-size: 15px;
}
.table1 {
  border-collapse: collapse;
    width: 100%
}
.table1 th, .table1 td {
  border: solid 1px black;
  /*実線 1px 黒*/
    padding: 5px 5px;
    font-size: 15px;
}
.b-contents{
	display: flex;
	flex-wrap:wrap;
}
.b-contents li {
	width: calc(80%);/*←画像を横に4つ並べる場合*/
	padding:0 5px;/*←画像の左右に5pxの余白を入れる場合*/
	box-sizing:border-box;
}
.b-contents li img {
	max-width:100%; /*画像のはみだしを防ぐ*/
	height: auto; /*画像の縦横比を維持 */
	border:solid 1px #ccc; /*←画像を1pxのグレーの枠線で囲む指定の場合*/
}
}
.keyvisual1 {
	font-size: 0;
}
.keyvisual1 img {
	width: 100%;
    height: 100%;
}
.keyvisual1 {
	width: 100%;
	height: auto;
}
@media screen and (min-width: 1100px) {
	/* ヘッダー */
	.keyvisual1 {
		width: 100%;
		height: auto;
	}
}
.cp_qa *, .cp_qa *:after, .cp_qa *:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cp_qa .cp_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 0 1em 0;
	color: #1b2538;
}
.cp_qa .cp_actab input {
	position: absolute;
	opacity: 0;
}
/* 質問 */
.cp_qa .cp_actab label {
	font-weight: bold;
	line-height: 1em;
	position: relative;
	display: block;
	margin: 0 0 0 0;
	padding: 1em 3em 1em 1em;
	cursor: pointer;
	text-indent: 1em;
	border-radius: 0.5em;
	background: rgba(27,37,56,0.1);
}
/* --質問の＋アイコン */
.cp_qa .cp_actab label::after {
	font-size: 1.7em;
	font-weight: bold;
	line-height: 2em;
	position: absolute;
	top: 0;
	right: 0;
	content: '▼';
	display: inline-block;
	width: 2em;
	height: 2em;
	-webkit-transition: transform 0.4s;
	        transition: transform 0.4s;
}
/* 答え */
.cp_qa .cp_actab .cp_actab-content {
	position: relative;
	overflow: hidden;
	max-height: 0;
	padding: 0 1em 0 1em;
	-webkit-transition: max-height 0.2s;
	        transition: max-height 0.2s;
	border-radius: 0 0 0.5em 0.5em;
}
/* 質問を開いた時の仕様 */
/* --答えの高さ */
.cp_qa .cp_actab input:checked ~ .cp_actab-content {
	max-height: 40em;
	border: 10px solid rgba(27,37,56,0.1);
}
/* 質問をクリックした時のアイコンの動き */
.cp_qa .cp_actab input:checked ~ label {
	color: #00838f;
	border-radius: 0.5em 0.5em 0 0;
}
/* 質問をクリックした時の+の動き */
.cp_qa .cp_actab input[type=checkbox]:checked + label::after {
	-webkit-transform: rotateZ(45deg);
	transform: rotateZ(45deg);
	-webkit-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
}
.contents2 {
     width: 100%;
     max-width: 1200px;
     margin: auto;
 }
 .contents2 img {
     width: 100%;
 }
 .text-center {
     text-align: center;
 }
 .flexbox {
     display: flex;
 }
 .box1 {
         width: 100%;
         padding: 0 0 0 5px;
     }
     .box2 {
         width: 100%;
         padding: 0 0 0 5px;
     }
.box3 {
         width: 100%;
         padding: 0 0 0 5px;
     }
 @media screen and (max-width: 1100px) {
     .flexbox {
         display: block;
     }
     .flexbox .box1 {
         width: 100%;
         margin: 10px;
     }
     .flexbox .box2 {
         width: 100%;
         margin: 10px;
     }
      .box1 {
         width: 100%;
         margin: 10px;
     }
     .box2 {
         width: 100%;
         margin: 10px;
     }
     .box3 {
         width: 100%;
         padding: 0 0 0 50px;
     }
 }
.btn-flat-simple {
  position: relative;
  display: inline-block;
  font-weight: bold;
  font-size: 17px;
  padding: 15px 15px 15px 15px;
  text-decoration: none;
  color: #00BCD4;
  background: #ECECEC;
  transition: .4s;
}

.btn-flat-simple:hover {
  background: #00bcd4;
  color: white;
}
@media screen and (max-width: 1100px) {
.btn-flat-simple {
  position: relative;
  display: inline-block;
  font-weight: bold;
  font-size: 15px;
  padding: 15px 15px 15px 15px;
  text-decoration: none;
  color: #00BCD4;
  background: #ECECEC;
  transition: .4s;
}

.btn-flat-simple:hover {
  background: #00bcd4;
  color: white;
}
}
.btn-flat-simple1 {
  position: relative;
  display: inline-block;
  font-weight: bold;
  font-size: 17px;
  padding: 15px 15px 15px 15px;
  text-decoration: none;
  color: hotpink;
  background: #ECECEC;
  transition: .4s;
}

.btn-flat-simple1:hover {
  background: pink;
  color: white;
}
@media screen and (max-width: 1100px) {
.btn-flat-simple1 {
  position: relative;
  display: inline-block;
  font-weight: bold;
  font-size: 15px;
  padding: 15px 15px 15px 15px;
  text-decoration: none;
  color: hotpink;
  background: #ECECEC;
  transition: .4s;
}

.btn-flat-simple1:hover {
  background: pink;
  color: white;
}
}
.btn-flat-simple2 {
  position: relative;
  display: inline-block;
  font-weight: bold;
  font-size: 17px;
  padding: 15px 15px 15px 15px;
  text-decoration: none;
  color: mediumseagreen;
  background: #ECECEC;
  transition: .4s;
}

.btn-flat-simple2:hover {
  background: palegreen;
  color: white;
}
@media screen and (max-width: 1100px) {
.btn-flat-simple2 {
  position: relative;
  display: inline-block;
  font-weight: bold;
  font-size: 15px;
  padding: 15px 15px 15px 15px;
  text-decoration: none;
  color: mediumseagreen;
  background: #ECECEC;
  transition: .4s;
}

.btn-flat-simple2:hover {
  background: palegreen;
  color: white;
}
}
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;
}
/* ========== 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;
}