@charset "utf-8";
/*---------------- index_culture --------------------*/

#index_culture {
  background: #fff;
  padding: 105px 0 70px;
  position: relative;
}

#index_culture .culture_area {
  max-width: 1350px;
  padding: 0 20px;
  margin: 0 auto;
}

/* --------------------
  Title
-------------------- */
#index_culture .culture_ttl {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

p.culture_ttl_lead {
  max-width: 675px;
  width: 100%;
}

/* --------------------
  Lead image
-------------------- */
#index_culture .culture_lead {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-bottom: 80px;
  position: relative;
}

#index_culture .culture_lead_img {
  width: 100%;
  height: auto;
  display: block;
}

#index_culture .culture_lead_tag {
  position: absolute;
  left: 16%;
  top: 17%;
  display: flex;
  flex-direction: row-reverse;
  gap: 34px;
  align-items: flex-start;
  background: transparent;
  padding: 0;
}

/* 青帯 */
#index_culture .culture_lead_tag_in {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  background: #0050E6;
  color: #fff;
  font-size: 50px;
  font-weight: 500;
  line-height: 1;
  padding: 20px;
  letter-spacing: .3em;
}

/* 2つ目の帯だけ調整 */
#index_culture .culture_lead_tag_in:nth-of-type(2) {
  margin-top: 60px;
  padding: 0 20px;
}

/* --------------------
  Grid（左右で段を揃えない：左右別積み）
-------------------- */
#index_culture .culture_grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 70px;
  padding-top: 6px;
}

/* 左右のカラムはそれぞれ独立して縦積み */
#index_culture .culture_col {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* 中央の縦ドット線：上60 / 下45 */
#index_culture .culture_grid::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  top: 0;
  bottom: 45px;

  background-image: radial-gradient(circle, #294C79 1.2px, transparent 1.3px);
  background-size: 2px 12px;
  background-repeat: repeat-y;
}

/* culture_item側の margin で間隔を作っているなら無効化（gapで管理するため） */
#index_culture .culture_item {
  margin: 0;
}

/* --------------------
  Item
-------------------- */
#index_culture .culture_item {
  position: relative;
  padding: 0;

  /* columns内で分割されないように */
  break-inside: avoid;
  -webkit-column-break-inside: avoid;

  /* columns環境で崩れ防止 */
  display: inline-block;
  width: 100%;

  /* 縦の間隔（旧 row-gap 相当） */
  margin: 0 0 46px;
}

#index_culture .culture_item_ttl {
  text-align: center;
}

#index_culture .culture_item_txt {
  max-width: 510px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  padding-bottom: 45px;
}

/* 横の丸ドット線 */
#index_culture .culture_item_txt::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background-image: radial-gradient(circle, #294C79 1.2px, transparent 1.3px);
  background-size: 12px 2px;
  background-repeat: repeat-x;
  background-position: left center;
  opacity: .95;
}

/* 画像ありカード用 */
#index_culture .culture_item_img {
  margin: 0 0 12px;
}

#index_culture .culture_item_img img {
  max-width: 450px;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  padding-bottom: 35px;
}

/* --------------------
  Icon (pseudo element)
-------------------- */
#index_culture .culture_item[class*="culture_item_icon_"]::before {
  content: "";
  position: absolute;
  /*   left:0;
  top:0; */
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  /*   background-position:center;
  background-size: 30% auto; */
}

#index_culture .culture_item_icon_03 .culture_item_txt {
  padding-bottom: 115px !important;
}

#index_culture .culture_item_icon_04 .culture_item_txt {
  padding-bottom: 100px !important;
}

/* 各アイコン画像（../../../img/） */
#index_culture .culture_item_icon_01::before {
  background-image: url(../../../img/index_culture_icon_01.png);
}

#index_culture .culture_item_icon_02::before {
  background-image: url(../../../img/index_culture_icon_05.png);
}

#index_culture .culture_item_icon_03::before {
  background-image: url(../../../img/index_culture_icon_03.png);
}

#index_culture .culture_item_icon_04::before {
  background-image: url(../../../img/index_culture_icon_04.png);
}

#index_culture .culture_item_icon_05::before {
  background-image: url(../../../img/index_culture_icon_02.png);
}

/* 各アイコン画像　位置調節 */

#index_culture .culture_item_icon_01::before {
  top: -155px;
  left: -61px;
  background-position: left;
  background-size: 22% auto;
}

#index_culture .culture_item_icon_02::before {
  top: 125px;
  left: -118px;
  background-position: left;
  background-size: 24% auto;
}

#index_culture .culture_item_icon_03::before {
  top: 83px;
  left: 59px;
  background-position: right;
  background-size: 22% auto;
}

#index_culture .culture_item_icon_04::before {
  top: -327px;
  left: -72px;
  background-position: left;
  background-size: 30% auto;
}

#index_culture .culture_item_icon_05::before {
	top: -317px;
	left: 100px;
  background-position: right;
  background-size: 36% auto;
}

.culture_lead{
  position: relative;
  overflow: hidden;        
}

.culture_lead_img{
  width: 100%;
  height: auto;
  display: block;
  transform: translate3d(0,0,0) scale(1.08); 
  will-change: transform;                   
}

/* --------------------
  Responsive
-------------------- */
@media screen and (max-width: 900px) {
  #index_culture .culture_ttl {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}

/* SP */
@media screen and (max-width: 767px) {
  #index_culture {
    padding: 35px 0;
  }
	
	#index_culture .culture_lead_tag {
		left: 5%;
		top: 9%;
		gap: 10px;
	}

  #index_culture .culture_lead_tag_in {
    /*     writing-mode: horizontal-tb; */
    font-size: 1.8rem;
    /*     letter-spacing: .10em; */
  }

  #index_culture .culture_lead_tag_in {
    padding: 10px;
  }

  #index_culture .culture_lead_tag_in:nth-of-type(2) {
    margin-top: 0;
    padding: 0 10px;
  }
	
  #index_culture .culture_lead_img {
    height: auto;
    display: block;
    height: 350px;
    object-fit: cover;
    object-position: 40% 30%;
  }
	
  /* 1カラム */
  #index_culture .culture_grid {
    column-count: 1;
    column-gap: 0;
    grid-template-columns: 1fr;
    padding-top: 0px;
  }

  #index_culture .culture_grid::before {
    display: none;
  }

  #index_culture .culture_item_ttl {
    font-size: 20px;
	  line-height: 3.5rem;
  }

  #index_culture .culture_item_img img {
    padding-bottom: 10px;
  }

  /* SPの縦間隔 */
  #index_culture .culture_item {
    margin: 0 0 32px;
  }

  #index_culture .culture_item_icon_01::before {
    top: -135px;
    left: 0;
  }

  #index_culture .culture_item_icon_02::before {
    top: -107px;
    left: 0;
/*     background-size: 29% auto; */
  }
	
	#index_culture .culture_item_icon_03::before {
		left: 0;
	}
	
	#index_culture .culture_item_icon_04::before {
    top: -270px;
		left: 0;
	}
	#index_culture .culture_item_icon_05::before {
    top: -280px;
		left: 0;
	}

}