@charset 'utf-8';
@media only screen and (min-width: 768px){
	.pc_none {
		display: none!important;
	}
}
@media only screen and (max-width: 767px){
	.sp_none {
		display: none!important;
	}
}
a,p{
/*	word-break: break-all;*/
word-break: normal;
overflow-wrap: break-word;
}
@media only screen and (max-width: 767px){
/*	-767px 画面幅375px閲覧で1px=0.1rem可変*/
	html{
			/*font-size: 1.335vw;*/
		}
}
/*Googleフォント*/
.light {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}
.inter{
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.mid {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
.sbold {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}
.bold {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.fra{
  font-family: "Fraunces", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.italic{
  font-family: "Fraunces", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: italic;
}

#main {
	background-color: #fafafa!important;
	font-family: "Inter", sans-serif!important;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	color: #53A1CC;
}

/*コンテンツここから*/

.m_visual{
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  box-sizing: border-box;
}

.mv_inner{
  width: 100%;
  overflow: hidden; /* ← はみ出したズーム分を見切る */
  position: relative;
}

.mv_inner img{
  width: 100%;
  height: auto;
  display: block;
  transform: scale(1.25);
  transform-origin: center center;
  will-change: transform;
}
.mv_inner p{
	font-size: 26px;
	line-height: 36px;
	letter-spacing: calc((-20/1000)*1em);
	color: #E05050;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 600px;
	height: 30px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
@media only screen and (max-width: 767px){
	.mv_inner p{
		font-size: 20px;
		line-height: 22px;
		width: 100%;
		height: 46px;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		align-items: center;
		text-align: center;
		gap: 0 34px;
	}
}
.mv_inner p .span_box{
	width: auto;
	height: auto;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 20px;
}

/*コンテンツ01*/
.contents01{
	width: 100%;
	height: auto;
	display: block;
}
.contents01 .contents01_01{
	width: 1226px;
	height: auto;
	display: block;
	margin: 51px auto 0;
}
@media only screen and (max-width: 767px){
	.contents01 .contents01_01{
		width: 90%;
		margin: 22px auto 0;
	}
}
.contents01 .contents01_01 .text01{
	color: #53A1CC;
	font-size: 26px;
	line-height: 32px;
}
@media only screen and (max-width: 767px){
	.contents01 .contents01_01 .text01{
		color: #53A1CC;
		font-size: 13px;
		line-height: 20px;
	}
}
.contents01 .contents01_01 .contents01_01_01{
	width: 1133px;
	height: auto;
	margin: 170px auto 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
@media only screen and (max-width: 767px){
	.contents01 .contents01_01 .contents01_01_01{
		width: 100%;
		margin: 72px auto 0;
		padding: 0 8px;
		box-sizing: border-box;
		justify-content: center;
		gap: 20px;
	}
}
.contents01 .contents01_01 .contents01_01_01 .img_wrap{
	width: 562px;
	height: auto;
	display: block;
	position: relative;
	overflow: hidden;
}
@media only screen and (max-width: 767px){
	.contents01 .contents01_01 .contents01_01_01 .img_wrap{
		width: 52%;
	}
}
.contents01 .contents01_01 .contents01_01_01 .l_box01{
	width: 100%;
	height: auto;
	display: block;
	opacity: 0;
	transform: scale(1.15);
	transform-origin: center center;
	will-change: transform, opacity;
	
}
.contents01 .contents01_01 .contents01_01_01 .l_box01 img{
 	display: block;
	width: 100%;
}

/*右側イメージ*/
.contents01 .contents01_01 .contents01_01_01 .img02{
	width: 449px;
	height: auto;
	display: block;
	margin-top: 94px;
	position: relative;
}
@media only screen and (max-width: 767px){
	.contents01 .contents01_01 .contents01_01_01 .img02{
		width: 41%;
		margin-top: 28px;
	}
}


/*contents01_02ここから*/
.contents01 .contents01_02{
	width: 1226px;
	height: auto;
	display: block;
	margin: 140px auto 0;
}
@media only screen and (max-width: 767px){
	.contents01 .contents01_02{
		width: 100%;
		margin: 75px auto 0;
	}
}
.contents01_02_01{
	width: 100%;
	height: auto;
	display: block;
}
.contents01_02_01 .img_wrap02{
	width: 1226px;
	height: auto;
	display: block;
	margin: 140px auto 0;
	position: relative;
	overflow: hidden;
}
@media only screen and (max-width: 767px){
	.contents01_02_01 .img_wrap02{
		width: 100%;
		margin: 0 auto;
	}
}
.contents01_02_01 .img_wrap02 .l_box02{
	width: 100%;
	height: auto;
	display: block;
	opacity: 0;
	transform: scale(1.15);
	transform-origin: center center;
	will-change: transform, opacity;
}
@media only screen and (max-width: 767px){
	.contents01_02_01 .img_wrap02 .l_box02{
		width: 90%;
		margin: 0 auto;
	}
}
.contents01_02_01 .img_wrap02 .l_box .img03{
	width: 100%;
	height: auto;
	display: block;
}
.contents01_02 .contents01_02_02{
	width: 100%;
	height: auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-top: 50px;
}
.contents01_02 .contents01_02_02 .text02{
	color: #53A1CC;
	font-size: 26px;
	line-height: 32px;
	width: 699px;
	height: auto;
}
@media only screen and (max-width: 767px){
	.contents01_02 .contents01_02_02 .text02{
		font-size: 12px;
		line-height: 16px;
		width: auto;
	}
}
.contents01_02 .contents01_02_02 .img04{
	width: 427px;
	height: auto;
	margin-top: 80px;
	margin-right: 39px;
	flex-shrink: 0;
}
@media only screen and (max-width: 767px){
	.contents01_02 .contents01_02_02 .img04{
		width: 39%;
		margin-top: 0;
		margin-right: 0;
		flex-shrink: 0;
	}
}
.contents01_02 .contents01_02_02{
	width: 100%;
	height: auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-top: 50px;
}
@media only screen and (max-width: 767px){
	.contents01_02 .contents01_02_02{
		width: 90%;
		justify-content: space-between;
		align-items: flex-start;
		margin: 13px auto 0;
		gap: 18px;
	}
	.contents01_02 .contents01_02_02.sp_layout{
		flex-direction: column;
		gap: 40px;
	}
}
.contents01_02 .contents01_02_02 .img_wrap03{
	width: 636px;
	height: auto;
	display: block;
	position: relative;
	flex-direction: center;
	flex-shrink: 0;
	margin-top: -406px;
}
@media only screen and (max-width: 767px){
	.contents01_02 .contents01_02_02 .img_wrap03{
		width: 100%;
		margin-top: 0;
	}
}
.contents01_02 .contents01_02_02 .img_wrap03 .l_box02{
	width: 100%;
	height: auto;
	display: block;
}
.contents01_02 .contents01_02_02 .img_box{
	width: 505px;
	height: auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 30px;
}
@media only screen and (max-width: 767px){
	.contents01_02 .contents01_02_02 .img_box{
		width: 71%;
		margin: 0 auto;
		gap: 20px;
	}
}
.contents01_02 .contents01_02_02 .img_box .img07{
	width: 100%;
	height: auto;
	display: block;
}
.contents01_02 .contents01_02_02 .img_wrap003{
	width: 100%;
	height: auto;
	overflow: hidden;
}

.contents01_03{
	width: 100%;
	height: auto;
	display: block;
}
.contents01_03 .img_wrap04{
	width: 1124px;
	height: auto;
	display: block;
	margin: 140px auto 0;
	position: relative;
	overflow: hidden;
}
@media only screen and (max-width: 767px){
	.contents01_03 .img_wrap04{
		width: 100%;
		margin: 75px auto 0;
	}
}
.contents01_03 .img_wrap04 .l_box03{
	width: 100%;
	height: auto;
	display: block;
	opacity: 0;
	transform: scale(1.15);
	transform-origin: center center;
	will-change: transform, opacity;
}
.contents01_03 .img_wrap04 .l_box .img08{
	width: 100%;
	height: auto;
	display: block;
}


.contents01 .contents01_04{
	width: 1226px;
	height: auto;
	display: block;
	margin: 100px auto 0;
	padding: 60px 72px 60px 35px;
	background-position: center;
  	box-sizing: border-box;
	background-image: url(../img/bg01.png);
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center;
}
@media only screen and (max-width: 767px){
	.contents01 .contents01_04{
		width: 90%;
		margin: 50px auto 0;
		padding: 25px;
		background-position: center;
	  	box-sizing: border-box;
		background-image: url(../img/bg_sp.png);
		background-size: cover;
	}
}
.contents01 .contents01_04 .contents01_04_01{
	width: 100%;
	height: auto;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 50px;
}
@media only screen and (max-width: 767px){
	.contents01 .contents01_04 .contents01_04_01{
	flex-direction: column;
		gap: 20px;
	}
}
.contents01 .contents01_04 .contents01_04_01 .img_wrap{
	width: 614px;
	height: auto;
	display: block;
	position: relative;
}
@media only screen and (max-width: 767px){
	.contents01 .contents01_04 .contents01_04_01 .img_wrap{
		width: 100%;
	}
}
.contents01 .contents01_04 .contents01_04_01 .img_wrap .l_box{
	width: auto;
	height: auto;
	display: block;
}
.contents01 .contents01_04 .contents01_04_01 .img09{
	width: 100%;
	height: auto;
	display: block;
}
.contents01 .contents01_04 .contents01_04_01 .text_wrap{
	width: auto;
	height: auto;
	display: block;
}
.contents01 .contents01_04 .contents01_04_01 .text_wrap .text03{
	font-size: 26px;
	line-height: 32px;
	color: #53A1CC;
	width: 462px;
	height: auto;
	margin-top: 161px;
	word-break: keep-all
}
@media only screen and (max-width: 767px){
	.contents01 .contents01_04 .contents01_04_01 .text_wrap .text03{
		font-size: 12px;
		line-height: 16px;
		width: 100%;
		margin-top: 0;
	}
}

.contents01 .contents01_04 .contents01_04_02{
	width: 100%;
	height: auto;
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	gap: 31px;
	margin-top: 80px;
}
@media only screen and (max-width: 767px){
	.contents01 .contents01_04 .contents01_04_02{
		width: 100%;
		height: auto;
		display: flex;
		justify-content: flex-end;
		align-items: flex-start;
		gap: 31px;
		margin-top: 32px;
		flex-direction: row-reverse;
	}
}
.contents01 .contents01_04 .contents01_04_02 .img_wrap{
	width: 359px;
	height: auto;
	display: block;
	margin-top: -466px;
	position: relative;
}
@media only screen and (max-width: 767px){
	.contents01 .contents01_04 .contents01_04_02 .img_wrap{
		width: 41%;
		margin-top: 0;
		flex-shrink: 0;
	}
}
.contents01 .contents01_04 .contents01_04_02 .img_wrap .l_box{
	width: auto;
	height: auto;
	display: block;
}
.contents01 .contents01_04 .contents01_04_02 .img_wrap .img010{
	width: 100%;
	height: auto;
	display: block;
}
.contents01 .contents01_04 .contents01_04_02 .text_wrap{
	width: auto;
	height: auto;
	display: block;
}
.contents01 .contents01_04 .contents01_04_02 .text_wrap .up_text{
	font-size: 20px;
	line-height: 26px;
	color: #53A1CC;
	width: 623px;
	height: auto;
	word-break: keep-all
}
@media only screen and (max-width: 767px){
	.contents01 .contents01_04 .contents01_04_02 .text_wrap .up_text{
		font-size: 11px;
		line-height: 15px;
		width: auto;
	}
}


.contents01_05{
	width: 100%;
	height: auto;
	display: block;
}
.contents01_05 .contents01_05_01{
	width: 100%;
	height: auto;
	display: block;
	margin: 100px auto 0;
	position: relative;
}
@media only screen and (max-width: 767px){
	.contents01_05 .contents01_05_01{
		margin: 53px auto 0;
	}
}
.contents01_05 .contents01_05_01 .img_wrap06{
	width: 1226px;
	height: auto;
	display: block;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}
@media only screen and (max-width: 767px){
	.contents01_05 .contents01_05_01 .img_wrap06{
		width: 90%;
	}
}
.contents01_05 .contents01_05_01 .img_wrap06 .l_box04{
	width: 100%;
	height: auto;
	display: block;
	opacity: 0;
	transform: scale(1.15);
	transform-origin: center center;
	will-change: transform, opacity;
}
.contents01_05 .img_wrap06 .l_box04 .img011{
	width: 100%;
	height: auto;
	display: block;
}
.contents01_05 .contents01_05_02{
	width: 1226px;
	height: auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 78px;
	padding: 0 16px 0 44px;
	box-sizing: border-box;
	margin: 59px auto 0;
}
@media only screen and (max-width: 767px){
	.contents01_05 .contents01_05_02{
		width: 100%;
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
		gap: 20px;
		padding: 0;
		margin: 50px auto 0;
	}
}
.contents01_05 .contents01_05_02 .inner_box01{
	width: auto;
	height: auto;
	display: block;
	flex-shrink: 0;
}
.contents01_05 .contents01_05_02 .inner_box01 .img_wrap{
	width: 483px;
	height: auto;
	display: block;
}
@media only screen and (max-width: 767px){
	.contents01_05 .contents01_05_02 .inner_box01 .img_wrap{
		width: 139px;
	}
}
.contents01_05 .contents01_05_02 .inner_box01 .img_wrap .l_box{
	width: 100%;
	height: auto;
	display: block;
}
.contents01_05 .contents01_05_02 .inner_box01 .img_wrap .l_box img{
	width: 100%;
	height: auto;
	display: block;
}
.contents01_05 .contents01_05_02 .inner_box02{
	width: 605px;
	height: auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 30px;
}
@media only screen and (max-width: 767px){
	.contents01_05 .contents01_05_02 .inner_box02{
		width: 235px;
		gap: 20px;
	}
}
.contents01_05 .contents01_05_02 .inner_box02 .img_wrap{
	width: 100%;
	height: auto;
	display: block;
}
.contents01_05 .contents01_05_02 .inner_box02 .img_wrap .l_box{
	width: 100%;
	height: auto;
	display: block;
}
.contents01_05 .contents01_05_02 .inner_box02 .img_wrap .l_box img{
	width: 100%;
	height: auto;
	display: block;
}
.contents01_05 .text_box{
	width: 1226px;
	height: auto;
	display: block;
	margin: 50px auto 0;
	padding: 0 16px 0 44px;
	box-sizing: border-box;
}
@media only screen and (max-width: 767px){
	.contents01_05 .text_box{
		width: 90%;
		margin: 41px auto 0;
		padding: 0;
	}
}
.contents01_05 .text_box p{
	font-size: 26px;
	line-height: 32px;
	color: #53A1CC;
	word-break: keep-all;
}
@media only screen and (max-width: 767px){
	.contents01_05 .text_box p{
		font-size: 12px;
		line-height: 16px;
	}
}

.contents01_06 .contents01_06_01{
	width: 1226px;
	height: auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	gap: 20px;
	margin: 142px auto 0;
}
@media only screen and (max-width: 767px){
	.contents01_06 .contents01_06_01{
		width: 90%;
		gap: 26px;
		margin: 100px auto 0;
	}
}
.contents01_06 .contents01_06_01 .img015{
	width: 344px;
	height: auto;
	display: block;
}
@media only screen and (max-width: 767px){
	.contents01_06 .contents01_06_01 .img015{
		width: 165px;
	}
}
.contents01_06 .contents01_06_01 .img016{
	width: 695px;
	height: auto;
	display: block;
}
@media only screen and (max-width: 767px){
	.contents01_06 .contents01_06_01 .img016{
		width: 100%;
	}
}
.contents01_06 .contents01_06_01 .img_wrap{
	width: 695px;
	height: auto;
	display: block;
}
@media only screen and (max-width: 767px){
	.contents01_06 .contents01_06_01 .img_wrap{
		width: 100%;
	}
}
.contents01_06 .contents01_06_01 .img_wrap .l_box{
	width: 100%;
	height: auto;
	display: block;
}
.contents01_06 .contents01_06_01 .img_wrap .l_box img{
	width: 100%;
	height: auto;
	display: block;
}
.contents01_06 .contents01_06_01 .text04{
	font-size: 40px;
	line-height: 40px;
	color: #53A1CC;
	text-align: center;
}
@media only screen and (max-width: 767px){
	.contents01_06 .contents01_06_01 .text04{
		font-size: 20px;
		line-height: 20px;
	}
}
.contents01_07{
	width: 1226px;
	height: auto;
	display: block;
	margin: 150px auto 0;
}
@media only screen and (max-width: 767px){
	.contents01_07{
		width: 90%;
		margin: 66px auto 0;
	}
}
.contents01_07 .img_wrap07{
	width: 805px;
	height: auto;
	display: block;
	margin: 0 auto;
}
@media only screen and (max-width: 767px){
	.contents01_07 .img_wrap07{
		width: 319px;
	}
}
.contents01_07 .img_wrap .l_box05{
	width: 100%;
	height: auto;
	display: block;
	opacity: 0;
	transform: scale(1.15);
	transform-origin: center center;
	will-change: transform, opacity;
}
.contents01_07 .img_wrap .l_box05 img{
	width: 100%;
	height: auto;
	display: block;
}
.contents01_07 .contents01_07_01{
	width: 100%;
	height: auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-top: 140px;
}
@media only screen and (max-width: 767px){
	.contents01_07 .contents01_07_01{
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
		margin-top: 50px;
		gap: 24px;
	}
}
.contents01_07 .contents01_07_01 > .img_wrap:nth-of-type(1){
	width: 716px;
	height: auto;
	display: block;
}
@media only screen and (max-width: 767px){
	.contents01_07 .contents01_07_01 > .img_wrap:nth-of-type(1){
		width: 226px;
	}
}
.contents01_07 .contents01_07_01 > .img_wrap:nth-of-type(2){
	width: 434px;
	height: auto;
	display: block;
}
@media only screen and (max-width: 767px){
	.contents01_07 .contents01_07_01 > .img_wrap:nth-of-type(2){
		width: 208px;
		margin-left: auto;
	}
}
.contents01_07 .contents01_07_01 > .img_wrap .l_box{
	width: 100%;
	height: auto;
	display: block;
}
.contents01_07 .contents01_07_01 .img_wrap .l_box img{
	width: 100%;
	height: auto;
	display: block;
}

/*contents02ここから*/
.contents02{
	width: 100%;
	height: auto;
	display: block;
	margin-top: 71px;
}
@media only screen and (max-width: 767px){
	.contents02{
		margin-top: 39px;
	}
}
.contents02 .contents02_01{
	width: 1225px;
	height: auto;
	display: block;
	margin: 0 auto;
}
@media only screen and (max-width: 767px){
	.contents02 .contents02_01{
		width: 90%;
	}
}
.contents02 .contents02_01 .acd_title{
	width: 100%;
	height: auto;
/*	padding: 20px 0 0;*/
	position: relative;
	text-align: center;
	border-top: 1px solid #434343;
	border-bottom: 1px solid #434343;
}
.contents02 .contents02_01 .acd_title .arrow01{
	width: 16px;
	height: auto;
	position: absolute;
	right: 30px;
	top: 34px;
	transition: transform .4s ease;
}
@media only screen and (max-width: 767px){
	.contents02 .contents02_01 .acd_title .arrow01{
		width: 16px;
		right: 10px;
		top: 23px;
		transition: transform .4s ease;
	}
}
.acd_title.is-active .arrow01 {
  transform: rotate(180deg);
}
.contents02 .contents02_01 .acd_title h2{
	font-size: 30px;
	line-height: 38px;
	color: #434343;
/*	padding-bottom: 20px;*/
	padding: 20px 0;
}
@media only screen and (max-width: 767px){
	.contents02 .contents02_01 .acd_title h2{
		font-size: 18px;
		line-height: 18px;
	}
}
.contents02 .contents02_01 .item_box{
	width: 1035px;
	height: auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: max-height .6s ease, opacity .4s ease;
	margin: 0 auto;
}
@media only screen and (max-width: 767px){
	.contents02 .contents02_01 .item_box{
		width: 100%;
		height: auto;
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 43px;
	}
}
.acd_title.is-active .item_box {
  max-height: 1500px; /* 中身に合わせて十分大きく */
  opacity: 1;
  padding-bottom: 40px;
}
@media only screen and (max-width: 767px){
	.acd_title.is-active .item_box {
	  max-height: 3000px; /* 中身に合わせて十分大きく */
	}
}
.contents02 .contents02_01 .item_box .item_box01{
	width: 315px;
	height: auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 40px;
}
@media only screen and (max-width: 767px){
	.contents02 .contents02_01 .item_box .item_box01{
		width: 240px;
		gap: 45px;
		margin: 0 auto;
	}
}
.contents02 .contents02_01 .item_box .item_box02{
	width: 690px;
	height: auto;
	display: flex;
	flex-direction: initial;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 40px 30px;
}
@media only screen and (max-width: 767px){
	.contents02 .contents02_01 .item_box .item_box02{
		width: 100%;
		height: auto;
		display: flex;
		flex-direction: initial;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 44px 15px;
	}
}
.contents02 .contents02_01 .item_box .item_box01 .item{
	width: 100%;
	height: auto;
	display: block;
	text-align: left;
}
.contents02 .contents02_01 .item_box .item_box02 .item{
	width: 210px;
	height: auto;
	display: block;
}
@media only screen and (max-width: 767px){
	.contents02 .contents02_01 .item_box .item_box02 .item{
		width: 47.7%;
		height: auto;
		display: block;
	}
}
.contents02 .contents02_01 .item_box .item_box01 .item .item01{
	width: 100%;
	height: auto;
	display: block;
	margin-bottom: 10px;
}
.contents02 .contents02_01 .item_box .item_box01 .item ul{
	width: 100%;
	height: auto;
	display: block;
}
@media only screen and (max-width: 767px){
	.contents02 .contents02_01 .item_box .item_box01 .item ul{
		display: flex;
		flex-direction: column;
		align-items: center;
	}
}
.contents02 .contents02_01 .item_box .item_box01 .item ul li{
	width: 100%;
	height: auto;
	display: block;
}
@media only screen and (max-width: 767px){
	.contents02 .contents02_01 .item_box .item_box01 .item ul li{
		width: auto;
		height: auto;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
}
.contents02 .contents02_01 .item_box .item_box01 .item ul li a{
	width: 100%;
	height: auto;
	display: inline-flex;
	justify-content: flex-start;
	align-items: flex-start;
	font-size: 11px;
	line-height: 18px;
	text-align: left;
}
.contents02 .contents02_01 .item_box .item_box01 .item ul li a span{
	font-size: 11px;
	line-height: 18px;
	color: #434343;
}
.contents02 .contents02_01 .item_box .item_box01 .item ul li a .span01{
	width: 110px;
	display: block;
}
.contents02 .contents02_01 .item_box .item_box01 .item ul li a .span02{
	text-decoration: underline;
}
.contents02 .contents02_01 .item_box .item_box01 .item ul li a:hover span{
	color: #53A1CC;
	transition: all .5s;
}


/*contents03ここから*/
.contents03{
	width: 1226px;
	height: auto;
	display: block;
	margin: 100px auto 0;
}
@media only screen and (max-width: 767px){
	.contents03{
		width: 90%;
		margin: 70px auto 0;
	}
}
.contents03 .contents03_01{
	width: 1083px;
	height: auto;
	padding-left: 143px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	position: relative;
	margin: 0 auto;
}
@media only screen and (max-width: 767px){
	.contents03 .contents03_01{
		width: 100%;
		padding-left: 0;
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
	}
}
.contents03 .contents03_01 .img_box{
	width: 386px;
	height: auto;
	display: block;
	flex-shrink: 0;
	margin-bottom: 80px;
	position: relative;
}
@media only screen and (max-width: 767px){
	.contents03 .contents03_01 .img_box{
		width: 160px;
		margin-bottom: 0;
	}
}
.contents03 .contents03_01 .img_box img{
	width: 100%;
	height: auto;
	display: block;
}
.contents03 .contents03_01 .img_box .text_wrap03{
	color: #E05050;
	width: 570px;
	height: 333px;
	position: absolute;
	left: 233px;
	bottom: 108px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
}
@media only screen and (max-width: 767px){
	.contents03 .contents03_01 .img_box .text_wrap03{
		width: 218px;
		height: 124px;
		left: 108px;
		bottom: 30px;
	}
}
.contents03 .contents03_01 .img_box p{
	width: auto;
	height: auto;
}
.contents03 .contents03_01 .img_box p span{
	font-size: 100px;
	line-height: 105px;
}
@media only screen and (max-width: 767px){
	.contents03 .contents03_01 .img_box p span{
		font-size: 40px;
		line-height: 40px;
	}
}
.contents03 .contents03_01 .img_box p .span01{
	margin-left: 180px;
}
@media only screen and (max-width: 767px){
	.contents03 .contents03_01 .img_box p .span01{
		margin-left: 64px;
	}
}
.contents03 .contents03_01 .contents03_01_01{
	width: 564px;
	height: auto;
}
@media only screen and (max-width: 767px){
	.contents03 .contents03_01 .contents03_01_01{
		width: 100%;
		height: auto;
		padding-left: 40px;
		box-sizing: border-box;
	}
}
.contents03 .contents03_01 .contents03_01_01 .text04{
	font-size: 18px;
	line-height: 24px;
	color: #E05050;
	word-break: keep-all;
}
@media only screen and (max-width: 767px){
	.contents03 .contents03_01 .contents03_01_01 .text04{
		font-size: 12px;
		line-height: 16px;
		margin-top: 13px;
	}
}
.contents03 .contents03_02{
	width: 1226px;
	height: auto;
	margin: 20px auto 0;
}
@media only screen and (max-width: 767px){
	.contents03 .contents03_02{
		width: 100%;
		margin: 38px auto 0;
	}
}
.contents03 .contents03_02 .text05{
	width: 510px;
	height: auto;
	font-size: 15px;
	line-height: 21px;
	color: #E05050;
	word-break: keep-all;
}
@media only screen and (max-width: 767px){
	.contents03 .contents03_02 .text05{
		width: 100%;
		font-size: 11px;
		line-height: 14px;
	}
}


/*クレジット共通*/
.img_wrap{
	position: relative;
	cursor: pointer;
}
.img_wrap .credit{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
/*	display: ;*/
}
.img_wrap .credit .credit_inner{
	width: 100%;
	height: 100%;
	position: relative;
}
.img_wrap .credit ul{
	width: 124px;
	height: auto;
	display: block;
	position: absolute;
	bottom: 12px;
	right: 40px;
}
.img_wrap .credit ul li{
	width: auto;
	height: auto;
	display: block;
}
.img_wrap .credit ul li a{
	width: 100%;
	height: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 11px;
	line-height: 18px;
	color: #fff;
}
.img_wrap .credit.credit_blue ul li a{
	color: #53A1CC;
}

.img_wrap .credit ul li a .span02{
	text-decoration: underline;
}
.img_wrap .credit.credit_blue ul li a .span02{
	text-decoration: underline;
	transition: all .5s;
}
.img_wrap .credit ul li a:hover{
	color: #53A1CC;
	transition: all .5s;
}
.img_wrap .credit.credit_blue ul li a:hover{
	color: #000;
}
.img_wrap .credit.credit_blue ul li a:hover .span02{
	text-decoration: underline;
}
.img_wrap .icon01{
	width: 22px;
	height: 22px;
	display: block;
	position: absolute;
	bottom: 10px;
	right: 10px;
	z-index: 10;
	transition: all .5s;
	cursor: pointer;
}
@media only screen and (max-width: 767px){
	.img_wrap .icon01{
		width: 14px;
		height: 14px;
		bottom: 5px;
		right: 5px;
	}
	.img_wrap02 .icon01{
		width: 14px;
		height: 14px;
		bottom: 5px;
		right: 25px;
	}
}
.img_wrap.is-active .icon01{
	transform: rotate(135deg);
	transition: all .5s;
}

/* 初期：完全に触れない・存在感ゼロ */
.img_wrap .credit{
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: 
    opacity .3s ease,
    transform .3s ease,
    visibility 0s linear .3s; /* ← 消える時だけ遅延 */
}
.img_wrap.is-active .credit{
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  transition:
    opacity .3s ease,
    transform .3s ease;
}



/*@media only screen and (max-width: 767px){
	.img_wrap .credit{
	  visibility: initial;
	  opacity: 1;
	  pointer-events: initial;
	  transform: initial;
	  transition: initial;
	  width: 100%;
	  min-width: 320px;
	  height: auto;
	  display: none;
	  position: fixed;
	  top: 0;
	  bottom: 0;
	  left: 0;
	  right: 0;
	  z-index: 100;
	  background-color: #fff;
	}
}
@media only screen and (max-width: 767px){
	.img_wrap .credit .popup{
		width: 100%;
		height: auto;
	}
	.img_wrap .credit .credit_inner{
		width: 100%;
		height: 100%;
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.img_wrap .credit .credit_inner img{
		width: 254px;
		height: auto;
		display: block;
		margin: 0 auto;
	}
	.img_wrap .credit ul{
		width: auto;
		height: auto;
		display: block;
		position: initial;
		bottom: initial;
		right: initial;
		margin-top: 36px;
	}
	.img_wrap .credit ul li{
		width: auto;
		height: auto;
		display: block;
	}
	.img_wrap .credit ul li a{
		width: auto;
		height: auto;
		display: inline-flex;
		justify-content: space-between;
		align-items: center;
		font-size: 13px;
		line-height: 27px;
		color: #434343;
	}
	.img_wrap .credit ul li a .span02{
		margin-left: 10px;
	}

.popup-close-btn{
		width: 20px;
		height: 20px;
		z-index: 10;
		cursor: pointer;
		display: flex;
		justify-content: center;
		align-items: center;
		align-content: center;
		position: absolute;
		top: 29px;
		bottom: auto;
		left: auto;
		right: 30px;
		margin: auto;
	}
.popup-close-btn .line-bar{
		width: 20px;
		height: 1.5px;
		background-color: #707070;
		border-radius: 1px;
		position: relative;
		margin: 0;
		transform: rotate(135deg);
		display: block;
	}
.popup-close-btn .line-bar::before{
		content: "";
		display: block;
		background-color: #707070;
		border-radius: 1px;
		position: absolute;
		width: 100%;
		height: 1.5px;
		transform: rotate(90deg);
		top: 0;
	}
	.close-area{
		width: 100%;
		height: 100%;
		background-color: initial;
		display: block;
		cursor: pointer;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 0;
		margin: auto;
	}
}*/



@media only screen and (max-width: 767px){
	.credit{
	  visibility: initial;
	  opacity: 1;
	  pointer-events: initial;
	  transform: initial;
	  transition: initial;
	  width: 100%;
	  min-width: 320px;
	  height: auto;
	  display: none;
	  position: fixed;
	  top: 0;
	  bottom: 0;
	  left: 0;
	  right: 0;
	  z-index: 100;
	  background-color: #fff;
	}
}
@media only screen and (max-width: 767px){
	.credit .popup{
		width: 100%;
		height: auto;
	}
	.credit .credit_inner{
		width: 100%;
		height: auto;
		min-height: 551px;
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.credit .credit_inner img{
		width: 	254px;
		height: auto;
		display: block;
		margin: 0 auto;
	}
	.credit .credit_inner img.layout02{
		width: 	100%;
		height: auto;
		display: block;
		margin: 0 auto;
	}
	.credit .credit_inner img.layout02_01{
			margin-top: 26px;
	}
	.credit ul{
		width: auto;
		height: auto;
		display: block;
		position: initial;
		bottom: initial;
		right: initial;
		margin-top: 36px;
	}
	.credit ul li{
		width: auto;
		height: auto;
		display: block;
	}
	.credit ul li a{
		width: 160px;
		height: auto;
		display: inline-flex;
		justify-content: space-between;
		align-items: center;
		font-size: 13px;
		line-height: 27px;
		color: #434343;
	}
	.credit ul li a .span02{
		margin-left: 10px;
		text-decoration: underline;
	}

.popup-close-btn{
		width: 15px;
		height: 15px;
		z-index: 10;
		cursor: pointer;
		display: flex;
		justify-content: center;
		align-items: center;
		align-content: center;
		position: absolute;
		top: 20px;
		bottom: auto;
		left: auto;
		right: 20px;
		margin: auto;
	}
.popup-close-btn .line-bar{
		width: 20px;
		height: 1.5px;
		background-color: #707070;
		border-radius: 1px;
		position: relative;
		margin: 0;
		transform: rotate(135deg);
		display: block;
	}
.popup-close-btn .line-bar::before{
		content: "";
		display: block;
		background-color: #707070;
		border-radius: 1px;
		position: absolute;
		width: 100%;
		height: 1.5px;
		transform: rotate(90deg);
		top: 0;
	}
	.close-area{
		width: 100%;
		height: 100%;
		background-color: initial;
		display: block;
		cursor: pointer;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 0;
		margin: auto;
		padding: 60px 0;
	}
}
@media only screen and (max-width: 767px){
  /* 共通popupの土台（これが無いと高さ100%が効かない） */
  #popupModal.credit.popupModal{
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none; /* fadeInするならOK */
    padding-top: 60px;
  }

  /* close-area は背景レイヤー */
  #popupModal .close-area{
    position: absolute;
    inset: 0;
    z-index: 0;
  }

  /* credit_inner(パネル)を前面に */
  #popupModal .credit_inner{
    position: relative;
    z-index: 1;
  }

  /* slickの中身が100%幅を持てるように */
  #popupModal .popup-slider,
  #popupModal .slick-list,
  #popupModal .slick-track,
  #popupModal .popup-slide{
    width: 100%;
  }

  /* slickのスライドが縮んで見えない事故防止 */
  #popupModal .popup-slide{
    min-height: 1px;
  }
}
@media only screen and (max-width: 767px){

  #popupModal .popup-prev,
  #popupModal .popup-next{
    position: fixed;
    bottom: 15px;
    transform: translateY(-50%);
    z-index: 2;
    width: 11px;
    height: 15px;
    border: none;
    background-color: transparent;
    padding: 0;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }

  #popupModal .popup-prev{
    left: 10px;
    background-image: url("../img/arrow_left.png");
  }

  #popupModal .popup-next{
    right: 10px;
    background-image: url("../img/arrow_right.png");
  }

  /* 端で押せない状態（任意） */
  #popupModal .slick-disabled{
    opacity: .25;
    pointer-events: none;
  }
}

@media only screen and (max-width: 767px){
  #popupModal{
    position: fixed;
    inset: 0;
    z-index: 99999;
  }
  #popupModal .close-area{
    position: absolute;
    inset: 0;
  }

  /* ここで“パネル位置”を最低限決める（既存に近い値に後で調整） */
  #popupModal .credit_frame{
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    margin: 0 auto 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    overflow-y: scroll;
  }
}























/*gsap用css*/
/*ファーストビューテキスト指示*/
.mask-line{
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
}
.title01, .title02, .title03{
  display: inline-block;
  will-change: transform, opacity;
}

/*テキスト下から表示*/
.up_text { 
	margin: 0; 
}
.up_text .line{
  display:block;
  overflow:hidden;
}
.up_text .line-inner{
  display:block;
}

/*下部一番大きいテキスト部分*/
.contents03 .contents03_01 .img_box .text_wrap03 p.up_text .line{
	height: 113px;
}
@media only screen and (max-width: 767px){
	.contents03 .contents03_01 .img_box .text_wrap03 p.up_text .line{
		height: 44px;
	}
}
.contents03 .contents03_01 .img_box .text_wrap03 p.up_text .line span.line-inner{
	margin-left: 180px;
}
@media only screen and (max-width: 767px){
	.contents03 .contents03_01 .img_box .text_wrap03 p.up_text .line span.line-inner{
		margin-left: 64px;
	}
}
.contents03 .contents03_01 .img_box .text_wrap03 p.up_text .line:nth-of-type(3) span.line-inner{
	margin-left: 0;
}







/*anime_fadeinbottomここから*/
.anime_fadeinbottom{
	opacity: 0;
	transform: translateY(20%);
	/* 複数で指定する時はカンマ区切り */
	-webkit-transition: opacity 0s ease 0s, transform 0s ease 0s;
	-moz-transition: opacity 0s ease 0s, transform 0s ease 0s;
	-ms-transition: opacity 0s ease 0s, transform 0s ease 0s;
	-o-transition: opacity 0s ease 0s, transform 0s ease 0s;
	transition: opacity 0s ease 0s, transform 0s ease 0s;
}
.anime_fadeinbottom.anime_fadeinbottom_on{
	opacity: 1;
	transform: translateY(0);
	/* 複数で指定する時はカンマ区切り */
	-webkit-transition: opacity .8s ease .3s, transform .8s ease .3s;
	-moz-transition: opacity .8s ease .3s, transform .8s ease .3s;
	-ms-transition: opacity .8s ease .3s, transform .8s ease .3s;
	-o-transition: opacity .8s ease .3s, transform .8s ease .3s;
	transition: opacity .8s ease .3s, transform .8s ease .3s;
}






