@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;
}


/*trial*/
.topnews {
    background: #ffeaf6;
    display: block;
}
.topnews p {
    line-height: 1.4;
    padding: 10px 0;
    margin: 0;
    text-align: center;
}
#trial .reserve{
	    background: #1e9db7;
	box-shadow: 0 2px 5px rgb(85 85 85 / 30%);
}
#trial .reserve .inner::before{
	content: none;
}
.nintei{
	margin: 5em 0 3em;
}
.nintei h3{
	text-align: center;
}
.nintei .stafflist{
	display:grid;
	grid-template-columns: repeat(3,1fr);
	justify-content: center;
	gap:1em;
}
.nintei .stafflist dl{
	display:flex;
	justify-content: center;
	flex-direction: column;;
	text-align: center;
}
.nintei .stafflist dl h4{
	margin: 0;
}
.osusumelist{
	margin:1.4em 0em 5em 0.6em;
}
.osusumelist li {
    position: relative;
    padding-left: 2em;
    line-height: 1;
	font-weight: bold;
    margin-bottom: 1em;
}
.osusumelist li::before {
    content: '';
    background: url("/trialsession/img/SVG/check.svg")no-repeat 0 0;
    background-size: 100%;
    width: 22px;
    height: 27px;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
}
#resv {
    background: #277bcc;
    color: #fff;
    padding: 2em;
    margin: 4em 0;
    background-image: linear-gradient(120deg, rgb(255 125 187 / 80%), rgba(255, 255, 255, 0)), linear-gradient(185deg, rgb(218 215 255 / 80%), rgba(255, 255, 255, 0)), linear-gradient(340deg, rgb(32 196 227 / 80%), rgba(255, 255, 255, 0));
}
#trial main .container h2 {
    margin: .2em 0 0;
}
#trial #trialdt .container,
#trial #kaisai .container,
#trial #faq .container{
	max-width: 768px;
}
#trial #trialdt article{
	margin: 3em 0;
}
#resv .resv-form a{ 
	    background: #fff;
	display: block;
    color: #333;
    text-align: center;
    padding: 1em;
    margin: 2em auto;
    box-shadow: 12px 12px 2px 1px rgb(0 0 182 / 20%);
	border-radius: 100px;
}
#resv .resv-form a:hover{
	text-decoration: none;
	color: #fff;
	background:#ea91ca;

    box-shadow: 0px 0px 0px 1px rgb(0 0 182 / 20%);
}
/*faq
	-----------------------------------*/

#faq {
	border-top: 1px solid var(--bland);
	padding: 6em 0;
	margin-top: 6em;
}
#faq h2 {
	margin-top: 0;
}
#faq .col2 .colright dl dt {
	font-size: clamp(1.6rem, 2vw, 2rem);
	background: none;
	color: var(--bland);
	padding: 1px 10px 4px;
	text-align: left;
	font-feature-settings: "palt";
	position: relative;
	padding-left: 2em;
	margin-bottom: 0.3em;
}
#faq .col2 .colright dl dt::before {
	content: 'Q';
	position: absolute;
	left: 0;
	font-size: clamp(1.8rem, 2vw, 3rem);
	line-height: 1;
	top: 1px;
	color: var(--att);
}
#faq .col2 .colright dl dt::after {
	content: '';
	width: 1px;
	height: 1em;
	position: absolute;
	right: 10px;
	display: block;
	background:var(--att);
	top: 0;
	bottom: 0;
	margin: auto;
	transform: rotate(45deg);
	transition: ease .3s;
}
#faq .col2 .colright dl.active dt::after {
	transform: rotate(320deg);
}
.faqlist dl dt {
	cursor: pointer;
}
.faqlist dl dd {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
}
.faqlist dl dd.open {
	max-height: 200px; /* アニメーションの開く高さ。内容に合わせて調整 */
}
/* privacy
-----------------------------------*/
.page #privacycontent h2{
	font-size: clamp(1.3rem,1.5vw,1.6rem);
	margin: 2em 0 0;
	line-height: 1;
	
}
.privacy 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;
	}
	
	
}

@media(max-width:480px){
	.nintei .stafflist{
	display:grid;
	grid-template-columns: 1fr;
	justify-content: center;
	gap:1em;
}
}