@charset "UTF-8";

header h1 a.top{
	display: none;
}
header h1 a.low{
	display: block;
}
	
header .head-inner ul.head-menu__pc li a:before{
	background: var(--colorG);
}
header .head-inner ul.head-menu__pc li a:after{
	border-bottom: 1px dotted var(--colorG);
}
.contents {
	width: 100%;
	margin: 0 auto;
	padding: 1rem 0 0;
	overflow: hidden;
	position: relative;
	z-index: 0;
	min-height: 60dvh;
}
.contents .pan{
	background: var(--color04);
	padding: 1rem 0;
}
.contents .pan ul{
	display: flex;
	align-items: center;
	width: 96%;
	max-width: var(--width01);
	margin: 0 auto;
}
.contents .pan ul li a{
	color: var(--color05);
	padding: 0 20px 0 0;
	position: relative;
}
.contents .pan ul li a:after{
	content: "";
	border-top: 1px solid var(--color05);
	border-right: 1px solid var(--color05);
	width: 8px;
	height: 8px;
	transform: rotate(45deg) var(--takasa01);
	position: absolute;
	top: 50%;
	right: 10px;
}
.contents .pan ul li a:hover{
	color: var(--color01);
}
.contents .pan ul li a:hover:after{
	border-top: 1px solid var(--color01);
	border-right: 1px solid var(--color01);
}
.contents main{
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 300px;
	position: relative;
}
.contents main .mainInner{
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 96%;
	max-width: var(--width01);
	margin: 0 auto;
}
.contents main .mainInner h2{
	color: var(--colorW);
	font-size: var(--font27-36);
	font-weight: 600;
}
.contents main .mainInner b{
	color: transparent;
    font-size: 80px;
    font-weight: 600;

    -webkit-text-stroke: 1px #fff;
}
.contents .inner{
	width: 96%;
	max-width: var(--width01);
	margin: 0 auto;
}
.contents .inner .inner_menu{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin: 5rem auto;
}
.contents .inner .inner_menu li{
	width: 30%;
	margin: 0 0 1rem;
}
.contents .inner .inner_menu li a{
	color: var(--colorW);
	font-weight: 600;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 10px 10px 10px 50px;
	position: relative;
}
.contents .inner .inner_menu li a:before{
	content: "";
	background:url(/images/arrow01.svg);
	background-size: 100%;
	background-repeat: no-repeat;
	width: 16px;
	height: 10px;
	position: absolute;
	top: 50%;
	left:20px;
	transform: translateY(-50%) rotate(0deg);
}
.contents .inner .inner_menu li a:hover:before{
	animation: roll ease-in 0.5s 1;
}
@keyframes roll{
	0%{
        transform: translateY(-50%) rotate(0deg);
    }
    100%{
        transform: translateY(-50%) rotate(360deg);
    }
}
.contents .inner .inner_menu li a {
    background: var(--color01);
}

.contents .inner .inner_menu li a:hover {
    background: var(--color02);
}

.contents .inner .inner_menu li:nth-child(-n+3) a {
    background: var(--color02);
}

.contents .inner .inner_menu li:nth-child(-n+3) a:hover {
    background: var(--color01);
}

.contents .inner .box h3{
	font-size: var(--font20-24);
	font-weight: 500;
	width: 100%;
	margin: 0 auto 3rem;
	padding: 10px 0 10px 70px;
	position: relative;
}
.contents .inner .box h3:before{
	content: "";
	background: var(--color01);
	width: 36px;
	height: 4px;
	position: absolute;
	top: 50%;
	left: 10px;
	transform: translateY(-50%);
}
.contents .inner .box h3.gradient-title {
    --gradient-point: 100%;

    background: #FFFFFF;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 1) var(--gradient-point),
        rgba(204, 204, 204, 0.6) 100%
    );
}
.contents .inner .box h3.gradient-title.is-active {
    animation: gradientMove 0.8s ease-in-out forwards;
}
@property --gradient-point {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%;
}

@keyframes gradientMove {
    from {
        --gradient-point: 100%;
    }

    to {
        --gradient-point: 0%;
    }
}

@media all and (max-width:768px){
	header{
		background: var(--colorW);
        height: 85px;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
	}
	.contents{
		padding: 85px 0 0;
	}
	.contents .pan ul{
		flex-wrap: wrap;
	}
	.contents main {
		height: 240px;
	}
	.contents main .mainInner{
		flex-wrap: wrap;
		align-items: flex-start;
		margin: 0 auto auto;
	}
	.contents main .mainInner h2{
		padding: 2rem 0 2rem 0;
	}
	.contents main .mainInner b{
		font-size: 60px;
		width: 100%;
	}
	.contents .inner .inner_menu{
		margin: 2rem auto;
	}
	.contents .inner .inner_menu li{
		width: 48%;
	}
	.contents .inner .inner_menu li a{
		line-height: 1.4em;
	}
	.contents .inner .box h3{
		margin: 0 auto 1rem;
	}
	.menu-btn{
        color: var(--colorB);
	}
}