@charset "UTF-8";
/* CSS Document */
#wrap h2{
	padding:4px 8px;
	font-size:20px;
	font-weight:bold;
	margin-bottom:55px;
	position: relative;
	line-height:1.3;
	text-align:center;
}
#wrap h2:before {
  position: absolute;
  bottom: -20px;
  left: calc(50% - 30px);
  width: 60px;
  height: 3px;
  content: '';
  border-radius: 3px;
  background: #048545;
}

#wrap h3{
font-size:20px;
margin-bottom:20px;
color:#000;
font-weight:bold;
	position: relative;
  padding: 8px;
  border-bottom:2px solid #048545;
}

#wrap h4{
font-size:18px;
margin-bottom:16px;
font-weight:bold;
  color:#048545;
}
#wrap h5{
font-size:16px;
margin-bottom:16px;
color:#000;
font-weight:bold;
	position: relative;
  padding: 0 50px;
}
#wrap h5::before {
  content: '';
  position: absolute;
  top: 50%;
  left:0;
  display: inline-block;
  width: 40px;
  height: 4px;
  background-color: #048545;
}

#wrap h6{
font-size:16px;
margin-bottom:10px;
}
#wrap p{
line-height:2.0em;
}
#wrap .fontL{
font-size:20px;
}
#wrap .fontS{
font-size:12px;
}
.note{
font-size:12px;
color:#333;
}
strong{
font-weight:bold;
}
.left{
text-align:left;
}
.right{
text-align:right;
}
.center{
text-align:center;
}
.red{
color:#CC0000;
}
.blue{
color:#0099CC;
}
#wrap ul{
margin:0 0 16px 40px;
}
#wrap ul li{
	line-height:1.6em;
	margin-bottom:16px;
	list-style-type: disc;
}
#wrap ol{
margin:0 0 16px 40px;
}
#wrap ol li{
list-style-type: decimal;
line-height:2.0em;
margin-bottom:16px;
}
#wrap dt{
margin-bottom:8px;
}
#wrap dd{
margin-bottom:20px;
padding-left:8px;
}
#wrap table{
width:100%;
}
#wrap table th{
font-weight:bold;
background-color:#FAFAFA;
border: 1px solid #CCC;
}
#wrap table td{
border: 1px solid #CCC;
background-color:#FFF;
}
#wrap iframe{
	max-width:100%;
}
@media only screen and (min-width: 768px) {
#wrap h2{
	padding:2px 12px;
	font-size:28px;
	margin-bottom:80px;
}
#wrap h2:before {
  bottom: -30px;
  left: calc(50% - 60px);
  width: 120px;
  height: 5px;
}

#wrap h3{
font-size:24px;
margin-bottom:30px;
}
#wrap h4 {
font-size:20px;
margin-bottom:20px;
}
#wrap h5 {
font-size:18px;
margin-bottom:20px;
}
#wrap .fontL{
font-size:26px;
}
#wrap .fontS{
font-size:12px;
}

#wrap dd{
margin-bottom:30px;
padding-left:14px;
}
#wrap table th{
font-size: 16px;
padding: 8px;
}
#wrap table td{
font-size: 16px;
padding: 8px;
}
}

.hidden{
display:none;
}

#visual img { line-height:0;}
#wrap {
    padding:20px 0;
}

@media only screen and (min-width: 768px) {
#wrap {
    padding:60px 0;
}
}

#visual { width:100%;text-align:center; margin:0;padding:0px 0 0;
	min-height:70px;
	line-height:0;
	display:flex;
	align-items:center;
	justify-content: center;
	background-color:#FFF8CA;
}
#visual .bga {
	width:90%;
	padding:5%;
}
#visual .bga h1 {
	font-size:20px;
	color:#000;
	line-height: 1.2;
	text-align:center;
	font-weight:bold;
 }
#visual .bga h1 span {
	font-size:14px;
	color:#444;
 }
@media only screen and (min-width: 768px) {
#visual {  margin:0 auto;padding:0;
	min-height:160px;
}
#visual .bga {
	width:80%;
	padding:2%;
}
#visual .bga h1 {
	font-size:32px;
 }
#visual .bga h1 span {
	font-size:20px;
 }
}

.block{
clear:both;
padding-bottom:20px;
}
.main-inner{
	display: flex;
	flex-flow: column;/* flex-flow:column;はアイテムを縦に並べる */
}

.Lbox{
float:left;
width:50%;
padding:0 1%;
margin-bottom:20px;
}
.Rbox{
float:right;
width:50%;
padding:0 1%;
margin-bottom:20px;
}
@media only screen and (min-width: 768px) {
.block{
padding-bottom:80px;
}
.main-inner{
	flex-flow: row;/* flex-flow:row;はアイテムを横に並べる */
}
.Lbox{
float:none;
width:100%;
padding:0 1%;
margin-bottom:20px;
}
.Rbox{
float:none;
width:100%;
padding:0 1%;
margin-bottom:20px;
}

}


.floatL,.alignleft,img.alignleft{
	margin:0 auto 30px;
	display: block;
	text-align:center;
}
.floatR,.alignright,img.alignright{
	margin:0 auto 30px;
	display: block;
	text-align:center;
}
.aligncenter{clear: both;display: block;margin:auto;}

.center{
	text-align:center;
}

@media only screen and (min-width: 768px) {
.floatL,.alignleft,img.alignleft{
	float:left;
	margin:0 30px 30px 0;
}
.floatR,.alignright,img.alignright{
	float:right;
	margin:0 30px 0 30px;
}
}
.photoBlock{
	display: flex;
	flex-wrap: wrap; /* flex-flow:column;はアイテムを縦に並べる */
    justify-content: center;
	margin-bottom:30px;
}
.photoBox{
	margin:0 auto 20px;
	width:100%;
	text-align:center;
}
@media only screen and (min-width: 768px) {
.photoBlock{
	margin-bottom:40px;
}
.photoBox{
	margin:0 1% 20px;
	width:31.33333%;
}
}

#wrap p.copy{
	font-size:18px;
	font-weight:bold;
	margin-bottom:35px;
	text-align:center;
	position: relative;
	line-height:1.8;
}
#wrap p.tel{
	font-size:40px;
	font-weight:bold;
	margin-bottom:35px;
	text-align:center;
}
@media only screen and (min-width: 768px) {
#wrap p.copy{
	font-size:24px;
	margin-bottom:60px;
	background-size:auto 100px;
}
#wrap p.tel{
	font-size:60px;
	margin-bottom:60px;
}
}


/* about */
#about{
	padding:20px 0;
}
@media only screen and (min-width: 768px) {
#about{
	padding:60px 0;
}
}


/* business */
#business{
	padding:20px 0;
}
.business01{
	padding:0 0 30px;
}
.business02{
	padding:30px 0;
	background-color:#FAFAFA;
}
#business .business02 .container{
	max-width: 880px;
}
.business03{
	padding:30px 0;
}
#business .business03 .container{
	max-width: 880px;
}
#business ol{
	margin:0 auto;
}
#business ol li{
	background-color:#FFF;
	list-style-position: inside;
	padding:6px 12px;
	 border-left: solid 8px #048545;
	  border-bottom: solid 2px #dadada;
}

@media only screen and (min-width: 768px) {
#business{
	padding:60px 0;
}
.business01{
	padding:0 0 60px;
}
.business02{
	padding:60px 0;
}
.business03{
	padding:60px 0;
}
#business .business02 ol{
	display: flex;
	flex-wrap: wrap; /* flex-flow:column;はアイテムを縦に並べる */
}
#business ol li{
	padding:16px;
	margin:0 1% 30px;
}
#business .business02 ol li{
	width:48%;
}
}

/* member */
#member{
	padding:20px 0;
}
#member .main-inner{
	margin-bottom:30px;
}
#member .imgBox{
	text-align:center;
	margin-bottom:10px;
	padding:0 10%;
}
#member .txtBox{
	margin-bottom:30px;
	padding:20px;
}
#wrap #member p.mem_name{
	font-size:24px;
	line-height:1.2;
	margin-bottom:12px;
}
#wrap #member p.mem_name .kana{
	font-size:14px;
	position: relative;
	padding-left:60px;
}
#wrap #member p.mem_name .kana::before {
  content: '';
  position: absolute;
  top: 50%;
  left:0;
  display: inline-block;
  width: 40px;
  height: 2px;
  background-color: #999;
}

#member dl dt{
	background-color:#FFF8CA;
	padding:10px
}
#member dl dd{
	padding:10px;
}


@media only screen and (min-width: 768px) {
#member{
	padding:60px 0;
}
#member .main-inner {
	align-items:center;
	margin-bottom:60px;
}
#member div.imgBox {
	flex: 0 0 320px;
	order: 1;
	padding:0;
	margin-bottom:0px;
}
#member div.txtBox {
	flex: 1 1 auto;
	order: 2;
	padding-left:60px;
}
#wrap #member p.mem_name{
	font-size:32px;
	margin-bottom:32px;
}
#wrap #member p.mem_name .kana{
	font-size:16px;
	margin-left:20px;
}
#member dl {
	display: flex;
	flex-wrap: wrap; /* flex-flow:column;はアイテムを縦に並べる */
}
#member dl dt{
	width:25%;
	padding:16px;
	margin:0 0 2px;
}
#member dl dd{
	width:75%;
	padding:16px;
	margin:0 0 2px;
}

}

/* movie */
#movie{
	padding:20px 0;
	position:relative;
}
p.btL{
	width:70px;
	position:fixed;
	bottom:20%;
	right:0;
	margin:0;
	text-align:center;
	z-index:2;
	writing-mode: vertical-rl;
}
p.btL a{
	display:block;
	text-align:center;
	color:#FFF;
	padding:8px 0;
	font-weight:bold;
	background-color:#048545;
}
.movieBlock{
	display: flex;
	flex-wrap: wrap; /* flex-flow:column;はアイテムを縦に並べる */
    justify-content: center;
	margin-bottom:30px;
}
.movieBox{
	margin:0 auto 20px;
	width:100%;
	text-align:center;
}
.movieCont{
	margin:0 auto 20px;
	max-width:880px;
}
@media only screen and (min-width: 768px) {
#movie{
	padding:60px 0;
}
p.btL{
	bottom:40%;
}
p.btL a{
	padding:16px 5px;
}
.movieBlock{
	margin-bottom:40px;
}
.movieBox{
	margin:0 1% 20px;
	width:48%;
}
}

/* contact */
#contact{
	padding:20px 0;
}
#c_cont {
	padding:0px 0 20px;
}
@media only screen and (min-width: 768px) {
#contact{
	padding:60px 0;
}
#c_cont {
	padding:0px 0 60px;
}
}
#c_form{
	padding:20px 0;
	background-color:#FAFAFA;
}
#c_form .container{
	max-width: 880px;
}
#wrap #c_form dl{
	margin-bottom:30px;
}
#wrap #c_form input[type="text"] {
    width: 100%;
    padding: 10px;
    background-color: #FFF;
    border: 1px solid #EAEAEA;
}
#wrap #c_form input[type="email"] {
    width: 100%;
    padding: 10px;
    background-color: #FFF;
    border: 1px solid #EAEAEA;
}
#wrap #c_form select {
    width: 100%;
    padding: 10px;
    background-color: #FFF;
    border: 1px solid #EAEAEA;
}
#wrap #c_form textarea {
    width: 100%;
    padding: 10px 10px 40px;
    background-color: #FFF;
    border: 1px solid #EAEAEA;
}
#wrap #c_form .pbt input {
    width: 20px;
    height: 20px;
    border: 1px solid #c1c1c1;
    transform: translateY(15%);
}
#wrap #c_form .button{
	display:flex;
	justify-content: center;
}
#wrap #c_form .button input {
    color: #FFF;
    text-align: center;
    background-color: #048545;
    display: block;
    position: relative;
    border: none;
    width: 80%;
    margin: 24px 10px 32px;
    padding: 12px;
}
@media only screen and (min-width: 768px) {
#c_form{
	padding:60px 0;
}
#wrap #c_form dl{
	margin-bottom:50px;
	display:flex;
	flex-wrap: wrap; /* flex-flow:column;はアイテムを縦に並べる */
    justify-content: center;
}
#wrap #c_form dt{
	margin:0 auto 20px;
	width:25%;
}
#wrap #c_form dd{
	margin:0 auto 20px;
	width:75%;
}
#wrap #c_form .button input {
    width: 300px;
    padding: 20px;
}
}

#privacy{
	padding:20px 0;
}
@media only screen and (min-width: 768px) {
#privacy{
	padding:60px 0;
}
}





#news{
	padding:20px 0;
}
#news .container{
	max-width: 880px;
}

#wrap #news ul{
	margin:0;
}
#wrap #news ul li{
	list-style-type: none;
	border-bottom:1px solid #999;
	padding:8px;
}
#wrap #news ul li strong{
	display:block;
}

#wrap #news .newsBlock{
	padding-bottom:20px;
	margin-bottom:20px;
	border-bottom:1px solid #999;
}
#wrap #news .newsBlock p.date{
	margin-bottom:4px;
	font-weight:bold;
	font-size:12px;
}
.pagination{
	padding:20px 0 0;
}
.pnavi {
    text-align: center;
	padding:20px 0;
}
.pagination .page-numbers {
    display: inline-block;
    margin-right: 10px;
    padding: 0;
    width: 40px;
    height: 40px;
    text-align: center;
    line-height: 40px;
    border-radius: 50%;
    color: #048545;
    border: 1px solid #048545;
    background: #fff;
    font-weight: bold;
    font-size: 10px;
}

/* マウスが乗った時の、ボタンの背景の色と文字の色 */
.pagination a.page-numbers:hover {
    color: #FFF;
    background-color: #048545;
    border-color: #048545;
}


/* 現在のページのボタン */
.pagination .current {
    padding: 0;
    background: #048545;
    color: #FFFFFF;
    font-size: 12px;
}

/* 前へ、次へ */
.pagination .prev,
.pagination .next {
    border: 1px solid #666;
    color: #666;
    position: relative;
    font-size: 12px;
}

.pagination a.next.page-numbers {
    margin-right: 0;
}

/*  縦線の共通CSS　*/
.pagination .next::before,
.pagination .prev::after {
    content: "";
    display: inline-block;
    width: 0.5px;
    height: 40px;
    background-color: rgb(224, 215, 215);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.pagination .next::before {
    left: -6px;
}

.pagination .prev::after {
    right: -6px;
}

.pagination .dots {
    background: transparent;
    border: none;
}

@media only screen and (min-width: 768px) {
#news{
	padding:60px 0;
}
#wrap #news ul li{
	padding:12px;
}
#wrap #news ul li strong{
	display:inline-block;
	padding:6px;
	margin-right:16px;
}
#wrap #news .newsBlock{
	padding-bottom:40px;
	margin-bottom:40px;
}
.pagination{
	padding:60px 0 0;
}
.pnavi {
	padding:60px 0;
}
.pagination .page-numbers {
    margin-right: 25px;
    width: 50px;
    height: 50px;
    line-height: 50px;
    border-radius: 50%;
    font-size: 12px;
}
.pagination .next::before {
    left: -15px;
}

.pagination .prev::after {
    right: -15px;
}

}
#visual_news { width:100%;text-align:center; margin:0;padding:0px 0 0;
	min-height:230px;
}

@media only screen and (min-width: 768px) {
#visual_news { text-align:center; margin:0 auto;padding:0;}
}

#newsCont{
	padding:0px;
}
#wrap #newsCont p.date{
	text-align:right;
	font-size:14px;
	margin-bottom:12px;
}
@media only screen and (min-width: 768px) {
#newsCont{
	padding:0px 0 20px;
}
#wrap #newsCont p.date{
	font-size:16px;
	margin-bottom:24px;
}
}
