/* CSS Document */

a{ color: #109954;}
a:hover{ text-decoration: underline; color: #ACD36B;}

p,ul,ol,table,dl{
	padding: 10px 0;
	font-size: 16px;
	font-size: 1.6rem;
}

ul li {
	margin: 0 0 0 25px;
	list-style: disc;
}

ol li {
	margin: 0 0 0 25px;
	list-style: decimal;
}

table {
	margin: 30px 0;
	border-top: 1px solid #CCCCCC;
}

table th{
	margin: 0;
	padding: 10px 20px;
	text-align: left;
	border-bottom: 1px solid #CCCCCC;
	font-weight: bold;
}

table td{
	margin: 0;
	padding: 10px 10px 10px 15px;
	border-bottom: 1px solid #CCCCCC;
}

dl dt{
	padding: 10px 0 0 0;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
}

dl dd{ padding: 10px 10px 10px 20px;}

/**************************************************
 h2
**************************************************/
.h2Hanger{
	margin: 0 0 50px 0;
	padding: 0;
	text-align: center;
  height: 400px;
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;/*--- IE10 ---*/
	-webkit-justify-content: space-between; /* Safari */
	justify-content: space-between;
	-webkit-box-align: center;/*--- Androidブラウザ用 ---*/
	-ms-flex-align: center;/*--- IE10 ---*/
	-webkit-align-items: center;/*--- safari（PC）用 ---*/
	align-items: center;
}

h2{
  width: 50%;
  height: 100%;
	margin: 0;
	padding: 0;
  background-image: url("../img/h2_bg1.png"), url("../img/h2_bg2.png");
  background-position: left top;
  background-repeat: no-repeat, repeat;
	color: #2C1F86;
	font-size: 44px;
	font-size: 4.4rem;
  line-height: 1.4;
  font-family: '新ゴ M', sans-serif;
  text-align: center;
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	-webkit-justify-content: center; /* Safari */
	justify-content: center;
	-webkit-box-align: center;/*--- Androidブラウザ用 ---*/
	-ms-flex-align: center;/*--- IE10 ---*/
	-webkit-align-items: center;/*--- safari（PC）用 ---*/
	align-items: center;
}

h2 br{ display: none;}

.h2_image{
  width: 50%;
  line-height: 0;
}

.h2_image img{
  width: 100%;
  height: 400px;
  object-fit: cover;
}


/**************************************************
 article
**************************************************/
article{
	max-width: 1000px;
	margin: 50px auto;
}

h3{
  max-width: 110vw;
	margin: 40px -5% 20px;
  padding: 25px 15px;
	background: #4EB43F;
	color: #FFFFFF;
	font-size: 30px;
	font-size: 3.0rem;
	line-height: 1.4;
	text-align: center;
  font-family: '新ゴ M', sans-serif;
}

h3:first-child{ margin-top: 0;}

h4{
	margin: 35px 0 15px;
	padding: 15px;
	background: #EEEEEE;
	border-left: 3px solid #CCCCCC;
	font-size: 22px;
	font-size: 2.2rem;
	color: #666666;
}

h5{
	margin: 25px 0 5px;
	padding: 0;
	font-size: 20px;
	font-size: 2.0rem;
	color: #666666;
}
h5::before{
	content: '●';
	margin: 0 5px 0 0;
	color: #ACD36B;
}

.catch{ position: relative;}
.catch::before,
.catch::after {
  position: absolute;
  content: '';
  width: 20px;
  height: 50px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.catch::before {
  top: 0;
  left: 0;
  border-top: 1px solid #555;
  border-left: 1px solid #555;
}
.catch::after {
  bottom: 0;
  right: 0;
	border: none;
  border-bottom: 1px solid #555;
  border-right: 1px solid #555;
}

.caption{
	color: #777777;
	font-size: 14px;
	font-size: 1.4rem;
}

p.intro{
	margin: 20px 0;
	text-align: center;
}

.backBtn,
.linkBtn{
	margin: 15px 0 30px 0;
	font-size: 15px;
	font-size: 1.5rem;
}

.backBtn a,
.linkBtn a{
	padding: 10px 2em;
	margin: 0 2px;
	border: 1px solid #8DA752;
	border-radius: 2rem;
	color: #464637;
	text-decoration: none;
}

.backBtn a:hover,
.linkBtn a:hover{
	color: #FFFFFF;
	background-color: #8DA752;
	text-decoration: none;
}

.inqHanger{
	margin: 40px 0;
	padding: 30px;
	border: 2px solid #EEEEEE;
}

.inqHanger h3{
	margin: 0;
	padding: 10px 0;
}

.inqHanger p{ padding: 10px 10px 10px 20px;}


/*** gallery ****************/
.gallery { margin: 30px 0;}

.gallery-item { /** 画像共通のスタイル **/
	float: left;
	margin-bottom: 0 !important;
}

.gallery-caption { /** キャプション **/
  font-size: 12px;
  margin: 0 0 10px;
}

.gallery-columns-2 .gallery-item { /** 2カラム **/
	width: 45%;
	margin: 0 2.5%;
}

.gallery-columns-3 .gallery-item{
	width: 31.33333%;
	margin: 15px 1%;
}

.gallery-columns-4 .gallery-item{
	width: 24%;
	margin: 15px 0.5%;
}

.gallery-columns-1 .gallery-item:nth-of-type(1n),
.gallery-columns-2 .gallery-item:nth-of-type(2n),
.gallery-columns-3 .gallery-item:nth-of-type(3n),
.gallery-columns-4 .gallery-item:nth-of-type(4n),
.gallery-columns-5 .gallery-item:nth-of-type(5n),
.gallery-columns-6 .gallery-item:nth-of-type(6n),
.gallery-columns-7 .gallery-item:nth-of-type(7n),
.gallery-columns-8 .gallery-item:nth-of-type(8n),
.gallery-columns-9 .gallery-item:nth-of-type(9n) {
    margin-right: 0;
}
.gallery-icon{ text-align: center;}

.gallery dl dt,
.gallery dl dd{ padding: 0;}


/**************************************************
 404
**************************************************/
article.notFound{
	text-align: center;
	width: 800px;
	min-height: 60vh;
	margin: 30vh auto 50px;
}


/**************************************************
 Responsive
**************************************************/

@media screen and (max-width: 640px){
	
	h1 img{ width: auto;}

	.h2Hanger{
		margin: 0 0 30px 0;
    height: 140px;
	}

	h2{
    background-size: 20%;
		font-size: 22px;
		font-size: 2.2rem;
    line-height: 1.2;
    height: 140px;
	}
  h2 br{ display: block;}
  
  .h2_image img{ height: 140px;}
	
	article{
		margin: 20px auto;
		padding: 0 15px;
	}
	
	h3 {
    width: 100%;
    margin: 20px 0 10px;
		padding: 15px;
		font-size: 20px;
		font-size: 2.0rem;
	}
	
	h4 {
		font-size: 18px;
		font-size: 1.8rem;
	}

	p,ul,ol,table,dl{
		padding: 10px 15px;
		font-size: 15px;
		font-size: 1.5rem;
	}
  
  table th,
  table td{ padding: 5px;}
  

	/** sumHanger ********************/
	.sumHanger{ margin: 20px 0;}
	
	.sumText{
		position: inherit;
		width: 100%;
	}
	.sumImage{ width: 100%;}
	.sumHanger.left .sumImage,
	.sumHanger.right .sumImage{
		margin: 0;
		order: 1;
	}
	.sumHanger.left .sumText,
	.sumHanger.right .sumText{
		left: 0;
		padding: 15px;
		order: 2;
	}
	
	.sumThumbnail{
		margin: 0 0 15px 0;
		padding: 15px;
	}
	
	.profHanger dl dt img{ margin: 0;}
	
	.gallery-columns-2 .gallery-item,
	.gallery-columns-3 .gallery-item,
	.gallery-columns-4 .gallery-item{
    width: 100%;
    margin: 10px 0;
  }
	
}
