@charset "UTF-8";
/* CSS Document */
main h1 {
	font-size: clamp(2rem, 3vw, 3.4rem);
	font-family: var(--zenkaku-light);
	margin-bottom: 2em;
	font-weight: 400;
}
main h1 span {
	color: #3D3030;
	font-size: clamp(1.4rem, 2vw, 2.2rem);
	display: block;
	font-weight: 100;
	letter-spacing: 0.03em;
}
main .container h2 {
	margin: 4em 0 1em;
}
.pagekv {
	margin-left: calc(((100vw - 100%) / 2) * -1);
	/*margin-right: calc(((100vw - 100%) / 2) * -1);*/
	margin-bottom: 2em;
}
.pagekv img {
	width: 100%;
}
/* company
-----------------------------------*/
.company {}
.company .cpprf {
	max-width: 800px;
	margin-bottom: 5em;
	margin-top: 2em;
}
.company .cpprf dl {
	display: grid;
	grid-template-columns: 10% 1fr;
	grid-gap: 20px;
	border-bottom: 1px solid #BABABA;
	padding: 25px 0;
}
.company .cpprf dl dt {
	padding-left: 0.5em;
}
.company .cpprf dl dd {}
/* business
-----------------------------------*/
.business {}
.business .bsbox {
	margin: 10em 0;
}
.business .bsbox .bs-grid {
	display: grid;
	grid-template-columns: 1fr 45%;
	grid-gap: 4%;
	margin-left: calc(((100vw - 103%) / 3)* -1);
	margin-right: calc(((100vw - 103%) / 3)* -1);
	margin-bottom: 3em;
	padding-top: 5em;
}
.business .bsbox .bs-grid h2 {
	margin: 0 0 1em;
	font-size: clamp(1.6rem,2vw,2.8rem);
	font-weight: 400;
}
.business .bsbox .bs-grid .bs-grid-text {
	order: 1;
}
.business .bsbox .bs-grid .bs-grid-img {
	order: 2;
}
.business .bsbox .bs-grid:nth-child(even) {
	grid-template-columns: 45% 1fr;
}
.business .bsbox .bs-grid:nth-child(even) .bs-grid-text {
	order: 2;
}
.business .bsbox .bs-grid:nth-child(even) .bs-grid-img {
	order: 1;
}
.business .bsbox .bs-grid .bs-grid-text .buisnesslist dl {
	margin-bottom: 2em;
}
.business .bsbox .bs-grid .bs-grid-text .buisnesslist dl dt {
	font-weight: 600;
}
.business .bsbox .bs-grid .bs-grid-text .buisnesslist dl dd {}
/* contact
-----------------------------------*/
.contact {}
#contact {
	margin-top: 6em;
}
.contact dl {
	margin-bottom: 2em;
}
.contact dl dt {}
.contact dl dd {}
.contact dl dd input {
	max-width: 800px;
	width: 100%;
	padding: 11px;
	border: 1px solid #C5C5C5;
	box-sizing: border-box;
	font-size: 1.6rem;
}
.contact dl dd textarea {
	border: 1px solid #C5C5C5;
	max-width: 800px;
	width: 100%;
	padding: 11px;
	box-sizing: border-box;
}
.contact dl strong {
	background: #f00;
	color: #fff;
	border-radius: 3px;
	font-size: 1.2rem;
	padding: 2px;
	margin-left: 5px;
	top: -1px;
	position: relative;
}
.contact main p {
	margin: 2em 0 3em;
}
.contact main p a {
	color: var(--att);
}
.formbox{
	margin: 2em 0 4em;
}
.my-error-class{
	display: block;
	color: #f00;
	
}


.btn-pagelink button {
    background: var(--bland);
    color: #fff;
    font-size: clamp(14px, 1.5vw, 2rem);
    display: block;
        padding: clamp(12px, 1vw, 17px) clamp(20px, 2vw, 30px);
    width: 70%;
    max-width: 260px;
    overflow: hidden;
    position: relative;
    border-radius: 50px;
	cursor: pointer;
	border: none;
	text-align: left;
}


.btn-pagelink button::after {
	content: "";
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	left: auto;
	background-color: var(--att);
	width: 0;
	transition: .5s cubic-bezier(0, 0, 0, 0.95);
}
.btn-pagelink button:hover::after {
	width: 100%;
	left: 0;
	transition-duration: .3s;
}
.btn-pagelink button em {
	position: relative;
	z-index: 1;
	font-style: normal;
	font-weight: 100;
	letter-spacing: 0.03em;
}
.btn-pagelink button::before {
	content: '';
	clip-path: polygon(69% 58%, 57% 48%, 59% 48%, 72% 59%, 0 59%, 0 57%, 0 58%);
	z-index: 1;
	position: absolute;
	right: 5%;
	width: 20%;
	height: auto;
	background: #fff;
	transition: all .3s;
	top: -13%;
	bottom: 0;
	margin: auto;
}


/* privacy
-----------------------------------*/
.privacy main .contents h2{
	font-size: clamp(1.3rem,1.5vw,1.6rem);
	margin: 2em 0 0;
	line-height: 1;
	
}
.privacy main ol{
	padding-left: 2em;
}
.listnum2{
	counter-reset: listnum2;
}
.listnum2 li{
    counter-increment: number;
    list-style: none;
    padding-left: 2em;
    position: relative;
}
.listnum2 li::before {
      content: counter(number)"）";
	    position: absolute;
    left: 0;
}
@media(max-width:768px) {
	main h1 {
		margin: 2em 0 2em;
	}
	/* company
-----------------------------------*/
	.company {}
	.company .cpprf {
		max-width: 800px;
	}
	.company .cpprf dl {
		grid-template-columns: 1fr;
		grid-gap: 0px;
		padding: 20px 0;
	}
	.company .cpprf dl dt {
		font-weight: 700;
		padding-left: 0;
	}
	/* business
-----------------------------------*/
	.business .bsbox .bs-grid, .business .bsbox .bs-grid:nth-child(even) {
		grid-template-columns: 1fr;
		grid-gap: 0%;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 0;
	}
	.business .bsbox {
		margin: 2em 0 1em;
	}
	.business .bsbox .bs-grid, .business .bsbox .bs-grid:nth-child(even) {

		margin-bottom: 0;
	}
	.pagekv img{
		object-fit: cover;
		height: 220px;
	}
	/* contact
-----------------------------------*/
	.contact dl dd input {
		font-size: 1.5rem;
	}
}