@charset "UTF-8";
.cont_ttl_01 {
  background: url(../img/nebalife/ttl_01_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 55px 0 40px;
}
.cont_ttl_01 p {
  color: #fff;
  text-align: center;
}
.txt_brd {
	color: #444;
	font-size: 1.8rem;
	display: flex;
	align-items: center;
/*  width: 25.57%;	*/
  margin: 15px 37% 20px;
}
.txt_brd:before, .txt_brd:after {
	content: "";
	flex-grow: 1;
	border-top: 1px solid #fff;
	display: block;
}
.txt_brd:before {
	margin-right: .4em;
}
.txt_brd:after {
	margin-left: .4em;
}
.cont_ttl_01 .sub_txt {
  font-size: 1.4rem;
  line-height: 2em;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */
.cont_ttl_01 {
  padding: 30px 0 20px;
}
.cont_ttl_01 p img {
  width: 70%;
  margin: 0 15%;
}
.txt_brd {
  font-size: 1.5rem;
  width: 40%;
  margin: 4% 30% 1%;
}
}
@media screen and (max-width: 320px) {
/* 320pxまでの幅の場合に適応される */
.txt_brd {
  font-size: 1.5rem;
  width: 50%;
  margin: 4% 25 1%;
}
}

@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */
.sp_sub_txt {
  margin: 7% 0 3%;
}
.sp_sub_txt .sub_txt{
  font-size: 1.3rem;
  color: #005400;
  text-align: center;
  line-height: 1.5em;
}
}



.cont_ttl p{
  margin: 0 0 30px;
  text-align: center;
  font-size: 3rem;
  line-height: 1em;
  padding: 1.5rem 0;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.cont_ttl_uline p{
  margin: 0 0 20px;
  padding: 0 0 20px;
  border-bottom: 1px solid #005400;
  text-align: left;
  font-size: 2.6rem;
  color: #005400;
  font-weight: bold;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.cont_ttl_uline p span {
  font-size: 2.7rem;
  margin: 0 0.4em 0 0;
}
.cont_ttl_uline+p{
  font-size: 1.8rem;
  color: #005400;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */
.cont_ttl_uline+p{
  font-size: 1.3rem;
}
.cont_ttl p{
  font-size: 2rem;
  margin-bottom: 0;
}
.cont_ttl_uline p{
  font-size: 1.6rem;
  margin: 15px 0 20px;
  padding-bottom: 10px;
}
.cont_ttl_uline p span{
  font-size: 2.2rem;
  vertical-align: middle;
  margin: 0 0.3em 0 0;
}
}


.sec01 {
  padding: 50px 0 60px;
}
.sec01_img ul{
  display: inline-flex;
  flex-wrap: wrap;
}
.sec01_img ul li{
  margin: 0 24.6px 24.6px 0;
}
.main .sec01_img ul li {
  margin: 0 12px 12px 0;
}
.sec01_img ul li:nth-child(4n){
  margin: 0 0 24.6px 0;
}
.main .sec01_img ul li:nth-child(3n) {
  margin: 0 0 12px 0;
}

.sec01_img_01 ul{
  display: inline-flex;
  flex-wrap: wrap;
}
.sec01_img_01 ul li {
  margin: 0 12px 12px 0;
}
.sec01_img_01 ul li:nth-child(3n) {
  margin: 0 0 12px 0;
}

@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */
.sec01 {
    padding: 1% 0 6%;
}
.sec01.btg{
      width: 92%;
    margin: auto;
}
.sec01.btg .btg_sp{
  width: 100%;
  margin: auto;
}
.sec01_img ul li {
  width: 49%;
  height: auto;
  margin: 0 2% 2% 0;
}
.sec01_img ul li:nth-child(2n) {
  margin: 0 0 0 0;
}
.sec01_img_01 ul li {
  width: 48%;
  margin: 0 4% 4% 0;
}
.sec01_img_01 ul li:nth-child(3n) {
  margin: 0 4% 4% 0;
}
.sec01_img_01 ul li:nth-child(2n) {
  margin: 0 0 0 0;
}
}


@media screen and (max-width: 1024px) {
/* 1024pxまでの幅の場合に適応される */

}
@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */

}
@media screen and (max-width: 480px) {
/* 480pxまでの幅の場合に適応される */

}
@media screen and (max-width: 320px) {
/* 320pxまでの幅の場合に適応される */

}
