/* CSS Document */
#visualSwiper {
	/*position: relative;*/
}
#visualSwiper .swiper-slide {
	width: calc(100vw * (1039 / 1280) * 0.8);
}
#visualSwiper .swiper-slide img {
	width: calc(100vw * (1039 / 1280) * 0.8);
	cursor: pointer;
}
#interviewSwiper .swiper-slide {
	padding: 0 calc(100vw * (15 / 1280));
	/* 278 - 222 */
	width: calc(((100vw * (30 / 1280)) + (100vw * (222 / 1280))));
}
#interviewSwiper .swiper-slide img {
	width: calc(100vw * (222 / 1280));
	cursor: pointer;
}

.swiper-wrapper {
	transition-timing-function: linear;
}

.visual-pagination {
	margin-top: 15px;
	position: relative;
	display: flex;
	justify-content: center;
	/*bottom: -40px !important;*/
}
.visual-pagination .swiper-pagination-bullet-active {
	background: #000;
}

.marker span {
	background: linear-gradient(transparent 70%, rgba(214,49,131,0.3) 50%);
	padding: 0 2em;
}

#mainVisual .title{
	font-size: calc(80px * 0.8); /* フォントサイズも80%に */
	font-weight: 800;
	color: #f9b700;
}

@media only screen and (max-width: 1024px) {
	#visualSwiper .swiper-slide {
		width: calc(100vw * (1039 / 1280));
	}
	#visualSwiper .swiper-slide img {
		width: calc(100vw * (1039 / 1280));
	}
	
	#interviewSwiper .swiper-slide {
		padding: 0 calc(100vw * (15 / 1280));
		width: calc((100vw * (30 / 1280)) + (100vw * (270 / 1280)));
	}
	#interviewSwiper .swiper-slide img {
		width: calc(100vw * (270 / 1280));
	}
	
	#mainVisual .title{
		font-size: calc(100vw * (80 / 1280));
	}
}

@media only screen and (max-width: 767px) {
	
	#visualSwiper .swiper-slide {
		width: calc(100vw * (528 / 730));
	}
	#visualSwiper .swiper-slide img {
		width: calc(100vw * (528 / 730));
	}
	
	#interviewSwiper .swiper-slide {
		/*padding: 0 calc(100vw * (15 / 730));*/
		padding: 0;
		width: calc(100vw * (278 / 730));
	}
	#interviewSwiper .swiper-slide a {
		display: block;
		width: calc(100% - 6%);
		margin-left: auto;
		margin-right: auto;
	}
	#interviewSwiper .swiper-slide img {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	
	#mainVisual .title{
		width: calc(100vw * (600 / 730));
		margin-left: auto;
		margin-right: auto;
		font-size: calc(100vw * (40 / 730));
	}
	
}

/* message
----------------------------------------------------------*/

#message {
	padding-top: calc(130px * 0.8);
	padding-bottom: calc(165px * 0.8);
}
#message h2 {
	display: flex;
	justify-content: center;
	padding-bottom: calc(50px * 0.8);
}
#message h2 img {
	width: calc(158px * 0.8); /* 画像サイズを80%に */
}
#message h3 {
	display: flex;
	justify-content: center;
	padding-bottom: 110px;
}
#message h3 img {
	width: calc(553px * 0.8); /* 画像サイズを80%に */
}
#message p {
	text-align: center;
	font-size: calc(24px * 0.8); /* 文字サイズを80%に */
	line-height: 2;
	padding-bottom: 75px;
}
.btn_wrap {
	display: flex;
	justify-content: center;
}
.btn_wrap a {

}
.btn_wrap a img {
	width: calc(148px * 0.8); /* 画像サイズを80%に */
}

@media only screen and (max-width: 1024px) {
	#message {
		padding-top: calc(100vw * (130 / 1280));
		padding-bottom: calc(100vw * (165 / 1280));
	}
	#message h2 {
		padding-bottom: calc(100vw * (50 / 1280));
	}
	#message h2 img {
		width: calc(100vw * (158 / 1280));
	}
	#message h3 {
		padding-bottom: calc(100vw * (110 / 1280));
	}
	#message h3 img {
		width: calc(100vw * (553 / 1280));
	}
	#message p {
		font-size: calc(100vw * (25 / 1280));
		padding-bottom: calc(100vw * (75 / 1280));
	}
	.btn_wrap a img {
		width: calc(100vw * (148 / 1280));
	}
	
}

@media only screen and (max-width: 767px) {
	
	#message {
		padding-top: calc(100vw * (80 / 730));
		padding-bottom: calc(100vw * (100 / 730));
	}
	#message h2 {
		padding-bottom: calc(100vw * (45 / 730));
	}
	#message h2 img {
		width: calc(100vw * (126 / 730));
	}
	#message h3 {
		padding-bottom: calc(100vw * (80 / 730));
	}
	#message h3 img {
		width: calc(100vw * (339 / 730));
	}
	#message p {
		width: calc(100vw * (640 / 730));
		margin-left: auto;
		margin-right: auto;
		font-size: calc(100vw * (22 / 730));
		padding-bottom: calc(100vw * (50 / 730));
	}
	
	.btn_wrap a img {
		width: calc(100vw * (177 / 730));
	}
	
	
}

/* ayumi
----------------------------------------------------------*/

#ayumi {
	background-color: #f18700;
	color: #fff;
	padding-top: calc(180px * 0.8);
}
#ayumi h2 {
	font-size: 35px;
	letter-spacing: 5px;
	display: flex;
	justify-content: center;
	margin: 0;
	padding: 0;
	padding-bottom: calc(40px * 0.8);
}
#ayumi h2.tragetClass span:after {
	background-color: #f18700;
}
#ayumi h2 img {
	width: calc(328px * 0.8); /* 80% of 328px */
}
#ayumi h3 {
	display: flex;
	justify-content: center;
	text-align: center;
	font-size: calc(30px * 0.8); /* 80% of 30px */
	margin: 0;
	padding: 0;
	padding-bottom: calc(200px * 0.8);
}

.ayumi-wrap {
	display: flex;
	justify-content: space-between;
	padding-bottom: calc(200px * 0.8);
}
.ayumi-wrap.no2 {
	flex-direction: row-reverse;
}
.ayumi-wrap .visual,
.ayumi-wrap .visual .image {
	width: calc(640px * 0.8); /* 80% of 640px */
	position: relative;
}
.ayumi-wrap .visual .image img {
	width: 100%;
}
.ayumi-wrap .visual .number {
	position: absolute;
	top: -42px;
	left: -21px;
	width: calc(87px * 0.8); /* 80% of 87px */
	display: flex;
	justify-content: center;
}
.ayumi-wrap .visual .number img {
	height: calc(130px * 0.8); /* 80% of 130px */
}
.ayumi-wrap .text {
	width: calc(477px * 0.8); /* 80% of 477px */
}
.ayumi-wrap.no1 .text h4 {
	/* No change needed unless specific font-size needs adjustment */
}
.ayumi-wrap.no1 .text h4 img { width: calc(325px * 0.8); } /* 80% of 325px */
.ayumi-wrap.no2 .text h4 img { width: calc(178px * 0.8); } /* 80% of 178px */
.ayumi-wrap.no3 .text h4 img { width: calc(214px * 0.8); } /* 80% of 214px */

.ayumi-wrap .text h5 {
	font-size: calc(25px * 0.8); /* 80% of 25px */
	margin: 0;
	padding: 0;
	padding-bottom: 0.5em;
	border-bottom: 2px solid #fff;
}
.ayumi-wrap .text p {
	font-size: calc(24px * 0.8); /* 80% of 24px */
	font-weight: 500;
	letter-spacing: -0.05em;
}
.ayumi-wrap .btn_wrap {
	justify-content: flex-start;
}
@media only screen and (max-width: 1024px) {
	#ayumi {
		padding-top: calc(100vw * (180 / 1280));
	}
	#ayumi h2 {
		font-size: calc(100vw * (45 / 1280));
		letter-spacing: calc(100vw * (5 / 1280));
		padding-bottom: calc(100vw * (40 / 1280));
	}
	
	#ayumi h2 img {
		width: calc(100vw * (328 / 1280));
	}
	#ayumi h3 {
		font-size: calc(100vw * (30 / 1280));
		padding-bottom: calc(100vw * (200 / 1280));
	}
	
	.ayumi-wrap {
		padding-bottom: calc(100vw * (200 / 1280));
	}
	.ayumi-wrap .visual,
	.ayumi-wrap .visual .image {
		width: calc(100vw * (640 / 1280));
	}
	.ayumi-wrap .visual .number {
		top: calc(100vw * (-42 / 1280));
		left: calc(100vw * (-21 / 1280));
		width: calc(100vw * (87 / 1280));
	}
	.ayumi-wrap .visual .number img {
		height: calc(100vw * (130 / 1280));
	}
	.ayumi-wrap .text {
		width: calc(100vw * (477 / 1280));
	}

	.ayumi-wrap.no1 .text h4 img { width: calc(100vw * (325 / 1280)); }
	.ayumi-wrap.no2 .text h4 img { width: calc(100vw * (178 / 1280)); }
	.ayumi-wrap.no3 .text h4 img { width: calc(100vw * (214 / 1280)); }

	.ayumi-wrap .text h5 {
		font-size: calc(100vw * (25 / 1280));
	}
	.ayumi-wrap .text p {
		font-size: calc(100vw * (24 / 1280));
	}
	.ayumi-wrap.no1 .text h4 img { width: calc(100vw * (325 / 1280)); }
	.ayumi-wrap.no2 .text h4 img { width: calc(100vw * (178 / 1280)); }
	.ayumi-wrap.no3 .text h4 img { width: calc(100vw * (214 / 1280)); }

	.ayumi-wrap .text h5 {
		font-size: calc(100vw * (25 / 1280));
	}
	.ayumi-wrap .text p {
		font-size: calc(100vw * (24 / 1280));
	}

}

@media only screen and (max-width: 767px) {
	
	#ayumi {
		padding-top: calc(100vw * (100 / 730));
	}
	
	#ayumi h2 {
		font-size: calc(100vw * (35 / 730));
		letter-spacing: calc(100vw * (5 / 730));
		padding-bottom: calc(100vw * (40 / 730));
	}
	#ayumi h2 img {
		width: calc(100vw * (302 / 730));
	}
	#ayumi h3 {
		font-size: calc(100vw * (25 / 730));
		margin: 0;
		padding: 0;
		padding-bottom: calc(100vw * (85 / 730));
	}
	#ayumi h4 {
		margin-bottom: calc(100vw * (24 / 730));
	}
	#ayumi h5 {
		padding-bottom: calc(100vw * (22 / 730));
		margin-bottom: calc(100vw * (30 / 730));
	}
	.ayumi-wrap {
		flex-direction: column;
		padding-bottom: calc(100vw * (150 / 730));
	}
	.ayumi-wrap.no2 {
		flex-direction: column;
	}
	.ayumi-wrap .visual,
	.ayumi-wrap .visual .image {
		width: calc(100vw * (600 / 730));
		position: relative;
		margin-left: auto;
		margin-right: auto;
	}
	.ayumi-wrap .visual .number {
		position: absolute;
		top: calc(100vw * (-40 / 730));
		left: calc(100vw * (-20 / 730));
		width: calc(100vw * (80 / 730));
		display: flex;
		justify-content: center;
	}
	.ayumi-wrap .visual .number img {
		height: calc(100vw * (124 / 730));
	}
	.ayumi-wrap .text {
		width: calc(100vw * (600 / 730));
		margin-left: auto;
		margin-right: auto;
	}
	.ayumi-wrap .text h5 {
		font-size: calc(100vw * (25 / 730));
	}
	.ayumi-wrap .text p {
		font-size: calc(100vw * (22 / 730));
		margin-bottom: 2em;
	}
	.ayumi-wrap.no1 .text h4 img { width: calc(100vw * (325 / 730)); }
	.ayumi-wrap.no2 .text h4 img { width: calc(100vw * (178 / 730)); }
	.ayumi-wrap.no3 .text h4 img { width: calc(100vw * (214 / 730)); }
	
}

/* interview
----------------------------------------------------------*/

#interview {
	padding-top: 160px; /* 200px * 0.8 */
}
#interview .header-wrap h2 {
	display: flex;
	justify-content: center;
	margin: 0;
	padding-bottom: 56px; /* 70px * 0.8 */
}
#interview .header-wrap h2 img {
	width: 143.2px; /* 179px * 0.8 */
}
#interview .header-wrap h3 {
	font-size: 35px;
	letter-spacing: 5px;
	display: flex;
	justify-content: center;
	margin: 0;
	padding-bottom: 32px; /* 40px * 0.8 */
}
#interview .header-wrap h3 img {
	width: 265.6px; /* 332px * 0.8 */
}
#interview .header-wrap h4 {
	display: flex;
	justify-content: center;
	text-align: center;
	font-size: 24px; /* 30px * 0.8 */
	margin: 0;
	padding-bottom: 56px; /* 70px * 0.8 */
}
#interview .header-wrap h4 span {
	display: inline-block;
	width: 596px; /* 745px * 0.8 */
}
#interview p {
	text-align: center;
	width: 584px; /* 730px * 0.8 */
	margin: 0 auto;
	font-size: 16.8px; /* 21px * 0.8 */
}
#interviewSwiper {
	padding-top: 112px; /* 140px * 0.8 */
}
#interviewSwiper a {
	display: block;
}
@media only screen and (max-width: 1024px) {
	#interview {
		padding-top: calc(100vw * (200 / 1280));
	}
	
	#interview .header-wrap h2 {
		padding-bottom: calc(100vw * (70 / 1280));
	}
	#interview .header-wrap h2 img {
		width: calc(100vw * (179 / 1280));
	}
	#interview .header-wrap h3 {
		font-size: calc(100vw * (45 / 1280));
		letter-spacing: calc(100vw * (5 / 1280));
	
		padding-bottom: calc(100vw * (40 / 1280));
	}
	#interview .header-wrap h3 img {
		width: calc(100vw * (332 / 1280));
	}
	#interview .header-wrap h4 {
		font-size: calc(100vw * (30 / 1280));
		padding-bottom: calc(100vw * (70 / 1280));
	}
	#interview .header-wrap h4 span {
		width: calc(100vw * (745 / 1280));
	}
	#interview p {
		width: calc(100vw * (730 / 1280));
		font-size: calc(100vw * (21 / 1280));
	}
	#interviewSwiper {
		padding-top: calc(100vw * (140 / 1280));
	}

}

@media only screen and (max-width: 767px) {
	
	#interview {
		padding-top: calc(100vw * (100 / 730));
	}
	#interview .header-wrap h2 {
		padding-bottom: calc(100vw * (55 / 730));
	}
	#interview .header-wrap h2 img {
		width: calc(100vw * (143 / 730));
	}
	#interview .header-wrap h3 {
		font-size: calc(100vw * (35 / 730));
		letter-spacing: calc(100vw * (5 / 730));
		padding-bottom: calc(100vw * (30 / 730));
	}
	#interview .header-wrap h3 img {
		width: calc(100vw * (305 / 730));
	}
	#interview .header-wrap h4 {
		font-size: calc(100vw * (25 / 730));
		padding-bottom: calc(100vw * (60 / 730));
	}
	
	#interview .header-wrap h4 span {
		width: calc(100vw * (600 / 730));
		margin-left: auto;
		margin-right: auto;
	}
	#interview p {
		width: calc(100vw * (640 / 730));
		margin-left: auto;
		margin-right: auto;
		font-size: calc(100vw * (22 / 730));
	}
	#interviewSwiper {
		padding-top: calc(100vw * (80 / 730));
	}

	
}

/* crosstalk
----------------------------------------------------------*/

#crosstalk {
	padding-top: calc(250px * 0.8); /* 80%に修正 */
}
#crosstalk .header-wrap h2 {
	display: flex;
	justify-content: center;
	margin: 0;
	padding-bottom: calc(70px * 0.8); /* 80%に修正 */
}
#crosstalk .header-wrap h2 img {
	width: calc(214px * 0.8); /* 80%に修正 */
}
#crosstalk .header-wrap h3 {
	font-size: 35px;
	letter-spacing: 5px;
	display: flex;
	justify-content: center;
	margin: 0;
	padding-bottom: calc(40px * 0.8); /* 80%に修正 */
}
#crosstalk .header-wrap h3 img {
	width: calc(286px * 0.8); /* 80%に修正 */
}
#crosstalk .header-wrap h4 {
	display: flex;
	justify-content: center;
	text-align: center;
	font-size: calc(30px * 0.8); /* 80%に修正 */
	margin: 0;
	padding-bottom: calc(70px * 0.8); /* 80%に修正 */
}
#crosstalk .header-wrap h4 span {
	display: inline-block;
	width: calc(745px * 0.8); /* 80%に修正 */
}
#crosstalk .header-wrap p {
	text-align: center;
	width: calc(730px * 0.8); /* 80%に修正 */
	margin: 0 auto;
	font-size: calc(21px * 0.8); /* 80%に修正 */
	padding-bottom: calc(120px * 0.8); /* 80%に修正 */
}

.talk-wrap {
	position: relative;
	padding-bottom: calc(110px * 0.8); /* 80%に修正 */
}
.talk-wrap:nth-child(odd) .image {
	display: flex;
	justify-content: flex-start;
}
.talk-wrap:nth-child(even) .image {
	display: flex;
	justify-content: flex-end;
}
.talk-wrap:nth-child(odd) .image.showPc,
.talk-wrap:nth-child(even) .image.showPc {
	display: flex !important;
}
.talk-wrap:nth-child(odd) .image.showSp,
.talk-wrap:nth-child(even) .image.showSp {
	display: none !important;
}
.talk-wrap .image,
.talk-wrap .image img {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.talk-wrap .image img {
	width: calc(563px * 0.8);
	height: auto;
}
.talk-wrap .text-wrap {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
}
.talk-wrap .text {
	margin: 0 auto;
	width: calc(745px * 0.8); /* 80%に修正 */
	height: calc(310px * 0.8); /* 80%に修正 */
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.talk-wrap .text h4 {
	font-size: calc(30px * 0.8); /* 80%に修正 */
	padding-bottom: calc(25px * 0.8); /* 80%に修正 */
	margin: 0;
}
.talk-wrap .text p {
	width: calc(500px * 0.8); /* 80%に修正 */
	font-size: calc(20px * 0.8); /* 80%に修正 */
	margin: 0;
}
.talk-wrap:nth-child(odd) .text {
	padding-left: calc(280px * 0.8); /* 80%に修正 */
}
.talk-wrap:nth-child(even) .text {
	padding-left: calc(55px * 0.8); /* 80%に修正 */
}
.talk-wrap:nth-child(odd) .text .btn_wrap {
	display: flex;
	justify-content: flex-end;
}
.talk-wrap:nth-child(even) .text .btn_wrap {
	display: flex;
	justify-content: flex-start;
}

@media only screen and (max-width: 1024px) {
						
	#crosstalk {
		padding-top: calc(100vw * (250 / 1280));
	}
	#crosstalk .header-wrap h2 {
		padding-bottom: calc(100vw * (70 / 1280));
	}
	#crosstalk .header-wrap h2 img {
		width: calc(100vw * (214 / 1280));
	}
	#crosstalk .header-wrap h3 {
		font-size: calc(100vw * (45 / 1280));
		letter-spacing: calc(100vw * (5 / 1280));
		padding-bottom: calc(100vw * (40 / 1280));
	}
	#crosstalk .header-wrap h3 img {
		width: calc(100vw * (286 / 1280));
	}
	#crosstalk .header-wrap h4 {
		font-size: calc(100vw * (30 / 1280));
		padding-bottom: calc(100vw * (70 / 1280));
	}
	#crosstalk .header-wrap h4 span {
		width: calc(100vw * (745 / 1280));
	}
	#crosstalk .header-wrap p {
		width: calc(100vw * (730 / 1280));
		font-size: calc(100vw * (21 / 1280));
		padding-bottom: calc(100vw * (120 / 1280));
	}
	

	.talk-wrap {
		padding-bottom: calc(100vw * (110 / 1280));
	}
	
	.talk-wrap .image img {
		width: auto;
		height: calc(100vw * (424 / 1280));
	}
	
	.talk-wrap .text {
		width: calc(100vw * (745 / 1280));
		height: calc(100vw * (310 / 1280));
	}
	.talk-wrap .text h4 {
		font-size: calc(100vw * (30 / 1280));
		padding-bottom: calc(100vw * (25 / 1280));
	}
	.talk-wrap .text p {
		width: calc(100vw * (500 / 1280));
		font-size: calc(100vw * (20 / 1280));
	}
	.talk-wrap:nth-child(odd) .text {
		padding-left: calc(100vw * (280 / 1280));
	}
	.talk-wrap:nth-child(even) .text {
		padding-left: calc(100vw * (55 / 1280));
	}

}

@media only screen and (max-width: 767px) {
	
	#crosstalk {
		padding-top: calc(100vw * (140 / 730));
	}
	
	#crosstalk .header-wrap h2 {
		padding-bottom: calc(100vw * (55 / 730));
	}
	#crosstalk .header-wrap h2 img {
		width: calc(100vw * (171 / 730));
	}
	#crosstalk .header-wrap h3 {
		font-size: calc(100vw * (35 / 730));
		letter-spacing: calc(100vw * (5 / 730));
		padding-bottom: calc(100vw * (40 / 730));
	}
	#crosstalk .header-wrap h3 img {
		width: calc(100vw * (263 / 730));
	}
	#crosstalk .header-wrap h4 {
		font-size: calc(100vw * (25 / 730));
		padding-bottom: calc(100vw * (60 / 730));
	}

	#crosstalk .header-wrap h4 span {
		width: calc(100vw * (600 / 730));
		margin-left: auto;
		margin-right: auto;
	}
	#crosstalk .header-wrap p {
		width: calc(100vw * (600 / 730));
		margin-left: auto;
		margin-right: auto;
		font-size: calc(100vw * (22 / 730));
		padding-bottom: calc(100vw * (95 / 730));
	}

	.talk-wrap {
		position: relative;
		padding-bottom: calc(100vw * (114 / 730));
		width: 100%;
	}
	.talk-wrap:nth-child(odd) .image {
		width: 100%;
		padding: 0;
	}
	.talk-wrap:nth-child(even) .image {
		width: 100%;
		padding: 0;
	}
	.talk-wrap:nth-child(odd) .image.showPc,
	.talk-wrap:nth-child(even) .image.showPc {
		display: none !important;
	}
	.talk-wrap:nth-child(odd) .image.showSp,
	.talk-wrap:nth-child(even) .image.showSp {
		display: flex !important;
	}
	
	.talk-wrap .image img {
		height: auto;
	}
	
	.talk-wrap .text-wrap {
		position: relative;
		width: calc(100vw * (600 / 730));
		margin-left: auto;
		margin-right: auto;
		height: 100%;
		display: flex;
		align-items: center;
	}
	.talk-wrap .text {
		margin: 0 auto;
		width: 100%;
		height: auto;
		padding-top: calc(100vw * (25 / 730));
		display: flex;
	}
	.talk-wrap .text h4 {
		font-size: calc(100vw * (30 / 730));
		padding-bottom: calc(100vw * (25 / 730));
		margin: 0;
	}
	.talk-wrap .text p {
		width: auto;
		font-size: calc(100vw * (22 / 730));
		margin: 0;
		padding-bottom: calc(100vw * (45 / 730));
	}
	.talk-wrap:nth-child(odd) .text,
	.talk-wrap:nth-child(even) .text {
		padding-left: 0;
	}
	.talk-wrap:nth-child(odd) .text .btn_wrap,
	.talk-wrap:nth-child(even) .text .btn_wrap {
		justify-content: flex-start;
	}
}

/* contribution
----------------------------------------------------------*/

#contribution {
	background-color: #f5eedf;
	padding-top: calc(220px * 0.8);
}
#contribution .header-wrap h2 {
	display: flex;
	justify-content: center;
	margin: 0;
	padding-bottom: calc(70px * 0.8);
}
#contribution .header-wrap h2 img {
	width: calc(248px * 0.8); /* 80% of 248px */
}
#contribution .header-wrap h3 {
	font-size: 35px;
	letter-spacing: 5px;
	display: flex;
	flex-direction: column ;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding-bottom: calc(40px * 0.8);
}

#contribution .tragetClass span:after {
	background-color: #f5eedf;
}
#contribution .header-wrap h3 span {
	margin-bottom: 0.2em;
}
#contribution .header-wrap h3 img {
	width: calc(502px * 0.8); /* 80% of 502px */
}
#contribution .header-wrap h4 {
	display: flex;
	justify-content: center;
	text-align: center;
	font-size: calc(30px * 0.8); /* 80% of 30px */
	margin: 0;
	padding-bottom: calc(70px * 0.8);
}
#contribution .header-wrap h4 span {
	display: inline-block;
	width: calc(745px * 0.8); /* 80% of 745px */
}
#contribution .header-wrap p {
	text-align: center;
	width: calc(730px * 0.8); /* 80% of 730px */
	margin: 0 auto;
	font-size: calc(21px * 0.8); /* 80% of 21px */
	padding-bottom: 100px;
}

.movie-wrap {
	padding-bottom: calc(260px * 0.8); /* 80% of 260px */
}

.koken-wrap {
	padding-bottom: calc(150px * 0.8); /* 80% of 150px */
}

.header-koken-wrap {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: flex-end;
	padding-bottom: calc(150px * 0.8); /* 80% of 150px */
}
.header-koken-wrap.reverse {
	flex-direction: row;
}

.header-koken-wrap .image {
	width: calc(480px * 0.8); /* 80% of 480px */
}
.header-koken-wrap .image img {
	max-width: 100%;	
}
.header-koken-wrap .text {
	width: calc(600px * 0.8); /* 80% of 600px */
}
.header-koken-wrap .text h4 {
	line-height: 1;
	font-size: calc(50px * 0.8); /* 80% of 50px */
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Times New Roman", serif;
	font-weight: 500;
	margin: 0;
	padding-bottom: calc(30px * 0.8); /* 80% of 30px */
}
.header-koken-wrap .text p {
	font-size: calc(24px * 0.8); /* 80% of 24px */
	margin: 0;
	padding: 0;
}
.koken-item {
	width: calc(970px * 0.8); /* 80% of 970px */
	margin: 0 auto;
	padding: calc(95px * 0.8) 0; /* 80% of 95px */
	display: flex;
	justify-content: space-between;
	
	border-top: calc(2px * 0.8) solid #000; /* 80% of 2px */
	border-bottom: calc(2px * 0.8) solid #000; /* 80% of 2px */
}
.koken-item + .koken-item {
	border-top: none;
}
.koken-item .image {
	width: calc(290px * 0.8); /* 80% of 290px */
}
.koken-item .image img {
	max-width: 100%;	
}
.koken-item .text {
	width: calc(610px * 0.8); /* 80% of 610px */
}
.koken-item .text h4 {
	font-size: calc(30px * 0.8); /* 80% of 30px */
	margin: 0;
	line-height: 1;
	padding-bottom: calc(25px * 0.8); /* 80% of 25px */
}
.koken-item .text p {
	font-size: calc(20px * 0.8); /* 80% of 20px */
	margin: 0;
	padding: 0;
}
.koken-item .text .btn_wrap {
	padding-top: calc(30px * 0.8); /* 80% of 30px */
	display: flex;
	justify-content: flex-start;
}
.koken-item .image .btn_wrap {
	padding-top: calc(30px * 0.8); /* 80% of 30px */
	display: flex;
	justify-content: center;
}
.oneart .btn_wrap.showPc {
	display: flex !important;
	justify-content: space-between;
}
.oneart .btn_wrap a {
	display: inline-block;
	max-width: 48%;
}

@media only screen and (max-width: 1024px) {

	#contribution {
		padding-top: calc(100vw * (220 / 1280));
	}
	#contribution .header-wrap h2 {
		padding-bottom: calc(100vw * (70 / 1280));
	}
	#contribution .header-wrap h2 img {
		width: calc(100vw * (248 / 1280));
	}
	#contribution .header-wrap h3 {
		font-size: calc(100vw * (45 / 1280));
		letter-spacing: calc(100vw * (5 / 1280));
		padding-bottom: calc(100vw * (40 / 1280));
	}
	#contribution .header-wrap h3 img {
		width: calc(100vw * (502 / 1280));
	}
	#contribution .header-wrap h4 {
		font-size: calc(100vw * (30 / 1280));
		padding-bottom: calc(100vw * (70 / 1280));
	}
	#contribution .header-wrap h4 span {
		width: calc(100vw * (745 / 1280));
	}
	#contribution .header-wrap p {
		width: calc(100vw * (730 / 1280));
		font-size: calc(100vw * (21 / 1280));
		padding-bottom: calc(100vw * (100 / 1280));
	}
	

	.movie-wrap {
		padding-bottom: calc(100vw * (260 / 1280));
	}
	.koken-wrap {
		padding-bottom: calc(100vw * (150 / 1280));
	}

	.header-koken-wrap {
		padding-bottom: calc(100vw * (150 / 1280));
	}

	.header-koken-wrap .image {
		width: calc(100vw * (480 / 1280));
	}
	.header-koken-wrap .image img {
		width: 100%;
	}
	.header-koken-wrap .text {
		width: calc(100vw * (600 / 1280));
	}
	.header-koken-wrap .text h4 {
		font-size: calc(100vw * (50 / 1280));
		padding-bottom: calc(100vw * (30 / 1280));
	}
	.header-koken-wrap .text p {
		font-size: calc(100vw * (24 / 1280));
	}
	.koken-item {
		width: calc(100vw * (970 / 1280));
		padding: calc(100vw * (95 / 1280)) 0;
	}

	.koken-item .image {
		width: calc(100vw * (290 / 1280));
	}
	.koken-item .image img {
		width: 100%;
	}
	.koken-item .text {
		width: calc(100vw * (610 / 1280));
	}
	.koken-item .text h4 {
		font-size: calc(100vw * (30 / 1280));
		padding-bottom: calc(100vw * (25 / 1280));
	}
	.koken-item .text p {
		font-size: calc(100vw * (20 / 1280));
	}
	.koken-item .text .btn_wrap {
		padding-top: calc(100vw * (30 / 1280));
	}
	.koken-item .image .btn_wrap {
		padding-top: calc(100vw * (30 / 1280));
	}
	.koken-item .image .btn_wrap img {
		width: calc(100vw * (148 / 1280));
	}
	
}

@media only screen and (max-width: 767px) {
	#contribution {
		padding-top: calc(100vw * (125 / 730));
	}
	#contribution .header-wrap h2 {
		padding-bottom: calc(100vw * (55 / 730));
	}
	#contribution .header-wrap h2 img {
		width: calc(100vw * (198 / 730));
	}
	#contribution .header-wrap h3 {
		font-size: calc(100vw * (35 / 730));
		letter-spacing: calc(100vw * (5 / 730));
		padding-bottom: calc(100vw * (45 / 730));
	}
	
	#contribution .header-wrap h3 img {
		width: calc(100vw * (462 / 730));
	}
	#contribution .header-wrap h4 {
		padding-bottom: calc(100vw * (60 / 730));
	}
	#contribution .header-wrap h4 span {
		width: calc(100vw * (600 / 730));
		margin-left: auto;
		margin-right: auto;
		font-size: calc(100vw * (25 / 730));
	}
	#contribution .header-wrap p {
		width: calc(100vw * (600 / 730));
		margin-left: auto;
		margin-right: auto;
		font-size: calc(100vw * (22 / 730));
		padding-bottom: calc(100vw * (70 / 730));
	}

	.movie-wrap {
		width: calc(100vw * (600 / 730));
		margin-left: auto;
		margin-right: auto;
		padding-bottom: calc(100vw * (135 / 730));
	}

	.koken-wrap {
		padding-bottom: calc(100vw * (120 / 730));
	}


	.header-koken-wrap {
		flex-direction: column;
		padding-bottom: calc(100vw * (120 / 730));
	}
	.header-koken-wrap.reverse {
		flex-direction: column;
	}

	.header-koken-wrap .image {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		padding-bottom: calc(100vw * (70 / 730));
	}
	.header-koken-wrap .text {
		width: calc(100vw * (600 / 730));
		margin-left: auto;
		margin-right: auto;	
	}
	.header-koken-wrap .text h4 {
		font-size: calc(100vw * (46 / 730));
		padding-bottom: calc(100vw * (40 / 730));
	}
	
	.header-koken-wrap .text p {
		font-size: calc(100vw * (22 / 730));
		line-height: calc(36/22);
		margin: 0;
		padding: 0;
	}
	.koken-item {
		width: calc(100vw * (600 / 730));
		margin-left: auto;
		margin-right: auto;
		padding: 0;
		padding-bottom: calc(100vw * (40 / 730));
		border-top: none;
		flex-direction: column;
	}
	.koken-item + .koken-item {
		padding-top: calc(100vw * (125 / 730));
		border-top: none;
	}
	.koken-item:last-child {
		border-bottom: none;	
	}
	.koken-item .image {
		width: calc(100vw * (600 / 730));
		margin-left: auto;
		margin-right: auto;
		padding-bottom: calc(100vw * (70 / 730));
	}
	.koken-item .image img {
		width: 100%;	
	}
	.koken-item .text {
		width: calc(100vw * (600 / 730));
		margin-left: auto;
		margin-right: auto;
	}
	.koken-item .text h4 {
		font-size: calc(100vw * (30 / 730));
		margin: 0;
		line-height: 1;
		padding-bottom: 25px;
	}
	.koken-item .text p {
		font-size: calc(100vw * (22 / 730));
		margin: 0;
		padding: 0;
	}
	
	.koken-item .text .btn_wrap {
		padding-top: calc(100vw * (35 / 730));
	}
	.koken-item .image .btn_wrap {
		padding-top: calc(100vw * (35 / 730));
	}
	
	.oneart .koken-item .image {
		width: calc(100vw * (373 / 730));
		margin-left: auto;
		margin-right: auto;
	}
	.oneart .koken-item .image img {
		width: calc(100vw * (373 / 730));
	}
	
	.oneart .btn_wrap.showPc {
		display: none !important;
	}
	.oneart .btn_wrap.showSp a {
		margin-right: 0.5em;
	}
}