@charset "UTF-8";
/* main
-------------------------------------*/



.Inner {
 margin: 0 auto;
}
/*見出し
------------------------------------------------*/
.subtitle_wrap {
 display: flex;
 /*justify-content: center;*/
 align-items: center;
 margin-bottom: 3em;
}

.subtitle_wrap > h2 {
 font-size: clamp(15px, 6.5vw, 20px);
 position: relative;
 display: block;
 font-weight: bold;
 padding: 0;
 letter-spacing: .05em;
 line-height: 1.1;
 text-align: left;
}

.subtitle_wrap > h2 span {
 font-size: 3rem;
 color: #10833b;
 display: block;
 margin: 0 0 0.4em;
 padding: 0;
 text-align: left;
 letter-spacing: normal;
}


/*-----------------------------------
  コンテンツ
-----------------------------------*/
.contents_box {
 max-width: 1000px;
 margin: 0 auto;
	padding: 0 1%;
}

@media (max-width:820px) {
 .contents_box {
  width: 90%;
	 padding: 0;
 }
}
.top_section {
 padding: 4em 0;
}

@media (max-width:820px) {
 .top_section {
  padding: 4em 0;
 }
}

/*-----------------------------------
  about us
-----------------------------------*/
.wide .both{
	display: flex;
}
.wide .left,
.wide .right{
	flex: 1;
	/*padding: 10px;*/
}
.wide{
    margin: 80px auto;
	position: relative;
	overflow: visible; /* ← 影を表示させるために必要 */
}
.about01::after {
  content: "";
  display: block;
  width: 45%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-size: cover;
  background: url("../img/top/ab01.jpg") no-repeat center/cover;
}
.about01 p, .about02 p, .about03 p {
	margin-bottom: 5em;
}

.about02::after {
  content: "";
  display: block;
  width: 45%;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background-size: cover;
  background: url("../img/top/ab02.png") no-repeat center/cover;
}
.about03::after {
  content: "";
  display: block;
  width: 45%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-size: cover;
  background: url("../img/top/ab03.png") no-repeat center/cover;
}

/*スマホ-----------------------------*/
@media (max-width:820px) {
.subtitle_wrap {
 display: block;
}

.subtitle_wrap > h2 {
 text-align: center;
}
.subtitle_wrap > h2 span {
 text-align: center;
}
.subtitle_wrap {
  margin-bottom: 2em;
 }
.wide .both{
	display: flex;
    flex-direction: column;
}
.wide .left,
.wide .right{
	flex: 1;
	/*padding: 10px;*/
}
.wide{
    margin: 40px auto;
	position: relative;
	overflow: visible; /* ← 影を表示させるために必要 */
}
.about01::after {
  content: "";
  display: block;
  width: 90%;
    height: 250px;
    margin: 0 auto;
    position: relative;
  background-size: cover;
  background: url("../img/top/ab01.jpg") no-repeat center/cover;
}
    .about02::after {
  content: "";
  display: block;
  width: 90%;
    height: 250px;
    margin: 0 auto;
    position: relative;
  background-size: cover;
  background: url("../img/top/ab02.png") no-repeat center/cover;
}
.about03::after {
  content: "";
  display: block;
  width: 90%;
    height: 250px;
    margin: 0 auto;
    position: relative;
  background-size: cover;
  background: url("../img/top/ab03.png") no-repeat center/cover;
}
.about01 p, .about02 p, .about03 p {
	margin-bottom: 1em;
}
}


