 @charset "UTF-8";
 @import url("font.css");
/* CSS Document */
html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	background: #fff;
}
header, footer, main, nav, section, article, figure, figcaption {
	display: block;
}
html, body, header, footer, main, nav, section, article, figure, figcaption,
div, p, ul, ol, dl, li, dt, dd,
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
	font-weight: normal;
}
body {
	line-height: 1;
	color: #35363B;
	font-family: var(--font-regular);
  font-weight: normal;
  font-feature-settings: "palt";
}
.project-header h1,
.project-sec__header h2,
.project-link-btn a,
.project-link-btn .no-link,
.fig-credit{
    font-family: var(--font-bold);
    font-weight: normal;
    font-feature-settings: "palt";
}


a{
	color: #000;
	text-decoration: none;
}
li{
	list-style-type: none;
}
i,em{
	font-style: normal;
}
strong{
	font-weight: normal;
}
img {
	vertical-align: bottom;
	border: none;
	pointer-events: none;
}
video {
	vertical-align: bottom;
}
.no-scroll{
	overflow: hidden;
}
a{
  color: #000;
  text-decoration: none;
}
img{
  max-width: 100%;
  vertical-align: top;
}
*,
::before,
::after{
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
}

::selection {
	color: #fff;
	background: #E5004A;
	opacity: 1;
}
.project-sec__detail-flex .project-sec__detail-lead p + p,
.project-info .project-info-col-txt p + p{
	margin-top: 0.8em;
}

@media screen and (min-width: 768px) {


	body {
		font-size: 16px;
		width: 100%;
	}
	.ignore-pc{
		display: none;
	}


/* project-contents
==================================================*/

	.project-contents{
		padding: 0 0 60px;
	}
	.project-kv{
		width: 100%;
	}
	.project-kv img{
		width: 100%;
	}

	.project-main{
		margin: auto;
		max-width: 1120px;
	}
	.project-header{
		padding: 60px 0;
	}
	.project-header h1{
		text-align: center;
		font-size: 40px;
		line-height: 1.3;
	}
	.project-entry-body{
		padding: 60px 40px 0;
	}
	.fig-credit{
		margin: 10px 150px 0 0;
		text-align: right;
		font-size: 12px;
	}


/* project-sec
==================================================*/

	.project-sec{
		margin: auto;
		max-width: 980px;	
	}
	.project-sec + .project-sec{
		margin-top: 60px;
	}

	.project-sec__header{
		position: relative;
	}
	.project-sec__header h2{
		font-size: 26px;
		text-align: center;
		color: #E5004A;
		line-height: 1.3;
	}
	.project-sec4 .project-sec__header{
		padding: 0 100px;
	}
	.project-sec__header + *{
		margin-top: 30px;
	}
	.project-sec__detail-inner{
		margin: auto;
		max-width: 870px;
	}
	.project-sec__header-lead{
		margin: 20px 150px 0;
		text-align: center;
		line-height: 2;
	}

	.project-sec__detail + .project-sec__detail{
		margin-top: 40px;
	}
	.project-sec__detail figure{
		position: relative;
	}
	.project-sec__detail-flex{
		display: flex;
	}
	.project-sec__detail-flex .obj-1{
		width: 223px;
	}
	.project-sec__detail-flex .project-sec__detail-lead{
		padding: 0 0 0 40px;
		width: calc(100% - 223px);
		line-height: 2;
	}

	.project-sec__detail figure.fig-yt{
		margin-top: 60px;
		aspect-ratio: 16 / 9;
	}
	.project-sec__detail figure.fig-yt iframe{
		width: 100%;
		height: 100%;
	}
	.project-info-col + .project-info-col{
		margin-top: 50px;
	}
	.project-info .project-info-col-txt{
		text-align: center;
	}
	.project-info .project-info-col-txt p{
		line-height: 2;
	}
	.project-info .project-link-btn{
		margin-top: 30px;
	}


	.project-team-txt{
		border-top: 1px solid #ccc;
	}
	.project-team-txt dl{
		display: flex;
		padding: 20px 30px;
		line-height: 2;
		border-bottom: 1px solid #ccc;
	}
	.project-team-txt dl dt{
		width: 140px;
	}
	.project-team-txt dl dd{
		width: calc(100% - 140px);
	}
	.project-team .project-link-btn{
		margin-top: 25px;
	}

	.project-sec-about{
		padding: 50px;
		border: 5px solid #E5004A;
	}
	.project-sec-about .project-sec__header + *{
		margin-top: 50px;
	}
	.project-about-txt{
		border-top: 1px solid #ccc;
	}
	.project-about-txt dl{
		display: flex;
		padding: 20px 30px;
		line-height: 2;
		border-bottom: 1px solid #ccc;
	}
	.project-about-txt dl dt{
		width: 140px;
	}
	.project-about-txt dl dd{
		width: calc(100% - 140px);
	}
	.project-sec-about .project-link-btn{
		margin-top: 50px;
	}

	.project-logo{
		margin: 50px auto 0;
		width: 420px;
	}

/* project-link-btn
==================================================*/

	.project-link-btn{
		position: relative;
		margin: auto;
		max-width: 745px;
	}
	.project-link-btn .no-link,
	.project-link-btn a{
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		height: 80px;
		background: #E5004A;
		font-size: 18px;
		color: #fff;
		border-radius: 40px;
		line-height: 1.4;
	}
	.project-link-btn .no-link{
		background: #ccc;
	}
	.project-link-btn a span{
		position: relative;
		display: inline-block;
		padding: 0 30px 0 0;
	}
	.project-link-btn a span:after{
		content: "";
		position: absolute;
		margin: auto;
		top: 0;
		right: 0;
		bottom: 0;
		display: block;
		width: 14px;
		height: 14px;
		background: url(../img/icon_blank.svg);
		background-size: 100% 100%;
	}

	.project-attention{
		margin: 15px 0 0;
		text-align: center;
		line-height: 2;
	}
	.project-cr{
		margin: 60px 0 0;
		text-align: center;	
	}



/* obj
==================================================*/

	.obj-2{
		position: absolute;
		bottom: -30px;
		right: -30px;
	}
	.obj-4{
		position: absolute;
		bottom: -10px;
		right: -30px;
	}
	.obj-5{
		position: absolute;
		bottom: -10px;
		right: -30px;
	}
	.obj-6{
		position: absolute;
		top: 50%;
		left: -30px;
		transform: translateY(-50%);
	}
	.obj-7{
		position: absolute;
		top: 50%;
		right: -30px;
		transform: translateY(-50%);
	}


}


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


	body {
		width: 100%;
		font-size: 12px;
	}
	.ignore-sp{
		display: none;
	}
	#wrap{
		position: relative;
		width: 100%;
		overflow: hidden;
	}


/* project-contents
==================================================*/

	.project-contents{
		padding: 0 0 40px;
	}

	.project-main{
		margin: auto;
		max-width: 1120px;
	}
	.project-header{
		padding: 30px 0;
	}
	.project-header h1{
		font-size: min(30px,8vw);
		line-height: 1.3;
		text-align: center;
	}
	.project-entry-body{
		padding: 30px 16px 0;
		border-top: 1px solid #ccc;
	}
	.fig-credit{
		margin: 10px 75px 0 0;
		text-align: right;
		font-size: 10px;
	}


/* project-sec
==================================================*/

	.project-sec{
		margin: auto;
		max-width: 980px;	
	}
	.project-sec + .project-sec{
		margin-top: 60px;
	}

	.project-sec__header{
		position: relative;
	}
	.project-sec__header h2{
		font-size: 20px;
		color: #E5004A;
		line-height: 1.3;
	}
	.project-sec__header-v2 h2{
		text-align: center;
	}
	.project-sec__header + *{
		margin-top: 24px;
	}
	.project-sec__detail-inner{
		margin: auto;
		max-width: 870px;
	}
	.project-sec__header-lead{
		margin: 20px 0 0;
		line-height: 2;
	}
	.project-sec__detail + .project-sec__detail{
		margin-top: 20px;
	}
	.project-sec__detail figure{
		position: relative;
	}
	.project-sec__detail-flex .obj-1{
		margin: auto;
		max-width: 165px;
	}
	.project-sec__detail-flex .project-sec__detail-lead{
		margin-top: 20px;
		line-height: 2;
	}
	.project-sec__detail .obj-figure{
		margin: 0 24px;
	}
	.project-sec__detail figure.fig-yt{
		margin-top: 30px;
		aspect-ratio: 16 / 9;
	}
	.project-sec__detail figure.fig-yt iframe{
		width: 100%;
		height: 100%;
	}
	.project-info-col + .project-info-col{
		margin-top: 50px;
	}
	.project-info .project-info-col-txt p{
		line-height: 2;
	}
	.project-info .project-link-btn{
		margin-top: 24px;
	}


	.project-team-txt{
		border-top: 1px solid #ccc;
	}
	.project-team-txt dl{
		display: flex;
		padding: 20px 0;
		line-height: 2;
		border-bottom: 1px solid #ccc;
	}
	.project-team-txt dl dt{
		width: 80px;
	}
	.project-team-txt dl dd{
		width: calc(100% - 80px);
	}
	.project-team .project-link-btn{
		margin-top: 15px;
	}


	.project-sec-about{
		padding: 25px 20px;
		border: 5px solid #E5004A;
	}
	.project-sec-about .project-sec__header + *{
		margin-top: 25px;
	}
	.project-about-txt{
		border-top: 1px solid #ccc;
	}
	.project-about-txt dl{
		display: flex;
		padding: 20px 0;
		line-height: 2;
		border-bottom: 1px solid #ccc;
	}
	.project-about-txt dl dt{
		width: 100px;
	}
	.project-about-txt dl dd{
		width: calc(100% - 100px);
	}
	.project-sec-about .project-link-btn{
		margin-top: 25px;
	}

	.project-logo{
		margin: 25px auto 0;
		max-width: 270px;
	}

/* project-link-btn
==================================================*/

	.project-link-btn{
		position: relative;
		margin: auto;
		max-width: 745px;
	}
	.project-link-btn .no-link,
	.project-link-btn a{
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		height: 50px;
		background: #E5004A;
		font-size: min(14px,3.73vw);
		color: #fff;
		border-radius: 25px;
		line-height: 1.4;
	}
	.project-link-btn .no-link{
		background: #ccc;
	}

	.project-link-btn a span{
		position: relative;
		display: inline-block;
	}
	.project-link-btn a span:after{
		content: "";
		position: absolute;
		margin: auto;
		top: 0;
		right: -30px;
		bottom: 0;
		display: block;
		width: 14px;
		height: 14px;
		background: url(../img/icon_blank.svg);
		background-size: 100% 100%;
	}
	.project-attention{
		margin: 10px 0 0;
		text-align: center;
		line-height: 2;
	}

	.project-cr{
		margin: 40px 0 0;
		text-align: center;	
	}


/* obj
==================================================*/

	.obj-2{
		position: absolute;
		bottom: -20px;
		right: -30px;
		width: 78px;
		height: 60px;
	}
	.obj-4{
		position: absolute;
		top: -10px;
		right: 0;
		width: 54px;
		height: 60px;
	}
	.obj-5{
		position: absolute;
		top: -10px;
		right: 0;
		width: 44px;
		height: 50px;
	}
	.obj-6{
		position: absolute;
		top: 13px;
		left: 0;
		width: 55px;
		height: 60px;
	}
	.obj-7{
		position: absolute;
		top: 13px;
		right: 0;
		width: 50px;
		height: 60px;
	}



}


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



}




