@charset "UTF-8";
:root{
	--body : #000;
	--link : #000;
}
:root{
	--primaryColor : #eb615a;
}
/*--------------------------------------------
PRIMARY COLOR
---------------------------------------------*/
.title01.title01-cube-primary:after{
	background-color : #eb615a;
	background-color : var(--primaryColor);
}
.bg-primary{
	background-color : #eb615a;
	background-color : var(--primaryColor);
}
/*--------------------------------------------
TITLE
---------------------------------------------*/
#title{
	border-top-color : #eb615a;
	border-top-color : var(--primaryColor);
	border-top-style : solid;
	background-color : #edd1d1;
}
@media screen and (max-width: 750px){
	#title{
		/*border-top-width: calc( 20 * 100vw / 750 );*/
	}
	#title .wrap{
		padding-top : calc( 50 * 100vw / 750 );
		padding-bottom : calc( ( 36 - 6.4 ) * 100vw / 750 );
		padding-left : 0;
		padding-right : 0;
	}
	#title .lede01{
		margin-top : calc( ( 22 - 6.4 ) * 100vw / 750 );
		padding-left : calc( 5 * 100% / 750 );
		padding-right : calc( 5 * 100% / 750 );
	}
}
@media print,screen and (min-width: 751px){
	#title{
		border-top-width : 12px;
	}
	#title .wrap{
		padding-top : 22px;
		padding-bottom : calc( 10px - 4px );
	}
	#title .lede01{
		margin-top : calc( 14px - 4px );
	}
}
/*--------------------------------------------
COMMON
---------------------------------------------*/
@media screen and (max-width: 750px){
	.nav-archive{
		display : flex;
		justify-content : space-between;
		flex-wrap : wrap;
		padding-left : calc( 55 * 100% / 750 );
		padding-right : calc( 55 * 100% / 750 );
	}
	.nav-archive > li{
		width : calc( 310 * 100% / 640 );
		height : calc( 47 * 100vw / 750 );
	}
	.nav-archive > li:nth-child(n+3){
		margin-top : calc( 28 * 100vw / 750 );
	}
	.nav-archive button{
		width : 100%;
		height : 100%;
		letter-spacing : .08em;
		display : flex;
		align-items : center;
		justify-content : center;
		text-align : center;
		color : #fff;
		transition : color .5s ease-in , background-color .5s ease-in;
		backface-visibility : hidden;
		will-change : color, background-color;
		background-color : transparent;
		border : solid calc( 2 * 100vw / 750 ) #fff;
		font-size : 2.88rem;
		font-weight : 500;
		position : relative;
		padding-right : calc( 20 * 100% / 310 );
	}
	.nav-archive button:after{
		content : "";
		display : block;
		background-repeat : no-repeat;
		background-size : contain;
		background-position : center;
		background-image : url("../images/ui/icon/arrow02_white_sp.svg");
		position : absolute;
		top : calc( 8.5 * 100vw / 750 );
		width : calc( 22 * 100% / 310 );
		height : calc( 26 * 100vw / 750 );
		right : calc( 40 * 100% / 310 );
	}
	.nav-archive button.is-current{
		color : #eb615a;
		color : var(--primaryColor);
		background-color : #fff;
		opacity : 1;
	}
	.nav-archive button.is-current:after{
		background-image : url("../images/ui/icon/arrow02_red_sp.svg");
	}
}
/*--------------------------------------------
INDEX
---------------------------------------------*/
#links01 ol{
	display : flex;
	align-items : center;
	justify-content : center;
}
#links01 ol a{
	display : flex;
	align-items : center;
	border-style : solid;
	border-color : #fff;
	width : 100%;
	height : 100%;
	font-weight : 500;
	letter-spacing : .07em;
	position : relative;
	color : #fff;
	backface-visibility : hidden;
	will-change : color, background-color;
	transition : color .5s ease-in , background-color .5s ease-in;
}
#links01 ol a:after{
	content : "";
	display : block;
	background-repeat : no-repeat;
	position : absolute;
	backface-visibility : hidden;
	will-change : transform;
	transition : transform .5s ease-in;
	background-size : contain;
}
#links01 ol a.is-current , #links01 ol a:hover{
	color : #eb615a;
	color : var(--primaryColor);
	background-color : #fff;
}
#links01 ol a.is-current:after , #links01 ol a:hover:after{
	transform : translateX(25%);
}
@media screen and (max-width: 750px){
	#links01 .wrap{
		padding-left : 0;
		padding-right : 0;
	}
	#links01 ol{
		background-color : #edd1d1;
		padding-bottom : calc( 28 * 100vw / 750 );
	}
	#links01 ol li{
		width : calc( 309 * 100% / 750 );
		height : calc( 47 * 100vw / 750 );
	}
	#links01 ol li + li{
		margin-left : calc( 22 * 100% / 750 );
	}
	#links01 ol a{
		font-size : calc( 2.88rem + .4rem );
		border-width : calc( 2 * 100vw / 750 );
		padding-left : calc( 92 * 100vw / 750 );
	}
	#links01 ol a:after{
		background-image : url("../images/ui/icon/arrow02_white_sp.svg");
		width : calc( 22 * 100vw / 750 );
		height : calc( 26 * 100vw / 750 );
		top : calc( 10 * 100vw / 750 );
		right : calc( 44 * 100vw / 750 );
	}
	#links01 ol a.is-current:after , #links01 ol a:hover:after{
		background-image : url("../images/ui/icon/arrow02_red_sp.svg");
	}
	#links01 ul{
		padding-top : calc( 36 * 100vw / 750 );
		padding-bottom : calc( 36 * 100vw / 750 );
	}
}
@media print,screen and (min-width: 751px){
	#links01 .wrap{
		padding-top : 20px;
		padding-bottom : 22px;
		padding-left : 65px;
		padding-right : 65px;
	}
	#links01 ol{
		justify-content : center;
	}
	#links01 ol li{
		width : 193px;
		height : 29px;
	}
	#links01 ol li + li{
		margin-left : 10px;
	}
	#links01 ol a{
		font-size : calc( 1.8rem + .2rem );
		border-width : 1px;
		padding-left : 58px;
	}
	#links01 ol a:after{
		background-image : url("../images/ui/icon/arrow02_white_pc.svg");
		width : 14px;
		height : 16px;
		top : 6px;
		right : 26px;
	}
	#links01 ol a.is-current , #links01 ol a:hover{
		font-weight : 700;
	}
	#links01 ol a.is-current:after , #links01 ol a:hover:after{
		background-image : url("../images/ui/icon/arrow02_red_pc.svg");
	}
	#links01 ul{
		margin-top : 20px;
	}
}
/*--------------------------------------------
LIST
---------------------------------------------*/
#list h2{
	letter-spacing: .1em;
	text-align: center;
}
#list .wrap > p{
	letter-spacing: .08em;
}
#list picture{
	overflow : hidden;
	border-style : solid;
	border-color : #eb615a;
	border-color : var(--primaryColor);
}
#list picture > img{
	width : 100%;
	height : 100%;
	object-fit : contain;
	font-family : "object-fit: contain;";
}
#list .head{
	display : flex;
	align-items : flex-start;
}
#list .head p{
	flex-shrink : 0;
	margin-right : 1em;
	color : #eb615a;
	letter-spacing : .08em;
}
#list h3{
	font-weight : 500;
	letter-spacing : .08em;
}
#list dt , #list dd{
	letter-spacing: .08em;
}
@media screen and (max-width: 750px){
	#list .wrap{
		padding-top : calc( ( 60 - 5 ) * 100vw / 750 );
		padding-bottom: calc( 112 * 100vw / 768 );
		padding-left : calc( 20 * 100% / 750 );
		padding-right : calc( 20 * 100% / 750 );
	}
	#list h2{
		font-size: 4rem;
		line-height: 1.25;
	}
	#list .wrap > p{
		font-size: 2.8rem;
		line-height: 1.61;
		padding-left: calc( 25 * 100% / 768 );
		padding-right: calc( 25 * 100% / 768 );
		margin-top: calc( ( 48 - 5 - 8.5 ) * 100vw / 768 );
	}
	#list ul{
		margin-top: calc( ( 140 - 50 ) * 100vw / 768 );
	}
	#list li{
		background-color : #fff;
	}
	#list li + li{
		margin-top : calc( 50 * 100vw / 750 );
	}
	#list picture{
		margin-top: calc( 50 * 100vw / 768 );
		border-width : calc( 3 * 100vw / 750 );
		display : block;
	}
	#list .head{
		background-color : #fff;
	}
	#list .head p{
		font-size : 3.963rem;
		margin-top : calc( ( 9.905 - 6.13 ) * 100vw / 750 );
	}
	#list h3{
		margin-top : calc( -6.13 * 100vw / 750 );
		margin-bottom : calc( -6.13 * 100vw / 750 );
		font-size : 4.64rem;
		line-height : 1.29;
	}
	#list dl{
		margin-top: calc( 80 * 100vw / 768 );
	}
	#list dt, #list dd{
		font-size: 2.4rem;
		line-height: 1.73;
	}
}
@media print,screen and (min-width: 751px){
	#list .wrap{
		padding-top : calc( 24px - 12px );
		padding-bottom : calc( 98px - 4px );
		display: flex;
		flex-direction: column;
	}
	#list h2{
		order:1;
		font-size: 2.4rem;
		line-height: 2;
	}
	#list .wrap > p{
		width: 700px;
		margin-left: auto;
		margin-right: auto;
		font-size: 1.4rem;
		line-height: 1.64;
		margin-top: calc( 50px - 12px - 4.5px );
		order:2;
	}
	#list dl{
		width: 700px;
		margin-left: auto;
		margin-right: auto;
		order:3;
		margin-top: calc( 24px - 4.5px - 4.5px );
	}
	#list dt, #list dd{
		font-size: 1.2rem;
		line-height: 1.64;
	}
	#list ul{
		margin-top: calc( 72px - 4.5px );
		order:4;
		display : flex;
		flex-wrap : wrap;
	}
	#list li{
		width : 215px;
	}
	#list li:not(:nth-child(4n+1)){
		margin-left : 13px;
	}
	#list li:nth-child(n+5){
		margin-top : calc( 38px - 4px );
	}
	#list li a{
		display: flex;
		flex-direction: column-reverse;
	}
	#list picture{
		width : 100%;
		height : 304px;
	}
	#list .head{
		margin-top : calc( 16px - 4px );
	}
	#list .head p{
		font-size : calc( 1.2rem + .2rem );
		margin-top : 3px;
	}
	#list h3{
		font-size : calc( 1.4rem + .2rem );
		line-height : 1.29;
	}
}
/*--------------------------------------------
LINK02
---------------------------------------------*/
@media screen and (max-width: 750px){
	#link02{
		margin-top : calc( 52 * 100vw / 750 );
	}
	#link02 .wrap{
		padding-left : 0;
		padding-right : 0;
		padding-top : calc( 36 * 100vw / 750 );
		padding-bottom : calc( 36 * 100vw / 750 );
	}
}
/*--------------------------------------------
POPUP
---------------------------------------------*/
.mfp-bg{
	opacity : .4;
}
@media print,screen and (min-width: 960px){
	img.mfp-img{
		border-style : solid;
		border-color : #eb615a;
		border-color : var(--primaryColor);
		border-width : 1px;
		padding-top : 0;
		padding-bottom : 0;
		background-color : #fff;
	}
}
.mfp-bottom-bar{
	display : none;
}