@charset "UTF-8";

/*-----------------------------------
  下層ページ
-----------------------------------*/
.submain_img_area {
 text-align: center;
 min-width: 1000px;
 margin-left: auto;
 margin-right: auto;
}
@media (max-width:767px) {
 .submain_img_area {
  width: 100%;
  min-width: auto;
  min-height: auto;
 }
}
@media (max-width:767px) {
 .submain_img_area img {
  object-fit: cover;
  height: auto;
  width: 100%;
  display: block;
  margin: 0 auto;
 }
}
.contents_box {
    max-width: 1000px;
    margin: 0 auto;
     /*padding: 0 2%; */
}
@media (max-width:820px) {
.contents_box {
        width: 93%;
        /*padding: 0;*/
}
}
/*-----------------------------------
  全ページ共通見出し
-----------------------------------*/
.subtitle_wrap_2 {
 display: flex;
 justify-content: center;
 align-items: center;
 margin-bottom: 3em;
 position: relative;
 z-index: 2;
}
.subtitle_wrap_3 {
 display: flex;
 justify-content: center;
 align-items: center;
 margin-bottom: 3em;
 position: relative;
 z-index: 2;
}
.subtitle_wrap_4 {
 display: flex;
 justify-content: center;
 align-items: center;
 margin-bottom: 3em;
 position: relative;
 z-index: 2;
}
.subtitle_wrap_2 > h2 {
 font-size: clamp(24px, 6.5vw, 30px);
 position: relative;
 display: block;
 font-weight: bold;
 padding: 5px 10px;
 letter-spacing: .05em;
 line-height: 1.1;
 text-align: center;
    border-bottom: 2px solid #10833b;
}
.subtitle_wrap_3 > h2 {
 font-size: clamp(24px, 6.5vw, 30px);
 position: relative;
 display: block;
 font-weight: bold;
    color: #fff;
 padding: 5px 10px;
 letter-spacing: .05em;
 line-height: 1.1;
 text-align: center;
    border-bottom: 2px solid #fff;
}
.subtitle_wrap_4 > h2 {
 font-size: clamp(24px, 6.5vw, 30px);
 position: relative;
 display: block;
 font-weight: bold;
    color: #fff;
 padding: 5px 10px;
 letter-spacing: .05em;
 line-height: 1.1;
 text-align: center;
}
@media (max-width:767px) {
.subtitle_wrap_4 > h2 {
 font-size: 25px;
 position: relative;
 display: block;
 font-weight: bold;
    color: #fff;
 padding: 5px 10px;
 letter-spacing: .05em;
 line-height: 1.1;
 text-align: center;
}
}
@media (max-width:400px) {
.subtitle_wrap_4 > h2 {
 font-size: 23px;
 position: relative;
 display: block;
 font-weight: bold;
    color: #fff;
 padding: 5px 10px;
 letter-spacing: .05em;
 line-height: 1.1;
 text-align: center;
}
}
/*-----------------------------------
  TOPへ戻る
-----------------------------------*/
#page_top {
 width: 40px;
 height: 40px;
 position: fixed;
 right: 0;
 margin-right: 16px;
 bottom: 90px;
 z-index: 11;
 background-color: #10833b/*rgba(68, 68, 68, 0.5)*/;
 border-radius: 100px;
}
@media (max-width:767px) {
  #page_top {
    bottom: 135px;
  }
}
#page_top a {
 position: relative;
 display: flex;
 width: 41px;
 height: 41px;
 justify-content: center;
  align-items: center;
 text-decoration: none;
}
#page_top a::before {
 font-family: "Font Awesome 5 Free";
 font-weight: bold;
 content: '\f077';
 font-size: 16px;
 color: #fff;
 display: flex;
 justify-content: center;
 align-items: center;
}

/*-----------------------------------
  reCAPTCHA
-----------------------------------*/
.grecaptcha-badge {
  z-index: 11;
}
@media (max-width:767px) {
.grecaptcha-badge {
  bottom: 65px!important;
}
}
.bg1 {
    background: #10833b;
}
.bg2 {
    background: #f1f7f4;
}
.img_bg1 {
  background: url(../img/common/bg01.webp) no-repeat center/cover;
  background-attachment: fixed;
  position: relative;
  z-index: 0;
}
.img_bg2 {
  background: url(../img/common/bg02.webp) no-repeat center/cover;
  background-attachment: fixed;
  position: relative;
  z-index: 0;
}
.img_bg3 {
  background: url(../img/common/bg03.webp) no-repeat top center/cover;
  background-attachment: fixed;
  position: relative;
  z-index: 0;
}
@media (max-width:767px) {
    .img_bg1 {
  background: url(../img/common/bg01.webp) no-repeat left/cover;
  background-attachment: fixed;
  position: relative;
  z-index: 0;
}
.img_bg2 {
  background: url(../img/common/bg02.webp) no-repeat left/cover;
  background-attachment: fixed;
  position: relative;
  z-index: 0;
}
}
.news_blogs .subtitle_wrap_2 > h2 span {
  color: #ffffff;
}

.top_section {
 padding: 4em 0;
}

@media (max-width:820px) {
 .top_section {
  padding: 4em 0;
 }
}
/*記事部分----------------------------*/
.top-posts {
	background-color: #fff;
	border-radius: 20px; 
	position: relative;
	z-index: 1;
	padding: 3em;
    width: 100%;
    box-sizing: border-box;
    margin: 30px 0;
}
.top-posts ul {
	width: 100%;
    margin: 0 auto ;
}
.top-posts li {
	padding: 1em;
}
.top-posts li a {
	color: #222;
}
.top-posts li a span {
	margin-left: 1em;
}
.top-posts li:nth-child(odd) {
  background: #f0f0f0;
}
.overhaul{
    background-color: #fff;
	border-radius: 20px; 
	position: relative;
	z-index: 1;
	padding: 3em;
    width: 100%;
    box-sizing: border-box;
    margin: 30px 0;
}
.over_menu{
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}
.over_menu li{
    width: 30%;
    text-align: center;
}
.over_menu li img{
    width: 100%;
    margin-bottom: 5px;
}
.over_menu li a{
    color: #000;
}
.over_menu2{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 20px;
}
.over_menu2 li{
    width: 48%;
    text-align: center;
    margin-bottom: 20px;
}
.over_menu2 li img{
    width: 100%;
    margin-bottom: 5px;
}
.over_menu2 li a{
    color: #000;
}
@media (max-width:767px) {
.top-posts {
	background-color: #fff;
	border-radius: 10px; 
	position: relative;
	z-index: 1;
	padding: 1.5em;
    width: 100%;
    box-sizing: border-box;
    margin: 30px 0;
}
    .top-posts ul {
	width: 100%;
    margin: 0 auto 10px;
}
    .overhaul{
    background-color: #fff;
	border-radius: 10px; 
	position: relative;
	z-index: 1;
	padding: 1.5em;
    width: 100%;
    box-sizing: border-box;
    margin: 30px 0;
}
    .over_menu{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 20px;
}
.over_menu li{
    width: 48%;
    margin: 0 auto 20px;
    text-align: center;
}
}