@charset "utf-8";


/*--

common_header

====================================================== --*/

#common_header{
	background-color:var(--c-white);
	position:fixed;
	top:0;
	width:100%;
	z-index:200;
}
#common_header .header__inner{
	display:flex;
	justify-content:space-between;
	align-items:center;
	height:7rem;
	margin:0 auto;
	position:relative;
}
#common_header .header__logo{
	margin-left:3rem;
	display:flex;
	align-items:center;
	justify-content:flex-start;
	gap:0.9rem;
}
#common_header .header__logo__link{
	display:flex;
	width:11.8rem;
	flex:0 0 auto;
}
#common_header .header__lead{
	display:block;
	font-size:1.1rem;
	line-height:1;
}
@media all and (max-width:1100px){
	#common_header.active{
		background-color:var(--c-white);
		height:100%;
		overflow:scroll;
	}
	#common_header .header__inner{
		height:6rem;
	}
	#common_header .header__logo{
		margin-left:1.8rem;
		flex-direction:column;
		justify-content:center;
		gap:0.4rem;
	}
	#common_header .header__lead{
		font-size:0.6rem;
	}
	#common_header .header__logo__link{
		width:9.4rem;
		text-align:center;
	}
}

/*-- menu --*/

#common_header .menu_btn{
	display:none;
}

@media all and (max-width:1100px){
	#common_header .menu_btn{
		display:block;
		width:6rem;
		height:6rem;
		background-color:var(--c-gray2);
		position:fixed;
		top:0;
		right:13rem;
		z-index:150;
		cursor:pointer;
	}
	#common_header .menu_btn span,
	#common_header .menu_btn::before,
	#common_header .menu_btn::after{
		display:block;
		background-color:var(--c-white);
		height:0.1rem;
		width:2.6rem;
		position:absolute;
		left:50%;
	}
	#common_header .menu_btn span{
		top:50%;
		transform:translate(-50%, -50%);
	}
	#common_header .menu_btn::before,
	#common_header .menu_btn::after{
		content:"";
		transform:translateX(-50%);
	}
	#common_header .menu_btn::before{
		top:34%;
	}
	#common_header .menu_btn::after{
		bottom:34%;
	}
	#common_header .menu_btn.active span{
		transform:translateX(-50%) rotate(0deg);
		opacity:0;
	}
	#common_header .menu_btn.active::before,
	#common_header .menu_btn.active::after{
		height:0.1rem;
		width:2.6rem;
		top:50%;
	}
	#common_header .menu_btn.active::before{
		transform:translateX(-50%) rotate(135deg);
	}
	#common_header .menu_btn.active::after{
		transform:translateX(-50%) rotate(-135deg);
	}
}

/*-- gnav__sub --*/

#common_header .gnav__sub{
	position:fixed;
	top:0;
	right:0;
	font-family:'Akshar','Noto Sans JP',sans-serif;
	display:flex;
	align-items:flex-start;
	justify-content:flex-end
}
#common_header .gnav__sub a,
#common_header .gnav__sub span{
	display:flex;
	align-items:center;
	justify-content:center;
	text-decoration:none;
	color:var(--c-white);
}
#common_header .gnav__sub ._login a,
#common_header .gnav__sub ._login span{
	width:7rem;
	height:7rem;
	background:var(--c-black);
	font-size:2rem;
}
#common_header .gnav__sub ._login span{
	background:var(--c-gray4);
}
#common_header .gnav__sub ._entry a{
	width:21rem;
	height:15.8rem;
	background:var(--c-main);
	font-size:3.3rem;
	position:relative;
	padding-bottom:1rem;
}
#common_header .gnav__sub ._entry a::after{
	position:absolute;
	top:calc(50% + 3.3rem);
	left:0;
	right:0;
	margin:auto;
	content:"";
	background:url("../img/ico_arrow_white.svg") no-repeat center center;
	width:0.8rem;
	height:1.3rem;
}

/*-- gnav --*/

#common_header .gnav{
	font-family:'Akshar','Noto Sans JP',sans-serif;
	margin-right:28rem;
}
#common_header #menu-global{
	display:flex;
	align-items:center;
	gap:2.5rem;
	margin-left:2.5rem;
	margin-right:2.5rem;
}
#common_header #menu-global a{
	text-decoration:none;
}
#common_header #menu-global > li{
	position:relative;
}
#common_header #menu-global > li > a{
	display:flex;
	justify-content:center;
	align-items:center;
	font-size:2rem;
	line-height:1.4;
	height:7rem;
	position:relative;
}
#common_header #menu-global > li:not([class])::before{
	content:"";
	display:block;
	background-image:url("../img/gnav_triangle.svg");
	background-repeat:no-repeat;
	background-size:100% auto;
	height:1.5rem;
	width:1.7rem;
	position:absolute;
	bottom:0;
	left:50%;
	transform:translate(-50%, 0);
	opacity:0;
	transition:0.3s all;
}
#common_header #menu-global > li:not([class]):hover::before{
	opacity:1;
}
#common_header #menu-global > li > ul{
	background-color:var(--c-white);
	border:0.4rem solid var(--c-main);
	border-left:none;
	border-right:none;
	display:flex;
	justify-content:center;
	padding:2rem 0 3rem;
	width:100%;
	position:fixed;
	top:7rem;
	left:0;
	opacity:0;
	visibility:hidden;
	transition:0.3s all;
}
#common_header #menu-global > li:hover > ul{
	opacity:1;
	visibility:visible;
}
#common_header #menu-global > li > ul > li{
	margin-right:6rem;
	max-width:35rem;
}
#common_header #menu-global > li > ul > li:last-child{
	margin-right:0;
}
#common_header #menu-global > li > ul > li > a{
	font-size:1.8rem;
	line-height:1.2;
	position:relative;
	font-weight:500;
}
#common_header #menu-global > li > ul > li ul{
	padding-left:3rem;
}
#common_header #menu-global > li > ul > li > ul li{
	margin-top:1rem;
}
#menu-global-sub,
#common_header .gnav__logo{
	display:none;
}

/*-- pagedown --*/

#common_header .gnav__sub ._entry a,
#common_header .gnav__sub ._entry a::after,
#common_header .gnav{
	transition:all .3s ease;
}
.pagedown #common_header .gnav__sub ._entry a{
	width:11rem;
	height:10rem;
	font-size:2.8rem;
}
.pagedown #common_header .gnav__sub ._entry a::after{
	top:calc(50% + 1.6rem);
	width:0.7rem;
	height:1.1rem;
}
.pagedown #common_header .gnav{
	margin-right:18rem;
}

@media all and (max-width:1100px){

	/*-- gnav__sub --*/

	#common_header .gnav__sub ._login a,
	#common_header .gnav__sub ._login span{
		width:6rem;
		height:6rem;
		font-size:1.5rem;
	}
	#common_header .gnav__sub ._entry a,
	.pagedown #common_header .gnav__sub ._entry a{
		width:7rem;
		height:7rem;
		font-size:1.5rem;
	}
	#common_header .gnav__sub ._entry a::after,
	.pagedown #common_header .gnav__sub ._entry a::after{
		top:calc(50% + 1.1rem);
		width:0.6rem;
		height:0.9rem;
	}

	/*-- gnav --*/

	#common_header .gnav{
		display:none;
	}
	.sidemenu{
		opacity:0;
		visibility:hidden;
		background-color:var(--c-white);
		height:100vh;
		width:100%;
		padding-bottom:3rem;
		position:absolute;
		top:0;
		overflow:auto;
		z-index:1000;
	}
	.sidemenu.active{
		opacity:1;
		visibility:inherit;
		position:fixed;
	}

	/* menu-global */

	.sidemenu #menu-global{
		display:block;
		margin-top:6rem;
	}
	.sidemenu #menu-global ul{
		display:block;
	}
	.sidemenu #menu-global > li > ul{
		display:none;
	}
	.sidemenu #menu-global li{
		border-top:0.1rem  solid var(--c-gray);
		margin-left:0;
		position:relative;
	}
	.sidemenu #menu-global > li:last-child{
		border-bottom:0.1rem solid var(--c-gray);;
	}
	.sidemenu #menu-global a{
		font-family:'Akshar','Noto Sans JP',sans-serif;
		text-decoration:none;
		line-height:1.5;
		font-size:2rem;
		font-weight:normal;
		display:block;
		position:relative;
		padding:2.5rem;
		padding-right:calc(2rem + 8rem);
		padding-left:2.4rem;
	}
	.sidemenu #menu-global > li > a::before{
		display:block;
		position:absolute;
		top:0;
		left:0;
		bottom:0;
		margin:auto;
		content:"";
		background:var(--c-main);
		width:1.5rem;
		height:0.3rem;
	}
	.sidemenu #menu-global .sub-menu > li > a{
		font-size:1.8rem;
	}
	.sidemenu #menu-global .sub-menu > li > ul > li > a{
		font-size:1.6rem;
		padding-left:5rem;
	}
	.sidemenu #menu-global .sub-menu > li > ul > li > a::before{
		display:block;
		position:absolute;
		top:0;
		left:2.5rem;
		bottom:0;
		margin:auto;
		content:"";
		background:var(--c-black);
		width:1.5rem;
		height:0.3rem;
	}
	.sidemenu #menu-global li.none::before{
		content:"";
		display:block;
		border-left:0.1rem solid var(--c-gray);
		height:100%;
		width:8rem;
		position:absolute;
		top:50%;
		right:0;
		transform:translate(0, -50%);
	}
	.sidemenu #menu-global li > a::after{
		content:"\e902";
		font-family:'icon' !important;
		speak:never;
		font-style:normal;
		font-weight:normal;
		font-variant:normal;
		text-transform:none;
		line-height:1;
		-webkit-font-smoothing:antialiased;
		-moz-osx-font-smoothing:grayscale;
		color:var(--c-main);
		font-size:1.8rem;
		position:absolute;
		top:50%;
		right:3rem;
		transform:translate(0, -50%);
		transition:0.3s all;
	}
	.sidemenu #menu-global li > a.active::after{
		transform:translate(0, -1rem) rotate(-90deg);
	}
	.sidemenu #menu-global li.none a::after{
		content:"\e901";
	}
	.sidemenu #menu-global li > ul > li > a::after{
		content:"\e901";
	}
	.sidemenu #menu-global > li > button{
		border-left:0.1rem solid var(--c-gray);
		height:100%;
		width:8rem;
		position:absolute;
		top:0;
		right:0;
	}

	/* menu-global-sub */

	#menu-global-sub{
		display:block;
		padding:2.4rem;
		border-bottom:0.1rem solid var(--c-gray);
	}
	#menu-global-sub a{
		font-size:1.6rem;
		display:block;
		position:relative;
		text-decoration:none;
		padding:1rem;
		padding-right:0;
		padding-left:3rem;
	}
	#menu-global-sub a::before{
		display:block;
		position:absolute;
		top:0;
		left:0;
		bottom:0;
		margin:auto;
		content:"";
		background:var(--c-black);
		width:1.5rem;
		height:0.2rem;
	}
	#menu-global-sub li li a{
		font-size:1.4rem;
		padding-left:4.5rem;
	}
	#menu-global-sub li li a::before{
		content:none;
	}
	#menu-global-sub li li li a{
		padding-left:6rem;
	}

	/* gnav__logo */

	.sidemenu .gnav__logo{
		display:flex;
		align-items:center;
		justify-content:center;
		flex-direction:column;
		gap:0.4rem;
		width:9.4rem;
		margin:3.2rem auto 6.4rem;
	}
	.sidemenu .gnav__logo a{
		display:block;
	}
	.sidemenu .gnav__logo__lead{
		font-size:0.6rem;
		line-height:1;
	}
	.sidemenu .side_menu_close{
		display:block;
		width:6rem;
		height:6rem;
		background-color:var(--c-main);
		position:absolute;
		top:0;
		right:0;
		z-index:150;
	}
	.sidemenu .side_menu_close span:nth-child(1),
	.sidemenu .side_menu_close span:nth-child(2){
		content:"";
		display:block;
		background-color:var(--c-white);
		height:0.1rem;
		width:3rem;
		position:absolute;
		left:50%;
		transform:translateX(-50%);
		transition:0.3s all;
	}
	.sidemenu .side_menu_close span:nth-child(1){
		top:50%;
	}
	.sidemenu .side_menu_close span:nth-child(2){
		top:50%;
	}
	.sidemenu.active .side_menu_close span:nth-child(1),
	.sidemenu.active .side_menu_close span:nth-child(2){
		width:3.6rem;
	}
	.sidemenu.active .side_menu_close span:nth-child(1){
		transform:translateX(-50%) rotate(-45deg);
	}
	.sidemenu.active .side_menu_close span:nth-child(2){
		transform:translateX(-50%) rotate(-135deg);
	}
}



/*--

common_main

====================================================== --*/

#common_main{
	padding-top:7rem;
}
@media all and (max-width:1100px){
	#common_main{
		padding-top:6rem;
	}
}

/*-- content_base --*/

.content_base{
	position:relative;
	padding:0 1.4rem;
	overflow:hidden;
}
.content_inner{
	max-width:100rem;
	width:100%;
	margin:0 auto;
}
.content_inner > *{
	margin-bottom:3rem;
}
.content_inner > *:last-child{
	margin-bottom:0;
}
@media all and (max-width:750px){
	.content_inner > *{
		margin-bottom:2rem;
	}
}

/* sec */

.content_base.sec .content_inner{
	padding-top:3rem;
	padding-bottom:6rem;
}
@media all and (max-width:750px){
	.content_base.sec .content_inner{
		padding-bottom:3rem;
	}
}

/* wide */

.content_base._wide{
	padding:0;
}
._wide .content_inner{
	max-width:100%;
}

/*-- page__heading --*/

.page__heading{
	background:var(--c-yellow-light);
}
.page__heading__inner{
	margin:0 auto;
	max-width:106rem;
	padding:2rem 3rem;
}
.page__heading__inner .headline{
	font-size:2.8rem;
	font-weight:700;
	line-height:1.2;
}
@media all and (max-width:1100px){
	.page__heading__inner .headline{
		font-size:2.2rem;
		font-weight:700;
		text-align:center;
	}
}



/*--

common_footer

====================================================== --*/
#common_footer{
	background:var(--c-black);
	color:var(--c-white);
	padding:2.4rem 0;
}
#common_footer a{
	color:var(--c-white);
	text-decoration:none;
}
#common_footer .footer__inner,
#common_footer .footer__inner__bottom{
	max-width:106rem;
	width:100%;
	margin:0 auto;
	padding:0 3rem;
}
#common_footer .footer__inner__bottom{
	font-size:1.2rem;
	text-align:center;
	margin-top:9rem;
}
#common_footer .footer__inner{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
}

/*-- footer__logo --*/

#common_footer .footer__logo{
	display:flex;
	align-items:center;
	justify-content:flex-start;
	gap:0.9rem;
	width:31.5%;
}
#common_footer .footer__logo__link{
	display:flex;
	width:14.1rem;
	flex:0 0 auto;
}
#common_footer .footer__lead{
	display:block;
	font-size:1.1rem;
	line-height:1;
}

/*-- footer__gnav --*/

#common_footer .footer__gnav{
	width:64%;
}
#menu-global-footer{
	display:flex;
	flex-wrap:wrap;
	flex-direction:column;
	align-items:last baseline;
	height:18rem;
}
#menu-global-footer a{
	display:inline-block;
	padding:0.5rem;
	padding-left:0;
	padding-right:2rem;
}
#menu-global-footer li li a{
	padding-left:1.5rem;
}
#menu-global-footer li li li a{
	padding-left:2.5rem;
}
@media all and (max-width:1100px){
	#common_footer{
		background:var(--c-black);
		color:var(--c-white);
		padding-top:4rem;
	}
	#common_footer .footer__inner__bottom{
		font-size:0.9rem;
		text-align:left;
		margin-top:2rem;
	}
	#common_footer .footer__inner{
		flex-direction:column;
	}

	/*-- footer__logo --*/

	#common_footer .footer__logo{
		width:100%;
	}

	/*-- footer__gnav --*/

	#common_footer .footer__gnav{
		width:100%;
	}
	#menu-global-footer{
		align-items:flex-start;
		margin-top:3rem;
		height:auto;
	}
	#menu-global-footer a{
		padding:1rem;
		padding-left:0;
		padding-right:2rem;
	}
	#menu-global-footer li li a{
		padding-left:1.5rem;
	}
	#menu-global-footer li li li a{
		padding-left:2.5rem;
	}
}



/*-- 

pagetop

====================================================== --*/
#pagetop{
	position:fixed;
	bottom:-8rem;
	right:calc((100vw - 110rem) / 2);
	z-index:200;
	transition:bottom .3s ease;
}
#pagetop button{
	background:var(--c-main);
	height:7rem;
	width:7rem;
	display:block;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
	opacity:1;
}
#pagetop button:hover{
	opacity:0.7;
}
.pagedown #pagetop{
	display:block;
	bottom:0;
}
#pagetop button::before{
	content:"";
	position:absolute;
	top:1.4rem;
	bottom:0;
	right:0;
	left:0;
	margin:auto;
	width:2rem;
	height:2rem;
	border-top:0.2rem solid var(--c-white);
	border-right:0.2rem solid var(--c-white);
	transform:rotate(-45deg);
}

/* sp */
@media all and (max-width:1100px){
	#pagetop{
		right:0;
	}
	#pagetop button:hover{
		opacity:1;
	}
}



/*--

breadcrumbs

====================================================== --*/

.breadcrumbs{
	margin:3rem auto;
	max-width:106rem;
	padding:0 3rem;
}
.breadcrumbs .breadcrumbs__list{
	line-height:1.4;
}
.breadcrumbs .breadcrumbs__item{
	display:inline;
	font-size:1.2rem;
}
.breadcrumbs .breadcrumbs__item a{
	text-decoration:none;
}
.breadcrumbs .breadcrumbs__item::after{
	content:">";
	display:inline-block;
	padding:0 1rem;
}
.breadcrumbs .breadcrumbs__item:last-child::after{
	display:none;
}
/* sp */
@media all and (max-width:1100px){
	.breadcrumbs{
		margin:2rem auto;
		padding:0 1.8rem;
	}
}
@media all and (max-width:750px){
	.breadcrumbs{
		display:none;
	}
}






