@charset "UTF-8";

@media screen and (min-width: 1024px) {
	.c-br-1023{
		display: none;
	}
}
@media screen and (max-width: 1023px) {
	.c-br-1023{
		display: block;
	}
}

@media screen and (min-width: 768px) {
	.c-br-767{
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.c-br-767{
		display: block;
	}
}

@media screen and (min-width: 768px) {
	.c-br-767-opp{
		display: block;
	}
}
@media screen and (max-width: 767px) {
	.c-br-767-opp{
		display: none;
	}
}

@media screen and (min-width: 768px) {
	.c-br-767{
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.c-br-767{
		display: block;
	}
}

@media screen and (min-width: 561px) {
	.c-br-560{
		display: none;
	}
}
@media screen and (max-width: 560px) {
	.c-br-560{
		display: block;
	}
}

@media screen and (min-width: 1024px) {
    .u-sec-mt{
        margin-top: 13.5rem!important;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .u-sec-mt{
        margin-top: 10.5rem!important;
    }
}
@media screen and (max-width: 768px) {
    .u-sec-mt{
        margin-top: 8.5rem!important;
    }
}


/*
///////////////////////////////////////////////////////////////
// c-mark
///////////////////////////////////////////////////////////////
*/

:root{
	--background-color: rgba(0,0,0,0);
}

@media screen and (min-width: 1024px) {
	.c-mun.-regular{
		--oval-size: 4.5rem;
	}
}
@media screen and (max-width: 1023px) {
	.c-mun.-regular{
		--oval-size: 4.1rem;
	}
}

@media screen and (min-width: 1024px) {
	.c-mun.-large{
		--oval-size: 5.1rem;
	}
}
@media screen and (max-width: 1023px) {
	.c-mun.-large{
		--oval-size: 4.7rem;
	}
}

.c-mark{
	display: flex;
	position: relative;
}
@media screen and (min-width: 1024px) {
	.c-mark{
		width: var(--oval-size);
		height: var(--oval-size);
	}
}
@media screen and (max-width: 1023px) {
	.c-mark{
		width: var(--oval-size);
		height: var(--oval-size);
	}
}

@media screen and (min-width: 1024px) {
	.c-oval{
		width: var(--oval-size);
	}
}
@media screen and (max-width: 1023px) {
	.c-oval{
		width: var(--oval-size);
	}
}

[class*="c-oval__svg"] {
	width: var(--oval-size);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	stroke-width: 1px;
}

.c-oval__svg-wh{
	xstroke: var(--color-white);
	fill: var(--background-color, currentColor);
}

.c-oval__svg-button{
	-webkit-transition: all 280ms cubic-bezier(.25, .46, .45, .94);
	transition: all 280ms cubic-bezier(.25, .46, .45, .94);
}


@media screen and (min-width: 768px) {
	.c-oval__svg-button{
		stroke: var(--color-white);
		fill: var(--background-color, currentColor);
	}
}
@media screen and (max-width: 767px) {
	.c-oval__svg-button{
		xstroke: var(--color-black);
		fill: var(--color-black);
	}
}

@media screen and (min-width: 768px) {
	a:hover .c-oval__svg-button{
		stroke: var(--color-black);
		fill: var(--color-black);
	}
}

@media screen and (min-width: 768px) {
	.c-oval__svg-button.-wh{
		stroke: var(--color-white);
	}
}
@media screen and (min-width: 768px) {
	a:hover .c-oval__svg-button.-wh{
		stroke: var(--color-white);
		fill: var(--color-white);
	}
}

@media screen and (max-width: 767px) {
	.c-oval__svg-button.-wh{
		stroke: var(--color-white);
		fill: var(--background-color, currentColor);
	}
}

.c-mun{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.c-mun__txt{ 
	position: relative;
	display: block;
	color: var(--color-white);
	font-family: var(--font-Outfit);
    font-weight: 300;
    letter-spacing: 0.03em;
}
@media screen and (min-width: 1024px) {
	.c-mun__txt{
		font-size: var(--font-size14);
	}
}
@media screen and (max-width: 1023px) {
	.c-mun__txt{
		font-size: var(--font-size12);
	}
}

.c-mun__txt::before,
.c-mun__txt::after{
	content: '';
	display: block;
	font-size: inherit;
	width: 0;
	height: 0;
}

.c-arrow{ 
	z-index: 2;
	position: relative;
	display: flex;
	align-items: center;
}

.c-arrow[class*="-size-"]::before,
.c-arrow[class*="-size-"]::after{
	xcontent: '';
	xposition: absolute;
	xdisplay: block;
	x-webkit-transition: all 280ms cubic-bezier(0.215, 0.61, 0.355, 1);
	xtransition: all 280ms cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media screen and (min-width: 768px) {
	.c-arrow.-size-lg{
		xwidth: 4rem;
	}
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.c-arrow.-size-lg{
		xwidth: 4rem;
	}
}
@media screen and (max-width: 767px) {
	.c-arrow.-size-lg{
		xwidth: 2.6rem;
	}
}

.c-arrow.-size-lg::before,
.c-arrow.-size-lg.-wh::before{
	xtransition-property: padding-left;
	x-webkit-transform: scaleX(1) translate3d(0, -50%, 0) rotate(.00001deg);
	xtransform: scaleX(1) translate3d(0, -50%, 0) rotate(.00001deg);
	x-webkit-transform-origin: 0 50%;
	xxtransform-origin: 0 50%
}
.c-arrow.-size-lg::before{
	xbackground-color: var(--color-black);
}
.c-arrow.-size-lg.-wh::before{
	xbackground-color: var(--color-white);
}

@media screen and (min-width: 1024px) {
	.c-arrow.-size-lg::before{
		width: 4rem;
		height: 1px;
		top: .05rem;
		left: 0;
	}
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.c-arrow.-size-lg::before{
		xwidth: 4rem;
		xheight: 1px;
		xtop: .05rem;
		xleft: 0;
	}
}
@media screen and (max-width: 767px) {
	.c-arrow.-size-lg::before{
		xwidth: 2.6rem;
		xheight: 1px;
		xtop: .1rem;
		xleft: 0;
	}
}

a:hover .c-arrow.-size-lg::before{
	x-webkit-transform: scaleX(1.1115) translate3d(0, -50%, 0);
	xtransform: scaleX(1.1115) translate3d(0, -50%, 0);
	x-webkit-transform-origin: left;
	xtransform-origin: left;
}

.c-arrow.-size-lg::after,
.c-arrow.-size-lg.-wh::after{
	x-webkit-transform: rotate(45deg);
	xtransform: rotate(45deg);
}

.c-arrow.-size-lg::after{
	xborder-top: 1px solid var(--color-black);
	xborder-right: 1px solid var(--color-black);
}

.c-arrow.-size-lg.-wh::after{
	xborder-top: 1px solid var(--color-white);
	xborder-right: 1px solid var(--color-white);
}

@media screen and (min-width: 1024px) {
	.c-arrow.-size-lg::after{
		width: 1.3rem;
		height: 1.3rem;
		top: -.6rem;
		right: -.4rem;
	}
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.c-arrow.-size-lg::after{
		width: 1.3rem;
		height: 1.3rem;
		top: -.6rem;
		right: -.4rem;
	}
}
@media screen and (max-width: 767px) {
	.c-arrow.-size-lg::after{
		width: 1rem;
		height: 1rem;
		top: -.38rem;
		right: -.3rem;
	}
}

a:hover .c-arrow.-size-lg::after{
	-webkit-transform: translate3d(4px, 0, 0) rotate(45deg);
	transform: translate3d(4px, 0, 0) rotate(45deg);
}

@media screen and (min-width: 768px) {
	.c-arrow.-button{ 
		width: 1.7rem;
	}
}
@media screen and (max-width: 767px) {
	.c-arrow.-button{ 
		width: 1.7rem;
	}
}

.c-arrow.-button::before,
.c-arrow.-button::after{
	content: '';
	display: block;
	position: absolute;
}

@media screen and (min-width: 768px) {
	.c-arrow.-button::before{
		background-color: var(--color-black);
	}
	a:hover .c-arrow.-button::before{
		background-color: var(--color-white);
	}
}
@media screen and (max-width: 767px) {
	.c-arrow.-button::before{
		background-color: var(--color-white);
	}
}

@media screen and (min-width: 768px) {
	.c-arrow.-button.-wh::before{
		background-color: var(--color-white);
	}
	a:hover .c-arrow.-button.-wh::before{
		background-color: var(--color-black);
	}
}
@media screen and (max-width: 767px) {
	.c-arrow.-button.-wh::before{
		background-color: var(--color-white);
	}
}

.c-arrow.-button::after{
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
@media screen and (min-width: 768px) {
	.c-arrow.-button::after{
		border-top: 1px solid var(--color-black);
		border-right: 1px solid var(--color-black);
	}
	a:hover .c-arrow.-button::after{
		border-top: 1px solid var(--color-white);
		border-right: 1px solid var(--color-white);
	}
}
@media screen and (max-width: 767px) {
	.c-arrow.-button::after{
		border-top: 1px solid var(--color-white);
		border-right: 1px solid var(--color-white);
	}
}

@media screen and (min-width: 768px) {
	.c-arrow.-button.-wh::after{
		border-top: 1px solid var(--color-white);
		border-right: 1px solid var(--color-white);
	}
	a:hover .c-arrow.-button.-wh::after{
		border-top: 1px solid var(--color-black);
		border-right: 1px solid var(--color-black);
	}
}
@media screen and (max-width: 767px) {
	.c-arrow.-button.-wh::after{
		border-top: 1px solid var(--color-white);
		border-right: 1px solid var(--color-white);
	}
}




@media screen and (min-width: 768px) {
	.c-arrow.-button::before{
		width: 1.3rem;
		height: 1px;
		left: 0;
	}
}
@media screen and (max-width: 767px) {
	.c-arrow.-button::before{
		width: 1.3rem;
		height: 1px;
		left: 0;
	}
}

@media screen and (min-width: 768px) {
	.c-arrow.-button::after{
		width: .6rem;
		height: .6rem;
		right: .2rem;
		top: -.29rem;
	}
}
@media screen and (max-width: 767px) {
	.c-arrow.-button::after{
		width: .6rem;
		height: .6rem;
		right: .1rem;
		top: -.29rem;
	}
}

/*
///////////////////////////////////////////////////////////////
// c-column
///////////////////////////////////////////////////////////////
*/
.c-column {
    display: grid
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-col-3-lg {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}
@media screen and (max-width: 1023px) {
    [class*=c-column].-col-3-lg {
        grid-template-columns:repeat(1,minmax(0,1fr));
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-col-4-lg {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    [class*=c-column].-col-4-lg {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media screen and (max-width: 767px) {
    [class*=c-column].-col-4-lg {
        grid-template-columns:repeat(1,minmax(0,1fr))
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-c-16 {
        -webkit-column-gap:1.6rem;
        -moz-column-gap: 1.6rem;
        column-gap: 1.6rem
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-c-20 {
        -webkit-column-gap:2rem;
        -moz-column-gap: 2em;
        column-gap: 2em
    }
}
@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-c-20 {
        -webkit-column-gap: 1.6rem;
        -moz-column-gap: 1.6em;
        column-gap: 1.6em;
		row-gap: 1.6rem;
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-c-24 {
        -webkit-column-gap:2.4rem;
        -moz-column-gap: 2.4em;
        column-gap: 2.4em
    }
}
@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-c-24 {
        -webkit-column-gap: 1.6rem;
        -moz-column-gap: 1.6em;
        column-gap: 1.6em;
		row-gap: 1.6rem;
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-c-32 {
        -webkit-column-gap:3.2rem;
        -moz-column-gap: 3.2em;
        column-gap: 3.2em
    }
}
@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-c-32 {
        -webkit-column-gap: 2.4rem;
        -moz-column-gap: 2.4em;
        column-gap: 2.4em;
		row-gap: 2.4rem;
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-c-40 {
        -webkit-column-gap: 4rem;
        -moz-column-gap: 4em;
        column-gap: 4em
    }
}
@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-c-40 {
        -webkit-column-gap: 3.2rem;
        -moz-column-gap: 3.2em;
        column-gap: 3.2em;
		row-gap: 3.2rem;
    }
}


/*
///////////////////////////////////////////////////////////////
// l-header
///////////////////////////////////////////////////////////////
*/



@media screen and (min-width: 1024px) {
	.c-header-mb-sm{
		margin-bottom: 8rem!important;
	}
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.c-header-mb-sm{
		margin-bottom: 6.4rem!important;
	}
}
@media screen and (max-width: 767px) {
	.c-header-mb-sm{
		margin-bottom: 4.2rem!important;
	}
}

@media screen and (min-width: 1024px) {
	.c-header-mb-rg{
		margin-bottom: 10rem!important;
	}
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.c-header-mb-rg{
		margin-bottom: 8.5rem!important;
	}
}
@media screen and (max-width: 767px) {
	.c-header-mb-rg{
		margin-bottom: 4.8rem!important;
	}
}

/*
///////////////////////////////////////////////////////////////
// c-button
///////////////////////////////////////////////////////////////
*/
.c-button{
	overflow: hidden;
}

.c-button.-color-bk{
	color: var(--color-white);
	background-color: var(--color-black);
}

.c-button.-color-wh{
	color: var(--color-black);
	background-color: var(--color-white);
}

@media screen and (min-width: 768px) {
	.c-button.-small{
		width: 23.8rem;
		height: 5.3rem;
		border-radius: var(--radius-1);
	}
}
@media screen and (max-width: 767px) {
	.c-button.-small{
		width: var(--size-all);
		height: 4.85rem;
		border-radius: var(--radius-05);
	}
}

@media screen and (min-width: 768px) {
	.c-button.-regular{
		width: 26.8rem;
		height: 5.95rem;
		border-radius: var(--radius-1);
	}
}
@media screen and (max-width: 767px) {
	.c-button.-regular{
		width: var(--size-all);
		height: 5.2rem;
		border-radius: var(--radius-05);
	}
}

.c-button.-small span,
.c-button.-regular span{
	position: relative;
	display: flex;
	align-items: center;
	-webkit-transition: all 280ms cubic-bezier(.25, .46, .45, .94);
	transition: all 280ms cubic-bezier(.25, .46, .45, .94);
	-webkit-transform: translate3d(0, 0, 0) scale(1);
	transform: translate3d(0, 0, 0) scale(1);
	-webkit-transform-origin: left center;
	transform-origin: left center;
}

@media screen and (min-width: 768px) {
	.c-button.-small span{
		font-size: var(--font-size14);
		padding-left: 2.9rem;
	}
	.c-button.-small a:hover span{
		padding-left: 3.4rem;
	}
}
@media screen and (max-width: 767px) {
	.c-button.-small span{
		font-size: var(--font-size12);
		padding-left: 2.7rem;
	}
	.c-button.-small a:hover span{
		padding-left: 3.2rem;
	}
}

@media screen and (min-width: 768px) {
	.c-button.-regular span{
		font-size: var(--font-size14);
		padding-left: 2.9rem;
	}
	.c-button.-regular a:hover span{
		padding-left: 3.4rem;
	}
}
@media screen and (max-width: 767px) {
	.c-button.-regular span{
		font-size: var(--font-size12);
		padding-left: 2.7rem;
	}
	.c-button.-regular a:hover span{
		padding-left: 3.2rem;
	}
}

.c-button.-small span::before,
.c-button.-regular span::before{
	content: '';
	display: block;
	position: absolute;
	left: 0;
	height: 1px;
	-webkit-transition: all 280ms cubic-bezier(.25, .46, .45, .94);
	transition: all 280ms cubic-bezier(.25, .46, .45, .94);
	-webkit-transform: scale(1) rotate(0.00001deg);
	transform: scale(1) rotate(0.00001deg);
	-webkit-transform-origin: left center;
	transform-origin: left center;
}

.c-button.-small a:hover span::before,
.c-button.-regular a:hover span::before{
	-webkit-transform: scale(1.12) rotate(0.00001deg);
	transform: scale(1.12) rotate(0.00001deg);
}

.c-button.-color-bk.-small span::before,	
.c-button.-color-bk.-regular span::before{
	background-color: var(--color-white);
}

.c-button.-color-wh.-regular span::before{
	background-color: var(--color-black);
}

@media screen and (min-width: 768px) {
	.c-button.-small span::before,
	.c-button.-regular span::before{
		width: 1.9rem;
	}
}
@media screen and (max-width: 767px) {
	.c-button.-small span::before,
	.c-button.-regular span::before{
		width: 1.7rem;
	}
}

.c-button.-small a,
.c-button.-regular a{ 
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	padding: 0 2.2rem;
}

/*
///////////////////////////////////////////////////////////////
// c-txt
///////////////////////////////////////////////////////////////
*/

.c-txts::after{
	content: '\A\A';
    display: inline;
    white-space: pre;
}


.c-txt-xlg{
	letter-spacing: calc(40 / 1000 * 1em);
}
@media screen and (min-width: 1024px) {
	.c-txt-xlg{
		font-size: var(--font-size16);
		line-height: calc( 29 / 12 );
	}
}
@media screen and (max-width: 1023px) {
	.c-txt-xlg{
		font-size: var(--font-size14);
		line-height: calc( 28 / 14 );
	}
}


.c-txt-lg{
	letter-spacing: calc(40 / 1000 * 1em);
}
@media screen and (min-width: 1024px) {
	.c-txt-lg{
		font-size: var(--font-size15);
		line-height: calc( 30 / 15 );
	}
}
@media screen and (max-width: 1023px) {
	.c-txt-lg{
		font-size: var(--font-size13);
		line-height: calc( 28 / 14 );
	}
}

.c-txt-lg2{
	letter-spacing: calc(40 / 1000 * 1em);
}
@media screen and (min-width: 1024px) {
	.c-txt-lg2{
		font-size: var(--font-size15);
		line-height: calc( 43 / 15 );
	}
}
@media screen and (max-width: 1023px) {
	.c-txt-lg2{
		font-size: var(--font-size13);
		line-height: calc( 33 / 13 )
	}
}

.c-txt-sm{
	letter-spacing: calc(40 / 1000 * 1em)
}
@media screen and (min-width: 1024px) {
	.c-txt-sm{
		font-size: var(--font-size14);
		line-height: calc( 28 / 14 );
	}
}
@media screen and (max-width: 1023px) {
	.c-txt-sm{
		font-size: var(--font-size12);
		line-height: calc( 28 / 14 );
	}
}
.c-txt-sm2{
	letter-spacing: calc(40 / 1000 * 1em)
}
@media screen and (min-width: 1024px) {
	.c-txt-sm2{
		font-size: var(--font-size13);
		line-height: calc( 28 / 14 );
	}
}
@media screen and (max-width: 1023px) {
	.c-txt-sm2{
		font-size: var(--font-size12);
		line-height: calc( 28 / 16 );
	}
}



.c-txt-xs{
	letter-spacing: calc(40 / 1000 * 1em)
}
@media screen and (min-width: 1024px) {
	.c-txt-xs{
		font-size: var(--font-size13);
		line-height: calc( 26 / 13 );
	}
}
@media screen and (max-width: 1023px) {
	.c-txt-xs{
		font-size: var(--font-size12);
		line-height: calc( 28 / 14 );
	}
}

.c-txt-xs2{
	letter-spacing: calc(40 / 1000 * 1em)
}
@media screen and (min-width: 1024px) {
	.c-txt-xs2{
		font-size: var(--font-size13);
		line-height: calc( 25 / 16 );
	}
}
@media screen and (max-width: 1023px) {
	.c-txt-xs2{
		font-size: var(--font-size11);
		line-height: calc( 24 / 16 );
	}
}

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

@media screen and (min-width: 768px) {
	.c-txt-xlarge{
		font-size: var(--font-size15);
		line-height: 1.85;
	}
}
@media screen and (max-width: 767px) {
	.c-txt-xlarge{
		font-size: var(--font-size12);
		line-height: 1.85;
	}
}



/*
///////////////////////////////////////////////////////////////
// c-topics-item
///////////////////////////////////////////////////////////////
*/

.c-topics-item{
	border-top: 1px solid var(--color-gray2);
}
.c-topics-item:last-of-type{
	border-bottom: 1px solid var(--color-gray2);
}

.c-topics-item a{
position: relative;}

@media screen and (min-width: 1024px) {
	.c-topics-item a{
		display: flex;
		padding: 4rem 0; 
	}
}
@media screen and (max-width: 1023px) {
	.c-topics-item a{
		display: block;
		padding: 3.2rem 0;
	}
}

.c-topics-item__flex{
	display: flex;
	align-items: center;
}
@media screen and (min-width: 1024px) {
	.c-topics-item__flex{
		gap: 2rem;
	}
}
@media screen and (max-width: 1023px) {
	.c-topics-item__flex{
		gap: 1.6rem;
	}
}

.c-topics-item__figure{
	overflow: hidden;
}

@media screen and (min-width: 1024px) {
	.c-topics-item__figure{
		width: calc((375 / var(--design-size-pc)) * 100%);
		border-radius: var(--radius-2);
	}
}
@media screen and (min-width: 561px) and (max-width: 1023px) {
	.c-topics-item__figure{
		width: calc((86 / var(--design-size-sp)) * 100%);
		border-radius: var(--radius-15);
	}
}
@media screen and (max-width: 560px) {
	.c-topics-item__figure{
		width: calc((132 / var(--design-size-sp)) * 100%);
		border-radius: var(--radius-15);
	}
}

.c-topics-item__figure img{
	-webkit-transform: scale(1) rotate(0.00001deg);
	transform: scale(1) rotate(0.00001deg);
	-webkit-transition: all 280ms cubic-bezier(.25, .46, .45, .94);
	transition: all 280ms cubic-bezier(.25, .46, .45, .94);
	-webkit-transition-duration: transform;
	transition-duration: transform;
}

a:hover .c-topics-item__figure img{
	-webkit-transform: scale(1.12) rotate(0.00001deg);
	transform: scale(1.12) rotate(0.00001deg);
}

@media screen and (min-width: 1024px) {
	.c-topics-item__comment{
		width: calc((935 / var(--design-size-pc)) * 100%);
	}
}
@media screen and (min-width: 561px) and (max-width: 1023px) {
	.c-topics-item__comment{
		width: calc((215 / var(--design-size-sp)) * 100%);
	}
}
@media screen and (max-width: 560px) {
	.c-topics-item__comment{
		width: calc((240 / var(--design-size-sp)) * 100%);
	}
}

.c-topics-item .c-mark{
	flex: 1;
}

.c-topics-item__comment-title{
	letter-spacing: calc(40 / 1000 * 1em);
}
@media screen and (min-width: 1024px) {
	.c-topics-item__comment-title{
		font-size: var(--font-size18);
	}
}
@media screen and (max-width: 1023px) {
	.c-topics-item__comment-title{
		font-size: var(--font-size14);
	}
}

@media screen and (min-width: 1024px) {
	.c-topics-item__comment-pc{
		margin-top: 1.6rem;
	}
}
@media screen and (max-width: 1023px) {
	.c-topics-item__comment-pc{
		display: none;
	}
}

@media screen and (min-width: 1024px) {
	.c-topics-item__comment-sp{
		display: none;
	}
}
@media screen and (max-width: 1023px) {
	.c-topics-item__comment-sp{
		display: block;
		margin-top: 2rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-recruit .c-mark.c-mun.-large{
		margin-right: 1.3rem;
	}
}

/*
///////////////////////////////////////////////////////////////
// c-
///////////////////////////////////////////////////////////////
*/


.p-intro-nav__column{
    display: grid;
}
.p-intro-nav__figure{
    position: relative;
}
.p-intro-nav__figure picture{
    position: relative;
    overflow: hidden;
}
@media screen and (min-width: 768px) {
    .p-intro-nav__figure picture{
        border-radius: var(--radius-4);
    }
}
@media screen and (max-width: 767px) {
    .p-intro-nav__figure picture{
        border-radius: var(--radius-3);
    }
}

.p-intro-nav__figure img{
    overflow: hidden;
    -webkit-transform: scale(1) rotate(0.0001deg);
    transform: scale(1) rotate(0.0001deg);
}

.p-intro-nav__cell>a:hover img{
	-webkit-transform: scale(1.15) rotate(0.0001deg);
    transform: scale(1.15) rotate(0.0001deg);
	overflow: hidden;
}

.p-intro-nav__figure::after{
    content: '';
    display: block;
    position: absolute;
    width: var(--size-all);
    height: var(--size-all);
    background-color: var(--color-blue4);
    z-index: -1;
}
@media screen and (min-width: 768px) {
    .p-intro-nav__figure::after{
        border-radius: var(--radius-4);
        top: .8rem;
    }
}
@media screen and (max-width: 767px) {
    .p-intro-nav__figure::after{
        border-radius: var(--radius-3);
        top: .6rem;
    }
}

.p-intro-nav__txt{
    text-align: center;
}
@media screen and (min-width: 768px) {
    .p-intro-nav__txt{
        font-size: var(--font-size13);
        margin-top: 1.8rem;
    }
}
@media screen and (max-width: 767px) {
    .p-intro-nav__txt{
        font-size: var(--font-size11);
        margin-top: 1.3rem;
    }
}
















.is-hover{
	-webkit-transition: all 280ms cubic-bezier(.25, .46, .45, .94);
	transition: all 280ms cubic-bezier(.25, .46, .45, .94);
}


:root {
    --color-black: #282828;
    --color-white: #ffffff;
	--color-gray: #F1F1F1;
	--color-gray2: #A4A4A4;
	--color-gray3: #676B77;
	--color-gray4: #DDDDDD;
	--color-gray5: #969696;
	--color-gray6: #e6e6e6;


	--color-blue2: #1080CF;
	--color-blue3: #007AFF;
	--color-blue4: #7B91AA;

	--color-skyblue:#88C4DE;
	

	--color-pink: #FF7C65;
	--color-purple: #7190F6;
	--color-yellow: #D6CC6E;

}

:root {
    --design-size-pc: 1400;
	--design-size-pc--rem: 140.0rem;
	--design-size-sp: 375;
	--design-flex-pc: 977;
}

:root{
	--inner-percent-pc: 94%;
	--inner-percent-sp: calc((350 / var(--design-size-sp)) * 100%);
	--inner-percent-small: calc(100% - var(--side-width-small-percent) * 2);
    --inner-percent-medium: calc(100% - var(--side-width-medium-percent) * 2);
}

:root {
    
    --side-width-medium-percent: calc((20 / var(--design-size-sp)) * 100%);
    --side-width-medium-vw: calc(35 / var(--design-size-sp) * 100vw);
    --side-width-large-percent: calc((17.5 / var(--design-size-sp)) * 100%);
    --side-width-large-vw: calc(17.5 / var(--design-size-sp) * 100vw);
}

:root {
	--slope-width: 3025;
    --slope-height: 891;
	--home-sharp-width: 1500;
	--home-sharp-height: 900;
	--size-all: 100%;

    --width-all: 100%;
	--height-all: 100%;
    
	--top: 11rem;
    --parent-height: 1500;
}



:root {
	--radius-sm: 1rem;
    --radius-sm3: 1.5rem;
	--radius-rg: 2rem;
        --radius-rg2: 2.2rem;
        --radius-rg4: 2rem;
        --radius-rg5: 2.5rem;
	
		--radius-md: 3rem;
    --radius-md3: 3rem;
	--radius-md35: 3.5rem;
	--radius-md4: 4rem;
	--radius-md45: 4.5rem;

	--radius-rm5: 5rem;

    --radius-lg: 10rem;
	--radius-lg2: 20rem;
	--radius-lg8: 80rem;
	--radius-xl: 100%;


	--radius-05: .5rem;
	--radius-06: .6rem;
	--radius-07: .7rem;
	--radius-08: .8rem;
	--radius-09: .9rem;
	--radius-1: 1rem;
	--radius-15: 1.5rem;
	--radius-2: 2rem;
	--radius-25: 2.5rem;
	--radius-3: 3rem;
	--radius-35: 3.5rem;
	--radius-4: 4rem;
	--radius-45: 4.5rem;
	--radius-5: 5rem;
	--radius-55: 5.5rem;
	--radius-10: 10rem;
	--radius-100rem: 100rem;
	--radius-100: 100%;
}

:root{
	--line-hight15: 1.5;
	--line-hight16: 1.6;
	--line-hight165: 1.65;
	--line-hight17: 1.7;
	--line-hight175: 1.75;
	--line-hight18: 1.8;
	--line-hight185: 1.85;
	--line-hight19: 1.9;
	--line-hight195: 1.95;
	--line-hight20: 2.0;
	--line-hight21: 2.1;
	--line-hight22: 2.2;
}

:root{
	--font-size1: 1px;
    --font-size2: 2px;
    --font-size3: 3px;
    --font-size4: 4px;
    --font-size5: 5px;
    --font-size6: 6px;
    --font-size7: 7px;
    --font-size8: 8px;
    --font-size9: 9px;
    --font-size10: 10px;
    --font-size11: 11px;
    --font-size12: max(1.2rem, 11px);
    --font-size13: max(1.3rem,12px);
    --font-size14: max(1.4rem,12px);
    --font-size15: max(1.5rem,13px);
    --font-size16: max(1.6rem,14px);
    --font-size17: max(1.7rem,14px);
    --font-size18: max(1.8rem,15px);
    --font-size19: max(1.9rem,16px);
    --font-size20: max(2.0rem,17px);
    --font-size21: max(2.1rem,17px);
    --font-size22: max(2.2rem,17px);
    --font-size23: max(2.3rem,19px);
    --font-size24: max(2.4rem,19px);
    --font-size25: max(2.5rem,20px);
    --font-size26: max(2.6rem,21px);
    --font-size27: max(2.7rem,21px);
    --font-size28: max(2.8rem,23px);
    --font-size29: max(2.9rem,24px);
    --font-size30: max(3.0rem,25px);
    --font-size31: max(3.1rem,25px);
    --font-size32: max(3.2rem,25px);
    --font-size33: max(3.3rem,26px);
    --font-size34: max(3.4rem,26px);
    --font-size35: max(3.5rem,29px);
    --font-size36: max(3.6rem,29px);
    --font-size37: max(3.7rem,30px);
    --font-size38: max(3.8rem,31px);
    --font-size39: max(3.9rem,31px);
    --font-size40: 4.0rem;
}

:root {
	--font-gothic: "Noto Sans JP", sans-serif;
    --font-Zen-Kaku-Gothic-New:"Zen Kaku Gothic New", sans-serif;
	--font-Outfit: "Outfit", sans-serif;
	
}








abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: 0 0
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section {
	display: block
}
body {
	line-height: 1;
	min-height: 100vh
}
address, caption, cite, code, dfn, em, strong, th, var {
	font-style: normal;
	font-weight: 400
}
ol, ul {
	list-style: none
}
blockquote, q {
	quotes: none
}
blockquote::after, blockquote::before, q::after, q::before {
	content: '';
	content: none
}
table {
	border-collapse: collapse;
	border-spacing: 0
}
img, picture {
	max-width: 100%
}
picture {
	display: block
}
img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
	padding: 0;
	object-fit: cover;
	image-rendering: pixelated;
	image-rendering: -webkit-optimize-contrast;
}
a img {
	border: none
}
a {
	background: 0 0;
	vertical-align: baseline;
	font-size: 100%;
	text-decoration: none;
	cursor: pointer
}
a, button, small, span, time {
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: inherit
}
template {
	display: none
}
button, input, select, textarea {
	margin: 0;
	padding: 0;
	background: 0 0;
	border: none;
	border-radius: 0;
	outline: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
	cursor: pointer
}
textarea {
	resize: vertical;
	overflow: auto
}

a, button, input, select, textarea {
	-webkit-transition: all 280ms cubic-bezier(.25, .46, .45, .94);
	transition: all 280ms cubic-bezier(.25, .46, .45, .94);
}

[type=file] {
	line-height: 1!important
}
select::-ms-expand {
	display: none
}
select::-moz-focusring {
	color: transparent;
	text-shadow: 0 0 0 #fff
}
input:-webkit-autofill, option:-webkit-autofill, select:-webkit-autofill {
	-webkit-text-fill-color: #000!important;
	-webkit-box-shadow: 0 0 0 1000px #fff inset
}
*, ::after, ::before {
	box-sizing: border-box
}
html {
	height: 100vh
}
@media screen and (min-width:1281px) {
	html {
		font-size: 62.5%
	}
}
@media screen and (max-width:1280px) and (min-width:1024px) {
	html {
		font-size: 62.5%;
		xfont-size: .78125vw;
	}
}
@media screen and (max-width:1023px) and (min-width:376px) {
	html {
		font-size: 62.5%
	}
}
@media screen and (max-width:375px) {
	html {
		font-size: 2.66667vw
	}
}
body {
	width: 100%;
	color: var(--color-black);
	font-family: var(--font-gothic);
	font-weight: 400;
	font-size: 1rem;
	letter-spacing: 0.06em;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	text-rendering: geometricPrecision;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-tap-highlight-color: rgba(0, 0, 0, .2);
	-webkit-overflow-scrolling: touch;
	overflow-x: hidden;
	overflow-y: scroll;
	word-break: break-all;
	-ms-scroll-chaining: none;
	overscroll-behavior: none
}
h1, h2, h3, h4, h5, h6 {
	font-size: 1.6rem;
	font-weight: 500
}
address, dd, dt, li, td, th {
	font-size: inherit;
	line-height: inherit;
	list-style: none;

}
ol, ul {
	list-style: none;
	list-style-position: inside
}
a, button, input, select, textarea {
	xtransition: all 280ms cubic-bezier(.25, .46, .45, .94)
}
button, input, select, textarea {
	font-family: inherit
}
svg {
	fill: inherit;
	transition: fill 280ms cubic-bezier(.25, .46, .45, .94)
}
body.ua-chrome img {
	image-rendering: -webkit-optimize-contrast
}

*, ::after, ::before {
	box-sizing: border-box
}

[class*=u-grid] {
	display: -ms-grid;
	display: grid;
}



[id^=area-] {
	margin-top: -10rem;
	padding-top: 10rem
}

[class*=c-inner] {
	margin: 0 auto;
	display: block;
}

[class*=c-inner-full]{
    width: 100%;
}

[class*=c-inner-xsmall-l] {
	max-width: 80rem
}

[class*=c-inner-small] {
	max-width: 98rem
}

[class*=c-inner-large] {
	max-width: 115rem;
}
@media screen and (min-width: 1024px){
	.c-inner-large{
		width: var(--inner-percent-pc);
	}
}




[class*=c-inner-xlarge-s] {
	max-width: 124rem;
}


@media screen and (max-width: 1023px){
	.c-inner-large, .c-inner-small, .c-inner-xlarge-s, .c-inner-xsmall-l{
		width: var(--inner-percent-medium);
	}
}



/*
///////////////////////////////////////////////////////////////
// p-contact / l-form
///////////////////////////////////////////////////////////////
*/

.p-contact{
	position: relative;
}

@media screen and (min-width: 1024px){
	.p-contact{
		margin-bottom: 4.8rem;
		border-radius: var(--radius-15);
	}
}
@media screen and (max-width: 1023px){
	.p-contact{
		margin-bottom: 3.2rem;
		border-radius: var(--radius-15);
	}
}

.c-bg-fixed{ 
	position: relative;
}

.c-bg-fixed::after{
	content: '';
	display: block;
	position: absolute;
	background-color: var(--color-gray6);
	width: 100%;
	height: 100%;
	border-radius: inherit;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: -1;
}

.p-contact__inner{
	padding: calc((180 / var(--design-size-pc)) * 100%) calc((106 / var(--design-size-pc)) * 100%);
}

@media screen and (min-width: 768px) {
	.p-contact__inner.-telephone{
		display: flex;
		align-items: center;
		padding: calc((90 / var(--design-size-pc)) * 100%) calc((106 / var(--design-size-pc)) * 100%);
	}
}
@media screen and (max-width: 767px) {
	.p-contact__inner.-telephone{
		padding: calc((180 / var(--design-size-pc)) * 100%) calc((106 / var(--design-size-pc)) * 100%);
	}
}

.p-contact__box{
	display: flex;
}

@media screen and (min-width: 768px) {
	.p-contact__box{
		display: flex;
		gap: 1.4rem;
		width: calc((1168 / var(--design-size-pc)) * 100%);
	}
}
@media screen and (max-width: 768px) {
	.p-contact__box{
		flex-direction: column;
		width: var(--size-all);
	}
}

@media screen and (min-width: 768px) {
	.p-contact__title{
		flex: 1;
	}
}
@media screen and (max-width: 767px) {
	.p-contact__title{
		width: var(--size-all);
		text-align: center;
		margin-bottom: 2.4rem;
	}
}

.p-contact__title-en{
	font-family: var(--font-Outfit);
    font-weight: 400;
    text-transform: capitalize;
    letter-spacing: .05em;
}
@media screen and (min-width: 1024px) {
	.p-contact__title-en{
		font-size: var(--font-size40);
		margin-bottom: 1rem;
	}
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.p-contact__title-en{
		font-size: var(--font-size34);
		margin-bottom: 1rem;
	}
}
@media screen and (max-width: 767px) {
	.p-contact__title-en{
		font-size: var(--font-size28);
		margin-bottom: 1rem;
	}
}

@media screen and (min-width: 1024px) {
	.p-contact__title-jp{
		font-size: var(--font-size14);
	}
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.p-contact__title-jp{
		font-size: var(--font-size13);
	}
}
@media screen and (max-width: 767px) {
	.p-contact__title-jp{
		font-size: var(--font-size12);
	}
}

@media screen and (min-width: 1024px) {
	.p-contact__tel{
		width: calc((940 / var(--design-size-pc)) * 100%);
	}
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.p-contact__tel{border: 1px solid red;
		width: calc((850 / var(--design-size-pc)) * 100%);
	}
}
@media screen and (max-width: 767px) {
	.p-contact__tel{
		width: var(--size-all);
		text-align: center;
	}
}

.p-contact__tel-num{
	display: flex;
	align-items: center;
	font-family: var(--font-Outfit);
    font-weight: 400;
	letter-spacing: .05em;
}
@media screen and (min-width: 1024px) {
	.p-contact__tel-num{
		font-size: var(--font-size40);
	}
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.p-contact__tel-num{
		font-size: var(--font-size38);
	}
}
@media screen and (max-width: 767px) {
	.p-contact__tel-num{
		justify-content: center;
		font-size: var(--font-size33);
	}
}

.p-contact__tel-num i{
	display: flex;
	align-items: center;
	justify-content: center;
}
@media screen and (min-width: 1024px) {
	.p-contact__tel-num i{
		width: 2.9rem;
		height: 2.9rem;
		margin-right: .4rem;
	}
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.p-contact__tel-num i{
		width: 2.1rem;
		height: 2.1rem;
		margin-right: .4rem;
	}
}
@media screen and (max-width: 767px) {
	.p-contact__tel-num i{
		width: 2.25rem;
		height: 2.25rem;
		margin-right: .4rem;
	}
}

@media screen and (min-width: 1024px) {
		.p-contact__tel .c-txt-xs{
		margin-left: 4em;
	}
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.p-contact__tel .c-txt-xs{
		margin-left: 2.87rem;
	}
}

.p-contact__sharp{
	flex: 1;
	position: relative;
}
@media screen and (min-width: 1024px) {
	.p-contact__sharp{
		padding: calc((107 / var(--design-size-pc)) * 100%) calc((5 / var(--design-size-pc)) * 100%);
		--base-width: 515;
	}
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.p-contact__sharp{
		padding: calc((107 / var(--design-size-pc)) * 100%) calc((5 / var(--design-size-pc)) * 100%);
		--base-width: 515;
	}
}
@media screen and (min-width: 561px) and (max-width: 767px) {
	.p-contact__sharp{
		margin: 0 auto;
		width: calc((98 / var(--design-size-sp)) * 100%);
		height: 114px;
		padding: calc((45 / var(--design-size-sp)) * 100%) calc((5 / var(--design-size-sp)) * 100%);
	}
}
@media screen and (max-width: 560px) {
	.p-contact__sharp{
		margin: 0 auto;
		width: calc((105 / var(--design-size-sp)) * 100%);
		padding: calc((53 / var(--design-size-sp)) * 100%) calc((5 / var(--design-size-sp)) * 100%) calc((65 / var(--design-size-sp)) * 100%);
	}
}

.p-contact__sharp-1,
.p-contact__sharp-2{
	position: absolute;
}

.p-contact__sharp-1{
	animation: flower-sharp-1 6000ms linear infinite;
}
.p-contact__sharp-2{
	animation: flower-sharp-2 6000ms linear infinite;
}

@media screen and (min-width: 1024px) {
	.p-contact__sharp-1{
		width: calc((608 / var(--design-size-pc)) * 100%);
		top: 0;
		left: 0;
	}
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.p-contact__sharp-1{
		width: calc((608 / var(--design-size-pc)) * 100%);
		top: 0;
		left: 0;
	}
}
@media screen and (min-width: 561px) and (max-width: 767px) {
	.p-contact__sharp-1{
		width: calc((178 / var(--design-size-sp)) * 100%);
		top: 0;
		left: 0;
	}
}
@media screen and (max-width: 560px) {
	.p-contact__sharp-1{
		width: calc((178 / var(--design-size-sp)) * 100%);
		top: 0;
		left: 0;
	}
}

@media screen and (min-width: 1024px) {
	.p-contact__sharp-2{
		width: calc((613 / var(--design-size-pc)) * 100%);
		right: 2.4rem;
	}
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.p-contact__sharp-2{
		width: calc((613 / var(--design-size-pc)) * 100%);
		right: 2.4rem;
	}
}
@media screen and (min-width: 561px) and (max-width: 767px) {
	.p-contact__sharp-2{
		width: calc((178 / var(--design-size-sp)) * 100%);
		right: 0;
	}
}
@media screen and (max-width: 560px) {
	.p-contact__sharp-2{
		width: calc((178 / var(--design-size-sp)) * 100%);
		right: 0;
	}
}

@media screen and (min-width: 1024px) {
	.p-contact__txt{
		margin-top: 4rem;
	}
}
@media screen and (max-width: 1023px) {
	.p-contact__txt{
		margin-top: 3.2rem;
	}
}

@media screen and (min-width: 1024px) {
	.l-form-cell{
		font-size: var(--font-size15);
		margin-bottom: 3.2rem;
	}
}
@media screen and (max-width: 1023px) {
	.l-form-cell{
		font-size: var(--font-size14);
		margin-bottom: 3.2rem;
	}
}

@media screen and (min-width: 1024px) {
	.l-form-cell>dd>placeholder{
		font-size: var(--font-size15);
	}
}
@media screen and (max-width: 1023px) {
	.l-form-cell>dd>placeholder{
		font-size: var(--font-size12);
	}
}

@media screen and (min-width: 1024px) {
	.l-form-cell.-block,
	.l-form-cell.-column{
		display: flex;
		align-items: center;
		gap: 4.8rem;
	}
}

.l-form-cell__label{
	font-weight: 600;
}

@media screen and (min-width: 1024px) {
	.l-form-cell.-block>dt,
	.l-form-cell.-column>dt,
	.l-form-cell.-check>dt{
		flex: 1;
	}
}
@media screen and (max-width: 1023px) {
	.l-form-cell.-block>dt,
	.l-form-cell.-column>dt,
	.l-form-cell.-check>dt{
		width: var(--width-all);
		margin-bottom: 1rem;
	}
}

.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-textarea {
	background-color: var(--color-white);
}

.l-form-cell.-column>dd,
.l-form-cell.-block>dd{
	xborder: 1px solid var(--color-black);
	}
@media screen and (min-width: 1024px) {
	.l-form-cell.-block>dd,
	.l-form-cell.-column>dd,
	.l-form-cell.-check>dd{
		width: calc((1100 / var(--design-size-pc)) * 100%);
	}
}
@media screen and (max-width: 1023px) {
	.l-form-cell.-block>dd,
	.l-form-cell.-column>dd,
	.l-form-cell.-check>dd{
		width: var(--width-all);
	}
}

.l-form-cell.-block dd>p>span>input,
.l-form-cell.-block dd>p>span>textarea{ 
	width: var(--width-all);
}
@media screen and (min-width: 1024px) {
	.l-form-cell.-block dd>p>span>input,
	.l-form-cell.-block dd>p>span>textarea{
		padding: calc((40 / var(--design-size-pc)) * 100%) calc((20 / var(--design-size-pc)) * 100%);
	}
}
@media screen and (max-width: 1023px) {
	.l-form-cell.-block dd>p>span>input,
	.l-form-cell.-block dd>p>span>textarea{
		padding: calc((17 / var(--design-size-sp)) * 100%) calc((13 / var(--design-size-sp)) * 100%);
	}
}

@media screen and (min-width: 1024px) {
	.l-form-cell.-check{
		display: flex;
		align-items: center;
		padding: calc((40 / var(--design-size-pc)) * 100%) 0;
	}
}
@media screen and (max-width: 1023px) {
	.l-form-cell.-check{
		display: block;
		padding: calc((17 / var(--design-size-sp)) * 100%) 0;
	}
}

.l-form-list .l-form-list__cell{
	display: flex;
	align-items: center;
}
@media screen and (min-width: 1024px) {
	.l-form-list .l-form-list__cell{
		padding: calc((40 / var(--design-size-pc)) * 100%) calc((20 / var(--design-size-pc)) * 100%);
	}
}
@media screen and (max-width: 1023px) {
	.l-form-list .l-form-list__cell{
		gap: 1.2rem;
		padding: calc((17 / var(--design-size-sp)) * 100%) calc((13 / var(--design-size-sp)) * 100%);
	}
}

.l-form-list .l-form-list__cell:not(:last-of-type){
	border-bottom: 1px solid var(--color-black);
}

.l-form-list__cell-dt{
	font-weight: 600;
}
@media screen and (min-width: 1024px) {
	.l-form-list__cell-dt{
		flex: 1;
	}
}
@media screen and (max-width: 1023px) {
	.l-form-list__cell-dt{
		width: calc((100 / var(--design-size-sp)) * 100%);
	}
}

@media screen and (min-width: 1024px) {
	.l-form-list__cell-dd{ 
		width: calc((1100 / var(--design-size-pc)) * 100%);
	}
}
@media screen and (max-width: 1023px) {
	.l-form-list__cell-dd{ 
		width: calc((275 / var(--design-size-sp)) * 100%);
	}
}

.l-form__privacy{
	text-align: center;
}
@media screen and (min-width: 1024px) {
	.l-form__privacy{
		font-size: var(--font-size15);
		line-height: calc( 32 / 15 );
	}
}
@media screen and (max-width: 1023px) {
	.l-form__privacy{
		font-size: var(--font-size12);
		line-height: calc(20 / 12 );
	}
}

.l-form__privacy a{
	color: var(--color-blue8);
	text-decoration: underline;
}

@media screen and (min-width: 1024px) {
	.l-form__button{
		margin-top: 4rem;
	}
}
@media screen and (max-width: 1023px) {
	.l-form__button{
		margin-top: 3.2rem;
	}
}

.l-form__button>p>input{ 
	margin-left: auto;
	margin-right: auto;
	display: block;
	color: var(--color-white);
	background-color: var(--color-black);
	-webkit-transition: all 280ms cubic-bezier(.25, .46, .45, .94);
	transition: all 280ms cubic-bezier(.25, .46, .45, .94);
	-webkit-transition-delay: transition, background-color;
	transition-delay: transition, background-color;
}
@media screen and (min-width: 1024px) {
	.l-form__button>p>input{
		font-size: var(--font-size15);
		padding: calc((40 / var(--design-size-pc)) * 100%) 0;
		width: calc((650 / var(--design-size-pc)) * 100%);
	}
}
@media screen and (max-width: 1023px) {
	.l-form__button>p>input{
		font-size: var(--font-size14);
		padding: calc((17 / var(--design-size-sp)) * 100%) 0;
		width: var(--width-all);
	}
}


.l-form__button>p>input:hover{
	background-color: var(--color-blue4);
}

.p-contact__important{
	color: var(--color-blue2);
}




.wpcf7 .screen-reader-response {
	position: absolute;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	word-wrap: normal !important;
}

.wpcf7 .hidden-fields-container {
	display: none;
}

.wpcf7 form .wpcf7-response-output {
	margin: 2em 0.5em 1em;
	padding: 0.2em 1em;
	border: 2px solid #00a0d2; /* Blue */
}

.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
	display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: #46b450; /* Green */
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border-color: #dc3232; /* Red */
}

.wpcf7 form.spam .wpcf7-response-output {
	border-color: #f56e28; /* Orange */
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #ffb900; /* Yellow */
}

.wpcf7-form-control-wrap {
	position: relative;
}

.wpcf7-not-valid-tip {
	color: #dc3232; /* Red */
	font-size: 1em;
	font-weight: normal;
	display: block;
}

.use-floating-validation-tip .wpcf7-not-valid-tip {
	position: relative;
	top: -2ex;
	left: 1em;
	z-index: 100;
	border: 1px solid #dc3232;
	background: #fff;
	padding: .2em .8em;
	width: 24em;
}

.wpcf7-list-item {
	display: inline-block;
	margin: 0 0 0 1em;
}

.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
	content: " ";
}

.wpcf7-spinner {
	visibility: hidden;
	display: inline-block;
	background-color: #23282d; /* Dark Gray 800 */
	opacity: 0.75;
	width: 24px;
	height: 24px;
	border: none;
	border-radius: 100%;
	padding: 0;
	margin: 0 24px;
	position: relative;
}

form.submitting .wpcf7-spinner {
	visibility: visible;
}

.wpcf7-spinner::before {
	content: '';
	position: absolute;
	background-color: #fbfbfc; /* Light Gray 100 */
	top: 4px;
	left: 4px;
	width: 6px;
	height: 6px;
	border: none;
	border-radius: 100%;
	transform-origin: 8px 8px;
	animation-name: spin;
	animation-duration: 1000ms;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

@media (prefers-reduced-motion: reduce) {
	.wpcf7-spinner::before {
		animation-name: blink;
		animation-duration: 2000ms;
	}
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes blink {
	from {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

.wpcf7 [inert] {
	opacity: 0.5;
}

.wpcf7 input[type="file"] {
	cursor: pointer;
}

.wpcf7 input[type="file"]:disabled {
	cursor: default;
}

.wpcf7 .wpcf7-submit:disabled {
	cursor: not-allowed;
}

.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
	direction: ltr;
}

.wpcf7-reflection > output {
	display: list-item;
	list-style: none;
}

.wpcf7-reflection > output[hidden] {
	display: none;
}







/*
///////////////////////////////////////////////////////////////
// c-loop
///////////////////////////////////////////////////////////////
*/

.c-loop__inner{
	position: relative;
}

.c-loop__header{
	position: relative;
}

@media screen and (min-width: 768px) {
	.c-loop__header{
		display: flex;
		align-items: end;
		column-gap: 3.2rem;
	}
}

.c-loop__card-thumb{
	position: relative;
	margin-bottom: 1.6rem;
}
@media screen and (min-width: 768px) {
	.c-loop__card-thumb{
		margin-bottom: 1.4rem;
	}
}
@media screen and (max-width: 767px) {
	.c-loop__card-thumb{
		margin-bottom: 1.2rem;
	}
}

@media screen and (min-width: 768px) {
	.c-loop__card-thumb.-crop{
		margin-bottom: 1rem;
	}
}
@media screen and (max-width: 767px) {
	.c-loop__card-thumb.-crop{
		margin-bottom: 1.4rem;
	}
}

.c-loop__card-thumb.-default picture{
	overflow: hidden;
	border-radius: 0;
}

.c-loop__card-thumb>picture{
	overflow: hidden;
	border-radius: var(--radius-100rem);
}

.c-loop__card-thumb picture>img{
	-webkit-transform: scale(1) rotate(.00000deg);
	transform: scale(1) rotate(.00000deg);
	-webkit-transition: all 280ms cubic-bezier(.25, .46, .45, .94);
	transition: all 280ms cubic-bezier(.25, .46, .45, .94);
	-webkit-transition-property: transform;
	transition-property: transform;
}

.c-card a:hover .c-loop__card-thumb picture>img{
	-webkit-transform: scale(1.12) rotate(.00001deg);
	transform: scale(1.12) rotate(.00001deg);
}

.c-loop__card-meta{
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-color: var(--color-white);
	border: 1px solid var(--color-black);
	border-radius: var(--radius-10);
}
@media screen and (min-width: 768px) {
	.c-loop__card-meta{
		bottom: -1rem;
		padding: .6rem 1.6rem;
		font-size: var(--font-size10);
	}
}
@media screen and (max-width: 767px) {
	.c-loop__card-meta{
		bottom: -1rem;
		padding: .5rem 1.4rem;
		font-size: var(--font-size9);
	}
}

.c-loop__card-title{
	text-align: center;
}
@media screen and (min-width: 768px) {
	.c-loop__card-title{
		font-size: var(--font-size15);
		line-height: calc( 27 / 18 );
	}
}
@media screen and (max-width: 767px) {
	.c-loop__card-title{
		font-size: var(--font-size13);
		line-height: calc( 24 / 16 );
	}
}

@media screen and (min-width: 768px) {
	.c-loop__button-pc{
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: absolute;
		bottom: 0;
		right: 0;
		width: 13.6rem;
		height: 6rem;
		margin-left: auto;
	}
}
@media screen and (max-width: 767px) {
	.c-loop__button-pc{ 
		display: none;
	}
}

@media screen and (min-width: 768px) {
	.c-loop__button-sp{
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.c-loop__button-sp{
		display: flex;
		position: relative;
		margin-top: 3.2rem;
		width: 10.6rem;
		height: 4.6rem;
	}
}

.c-loop__button-prev.swiper-button-prev,
.c-loop__button-next.swiper-button-next{
	top: 0;
	margin-top: 0;
	display: block;
	background-color: var(--color-black);
	border-radius: var(--radius-100);
}
@media screen and (min-width: 768px) {
	.c-loop__button-prev.swiper-button-prev,
	.c-loop__button-next.swiper-button-next{
		width: 6rem;
		height: 6rem;
	}
	.c-loop__button-next.swiper-button-next{
		right: 0;
	}
	.c-loop__button-prev.swiper-button-prev{
		left: 0;
	}
}
@media screen and (max-width: 767px) {
	.c-loop__button-prev.swiper-button-prev,
	.c-loop__button-next.swiper-button-next{
		width: 4.6rem;
		height: 4.6rem;
	}
	.c-loop__button-next.swiper-button-next{
		right: 0;
	}
	.c-loop__button-prev.swiper-button-prev{
		left: 0;
	}
}

.c-loop__button-prev.swiper-button-prev::after,
.c-loop__button-next.swiper-button-next::after{
	content: '';
	display: block;
	position: absolute;
	top: 50%;
}
@media screen and (min-width: 768px) {
	.c-loop__button-prev.swiper-button-prev::after,
	.c-loop__button-next.swiper-button-next::after{
		width: 1.1rem;
		height: 1.1rem;
	}
}
@media screen and (max-width: 767px) {
	.c-loop__button-prev.swiper-button-prev::after,
	.c-loop__button-next.swiper-button-next::after{
		width: .9rem;
		height: .9rem;
	}
}

.c-loop__button-prev.swiper-button-prev::after{
	border-right: 1px solid var(--color-white);
	border-top: 1px solid var(--color-white);
	transform: rotate(-135deg) translate(-50%, -50%);
	transform-origin: center center;
	top: 26%;
	left: 42%;
}

.c-loop__button-next.swiper-button-next::after{
	border-right: 1px solid var(--color-white);
	border-top: 1px solid var(--color-white);
	transform: rotate(45deg) translate(-50%, -50%);
	transform-origin: center center; 
	top: 52%;
	left: 37%;
}









/*
///////////////////////////////////////////////////////////////
// p-line-list
///////////////////////////////////////////////////////////////
*/
@media screen and (min-width: 768px) {
	.p-line-list{
		font-size: var(--font-size15);
		line-height: calc( 30 / 15 );
	}
}
@media screen and (max-width: 767px) {
	.p-line-list{
		font-size: var(--font-size13);
		line-height: calc( 28 / 14 );
	}
}

.p-line-list__cell{
	border-bottom: 1px solid var(--color-gray2);
}
.p-line-list__cell:first-child {
	border-top: 1px solid var(--color-gray2);
}

@media screen and (min-width: 768px) {
	.p-line-list__cell{
		display: flex;
		align-items: center;
		padding: calc((45 / var(--design-size-pc)) * 100%) 0;
	}
}
@media screen and (max-width: 767px) {
	.p-line-list__cell{
		padding: calc((24 / var(--design-size-sp)) * 100%) 0;
	}
}

.p-line-list__dt{
	font-weight: 600;
}
@media screen and (min-width: 768px) {
	.p-line-list__dt{
		flex: 1;
	}
}
@media screen and (max-width: 767px) {
	.p-line-list__dt{
		width: var(--size-all);
	}
}

@media screen and (min-width: 768px) {
	[class*="p-line-list__dd"]:not(.p-line-list__dd-figure):not(.p-line-list__dd-figcaption){ 
		width: calc((1180 / var(--design-size-pc)) * 100%);
	}
}
@media screen and (max-width: 767px) {
	[class*="p-line-list__dd"]:not(.p-line-list__dd-figure):not(.p-line-list__dd-figcaption){ 
		width: var(--size-all);
	}
}

.p-line-list__dd-column{ 
	display: flex;
}
@media screen and (min-width: 768px) {
	.p-line-list__dd-column{ 
        align-items: center;
        justify-content: space-between;
		gap: 1.6rem;
		-moz-column-gap: 1.6rem;
		-webkit-column-gap: 1.6rem;
		column-gap: 1.6rem;
		
	}
}
@media screen and (max-width: 767px) {
	.p-line-list__dd-column{ 
		flex-direction: column;
		gap: 1.2rem;
		-moz-column-gap: 1.2rem;
		-webkit-column-gap: 1.2rem;
		column-gap: 1.2rem;
	}
}

@media screen and (min-width: 768px) {
	.p-line-list__dd-figcaption{
		flex: 1;
	}
}

.p-line-list__dd-figure{ 
	overflow: hidden;
}
@media screen and (min-width: 768px) {
	.p-line-list__dd-figure{
		width: calc((435 / 1180) * 100%);
        margin: auto 0;
		border-radius: var( --radius-15);
	}
}
@media screen and (max-width: 767px) {
	.p-line-list__dd-figure{
		width: calc((295 / var(--design-size-sp)) * 100%);
        margin: 1.6rem auto 0;
		border-radius: var( --radius-1);
	}
}

@media screen and (min-width: 768px) {
	.p-line-list__dd-figcaption{
		flex: 1;
	}
}
@media screen and (max-width: 767px) {
	.p-line-list__dd-figcaption{
		width: var(--size-all);
	}
}

.p-line-list__dd-figcaption span{
	color: var(--color-gray3);
	display: block;
}

.p-line-list__dd-figcaption a{
	color: var(--color-blue3);
	display: inline-flex;
    align-items: center;
    padding: 0!important;
    gap: 0!important;
    font-family: var(--font-Outfit);
    font-weight: 400;
    letter-spacing: calc(40 / 1000 * 1em);
	white-space: nowrap;
    -webkit-transition: all 280ms cubic-bezier(.25, .46, .45, .94);
	transition: all 280ms cubic-bezier(.25, .46, .45, .94);
	-webkit-transition-delay: opacity;
	transition-delay: opacity;
}
@media screen and (min-width: 768px) {
	.p-line-list__dd-figcaption a{
		margin-top: 1rem;
	}
}
@media screen and (max-width: 767px) {
	.p-line-list__dd-figcaption a{
		margin-top: .8rem;
	}
}

.p-line-list__dd-figcaption a:hover{
	opacity: .7;
}


/*
///////////////////////////////////////////////////////////////
// p-
///////////////////////////////////////////////////////////////
*/

.p-maps-icon{
	display: flex;
    align-items: center;
    margin-left: .4rem;
}
@media screen and (min-width: 768px) {
	.p-maps-icon{
		margin-left: .4rem;
	}
}
@media screen and (max-width: 767px) {
	.p-maps-icon{
		margin-left: .32rem;
	}
}






:root{
	--transition-fade: 2000ms var(--ease-level1);
    --transition-fade2: 1500ms var(--ease-level1);
    --transition-fade3: 800ms var(--ease-level1);
    --transition-fade-bg: 20000ms var(--ease-level1);
    --transition-fadeup: 3000ms var(--ease-level2);
    --transition-fadedown: 1300ms var(--ease-level2);
}
:root{
	--ease-level1: cubic-bezier(0.215, 0.61, 0.355, 1);
	--ease-level2: cubic-bezier(0.23, 1, 0.32, 1);
}

.js-fadeup {
    opacity: 0;
    -webkit-transform: translate3d(0,2rem,0) rotate(.001deg);
    transform: translate3d(0,2rem,0) rotate(.001deg);
    transition: var(--transition-fadeup);
    transition-delay: var(--transition-delay,350ms);
    transition-property: opacity,-webkit-transform;
    transition-property: opacity,transform;
    transition-property: opacity,transform,-webkit-transform
}

.js-fadeup.is-shown,
:not(.js-trigger2).is-shown .js-fadeup {
    opacity: 1;
    -webkit-transform: translate3d(0,0,0) rotate(.001deg);
    transform: translate3d(0,0,0) rotate(.001deg)
}

.js-fadeups>* {
    opacity: 0;
    -webkit-transform: translate3d(0,2rem,0) rotate(.001deg);
    transform: translate3d(0,2rem,0) rotate(.001deg);
    transition: var(--transition-fadeup);
    transition-property: opacity,-webkit-transform;
    transition-property: opacity,transform;
    transition-property: opacity,transform,-webkit-transform
}

.js-fadeups>:nth-child(1) {
    transition-delay: calc(var(--transition-delay ,200ms) + 400ms)
}

.js-fadeups>:nth-child(2) {
    transition-delay: calc(var(--transition-delay ,200ms) + 800ms)
}

.js-fadeups>:nth-child(3) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1200ms)
}

.js-fadeups>:nth-child(4) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1600ms)
}

.js-fadeups>:nth-child(5) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2000ms)
}

.js-fadeups>:nth-child(6) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2400ms)
}

.js-fadeups>:nth-child(7) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2800ms)
}

.js-fadeups>:nth-child(8) {
    transition-delay: calc(var(--transition-delay ,200ms) + 3200ms)
}

.js-fadeups>:nth-child(9) {
    transition-delay: calc(var(--transition-delay ,200ms) + 3600ms)
}

.js-fadeups>:nth-child(10) {
    transition-delay: calc(var(--transition-delay ,200ms) + 4000ms)
}

.js-fadeups>:nth-child(11) {
    transition-delay: calc(var(--transition-delay ,200ms) + 4400ms)
}

.js-fadeups>:nth-child(12) {
    transition-delay: calc(var(--transition-delay ,200ms) + 4800ms)
}

.js-fadeups>:nth-child(13) {
    transition-delay: calc(var(--transition-delay ,200ms) + 5200ms)
}

.js-fadeups>:nth-child(14) {
    transition-delay: calc(var(--transition-delay ,200ms) + 5600ms)
}

.js-fadeups>:nth-child(15) {
    transition-delay: calc(var(--transition-delay ,200ms) + 6000ms)
}

.js-fadeups>:nth-child(16) {
    transition-delay: calc(var(--transition-delay ,200ms) + 6400ms)
}

.js-fadeups>:nth-child(17) {
    transition-delay: calc(var(--transition-delay ,200ms) + 6800ms)
}

.js-fadeups>:nth-child(18) {
    transition-delay: calc(var(--transition-delay ,200ms) + 7200ms)
}

.js-fadeups>:nth-child(19) {
    transition-delay: calc(var(--transition-delay ,200ms) + 7600ms)
}

.js-fadeups>:nth-child(20) {
    transition-delay: calc(var(--transition-delay ,200ms) + 8000ms)
}

.js-fadeups.is-shown>*,:not(.js-trigger2).is-shown .js-fadeups>* {
    opacity: 1;
    -webkit-transform: translate3d(0,0,0) rotate(.001deg);
    transform: translate3d(0,0,0) rotate(.001deg)
}