@charset "utf-8";

:root{
	--blue:#0426dc;
	--gray01:#808488;
	--gray02:#d4d4d4;
}

#contents_area .mv_wrap img,
#contents_area .content_wrap img,
#contents_area .teaser_footer img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

@media print, screen and (min-width : 769px){
	#contents_area .switch_pc {
			display: block !important;
	}

	#contents_area .switch_sp {
			display: none !important;
	}
}
@media print, screen and (max-width : 768px){
		#contents_area .switch_sp {
			display: block !important;
	}
}

	/* メインビジュアル */
div#section_kv {
	position: relative;
}
@media screen and (min-width: 769px) {
	.section .movie {
		position: relative;
		z-index: 1;
		padding-top: 56.25%;
	}
	.section .movie iframe {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
	}

	#kv_sound, #kv_restart {
		position: absolute;
		bottom: 80px;
		z-index: 1;
		width: 42px;
		height: 42px;
		border-radius: 50%;
		cursor: pointer;
		background-color: rgba(0, 0, 0, .2) !important;
	}

	#kv_restart::before, #kv_restart::after {
		content: '';
		position: absolute;
		top: 50%;
		z-index: 1;
		transform: translateY(-50%);
	}

	#kv_restart::before {
		left: 10px;
		width: 2px;
		height: 20px;
		background: #fff;
	}
	#kv_restart::after {
		right: 10px;
		border: solid transparent;
		border-width: 10px 18px;
		border-right-color: #fff;
	}
	
	#kv_sound {
		right: 40px;
		background: url(../img/ico_audio_on.png) 50% 50% / contain no-repeat;
	}

	#kv_sound.on{
		background-image: url(../img/ico_audio_off.png);
	}

	#kv_restart {
		right: 102px;
		border: 1px solid #fff;
	}
}
@media screen and (max-width: 768px) {
	.section .movie {
		position: relative;
		z-index: 1;
		padding-top: 56.25%;
	}
	.section .movie iframe {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
	}

	#kv_sound, #kv_restart {
		position: absolute;
		bottom: 20px;
		z-index: 1;
		width: 36px;
		height: 36px;
		border-radius: 50%;
		background-color: rgba(0, 0, 0, .2) !important;
	}

	#kv_sound {
		right: 10px;
		background: url(../img/ico_audio_on.png) 50% 50% / contain no-repeat;
	}
	#kv_sound.on{
		background-image: url(../img/ico_audio_off.png);
	}
	#kv_restart {
		right: 56px;
		border: 1px solid #fff;
	}
	#kv_restart::before, #kv_restart::after {
		content: '';
		position: absolute;
		top: 50%;
		z-index: 1;
		transform: translateY(-50%);
	}

	#kv_restart::before {
		left: 8px;
		width: 2px;
		height: 18px;
		background: #fff;
	}
	#kv_restart::after {
		right: 8px;
		border: solid transparent;
		border-width: 9px 16px;
		border-right-color: #fff;
	}
}
/*--------------------
	content
--------------------*/
.content_wrap{
	padding: 200px 0;
	background: url(/ACCESS/prelude/img/bg.png) 0 0 repeat;
	background-size: 52px 50px;
}
@media screen and (max-width: 768px) {
	.content_wrap{
		padding: 30vw 0;
	}
}

.content_wrap .sec01 .sec01_txtwrap{
	max-width: 980px;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.content_wrap .sec01 .sec01_txtwrap{
		padding: 0 30px;
	}
}

.content_wrap .sec01 h3{
	width: 374px;
}
@media screen and (max-width: 768px) {
	.content_wrap .sec01 h3{
		width: 70%;
	}
}

.sec01_txt{
	width: 616px;
	margin: 72px 0 72px 2em;
}
@media screen and (max-width: 768px) {
	.sec01_txt{
		width: 82%;
		margin: 5vw 0 12vw;
	}
}

.sec01_movie_wrap{
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px;
}

.sec02{
	padding-bottom: 150px;
	position: relative;
}
@media screen and (max-width: 768px) {
	.sec02{
		padding-bottom: 20vw;
	}
}

.sec02_cont_wrap{
	max-width: 980px;
	width: 100%;
	margin: 0 auto;
	padding-top: 180px;
}
@media screen and (max-width: 768px) {
	.sec02_cont_wrap{
			padding-top: 30vw;
	}
}

.sec02_cont_wrap h3{
	width: 294px;
	margin:0 62px 118px auto;
}
@media screen and (max-width: 768px) {
	.sec02_cont_wrap h3{
    width: 50%;
    margin: 0 30px 22vw auto;
	}
}

.sec02_cont_wrap .sec02_cont{
	max-width: 912px;
	margin-left: auto;
	margin-bottom: 180px;
	position: relative;
}
@media screen and (max-width: 768px) {
	.sec02_cont_wrap .sec02_cont{
		margin-bottom: 26.75vw;
		padding: 0 20px;
	}
}

.sec02_cont_wrap .sec02_cont:last-child{
	margin-bottom: 0;
}

.sec02_cont_tl{
	position: relative;
	z-index: 9;
}

.sec02_cont_tl.right{
	text-align: right;
}

#contents_area .sec02_cont_tl h4 img{
	width: auto;
	height: 60px;
}
@media screen and (max-width: 768px) {
	#contents_area .sec02_cont_tl h4 img{
    width: 37.875vw;
    height: auto;
	}
}

@media screen and (min-width: 769px) {
	.sec02_cont_txt{
		text-align: center;
		width: 264px;
		padding: 1rem;
		background: #000;
		box-sizing: border-box;
		position: absolute;
		z-index: 8;
	}
}
@media screen and (max-width: 768px) {
	.sec02_cont_txt{
		text-align: center;
		width: min-content;
		padding: 4vw 7vw;
		background: #000;
		box-sizing: border-box;
		z-index: 8;
	}
}

.sec02_cont_thum{
	position: relative;
	z-index: 6;
	opacity: 0.3;
	transition: 1s;
}
.sec02_cont_thum.anime {
		opacity: 1;
}

#contents_area .sec02_cont_txt img{
	width: auto;
	height: 1rem;
}
@media screen and (max-width: 768px) {
	#contents_area .sec02_cont_txt img{
    width: auto;
    height: 13px;
	}
}
@media screen and (max-width: 768px) {
	.sec02_cont_txt_tl{
		display: inline-block;
	}
}

.sec02_cont_txt .sec02_cont_txt_mv a{
	margin-top: 1rem;
	padding: 0.25em 0.75em;
	display: inline-block;
	border: 1px solid #666666;
}
@media screen and (max-width: 768px) {
	.sec02_cont_txt .sec02_cont_txt_mv a{
			margin-top: 0.5rem;
	}
}

#contents_area .sec02_cont_txt .sec02_cont_txt_mv img{
	height: 1.25rem;
}

@media screen and (max-width: 768px) {
	#contents_area .sec02_cont_txt .sec02_cont_txt_mv img{
		height: 14px;
	}
}


.sec02_cont_ani-border{
	background: var(--blue);
	position: absolute;
	transition: .7s;
}

.sec02_cont_ani-border.right{
		transform: scaleX(0);
		transform-origin:left;
}
@media screen and (min-width: 769px) {
	.sec02_cont_ani-border.down{
		transform: scaleX(0);
		transform-origin:left;
	}
}
@media screen and (max-width: 768px) {
	.sec02_cont_ani-border.down{
		transform: scaleY(0);
		transform-origin:top;
	}
}

.sec02_cont_ani-border.right.anime{
	animation: ani-border01 0.5s 0.5s cubic-bezier(.06,.54,.32,1) forwards;
	animation-delay: 0.75s;
}
@media screen and (min-width: 769px) {
	.sec02_cont_ani-border.down.anime{
		animation: ani-border01 0.5s 0.5s cubic-bezier(.06,.54,.32,1) forwards;
		animation-delay: 0.75s;
	}
}
@media screen and (max-width: 768px) {
	.sec02_cont_ani-border.down.anime{
		animation: ani-border02 0.5s 0.5s cubic-bezier(.06,.54,.32,1) forwards;
		animation-delay: 0.75s;
	}
}

@keyframes ani-border01 {
  0% {
		transform: scaleX(0);
  }
  100% {
		transform: scaleX(100%);
  }
}
@keyframes ani-border02 {
  0% {
		transform: scaleY(0);
  }
  100% {
		transform: scaleY(100%);
  }
}

.sec02_cont_gray01{
	background: var(--gray01);
	position: absolute;
}
.sec02_cont_gray02{
	background: var(--gray02);
	position: absolute;
}

.sec02_cont_link {
	background: #fff;
	border: 1px solid #000;
	position: relative;
	z-index: 9;
}
@media screen and (min-width: 769px) {
	.sec02_cont_link {
		position: absolute;
	}
}
@media screen and (max-width: 768px) {
	.sec02_cont_link {
		width: fit-content;
		margin-top: 1em;
	}
}

.sec02_cont_link a{
		padding: 0.5em 0.75em 0.625em 3em;
		display: block;
}
@media screen and (max-width: 768px) {
	.sec02_cont_link a{
		padding: 0.5em 1.25em 0.625em 3.625em;
	}
}

#contents_area .sec02_cont_link img{
	width: auto;
	height: 0.875em;
}

/*各コンテンツ↓*/
#sec02_cont01 .sec02_cont_thum{
	width: 442px;
	margin-top: 25px;
	margin-left: 30px;
}
@media screen and (max-width: 768px) {
	#sec02_cont01 .sec02_cont_thum{
		width: 90%;
		margin: 5vw auto;
	}
}
@media screen and (min-width: 769px) {
	#sec02_cont01 .sec02_cont_txt{
		top: calc(50% + 40px);
		right: 125px;
		transform: translateY(-50%);
	}
}
@media screen and (max-width: 768px) {
	#sec02_cont01 .sec02_cont_txt{
		margin-left: auto;
		position: relative;
		z-index: 6;
	}
}
#sec02_cont01 .sec02_cont_ani-border{
	width: 494px;
	height: 84px;
	bottom: -20px;
	left: 5px;
	z-index: 5;
}
@media screen and (max-width: 768px) {
	#sec02_cont01 .sec02_cont_ani-border{
		width: 16vw;
    height: 36vw;
		bottom: 29vw;
    left: 15px;
	}
}
#sec02_cont01 .cont01_01{
	width: 369px;
	height: 81px;
	top: 50px;
	left: -30px;
	z-index: 4;
}
@media screen and (max-width: 768px) {
	#sec02_cont01 .cont01_01{
		width: 52vw;
		height: 13.25vw;
		top: unset;
		bottom: 24vw;
		left: 15vw;
	}
}
#sec02_cont01 .cont01_02{
	width: 402px;
	height: 93px;
	bottom: 35px;
	right: 90px;
	z-index: 4;
}
@media screen and (max-width: 768px) {
	#sec02_cont01 .cont01_02{
		display: none;
	}
}
#sec02_cont01 .cont01_03{
	width: 482px;
	height: 104px;
	top: 110px;
	right: 220px;
	z-index: 3;
}
@media screen and (max-width: 768px) {
	#sec02_cont01 .cont01_03{
		width: 64vw;
    height: 40vw;
    top: 8vw;
    right: 15px;
	}
}
@media screen and (min-width: 769px) {
	#sec02_cont01 .sec02_cont_link{
		bottom: -20px;
		right: 90px;
	}
}
@media screen and (max-width: 768px) {
	#sec02_cont01 .sec02_cont_link{
		margin-left: auto;
	}

	#contents_area #sec02_cont01 .sec02_cont_link img{
		height: 1em;
	}
}

#sec02_cont02 .sec02_cont_thum{
	width: 418px;
	margin: 20px 100px 0 auto;
}
@media screen and (max-width: 768px) {
	#sec02_cont02 .sec02_cont_thum{
		width: 90%;
		margin: 5vw auto;
	}
}
@media screen and (min-width: 769px) {
	#sec02_cont02 .sec02_cont_txt{
		top: calc(50% + 35px);
		left: 160px;
		transform: translateY(-50%);
	}
}
@media screen and (max-width: 768px) {
	#sec02_cont02 .sec02_cont_txt{
		margin-top: 8vw;
		margin-left: 4.5vw;
		padding: 4vw 2.5vw;
		position: relative;
		z-index: 6;
	}
}
#sec02_cont02 .sec02_cont_ani-border{
	width: 432px;
	height: 108px;
	top: 40px;
	right: 40px;
	z-index: 2;
}
@media screen and (max-width: 768px) {
	#sec02_cont02 .sec02_cont_ani-border{
		width: 45.25vw;
    height: 16.75vw;
		top: unset;
    bottom: 35vw;
    right: 20px;
    z-index: 5;
	}
}
#sec02_cont02 .cont02_01{
	width: 475px;
	height: 160px;
	top: 110px;
	left: 130px;
	z-index: 4;
}
@media screen and (max-width: 768px) {
	#sec02_cont02 .cont02_01{
		width: 57.375vw;
    height: 24.5vw;
    top: 7vw;
    left: 19vw;
	}
}
#sec02_cont02 .cont02_02{
	width: 359px;
	height: 202px;
	bottom: -30px;
	right: 20px;
	z-index: 4;
}
@media screen and (max-width: 768px) {
	#sec02_cont02 .cont02_02{
		display: none;
	}
}
#sec02_cont02 .cont02_03{
	width: 397px;
	height: 118px;
	top: 20px;
	left: 90px;
	z-index: 3;
}
@media screen and (max-width: 768px) {
	#sec02_cont02 .cont02_03{
		width: 66.75vw;
		height: 21vw;
		top: unset;
		bottom: 26vw;
		left: 14vw;
	}
}
@media screen and (min-width: 769px) {
	#sec02_cont02 .sec02_cont_link{
		bottom: 0;
		left: 130px;
	}
}
@media screen and (max-width: 768px) {
	#sec02_cont02 .sec02_cont_link{
		margin-left: 4.5vw;
	}
}

@media screen and (max-width: 768px) {
	#sec02_cont03 .sec02_cont_tl h4{
		margin-left: 8vw;
	}
}
#sec02_cont03 .sec02_cont_thum{
	width: 414px;
	margin:-20px 0 0 60px;
}
@media screen and (max-width: 768px) {
	#sec02_cont03 .sec02_cont_thum{
		width: 90%;
		margin: 6vw auto;
	}
}
@media screen and (min-width: 769px) {
	#sec02_cont03 .sec02_cont_txt{
		bottom: 28%;
		right: 154px;
	}
}
@media screen and (max-width: 768px) {
	#sec02_cont03 .sec02_cont_txt{
		margin-top: 10vw;
		margin-left: auto;
		margin-right: 4.5vw;
		position: relative;
		z-index: 6;
	}
}
#sec02_cont03 .sec02_cont_ani-border{
	width: 370px;
	height: 76px;
	bottom: -20px;
	left: 35px;
	z-index: 4;
}
@media screen and (max-width: 768px) {
	#sec02_cont03 .sec02_cont_ani-border{
		width: 52.625vw;
    height: 16.75vw;
    top: 13vw;
		bottom: unset;
    left: 20px;
    z-index: 4;
	}
}
#sec02_cont03 .cont03_01{
	width: 476px;
	height: 136px;
	bottom: -40px;
	right: 130px;
	z-index: 2;
}
@media screen and (max-width: 768px) {
	#sec02_cont03 .cont03_01{
		width: 34vw;
    height: 36.25vw;
    bottom: 34vw;
    left: 14vw;
		right: unset;
    z-index: 4;
	}
}
#sec02_cont03 .cont03_02{
	width: 506px;
	height: 200px;
	top: 60px;
	left: 15px;
	z-index: 3;
}
@media screen and (max-width: 768px) {
	#sec02_cont03 .cont03_02{
    width: 52.25vw;
    height: 69vw;
    top: 7vw;
		left: unset;
    right: 15vw;
	}
}
@media screen and (min-width: 769px) {
	#sec02_cont03 .sec02_cont_link{
		bottom: 10px;
		right: 154px;
	}
}
@media screen and (max-width: 768px) {
	#sec02_cont03 .sec02_cont_link{
		margin-left: auto;
		margin-right: 4.5vw;
	}
}

#sec02_cont04 .sec02_cont_thum{
	width: 467px;
	margin: 25px 40px 0 auto;
}
@media screen and (max-width: 768px) {
	#sec02_cont04 .sec02_cont_thum{
		width: 90%;
		margin: 5vw auto;
	}
}
@media screen and (min-width: 769px) {
	#sec02_cont04 .sec02_cont_txt{
		top: calc(50% + 35px);
		left: 240px;
		transform: translateY(-50%);
	}
}
@media screen and (max-width: 768px) {
	#sec02_cont04 .sec02_cont_txt{
		margin-left: 4.5vw;
		position: relative;
		z-index: 6;
	}
}
#sec02_cont04 .sec02_cont_ani-border{
	width: 415px;
	height: 88px;
	top: 60px;
	right: 0;
	z-index: 4;
}
@media screen and (max-width: 768px) {
	#sec02_cont04 .sec02_cont_ani-border{
		width: 19.125vw;
    height: 36vw;
		top: unset;
    bottom: 31vw;
    right: 20px;
    z-index: 5;
	}
}
#sec02_cont04 .cont04_01{
	width: 377px;
	height: 125px;
	top: 45px;
	left: 120px;
	z-index: 3;
}
@media screen and (max-width: 768px) {
	#sec02_cont04 .cont04_01{
		width: 40.25vw;
    height: 16.875vw;
    top: 12.5vw;
    left: 20px;
	}
}
#sec02_cont04 .cont04_02{
	width: 462px;
	height: 210px;
	top: calc(50% + 35px);
	left: 170px;
	transform: translateY(-50%);
	z-index: 4;
}
@media screen and (max-width: 768px) {
	#sec02_cont04 .cont04_02{
		display: none;
	}
}
#sec02_cont04 .cont04_03{
	width: 374px;
	height: 125px;
	bottom: -30px;
	right: 10px;
	z-index: 3;
}
@media screen and (max-width: 768px) {
	#sec02_cont04 .cont04_03{
		width: 56.25vw;
    height: 65.5vw;
    bottom: 24vw;
    right: 28.5vw;
    z-index: 2;
	}
}
@media screen and (min-width: 769px) {
	#sec02_cont04 .sec02_cont_link{
		bottom: -30px;
		left: 170px;
	}
}
@media screen and (max-width: 768px) {
	#sec02_cont04 .sec02_cont_link{
        margin-left: 4.5vw;
	}
}

@media screen and (max-width: 768px) {
	#sec02_cont05 .sec02_cont_tl h4{
		margin-left: 8vw;
	}
}
#sec02_cont05 .sec02_cont_thum{
	width: 468px;
	margin: 30px 0 0 90px;
}
@media screen and (max-width: 768px) {
	#sec02_cont05 .sec02_cont_thum{
		width: 90%;
		margin: 5vw auto;
	}
}
@media screen and (min-width: 769px) {
	#sec02_cont05 .sec02_cont_txt{
		bottom:33%;
		left: 558px;
	}
}
@media screen and (max-width: 768px) {
	#sec02_cont05 .sec02_cont_txt{
		margin-left: auto;
		margin-right: 4.5vw;
		position: relative;
		z-index: 6;
	}
}
#sec02_cont05 .sec02_cont_ani-border{
	width: 350px;
	height: 78px;
	bottom: -35px;
	left: 70px;
	z-index: 4;
}
@media screen and (max-width: 768px) {
	#sec02_cont05 .sec02_cont_ani-border{
		width: 14vw;
    height: 62vw;
    top: 7vw;
		bottom: unset;
    left: 20px;
		z-index: 6;
	}
}
#sec02_cont05 .cont05_01{
	width: 270px;
	height: 85px;
	top: 40px;
	left: 0px;
	z-index: 4;
}
@media screen and (max-width: 768px) {
	#sec02_cont05 .cont05_01{
		width: 67.75vw;
    height: 27.5vw;
		top: unset;
    bottom: 28vw;
		left: unset;
    right: 20px;
	}
}
#sec02_cont05 .cont05_02{
	width: 469px;
	height: 98px;
	bottom: -20px;
	left: 40px;
	z-index: 3;
}
@media screen and (max-width: 768px) {
	#sec02_cont05 .cont05_02{
		display: none;
	}
}
#sec02_cont05 .cont05_03{
	width: 460px;
	height: 255px;
	top: 65px;
	right: 275px;
	z-index: 3;
}
@media screen and (max-width: 768px) {
	#sec02_cont05 .cont05_03{
		width: 61.5vw;
    height: 16vw;
    top: 8vw;
    left: 16vw;
	}
}
@media screen and (min-width: 769px) {
	#sec02_cont05 .sec02_cont_link{
		bottom: -35px;
		right: 90px;
	}
}
@media screen and (max-width: 768px) {
	#sec02_cont05 .sec02_cont_link{
		margin-left: auto;
		margin-right: 4.5vw;
	}
}

#sec02_cont06 .sec02_cont_thum{
	width: 438px;
	margin: 20px 70px 0 auto;
}
@media screen and (max-width: 768px) {
	#sec02_cont06 .sec02_cont_thum{
		width: 90%;
		margin: 5vw auto;
	}
}
@media screen and (min-width: 769px) {
	#sec02_cont06 .sec02_cont_txt{
		top: 50%;
		left: 190px;
		transform: translateY(-50%);
	}
}
@media screen and (max-width: 768px) {
	#sec02_cont06 .sec02_cont_txt{
		position: relative;
		z-index: 6;
	}
}
#sec02_cont06 .sec02_cont_ani-border{
	width: 406px;
	height: 112px;
	top: 40px;
	right: 40px;
	z-index: 4;
}
@media screen and (max-width: 768px) {
	#sec02_cont06 .sec02_cont_ani-border{
		width: 38.75vw;
    height: 20vw;
		top: unset;
    bottom: 33vw;
    right: 20px;
    z-index: 6;
	}
}
#sec02_cont06 .cont06_01{
	width: 413px;
	height: 120px;
	bottom: -20px;
	left: 245px;
	z-index: 3;
}
@media screen and (max-width: 768px) {
	#sec02_cont06 .cont06_01{
		width: 57.125vw;
		height: 13.875vw;
		bottom: 26vw;
		left: 13vw;
	}
}
#sec02_cont06 .cont06_02{
	width: 352px;
	height: 170px;
	top: 50%;
	left: 170px;
	transform: translateY(-50%);
	z-index: 4;
}
@media screen and (max-width: 768px) {
	#sec02_cont06 .cont06_02{
		display: none;
	}
}
#sec02_cont06 .cont06_03{
	width: 388px;
	height: 200px;
	bottom: 0px;
	right: 20px;
	z-index: 4;
}
@media screen and (max-width: 768px) {
	#sec02_cont06 .cont06_03{
		width: 65.25vw;
    height: 33vw;
    top: 8vw;
		bottom: unset;
    right: 14vw;
	}
}
@media screen and (min-width: 769px) {
	#sec02_cont06 .sec02_cont_link{
		bottom: 20px;
		left: 170px;
	}
}

/*各コンテンツ↑*/

.sec02 .side_nav{
	position: fixed;
  top:122px;
	left: 20px;
	z-index: 9;
	opacity: 0;
	top: calc(50% + 61px);
	transform: translateY(-50%);
	transition: 0.3s;
		z-index: -1;
}
@media screen and (max-width: 1260px) {
	.sec02 .side_nav{
		display: none;
	}
}


.sec02 .side_nav.is-fixed {
	opacity: 1;
	transition: 0.3s;
	z-index: 1;
}

.sec02 .side_nav.is-btmfixed {
	opacity: 0;
}

@keyframes sidenav {
  0% {
		display: block;
  }
	1%{
		opacity: 0;
	}
  100% {
		opacity: 1;
  }
}

.sec02 .side_nav li{
	margin-bottom: 3em;
}

.sec02 .side_nav li:last-child{
	margin-bottom: 0;
}

 #contents_area .side_nav img{
	width: auto;
	height: 34px;
}
@media screen and (max-width: 768px) {
	 #contents_area .side_nav img{
		display: none;
	}
}

.sec03{
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
	padding-top: 150px;
}
@media screen and (max-width: 768px) {
	.sec03{
		padding-top: 20vw;
	}
}

.sec03_txtwrap{
	max-width: 490px;
	margin-bottom: 90px;	
}
@media screen and (max-width: 768px) {
	.sec03_txtwrap{
		max-width: 490px;
		margin-bottom: 60px;	
		padding: 0px calc(5vw + 20px );
	}
}
@media screen and (min-width: 769px) {
	.sec03_itemwrap{
		display: flex;
		flex-wrap: wrap;
		gap: 50px 50px;
	}
}
@media screen and (max-width: 768px) {
	.sec03_itemwrap{
		padding: 0px calc(5vw + 20px );
	}
}
@media screen and (min-width: 769px) {
	.sec03_item{
		font-size: 1.125rem;
		width: calc(50% - 25px);
	}
}
@media screen and (max-width: 768px) {
	.sec03_item{
		font-size: 1rem;
		margin-bottom: 2rem;
	}
	.sec03_item:last-child{
		margin-bottom: 0;
	}
}

#contents_area .sec03_item a{
	color: inherit;
}

.sec03_item_txt{
	margin-top: 1rem;
}

.sec03_item_txt p{
	line-height: 1.25em;
	padding-left: 1.25em;
	position: relative;
}

.sec03_item_txt p::before{
	content: "";
	width: 1em;
	height: 1em;
	display: block;
	background: url(../img/itemlist_icon.svg) center center no-repeat;
	background-size: 1em auto;
	position: absolute;
	top: 0;
	left: 0;
}


#section_items{
	padding: 90px 0;
	background: #d1d1d1;
}
@media screen and (max-width: 768px) {
	#section_items{
		padding: 15vw 0 1px;
	}
}

#section_items img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.block, .block_inner {
		margin: auto;
}

#section_items h3{
	font-size: 2rem;
	font-weight: 400;
	text-align: center;
	color: #000;
}

@media screen and (max-width: 768px) {
	#section_items h3{
		font-size: 1.125rem;
	}
}

#section_items h3 span{
	padding: 0 0.25em;
	border-bottom: 1px solid #000;
}

@media screen and (min-width: 769px) {
	.section .box_flex {
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-start;
	}
	#section_items .block_inner {
		width: 1002px;
	}
	#section_items .item_list {
		margin: 90px auto -50px;
	}
	#section_items .item_list li {
		width: 476px;
		margin-bottom: 50px;
	}
	#section_items .item_list li>a {
		display: block;
		overflow: hidden;
	}
	#section_items .item_list a>div {
		align-items: center;
		position: relative;
		padding: 13px 15px;
		background: #fff;
	}
	#section_items .item_list h4 {
        color: #000;
        font-size: 24px;
    }
	#section_items .item_list .link {
		padding-right: 30px;
		background: url(../img/item_link_arrow.svg) 100% 50% / 5px no-repeat;
		letter-spacing: .07em;
		font-size: 16px;
		line-height: 24px;
	}
}
@media screen and (max-width: 768px) {
	#section_items .block_inner {
		width: 100%;
		padding: 0px calc(5vw + 20px );
		box-sizing: border-box;
	}
	#section_items .item_list {
		margin: 40px auto 0;
	}
	#section_items .item_list li {
		width: 100%;
		margin-bottom: 2rem;
	}
	#section_items .item_list li>a {
		display: block;
		overflow: hidden;
	}
	#section_items .item_list a>div {
		align-items: center;
		padding: 8px 9px;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		position: relative;
		background: #fff;
	}
	#section_items .item_list h4 {
		color: #000;
		font-size: 1rem;
	}
	#section_items .item_list .link {
		padding-right: 1rem;
		background: url(../img/item_link_arrow.svg) 100% 50% / 5px no-repeat;
		letter-spacing: .07em;
		font-size: 0.75rem;
		line-height: 1rem;
	}
}