@charset "UTF-8";

/* ---- 親コンテナがグリッドをはみ出させない・border切れ防止 ---- */
#introduction + div,
#introduction2 + div {
  overflow: visible;
  width: 100%;
  box-sizing: border-box;
}

#introduction + div .content_wrapper,
#introduction2 + div .content_wrapper {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: visible;
}

/* ---- カード全体レイアウト：PC3列／SP2列（DOM順そのまま） ---- */
#introduction + div .content_wrapper .wrapper_item,
#introduction2 + div .content_wrapper .wrapper_item {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  justify-items: stretch;
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  #introduction + div .content_wrapper .wrapper_item,
  #introduction2 + div .content_wrapper .wrapper_item {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
}

/* ---- カードに枠線／列いっぱいに広げる ---- */
#introduction + div .inner_item,
#introduction2 + div .inner_item {
  border: 2px solid #0067b0;
  border-radius: 6px;
  padding: 24px 20px 24px;
  box-sizing: border-box;
  text-align: center;
  background: #fff;
  width: 100%;
  min-width: 0;
}

/* ---- 画像を丸く小さく中央寄せ ---- */

#introduction + .composite_box01 .inner_item > a {
    display: none;
}

#introduction + div .inner_item_img,
#introduction2 + div .inner_item_img {
  width: 90px;
  height: 90px;
  margin: 0 auto 16px;
  border: 2px solid #0067b0;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

#introduction + div .inner_item_img img,
#introduction2 + div .inner_item_img img {
  width: 60% !important;
  height: auto !important;
  object-fit: contain;
}

/* ---- p(地方名)とh3(実績)の表示順を入れ替え ---- */
#introduction + div .inner_item_txt,
#introduction2 + div .inner_item_txt {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#introduction + div .heading,
#introduction2 + div .heading {
  display: contents;
}

/* ---- 地方名タイトル：1行固定＋下線40px ---- */
#introduction + div .heading p,
#introduction2 + div .heading p {
  order: 1;
  font-size: 19px;
  font-weight: bold;
  color: #0067b0;
  margin: 0 0 20px;
  padding-bottom: 12px;
  white-space: nowrap;
  position: relative;
line-height: 1;
}

#introduction + div .heading p::after,
#introduction2 + div .heading p::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 40px;
  height: 3px;
  background: #4fa8dd;
}

/* ---- 実績：〇件！ を1行・中央揃え（元テキストは非表示） ---- */
#introduction + div .heading h3.h,
#introduction2 + div .heading h3.h {
  order: 2;

  margin: 0;
  display: flex;
  flex-direction: row;
  align-items: baseline;
  justify-content: center;
}

#introduction + div .heading h3.h::before,
#introduction2 + div .heading h3.h::before {

  font-size: 16px;
  font-weight: bold;
  color: #0067b0;
  white-space: nowrap;
}

#introduction + div .heading h3.h::after,
#introduction2 + div .heading h3.h::after {
  font-size: 20px;
  font-weight: bold;
  color: #0067b0;
  white-space: nowrap;
}


/* ---- モバイルでもテーマ側のfont-size上書きに負けないよう再指定 ---- */
@media (max-width: 767px) {
  #introduction + div .heading h3.h,
  #introduction2 + div .heading h3.h {

  }

  #introduction + div .heading h3.h::before,
  #introduction2 + div .heading h3.h::before {
    font-size: 14px !important;
  }

  #introduction + div .heading h3.h::after,
  #introduction2 + div .heading h3.h::after {
    font-size: 24px !important;
  }

  #introduction + div .heading p,
  #introduction2 + div .heading p {
    font-size: 15px;
  }
}


.composite_box01 .inner_item:nth-of-type(1):nth-last-of-type(6), .composite_box01 .inner_item:nth-of-type(2):nth-last-of-type(5), .composite_box01 .inner_item:nth-of-type(3):nth-last-of-type(4), .composite_box01 .inner_item:nth-of-type(4):nth-last-of-type(3), .composite_box01 .inner_item:nth-of-type(5):nth-last-of-type(2), .composite_box01 .inner_item:nth-of-type(6):nth-last-of-type(1) {
margin-left : 0;
}

.composite_box01.block_images_1:not(.col2) .inner_item:nth-of-type(2n-1):nth-last-of-type(2), .composite_box01.block_images_2:not(.col2) .inner_item:nth-of-type(2n-1):nth-last-of-type(2), .composite_box01.block_images_3:not(.col2) .inner_item:nth-of-type(2n-1):nth-last-of-type(2), .composite_box01.block_images_4:not(.col2) .inner_item:nth-of-type(2n-1):nth-last-of-type(2), .composite_box01.block_images_5:not(.col2) .inner_item:nth-of-type(2n-1):nth-last-of-type(2), .composite_box01.block_images_6:not(.col2) .inner_item:nth-of-type(2n-1):nth-last-of-type(2), .composite_box01.block_images_9:not(.col2) .inner_item:nth-of-type(2n-1):nth-last-of-type(2), .composite_box01.block_images_15:not(.col2) .inner_item:nth-of-type(2n-1):nth-last-of-type(2) {
margin-bottom: 0 !important;
}

.composite_box01:not(.block_images_7):not(.block_images_8):not(.block_images_10):not(.block_images_11):not(.block_images_12):not(.block_images_13):not(.block_images_15):not(.block_images_17):not(.block_images_21):not(.block_images_22):not(.block_images_23):not(.block_images_24) .inner_item {
margin-bottom : 0;
}

.composite_box01.block_images_1 .inner_item:nth-of-type(2n), .composite_box01.block_images_2 .inner_item:nth-of-type(2n), .composite_box01.block_images_3 .inner_item:nth-of-type(2n), .composite_box01.block_images_4 .inner_item:nth-of-type(2n), .composite_box01.block_images_5 .inner_item:nth-of-type(2n), .composite_box01.block_images_6 .inner_item:nth-of-type(2n), .composite_box01.block_images_9 .inner_item:nth-of-type(2n), .composite_box01.block_images_14 .inner_item:nth-of-type(2n), .composite_box01.block_images_16 .inner_item:nth-of-type(2n) {

margin-left: 0  !important;
}

/*MV調整 260731*/
#mv,
#mv .mv_mp4,
#mv .mv_mp4 video{
	height: auto;
	max-height: initial !important;
}
#mv .mv_textimg {
    left: 0;
    bottom: 0;
    height: 100%;
}
#mv .mv_textimg > div {
    width: 40%;
    left: 2%;
    bottom: 2%;
}
#mv .mv_textimg img {
    width: 100%;
    max-width: initial;
}
@media only screen and (max-width: 768px) {
    #mv .mv_textimg > div {
        width: 45%;
    }
}
@media screen and (max-width: 125vh){
	#mv.mv_mp4_cover {
		height: auto !important;
		min-height: 0 !important;
	}
}