@charset "utf-8";
/* CSS Document */

.section01{
	padding: 120px 0;
}
.section01 .inner{
	align-items: center;
	gap: 60px;
	flex-wrap: nowrap;
	justify-content: space-between;
}
.section01 .txtbox{
	width: 430px;
	flex-shrink: 0;
}
.section01 .txtbox .default_title2{
	padding-top: 24px;
	font-size: 32px;
	line-height: 1.66;
	letter-spacing: 0.087em;
}
.section01 .txtbox .txt{
	padding-top: 40px;
	line-height: 2.4;
}
.section01 .imgbox{
	position: relative;
	flex: 1;
	min-width: 0;
}
.section01 .imgbox .photo{
	width: 100%;
}
.section01 .imgbox .photo img,
.section02 .item .photo img,
.section03 .imgbox img{
	width: 100%;
	height: auto;
	display: block;
}
.section01 .imgbox .deco{
	position: absolute;
	left: -50px;
	bottom: -80px;
	width: 179px;
	pointer-events: none;
}
.section01 .imgbox .deco img{
	width: 100%;
	height: auto;
	display: block;
}

.section02{
	background-color: #002a45;
	padding: 120px 0;
}
.section02 .sec_label .line{
	background-color: rgba(255,251,242,0.4);
}
.section02 .en_title2{
	color: rgba(255,251,242,0.6);
}
.section02 .default_title2{
	padding-top: 20px;
	color: #fffbf2;
	font-size: 26px;
}
.section02 .list{
	position: relative;
	padding-top: 80px;
	gap: 0;
}
.section02 .list::before{
	content: "";
	position: absolute;
	left: 12%;
	right: 12%;
	top: 152px;
	height: 1px;
	background-color: rgba(255,251,242,0.2);
}
.section02 .item{
	width: 25%;
	padding: 0 24px;
	text-align: center;
	box-sizing: border-box;
}
.section02 .item .photo{
	width: 192px;
	margin: 0 auto 28px;
}
.section02 .item .year{
	display: inline-block;
	padding: 7px 14px;
	background-color: #c83c1e;
	color: #fff;
	font-size: 15px;
	letter-spacing: 0.12em;
	line-height: 1;
	margin-bottom: 16px;
}
.section02 .item h3{
	font-size: 18px;
	font-weight: 500;
	line-height: 1.42;
	letter-spacing: 0.071em;
	color: #fffbf2;
	margin-bottom: 16px;
}
.section02 .item .txt{
	font-size: 15px;
	line-height: 1.73;
	letter-spacing: 0.035em;
	color: rgba(255,251,242,0.75);
	text-align: left;
}

.section03{
	padding: 140px 0;
}
.section03 .contents{
	align-items: center;
}
.section03 .imgbox{
	width: 50%;
	flex-shrink: 0;
}
.section03 .txtbox{
	width: 50%;
	padding: 0 80px 0 100px;
	box-sizing: border-box;
}
.section03 .txtbox .default_title2{
	padding-top: 24px;
	font-size: 32px;
	line-height: 1.5;
	letter-spacing: 0.075em;
}
.section03 .txtbox .txt{
	padding: 40px 0 48px;
	line-height: 2.4;
}

.section02 span{color: #fff!important;}

@media screen and (max-width: 1280px){
	.section01 .txtbox .default_title2,
	.section03 .txtbox .default_title2{
		font-size: 28px;
	}
	.section03 .txtbox{
		padding: 0 40px 0 60px;
	}
}
@media screen and (max-width: 1080px){
	.section01{
		padding: 80px 0;
	}
	.section01 .inner{
		flex-direction: column;
	}
	.section01 .txtbox{
		width: 100%;
	}
	.section01 .imgbox{
		width: 100%;
	}
	.section01 .imgbox .deco{
		left: 20px;
		bottom: -20px;
		width: 120px;
	}
	.section02{
		padding: 80px 0;
	}
	.section02 .list{
		flex-wrap: wrap;
	}
	.section02 .list::before{
		display: none;
	}
	.section02 .item{
		width: 50%;
		margin-bottom: 40px;
	}
	.section03{
		padding: 80px 0;
	}
	.section03 .contents{
		flex-direction: column;
	}
	.section03 .imgbox,
	.section03 .txtbox{
		width: 100%;
	}
	.section03 .txtbox{
		padding: 40px 80px 0;
	}
      /* はじめの紹介・OUR MIND */
  .section01 > .inner.flex,
  .section03 > .contents.flex {
    flex-direction: column !important;
    align-items: stretch;
  }

  .section01 > .inner > .imgbox,
  .section03 > .contents > .imgbox {
    order: -1;
    width: 100%;
    margin: 0 0 30px;
  }

  .section01 > .inner > .txtbox,
  .section03 > .contents > .txtbox {
    width: 100%;
  }
    
}
@media screen and (max-width: 768px){
	.section02 .item{
		width: 100%;
		padding: 0;
	}
	.section03 .txtbox{
		padding: 40px 40px 0;
	}
}
@media screen and (max-width: 576px){
	.section03 .txtbox{
		padding: 32px 20px 0;
	}
}
