@charset "utf-8";

/*-------------------------------
	基本設定
-------------------------------*/

*,
*::before,
*::after{
	box-sizing: border-box;
	line-height: var(--line-height);
	word-wrap: break-word;
	/* font-feature-settings: "palt"; */
	text-align: justify;
}
html{
	font-size: var(--root-font-size);
}
body{
	opacity: 0;
	width: 100%;
	font-size: var(--font-size);
	letter-spacing: .025em;
	font-weight: 500;
	-webkit-text-size-adjust: 100%;
	color: var(--blackcolor);
	/* font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; */
	font-family: var(--mincho);
}

/*----- 画像関連 */
img{
	height: auto;
	vertical-align: bottom;
}

/* SVG表示されないとき */
.svg{
	line-height: 1;
	display: block;
}
.svg img{
	display: block;
	width: 100%;
	height: auto;
	line-height: 1;
}

/*----- ホバー系 */
a,
.a{
	transition: var(--transition);
}
*:not(.not-a) > a:hover,
*:not(.not-a) > .a:hover{
	opacity: var(--opacity);
}

/*----- コンテンツ */
.sec{
	padding-top: var(--padding-topbottom);
	padding-bottom: var(--padding-topbottom);
}
.sec:first-child{
	padding-top: 0;
}
.sec:not(.-bgGray):last-child:not(.-bgBlue):last-child{
	padding-bottom: 0;
}
.sec.-bgGray{
	background: var(--graycolor);
}
.sec.-bgBlue{
	background: var(--bgbluecolor);
}
.sec__header{
	margin-bottom: 6.5rem;
}
.main{
	padding-top: var(--header-height);
	padding-bottom: var(--padding-topbottom);
	display: block;
}
.main:has(.sec.-bgGray:last-child),
.main:has(.sec.-bgBlue:last-child){
	padding-bottom: 0;
}
.header.on ~ .main{
	padding-top: var(--header-height-fix);
}

@media screen and (min-width:769px) , print{

	a[href^="tel:"]{
		pointer-events: none;
	}

	/*----- コンテンツ */
	.fullwidth{
		width: 100%;
		padding-left: var(--padding-leftright);
		padding-right: var(--padding-leftright);
		margin-left: auto;
		margin-right: auto;
	}
	.maxwidth{
		width: 100%;
		max-width: var(--maxwidth);
		padding-left: var(--padding-leftright);
		padding-right: var(--padding-leftright);
		margin-left: auto;
		margin-right: auto;
	}
	.smallwidth{
		width: 100%;
		max-width: var(--smallwidth);
		padding-left: var(--padding-leftright);
		padding-right: var(--padding-leftright);
		margin-left: auto;
		margin-right: auto;
	}

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

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

	html{
		font-size: var(--root-font-size);
	}
	body{
		min-width: 100%;
		font-size: var(--font-size);
	}

	/*----- コンテンツ */
	.fullwidth{
		width: 100%;
		padding-left: var(--padding-leftright);
		padding-right: var(--padding-leftright);
	}
	.sp_maxwidth{
		max-width: var(--maxwidth);
		padding-left: var(--padding-leftright);
		padding-right: var(--padding-leftright);
	}

	.sec{
		padding-top: var(--padding-topbottom);
		padding-bottom: var(--padding-topbottom);
	}
	.sec__header{
		margin-bottom: 7.8rem;
	}

}



/*-------------------------------
	パーツ
-------------------------------*/

/*----- アニメーション */
.g_split_title > div{
	line-height: inherit;
}

/*----- 見出し */
/* 大見出し */
.C-Title{
	width: 100%;
	height: 6rem;
	margin-bottom: 3.8rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.C-Title::before{
	content: "";
	background: var(--maincolor);
	display: block;
	width: .6rem;
	height: 6rem;
}
.C-Title__text{
	font-size: 3rem;
	width: calc(100% - .6rem);
	padding-left: 2.6rem;
	height: 100%;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.C-Title__text-number{
	line-height: 1;
	margin-right: 1rem;
}
.C-Title__text-number > *{
	line-height: 1;
}
/* .sec-header .C-Title{
	margin-bottom: 2.8rem;
} */

/* 中見出し */

/*----- テキスト */
.C-Text-wrap p:not(:last-child),
.C-Text-wrap .C-Text:not(:last-child){
	margin-bottom: calc(1em * var(--line-height));
}
.C-Text-wrap p,
.C-Text{
	font-family: var(--jp);
	font-weight: 400;
}

/*----- 矢印 */
a:has(.C-Arrow),
a:has(.C-Arrow-circle),
.a:has(.C-Arrow),
.a:has(.C-Arrow-circle){
	opacity: 1 !important;
}
.C-Arrow{
	width: 1.8rem;
	height: 1.2rem;
	position: relative;
	z-index: 5000;
	display: block;
	overflow: hidden;
}
.C-Arrow::before,
.C-Arrow::after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
.C-Arrow::before{
	background-image: url(../images/common/icon_arrow-black.svg);
	z-index: 4000;
}
.C-Arrow::after{
	background-image: url(../images/common/icon_arrow-white.svg);
	z-index: 6000;
	opacity: 0;
}
a:hover .C-Arrow::before,
.a:hover .C-Arrow::before{
	animation: c_arrow_before .6s ease-in-out forwards;
}
a:hover .C-Arrow::after,
.a:hover .C-Arrow::after{
	animation: c_arrow_after .6s ease-in-out forwards;
}
@keyframes c_arrow_before{
	0%{
		/* clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); */
		transform: translate(-50%,-50%);
	}
	40%{
		/* clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%); */
		transform: translate(100%,-50%);
	}
	50%{
		opacity: 0;
	}
	100%{
		opacity: 0;
	}
}
@keyframes c_arrow_after{
	0%{
		opacity: 0;
		transform: translate(-100%,-50%);
	}
	49%{
		opacity: 0;
		transform: translate(-100%,-50%);
	}
	50%{
		opacity: 1;
	}
	60%{
		opacity: 1;
		transform: translate(-50%,-50%);
		/* clip-path: polygon(0 0, 0% 0, 0% 100%, 0 100%); */
	}
	100%{
		opacity: 1;
		/* clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); */
	}
}
.C-Arrow-circle{
	transition: var(--transition);
	width: 4rem;
	height: 4rem;
	border: 1px solid #b2b2b2;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
}
.C-Arrow-circle::before{
	content: "";
	transition: var(--transition);
	background: var(--maincolor);
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: scale(0);
}
.C-Arrow-circle .C-Arrow{
	width: 1.2rem;
	height: .8rem;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
a:hover .C-Arrow-circle,
.a:hover .C-Arrow-circle{
	border-color: transparent;
}
a:hover .C-Arrow-circle::before,
.a:hover .C-Arrow-circle::before{
	transform: scale(1);
}

/* 白色 */
.C-Arrow-circle.-white::before{
	background: #fff;
}
.C-Arrow-circle.-white .C-Arrow::after{
	background-image: url(../images/common/icon_arrow.svg);
}

/*----- ボタン */
.C-Button{
	width: 100%;
	max-width: 26rem;
	height: 6rem;
}
.C-Button a,
.C-Button .a{
	transition: var(--transition);
	width: 100%;
	height: 100%;
	border-radius: 3rem;
	border: 1px solid #b2b2b2;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	position: relative;
}
.C-Button a::before,
.C-Button .a::before{
	content: "";
	transition: transform .3s var(--transition-easing);
	background: var(--maincolor);
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 3rem;
	position: absolute;
	z-index: -1;
	transform-origin: right;
	transform: scaleX(0);
}
.C-Button__text{
	transition: var(--transition);
	font-family: var(--en);
	line-height: 1;
	position: relative;
	z-index: 6000;
}
.C-Button .C-Arrow{
	position: absolute;
	right: 2rem;
	top: 50%;
	transform: translateY(-50%);
}
.C-Button a:hover,
.C-Button .a:hover{
	border-color: transparent !important;
}
.C-Button a:hover::before,
.C-Button .a:hover::before{
	transform-origin: left;
	transform: scaleX(1);
}
.C-Button a:hover .C-Button__text,
.C-Button .a:hover .C-Button__text{
	color: #fff;
}
/* 白色 */
.C-Button.-white a,
.C-Button.-white .a{
	border-color: #fff;
}
.C-Button.-white a::before,
.C-Button.-white .a::before{
	background: #fff;
}
.C-Button.-white .C-Button__text{
	color: #fff;
}
.C-Button.-white .C-Arrow::before{
	background-image: url(../images/common/icon_arrow-white.svg);
}
.C-Button.-white:hover .C-Button__text{
	color: var(--blackcolor);
}
.C-Button.-white:hover .C-Arrow::after{
	background-image: url(../images/common/icon_arrow-black.svg);
}
/* 大サイズ */
.C-Button.-large{
	max-width: 36rem;
	height: 8rem;
}
.C-Button.-large a,
.C-Button.-large .a{
	border-radius: 4rem;
	font-size: 1.8rem;
}
.C-Button.-large .C-Arrow{
	width: 2.4rem;
	height: 1.6rem;
	right: 2.6rem;
}

/*----- 表 */
.C-Table{
	width: 100%;
}
.C-Table__item{
	width: 100%;
	border-bottom: 1px solid #b2b2b2;
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
}
.C-Table__item:first-child{
	border-top: 1px solid #b2b2b2;
}
.C-Table__item-title{
	background: var(--graycolor);
	font-family: var(--jp);
	width: 20rem;
	padding: 2.5rem 3rem;
	font-weight: 500;
}
.C-Table__item-body{
	width: calc(100% - 20rem);
	padding: 2.5rem 3rem;
	background: #fff;
}
.C-Table__item-text a{
	color: #999;
	text-decoration: underline;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

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

	/*----- 見出し */
	/* 大見出し */
	.C-Title{
		min-height: 9rem;
		height: auto;
		margin-bottom: 4rem;
		position: relative;
	}
	.C-Title::before{
		content: "";
		background: var(--maincolor);
		display: block;
		width: .9rem;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
	}
	.C-Title__text{
		padding-top: 1.4rem;
		padding-bottom: 1.4rem;
		line-height: calc(6.3 / 4.3);
		font-size: 4.3rem;
		width: 100%;
		padding-left: 4rem;
	}
	/* .sec-header .C-Title{
		margin-bottom: 2.8rem;
	} */

	/* 中見出し */

	/*----- テキスト */
	.C-Text-wrap p:not(:last-child),
	.C-Text-wrap .C-Text:not(:last-child){
		margin-bottom: calc(1em * var(--line-height));
	}
	.C-Text-wrap p,
	.C-Text{
		font-family: var(--jp);
		font-weight: 400;
	}

	/*----- 矢印 */
	.C-Arrow{
		width: 3.3rem;
		height: 2.2rem;
	}

	.C-Arrow-circle{
		width: 4.4rem;
		height: 4.4rem;
	}
	.C-Arrow-circle .C-Arrow{
		width: 1.3rem;
		height: .9rem;
	}

	/*----- ボタン */
	.C-Button{
		max-width: 50rem;
		height: 11rem;
		margin-left: auto;
		margin-right: auto;
	}
	.C-Button a,
	.C-Button .a{
		border-radius: 5.5rem;
	}
	.C-Button a::before,
	.C-Button .a::before{
		border-radius: 5.5rem;
	}
	.C-Button .C-Arrow{
		right: 3.8rem;
	}

	/* 大サイズ */
	.C-Button.-large{
		max-width: 50rem;
		height: 11rem;
	}
	.C-Button.-large a,
	.C-Button.-large .a{
		border-radius: 5.5rem;
		font-size: 2.7rem;
	}
	.C-Button.-large .C-Arrow{
		width: 3.3rem;
		height: 2.2rem;
		right: 3.8rem;
	}

	/*----- 表 */
	.C-Table__item-title{
		width: 18rem;
		padding: 2.8rem 2rem 2.8rem 2rem;
		display: flex;
		align-items: center;
		justify-content: flex-start;
	}
	.C-Table__item-body{
		width: calc(100% - 18rem);
		padding: 2.8rem 2rem 2.8rem 3rem;
		display: flex;
		align-items: center;
		justify-content: flex-start;
	}

}



/*-------------------------------
	ヘッダー
-------------------------------*/

.header{
	transition: var(--transition);
	height: var(--header-height);
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	z-index: 9900;
	background: #fff;
}
.header__inner{
	height: 100%;
	padding-right: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.header__logo{
	transition: var(--transition);
	width: 20.2rem;
}
.header__logo a{
	display: block;
}
.header__logo img{
	width: 100%;
}
.header__nav{
	width: calc(100% - 20.2rem);
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
/* .header__nav > *:nth-last-child(2){
	padding-right: 5.5rem;
} */
.header__nav-inner{
	height: 100%;
	padding-right: 5.5rem;
	width: fit-content;
	display: flex;
	align-items: center;
	justify-content: center;
}
.header__nav-item{
	height: 100%;
	line-height: 1;
	position: relative;
}
/* .header__nav-item:not(:nth-last-of-type(-n+3)){
	margin-right: 3.2rem;
} */
.header__nav-item:not(:nth-last-of-type(-n+2)){
	margin-right: 3.2rem;
}
.header__nav-item > a{
	font-size: 1.4rem;
	height: 100%;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	opacity: 1 !important;
}
.header__nav-item-text{
	line-height: 1;
	position: relative;
	display: inline-block;
}
.header__nav-item-text::before{
	content: "";
	transition: transform .3s var(--transition-easing);
	background: var(--maincolor);
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: -.6rem;
	right: 0;
	transform: scaleX(0);
	transform-origin: right;
}
.header__nav-plus{
	width: 1rem;
	height: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: -1;
}
.header__nav-plus::before,
.header__nav-plus::after{
	content: "";
	transition: var(--transition);
	background: var(--maincolor);
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	top: 50%;
}
.header__nav-plus::after{
	transform: rotate(90deg);
}
.header__nav-item:hover .header__nav-item-text::before{
	transform: scaleX(1);
	transform-origin: left;
}
.header__nav-item:hover .header__nav-plus::before{
	transform: rotate(-90deg);
	opacity: 0;
}
.header__nav-item:hover .header__nav-plus::after{
	transform: rotate(0deg);
}
.header__nav-item:hover .header__nav-child{
	opacity: 1;
	transform: translate(-50%,0);
	visibility: visible;
}
.header__nav-child{
	transition: var(--transition);
	width: 30rem;
	padding-top: 1rem;
	position: absolute;
	left: 50%;
	top: 100%;
	transform: translate(-50%,2rem);
	opacity: 0;
	visibility: hidden;
}
.header__nav-child-inner-wrap{
	width: 100%;
	padding: 3rem;
	background: #fff;
}
.header__nav-child-inner:not(:last-child){
	margin-bottom: 3rem;
}
.header__nav-child-title{
	color: var(--maincolor);
	font-size: 1.2rem;
	margin-bottom: 2rem;
	line-height: 1;
}
.header__nav-child-list-item{
	width: 100%;
}
.header__nav-child-list-item:not(:last-child){
	margin-bottom: 2rem;
}
.header__nav-child-list-item a{
	width: 100%;
	padding-bottom: 1rem;
	font-size: 1.4rem;
	border-bottom: 1px solid #cbcbcb;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	z-index: 5000;
	opacity: 1 !important;
}
.header__nav-child-list-item a::before{
	content: "";
	background: var(--maincolor);
	transition: transform .3s var(--transition-easing);
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: -1px;
	right: 0;
	z-index: 6000;
	transform: scaleX(0);
	transform-origin: right;
}
.header__nav-child-list-item .C-Arrow{
	width: 1.4rem;
	height: .9rem;
}
.header__nav-child-list-item .C-Arrow::before{
	background-image: url(../images/common/icon_arrow-gray.svg);
}
.header__nav-child-list-item .C-Arrow::after{
	background-image: url(../images/common/icon_arrow.svg);
}
.header__nav-child-list-item a:hover::before{
	transform: scaleX(1);
	transform-origin: left;
}
.header__nav-child-list-item-text{
	line-height: 1;
	display: block;
}

.header__nav-item:has(.header__nav-plus) .header__nav-item-text{
	padding-right: 1.2rem;
}
.header__button{
	width: 22rem;
	height: 100%;
}
.header__button a{
	background: var(--maincolor);
	width: 100%;
	height: 100%;
	font-size: 1.4rem;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 5000;
	opacity: 1 !important;
}
.header__button a::before{
	content: "";
	display: block;
	width: 1.8rem;
	height: 1.5rem;
	background-image: url(../images/common/icon_mail-white.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}
.header__button a::after{
	content: "";
	transition: transform .3s var(--transition-easing);
	background: var(--subcolor);
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	transform: scaleX(0);
	transform-origin: right;
}
.header__button span{
	padding-left: .7rem;
	line-height: 1;
	display: block;
}
.header__button a:hover::after{
	transform-origin: left;
	transform: scaleX(1);
}

/*----- 固定 */
.header.on{
	height: var(--header-height-fix);
}
.header.on .header__logo{
	width: 18.6rem;
}

@media screen and (min-width:769px) , print{

	.header__nav{
		display: flex !important;
	}

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

	.header__nav-inner{
		padding-right: 2.5rem;
	}
	/* .header__nav-item:not(:nth-last-of-type(-n+3)){
		margin-right: 2rem;
	} */
	.header__nav-item:not(:nth-last-of-type(-n+2)){
		margin-right: 2rem;
	}

}
@media screen and (max-width:960px) and (min-width: 769px){

	.header__button{
		width: 17.5rem;
	}

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

	.header__inner{
		padding-left: 3rem;
	}
	.header__logo{
		width: 32.4rem;
	}
	.header__nav{
		width: 100%;
		height: calc(100% - 12rem);
		padding-top: 5rem;
		padding-bottom: 7.5rem;
		position: fixed;
		left: 0;
		top: 12rem;
		bottom: 0;
		right: 0;
		z-index: 9900;
		background: #fff;
		overflow: auto;
		display: none;
	}
	.header__nav-inner{
		border-top: 1px solid #cbcbcb;
		width: 100%;
		margin-bottom: 7rem;
		height: auto;
		padding-right: 0;
		flex-direction: column;
		justify-content: flex-start;
	}
	.header__nav-item{
		width: 100%;
		border-bottom: 1px solid #cbcbcb;
		height: auto;
	}
	.header__nav-item:not(:last-child){
		margin-right: 0;
	}
	.header__nav-item > a{
		font-size: 3rem;
		padding-bottom: 4rem;
		padding-top: 4rem;
		height: auto;
		justify-content: flex-start;
	}
	.header__nav-item-text{
		width: calc(100% - 4rem);
	}
	.header__nav-item-text::before{
		display: none;
	}
	.header__nav-plus{
		width: 8rem;
		height: 11rem;
		padding-left: 4rem;
		z-index: 6000;
		top: 0;
		transform: translateY(0);
	}
	.header__nav-plus::before,
	.header__nav-plus::after{
		width: 4rem;
		left: unset;
		right: 0;
	}
	.header__nav-plus::before{
		transform: rotate(0deg) !important;
		opacity: 1 !important;
	}
	.header__nav-plus::after{
		transform: rotate(90deg) !important;
		opacity: 1 !important;
	}
	.header__nav-plus.on::after{
		transform: rotate(0deg) !important;
	}
	.header__nav-item:hover .header__nav-child{
		opacity: 1;
		transform: translate(-50%,0);
		visibility: visible;
	}
	.header__nav-child{
		width: 100%;
		padding-bottom: 4rem;
		padding-top: 0;
		position: static;
		transform: translate(0,0) !important;
		opacity: 1;
		visibility: visible;
		display: none;
		transition: none;
	}
	.header__nav-child-inner-wrap{
		width: 100%;
		padding: 0;
	}
	.header__nav-child-inner:not(:last-child){
		margin-bottom: 3.5rem;
	}
	.header__nav-child-title{
		color: var(--blackcolor);
		font-size: 2.7rem;
		margin-bottom: 3rem;
	}
	.header__nav-child-list-item{
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: flex-start;
	}
	.header__nav-child-list-item::before{
		content: "-";
		font-size: 2.5rem;
		line-height: 1;
	}
	.header__nav-child-list-item:not(:last-child){
		margin-bottom: 3rem;
	}
	.header__nav-child-list-item a{
		width: 100%;
		padding-left: 1rem;
		padding-bottom: 0;
		font-size: 2.5rem;
		border-bottom: none;
	}
	.header__nav-child-list-item a::before{
		display: none;
	}
	.header__nav-child-list-item .C-Arrow{
		display: none;
	}

	.header__nav-item:has(.header__nav-plus) .header__nav-item-text{
		padding-right: 0;
	}

	.header__tel{
		margin-bottom: 7.5rem;
	}
	.header__tel-title{
		margin-bottom: 3.2rem;
	}
	.header__tel-title-text{
		font-size: 3rem;
		margin-bottom: 1.2rem;
		display: block;
		text-align: center;
	}
	.header__tel-title-time{
		font-size: 2.4rem;
		display: block;
		text-align: center;
	}
	.header__tel-number{
		font-family: var(--en);
		color: var(--maincolor);
		font-size: 7rem;
		line-height: .7;
		padding-bottom: .8rem;
		letter-spacing: 0;
		text-align: center;
	}
	.header__mail{
		max-width: 55rem;
	}

	/*----- 固定 */
	.header.on .header__logo{
		width: 32.4rem;
	}

	/*----- ハンバーガー */
	.menu-button {
		background: var(--maincolor);
		width: 12rem;
		height: 12rem;
		padding: 5.2rem 3.5rem;
		box-sizing: border-box;
		display: block !important;
		z-index: 9900;
		cursor: pointer;
		position: fixed;
		right: 0;
		top: 0;
	}
	.menu-button i{
		display: block;
		width: 100%;
		height: 1px;
		background: transparent;
		-webkit-transition: background 0.5s;
		transition: background 0.5s;
		position: relative;
		left: 0px;
		top: 50%;
		transform: translateY(-50%);
	}
	.menu-button i:before,
	.menu-button i:after{
		content: "";
		display: block;
		width: 100%;
		height: 1px;
		background: #fff;
		position: absolute;
		-webkit-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		transform: rotate(0deg);
		-webkit-transition: all 0.3s !important;
		transition: all 0.3s !important;
	}
	.menu-button i:before{
		-webkit-transform: translateY(.8rem);
		-ms-transform: translateY(.8rem);
		transform: translateY(.8rem);;
	}
	.menu-button i:after{
		-webkit-transform: translateY(-.8rem);
		-ms-transform: translateY(-.8rem);
		transform: translateY(-.8rem);
	}
	.is_open i{
		background: transparent;
	}
	.is_open i:after{
		transform:translateY(0px) rotate(-25deg);
	}
	.is_open i:before{
		transform:translateY(0px) rotate(25deg);
	}

}



/*-------------------------------
	フッター
-------------------------------*/

.footer{
	background: var(--subcolor);
	padding-top: 10rem;
}
.footer__inner{
	padding-bottom: 7.6rem;
	color: #fff;
}
.footer__nav{
	width: 100%;
	margin-bottom: 4.8rem;
	padding-bottom: 4.2rem;
	border-bottom: 1px solid #a4a7ab;
	display: flex;
	align-items: flex-start;
	/* justify-content: space-between; */
	justify-content: flex-start;
	/* column-gap: 10rem; */
	column-gap: 10rem;
}
.footer__nav-inner{
	/* column-gap: 10rem; */
	column-gap: 10rem;
	display: flex;
	align-items: flex-start;
	/* justify-content: space-between; */
	justify-content: flex-start;
}
.footer__nav-list-title{
	font-size: 1.8rem;
	line-height: 1;
}
.footer__nav-list-title + .footer__nav-list-title{
	margin-top: 3rem;
}
.footer__nav-list-title > a,
.footer__nav-list-title > .a{
	line-height: 1;
	display: inline-block;
}
.footer__nav-list-title > .a{
	opacity: 1 !important;
}
.footer__nav-child{
	width: fit-content;
	margin-top: 3rem;
	display: flex;
	/* column-gap: 18.5rem; */
	column-gap: 5rem;
	align-items: flex-start;
	justify-content: space-between;
}
.footer__nav-child-title{
	font-size: 1.5rem;
	padding-top: .8rem;
	margin-bottom: .6rem;
	color: #a4a7ab;
}
.footer__nav-child-list-item{
	width: fit-content;
	font-size: 1.3rem;
	line-height: calc(3 / 1.3);
	color: #a4a7ab;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}
.footer__nav-child-list-item::before{
	content: "-";
	margin-right: .6rem;
}
.footer__nav-child-list-item:only-child::before{
	display: none;
}
.footer__bottom{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
.footer__corp-logo{
	width: 25.1rem;
	margin-bottom: 2.5rem;
}
.footer__corp-logo img{
	width: 100%;
}
.footer__info{
	font-size: 1.4rem;
}
.footer__sns{
	width: 16rem;
	gap: 2rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.footer__sns-icon{
	width: 4rem;
}
.footer__sns-icon a{
	display: block;
}
.footer__sns-icon img{
	width: 100%;
}
.footer__copyright{
	height: 10rem;
	font-size: 1rem;
	line-height: calc(2.8 / 1);
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

	/* .footer__nav-list{
		width: calc(100% / 4);
	} */
	.footer__nav-child{
		width: 100%;
		flex-direction: column;
	}

}
@media screen and (max-width:960px) and (min-width: 769px){

	.footer__nav{
		flex-wrap: wrap;
		row-gap: 5rem;
	}
	.footer__nav-list{
		width: calc(100% / 2);
	}
	.footer__nav-child{
		width: 100%;
        flex-direction: row;
        justify-content: flex-start;
        column-gap: 5rem;
	}
	.footer__nav-child-inner{
		width: 50%;
	}
	.footer__nav-child-inner:only-child{
		width: 100%;
	}
	.footer__nav-child-inner:only-child .footer__nav-child-list-item{
		width: 50%;
	}
	.footer__nav-child-list{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
	}

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

	.footer__inner{
		padding-bottom: 10rem;
	}
	.footer__nav{
		margin-bottom: 9.5rem;
		padding-bottom: 9rem;
		column-gap: 0;
		justify-content: space-between;
	}
	.footer__nav-inner{
		flex-direction: column;
		row-gap: 4.5rem;
	}
	.footer__nav-list{
		width: 100%;
	}
	.footer__nav-list-title{
		width: 100%;
		font-size: 3rem;
	}
	.footer__nav-list-title + .footer__nav-list-title{
		margin-top: 4.5rem;
	}
	.footer__nav-child{
		width: 100%;
		margin-top: 2.5rem;
		flex-direction: column;
	}
	.footer__nav-child-inner:not(:last-child){
		margin-bottom: 2.5rem;
	}
	.footer__nav-child-title{
		font-size: 2.7rem;
		padding-top: 1rem;
		margin-bottom: 2.5rem;
	}
	.footer__nav-child-list{
		width: fit-content;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
	.footer__nav-child-list-item{
		font-size: 2.5rem;
		line-height: calc(3.9 / 2.5);
	}
	.footer__nav-child-list-item:not(:last-child){
		margin-bottom: 1.5rem;
	}
	.footer__nav-child-list-item::before{
		margin-right: 1rem;
		line-height: calc(3.9 / 2.5);
	}
	.footer__nav-child-list-item a{
		line-height: calc(3.9 / 2.5);
	}
	.footer__nav-child.-privacy{
		margin-top: 4rem;
	}

	.footer__bottom{
		flex-direction: column;
		align-items: flex-start;
	}
	.footer__corp{
		margin-bottom: 5.2rem;
	}
	.footer__corp-logo{
		width: 40rem;
		margin-bottom: 4.5rem;
	}
	.footer__info{
		font-size: 2.4rem;
		line-height: calc(4.8 / 2.4);
	}
	.footer__sns{
		width: 100%;
		gap: 3rem;
		justify-content: flex-start;
	}
	.footer__sns-icon{
		width: 6rem;
	}
	.footer__sns-icon a{
		display: block;
	}
	.footer__sns-icon img{
		width: 100%;
	}
	.footer__copyright{
		height: 16rem;
		font-size: 1.8rem;
		line-height: 1;
	}

}



/*-------------------------------
	キービジュアル
-------------------------------*/

.Keyvisual{
	border-bottom: 2px solid var(--maincolor);
	margin-top: var(--header-height);
	min-height: 28rem;
	padding-bottom: 3.5rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
/* .Keyvisual__inner{
	height: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
} */
.Keyvisual__titleEn{
	color: var(--maincolor);
	font-family: var(--en);
	font-size: 2rem;
	margin-bottom: .5rem;
	letter-spacing: .05em;
	line-height: 1;
	display: block;
}
.Keyvisual__titleJp{
	font-size: 5rem;
	line-height: calc(7.5 / 5);
	letter-spacing: .05em;
}
.Keyvisual__text{
	margin-top: 2.8rem;
	font-size: 1.8rem;
	line-height: calc(3 / 1.8);
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

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

	.Keyvisual{
		padding-top: 5rem;
		min-height: auto;
		padding-bottom: 8rem;
	}
	.Keyvisual__titleEn{
		font-size: 2.6rem;
		margin-bottom: 1.4rem;
	}
	.Keyvisual__titleJp{
		font-size: 6.5rem;
		line-height: calc(7.5 / 6.5);
	}
	.Keyvisual__text{
		font-size: 2.9rem;
		margin-top: 3.5rem;
		line-height: calc(4.5 / 2.9);
	}

}



/*-------------------------------
	ぱんくず
-------------------------------*/

.Breadclumb{
	padding-top: .8rem;
}
.Breadclumb__inner{
	line-height: 1;
	text-align: right;
	/* white-space: nowrap;
	display: flex;
	align-items: center;
	justify-content: flex-end; */
}
.Breadclumb__item{
	font-family: var(--jp);
	font-size: 1.2rem;
	line-height: 1.8;
	font-weight: 400;
	display: inline;
}
.Breadclumb__item:not(:last-child)::after{
	content: "-";
	margin-left: 1.2rem;
	margin-right: 1.2rem;
	line-height: 1.8;
}
.Breadclumb__item a{
	line-height: 1.8;
	color: #999;
	position: relative;
}
.Breadclumb__item a::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #999;
	position: absolute;
	left: 0;
	bottom: 0;
	right: 0;
}
.Breadclumb__item:last-child{
	text-overflow: ellipsis;
    overflow: hidden;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

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

	.Breadclumb{
		padding-top: 1.5rem;
	}
	.Breadclumb__inner{
		/* padding-left: 0;
		padding-right: 0; */
		line-height: 2;
		justify-content: flex-start;
		text-align: left;
	}
	.Breadclumb__item{
		font-size: 2rem;
	}
	.Breadclumb__item:not(:last-child)::after{
		margin-left: 2rem;
		margin-right: 2rem;
	}

}



/*-------------------------------
	詳細ページ用ナビ
-------------------------------*/

.C-Nav{
	margin-top: 10rem;
	width: 100%;
}
.C-Nav__inner{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.C-Nav__button{
	order: 2;
}
.C-Nav__button .C-Button__text{
	font-size: 1.4rem;
}
.C-Nav__item{
	width: 25%;
}
.C-Nav__item a{
	width: 100%;
	line-height: 1;
	display: flex;
	column-gap: 1.5rem;
	align-items: center;
	justify-content: flex-end;
}
.C-Nav__item-text{
	font-family: var(--jp);
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1;
	display: inline-block;
}

.C-Nav__item.-prev{
	order: 1;
}
.C-Nav__item.-prev a{
	flex-direction: row-reverse;
}
.C-Nav__item.-prev a .C-Arrow-circle{
	transform: scale(-1,1);
}
.C-Nav__item.-next{
	order: 3;
}

.C-Nav__inner:has(.C-Nav__button:first-child)::before,
.C-Nav__inner:has(.C-Nav__button:last-child)::after{
	content: "";
	display: block;
	width: 25%;
	height: 0;
}
.C-Nav__inner:has(.C-Nav__button:first-child)::before{
	order: 1;
}
.C-Nav__inner:has(.C-Nav__button:last-child)::after{
	order: 3;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

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

	.C-Nav{
		margin-top: 7.5rem;
	}
	.C-Nav__inner{
		flex-wrap: wrap;
	}
	.C-Nav__button{
		order: 3;
	}
	.C-Nav__button .C-Button__text{
		font-size: 2.7rem;
	}
	.C-Nav__item{
		width: 50%;
		margin-bottom: 7.5rem;
	}
	.C-Nav__item a{
		column-gap: 2.5rem;
	}
	.C-Nav__item-text{
		font-size: 2.6rem;
	}
	.C-Nav__item .C-Arrow-circle{
		width: 8rem;
		height: 8rem;
	}
	.C-Nav__item .C-Arrow{
		width: 2.4rem;
		height: 1.6rem;
	}

	.C-Nav__item.-prev a{
		flex-direction: row-reverse;
	}
	.C-Nav__item.-next{
		order: 2;
	}

	.C-Nav__inner:has(.C-Nav__button:first-child)::before,
	.C-Nav__inner:has(.C-Nav__button:last-child)::after{
		content: "";
		display: block;
		width: 50%;
		height: 0;
	}

}



/*-------------------------------
	お知らせ一覧
-------------------------------*/

/*----- サイドバー */
.C-News__sidebar-list-item{
	width: fit-content;
}
.C-News__sidebar-list-item:not(:last-child){
	margin-bottom: 1.4rem;
}
.C-News__sidebar-list-item span,
.C-News__sidebar-list-item a{
	font-family: var(--jp);
	padding: .5rem 2.4rem .7rem 1.8rem;
	font-weight: 400;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 5000;
	cursor: pointer;
	opacity: 1 !important;
}
.C-News__sidebar-list-item span::before,
.C-News__sidebar-list-item a::before{
	transition: var(--transition);
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 1.6rem;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
}
.C-News__sidebar-list-item span:hover,
.C-News__sidebar-list-item a:hover,
.C-News__sidebar-list-item.-current{
	color: #fff;
}
.C-News__sidebar-list-item span:hover::before,
.C-News__sidebar-list-item.-current span::before,
.C-News__sidebar-list-item a:hover::before,
.C-News__sidebar-list-item.-current a::before{
	background: var(--maincolor);
}

/*----- お知らせ一覧 */
.C-News__list{
	width: 100%;
}
.C-News__list-item{
	border-bottom: 1px solid #b2b2b2;
}
.C-News__list-item:first-child{
	border-top: 1px solid #b2b2b2;
}
.C-News__list-item a{
	width: 100%;
	padding: 3rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.C-News__list-item-data{
	width: 18.8rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.C-News__list-item-time{
	line-height: 1;
}
.C-News__list-item-category{
	font-family: var(--jp);
	width: 8.4rem;
	height: 2.8rem;
	font-size: 1.2rem;
	border-radius: 1.4rem;
	border: 1px solid #b2b2b2;
	display: flex;
	align-items: center;
	justify-content: center;
}
.C-News__list-item-title{
	transition: var(--transition);
	width: calc(100% - (18.8rem + 4rem));
	padding-left: 4rem;
	padding-right: 3rem;
	line-height: calc(2.4 / 1.6);
}

.C-News__list-item a:hover .C-News__list-item-title{
	color: var(--maincolor);
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

	.C-News__list-item a{
		padding: 2.5rem 2rem;
	}
	.C-News__list-item-title{
		padding-left: 2.5rem;
		padding-right: 2.5rem;
	}

}
@media screen and (max-width:960px) and (min-width: 769px){

	.C-News__list-item a{
		flex-direction: column;
	}
	.C-News__list-item-data{
		width: 100%;
		margin-bottom: 1.5rem;
		justify-content: flex-start;
	}
	.C-News__list-item-category{
		margin-left: 1.5rem;
	}
	.C-News__list-item-title{
		width: 100%;
		padding-left: 0;
		padding-right: 7.5rem;
	}
	.C-News__list-item .C-Arrow-circle{
		position: absolute;
		right: 2rem;
		top: 50%;
		transform: translateY(-50%);
	}

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

	/*----- サイドバー */
	.C-News__sidebar{
		margin-bottom: 7.6rem;
		padding-left: 2.8rem;
	}
	.C-News__sidebar-list{
		width: 100%;
		display: flex;
		gap: 1.8rem 8rem;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: flex-start;
	}
	.C-News__sidebar-list-item{
		width: fit-content;
	}
	.C-News__sidebar-list-item:not(:last-child){
		margin-bottom: 0;
	}
	.C-News__sidebar-list-item span,
	.C-News__sidebar-list-item a{
		padding: 1.4rem 0;
	}
	.C-News__sidebar-list-item span::before,
	.C-News__sidebar-list-item a::before{
		display: none;
	}
	.C-News__sidebar-list-item.-current span::before,
	.C-News__sidebar-list-item.-current a::before,
	.C-News__sidebar-list-item span:hover::before,
	.C-News__sidebar-list-item a:hover::before{
		width: calc(100% + 5.6rem);
		border-radius: 5rem;
		transform: translateX(-2.8rem);
		display: block;
	}

	/*----- お知らせ一覧 */
	.C-News__list-item a{
		padding: 4.5rem 12rem 4.5rem 0;
		flex-direction: column;
	}
	.C-News__list-item-data{
		width: 100%;
		margin-bottom: 2.5rem;
		justify-content: flex-start;
	}
	.C-News__list-item-time{
		line-height: 1;
	}
	.C-News__list-item-category{
		width: 16.8rem;
		height: 5.6rem;
		font-size: 2.4rem;
		border-radius: 2.8rem;
		margin-left: 3.2rem;
	}
	.C-News__list-item-title{
		line-height: var(--line-height);
		width: 100%;
		padding-left: 0;
		padding-right: 0;
	}
	.C-News__list-item .C-Arrow-circle{
		width: 5.2rem;
		height: 5.2rem;
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}
	.C-News__list-item .C-Arrow{
		width: 1.6rem;
		height: 1rem;
	}

}