@charset "utf-8";
/* ----------------
 共通
------------------- */
/* -----------------
 home
-------------------- */
#contents{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

@media screen and (min-width: 850px) {/* まで */
#contents{
 max-width: 750px;
 overflow: hidden;
 background-color: #fff;
}
.contents_inner{
 padding: 2%;
}
#wrapper {
  width: 98%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.sidebar {
  width: 280px;
  min-width: 280px;
}
.widget + .widget {
  margin-top: 20px;
}
.widget--sticky {
  position: sticky;
  top: 20px; /* スクロール時にビューポートの20px位置に達すると固定 */
}
header .title_group{
 text-align: center;
}
header{
 max-width: 750px;
 margin-left: auto;
 margin-right: auto;
 color: #333;
 position: relative;
 background: url(../img/header-bg.jpg) no-repeat center top;
 background-size: cover;
}
header h1{
 margin-bottom: 0;
}
header .inner{
 padding: 5%;
}

.home .main article{
 padding: 2vw 0 2vw 0;
}
.home .main-img{
  position: relative; 
  width: 100%;
  margin: 0 auto -5px auto;
}
article .inner{
 max-width: 94%;
 margin-left: auto;
 margin-right: auto;
}
/* group_1 
------------------------------ */
.group_1 .inner{
 border: 8px solid #41b052;
 border-radius: 50px;
 padding: 5%;
}
.group_1{
 padding-top: 5vw !important;
}
.group_1 h2{
 text-align: center;
 margin-top: -17%;
}
.group_1 h3{
 text-align: center;
}
.group_1 h3{
 font-family: "Noto Sans JP", sans-serif;
 font-size: clamp(1.25rem, 1rem + 0.5vw, 1.375rem);
 color: #009e41;
 font-weight: 700;
 margin-bottom: 20px;
 line-height: 1.6;
}
.group_1 .title_2{
 text-align: center;
 margin-top: 4vw;
 margin-bottom: 4vw;
}
.group_1 ul{
 max-width: 90%;
 margin: 0 auto;
 display: grid;
  justify-items: center;
  align-content: stretch;
  grid-template-columns: 48% 48%;
  justify-content: space-between;
}

/* group_2 
------------------------------ */
.group_2{
 margin-bottom: 5vw;
 line-height: 1.6;
}
.group_2 .sub_group_1{
 display: flex;
 gap: 2%;
 margin-bottom: 2vw;
}
.group_2 .sub_group_1 .text{
 font-family: "Noto Sans JP", sans-serif;
 font-size: clamp(1rem, 0.75rem + 0.5vw, 1.125rem);
}

.group_2 .sub_group_1 img{
 width: 113px; /* 画像の幅を固定 */
 height: 113px; /* 高さ自動（比率を維持） */
 flex-shrink: 0; /* Flexの縮小設定を無効にする */
}
.group_2 .sub_group_2{
 margin-bottom: 4vw;
 text-align: center;
}
.group_2 .sub_group_3,
.group_2 .sub_group_4{
 text-align: center;
}
.group_2 .sub_group_5{
 padding-top: 2vw;
 padding-bottom: 4vw;
 margin-bottom: 5vw;
 background: url(../img/g3-bg.png) no-repeat center bottom;
 background-size: 100% auto;
 
}
.group_2 .sub_group_5 .title_2{
 text-align: center;
 margin-bottom: 2vw;
}
.group_2 .sub_group_5 .text_1{
 font-size: clamp(1.5rem, 0.375rem + 2.25vw, 2.0625rem);
 text-align: center;
 margin-bottom: 2.7vw;
 font-family: "Noto Sans JP";
 font-weight: 600;
 color: #fff;
}
.group_2 .sub_group_5 .text_2{
 font-size: clamp(1.5rem, 0.375rem + 2.25vw, 2.0625rem);
 text-align: center;
 font-family: "M PLUS Rounded 1c";
 font-weight: 700;
 margin-bottom: 0.5vw;
}

.group_2 .sub_group_5 ul{
 display: grid;
 max-width: 80%;
 margin-left: auto;
 margin-right: auto;
 justify-items: center;
 align-content: stretch;
 grid-template-columns: 47% 47%;
 justify-content: space-between;
 color: #fff;
}
.group_2 .sub_group_5 ul li p{
 text-align: center;
 margin-bottom: 1.5vw;
}
/* group_3 
------------------------------ */
/* group_4 
------------------------------ */
.group_4{
 background-color: #41b053;
}
.group_5 .title,
.group_4 .title{
 margin-bottom: 5vw;
}
.group_4 ul li{
 text-align: center;
 margin-bottom: 3vw;
 padding-left: 3.2vw;
}
.group_4 ul{
 margin-bottom: 3vw;
}
.group_4 .sub_group_2{
 text-align: center;
 max-width: 88%;
 margin-left: auto;
 margin-right: auto;
}
.group_5 .text{
 max-width: 90%;
 margin-left: auto;
 margin-right: auto;
 margin-bottom: 3vw;
 line-height: 1.6;
 font-family: "Noto Sans JP", sans-serif;
 font-size: clamp(1rem, 0.75rem + 0.5vw, 1.125rem);
}
.group_6{
 background-color: #01913a;
}
.group_6 .inner{
 background-color: #fff;
 border-radius: 30px;
 padding: 3%;
}
.group_6 .inner_box{
 padding-left: 12%;
}
.group_6 h2{
 text-align: center;
 margin-bottom: 2vw;
}

.group_6 h3{
 font-family: "Noto Sans JP", sans-serif;
 font-size: clamp(1.25rem, 0.625rem + 1.25vw, 1.5625rem);
 color: #009e41;
 font-weight: 700;
 margin-bottom: 20px;
 line-height: 1.6;
}
.group_6 .sub_group_3,
.group_6 .sub_group_2,
.group_6 .sub_group_1{
 display: flex;
 gap: 20px;
}
.group_6 .sub_group_1{
 margin-bottom: 2.5vw;
}
.group_6 .sub_group_1 img{
 min-width: 100px;
}
.group_6 .sub_group_2{
 background-color: #569cd7;
 border-radius: 20px;
 padding: 15px;
 color: #fff;
 margin-bottom: 2vw;
 font-size: clamp(1rem, 0.75rem + 0.5vw, 1.125rem);
 line-height: 1.6;
}
.group_6 .sub_group_3{
 background-color: #8ec220;
 border-radius: 20px;
 padding: 15px;
 color: #fff;
 font-size: clamp(1rem, 0.75rem + 0.5vw, 1.125rem);
 line-height: 1.6;
 margin-bottom: 2vw;
}
.group_6 .sub_group_3 img,
.group_6 .sub_group_2 img{
 min-width: 79px;
}

.group_6 .child_3{
 background: url(../img/g6-bg-sp.png) no-repeat 3.1% bottom;
 background-size: auto;
}
.group_6 .child_1,
.group_6 .child_2{
 margin-bottom: 1vw;
}
/* group_7 
------------------------------ */
.group_7{
 background-color: #8dc21f;
}
.group_7 h2{
 margin-bottom: 2vw;
 text-align: center;
}
.group_7 .inner{
 background-color: #fff;
 border-radius: 30px;
 padding: 3%;
}
.group_7 .grid{
 max-width: 85%;
 margin: 0 auto 2vw auto;
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 20px;
}
.group_7 p.text{
 font-size: clamp(1rem, 0.75rem + 0.5vw, 1.125rem);
 line-height: 1.6;
 margin-bottom: 2vw;
}

/* ------------------------------------------------------------------ */
.youtube {
  height: 100%;
  max-width: 350px;
  margin-left: auto;
  margin-right: auto;
}
.youtube iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 9 / 16;
  margin-left: auto;
  margin-right: auto;
  border-radius: 15px;
}
.slider li{
 margin-left: 10px;
 margin-right: 10px;
}
.slider .title{
 text-align: center;
 margin-bottom: 20px;
}
.slider .title img{
 margin-left: auto;
 margin-right: auto;
}

.slider .slick-prev {
    background: url(../img/prev-btn.png) no-repeat center center;
    background-size: auto;
    width: 50px;
    height: 50px;
    text-indent: -9999px;
    border: none;
    position: absolute;
    left: 20%;
    top: 50%;
    z-index: 20;
    background-size: 100% auto;
	transition:0.3s ease;

}
.slider .slick-next {
    background: url(../img/next-btn.png) no-repeat center center;
    background-size: auto;
    width: 50px;
    height: 50px;
    text-indent: -9999px;
    border: none;
    position: absolute;
    top: 50%;
    right: 20%;
    z-index: 20;
    background-size: 100% auto;
	transition:0.3s ease;
  }
.slider .slick-prev:hover,
.slider .slick-next:hover{
 opacity: 0.7;
}  
/* --------------------------------------------------------- */
/* google map レスポンシブ*/
.g_map {
  display: block;
  position: relative;
  padding-top: 100%;
  height: 0;
  overflow: hidden;
  }   
  .g_map iframe,
  .g_map object,
  .g_map embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  }

}/*------------------------------------- PC end */

