/* CSS Document */

#pagePath{
	display: none;
	}

#main{}
	#main :where(#about, #offering){}
		#main :where(#about, #offering) h2{
			display: grid;
			grid-template-columns: auto auto;
			align-items: center;
			justify-content: center;
			grid-gap: 0.5em;
			color: var(--color-theme);
			font-family: toppan-bunkyu-midashi-go-std, sans-serif;
			font-size: clamp(24px, 4.8vw, 32px);
			font-weight: bold;
			line-height: 1.5;
			text-align: center;
			letter-spacing: 0.025em;
			}
			#main :where(#about, #offering) h2:before{
				content: "";
				height: max(25px, 1em);
				background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 25"><path fill="%23fff000" d="m11.88.75s-.08,0-.12,0h0s-2.73,0-2.73,0c-.08.03-.17.05-.27.05-.03,0-.06,0-.09,0-.18-.02-.36-.04-.54-.04C4.06.75.75,6.02.75,12.5s3.31,11.75,7.38,11.75c.18,0,.36-.02.54-.04.02,0,.05,0,.07,0,.08,0,.17.02.25.05h2.77s.08,0,.12,0c4.07,0,7.38-5.27,7.38-11.75S15.94.75,11.88.75Z"/><path fill="%23231916" d="m15.56,11.5h-3.4c-.55,0-1,.45-1,1s.45,1,1,1h2.37c-.22,3.26-1.48,5.29-2.37,5.29-.98,0-2.4-2.45-2.4-6.29s1.42-6.29,2.4-6.29c.56,0,1.22.79,1.69,2.01.2.52.78.77,1.29.57.51-.2.77-.78.57-1.29-.81-2.09-2.1-3.29-3.56-3.29-2.51,0-4.4,3.56-4.4,8.29s1.89,8.29,4.4,8.29,4.4-3.56,4.4-8.29c0-.55-.45-1-1-1ZM12.5.05v-.05h-3.75v.05c-.21-.02-.41-.05-.62-.05C3.64,0,0,5.6,0,12.5s3.64,12.5,8.12,12.5c.21,0,.42-.02.62-.05v.05h3.75v-.05c4.19-.49,7.5-5.87,7.5-12.45S16.69.54,12.5.05ZM1.5,12.5C1.5,6.61,4.46,1.63,8,1.51,5.47,3.63,3.75,7.76,3.75,12.5s1.72,8.87,4.25,10.99c-3.54-.12-6.5-5.1-6.5-10.99Zm10.38,11c-3.59,0-6.62-5.04-6.62-11S8.28,1.5,11.88,1.5s6.62,5.04,6.62,11-3.03,11-6.62,11Z"/></svg>');
				background-size: cover;
				aspect-ratio: 0.8 / 1;
				}
	@media (min-width: 1200px) {
		#main :where(#about, #offering) h2{
			font-size: 40px;
			}
		}

#about{
	display: grid;
	grid-template-columns: 1fr var(--wrap) 1fr;
	grid-gap: clamp(32px, 7.2vw, 48px) 0;
	padding-bottom: clamp(48px, 12vw, 80px);
	}
	#about > *{
		grid-column: 2;
		z-index: 1;
		}
	@media (min-width: 1200px) {
		#about{
			padding-bottom: 128px;
			}
		}

#aboutSubject{
	grid-column: 1 / 4;
	display: grid;
	grid-template-columns: 1fr var(--wrap) 1fr;
	grid-gap: 16px;
	background: var(--color-point);
	padding: 24px 0;
	}
	#aboutSubject:before{
		content: 'ABOUT';
		grid-column: 2;
		justify-self: center;
		font-family: sofia-pro, sans-serif;
		font-size: min(8.2vw, 100px);
		font-weight: bold;
		letter-spacing: 0.15em;
		white-space: nowrap;
		color: #fff;
		text-indent: 0.15em;
		}
	#aboutSubject h2{
		grid-column: 2;
		}

#aboutFeature{
	display: grid;
	grid-gap: clamp(24px, 4.8vw, 32px);
	}
	#aboutFeature ul{
		display: grid;
		}
	#aboutFeature li{
		display: grid;
		grid-template-columns: 1em auto;
		font-size: 18px;
		font-weight: bold;
		line-height: 1.65;
		}
		#aboutFeature li:before{
			content: "";
			width: 8px;
			height: 8px;
			background: var(--color-theme);
			border-radius: 4px;
			transform: translateY(0.65em);
			}
		#aboutFeature li > *{
			grid-column: 2;
			}
		#aboutFeature li ul{
			margin-top: 8px;
			}
		#aboutFeature li li{
			display: block;
			padding: 0 0 0 1em;
			text-indent: -1em;
			font-size: 14px;
			font-weight: normal;
			}
		#aboutFeature li span{
			display: contents;
			color: var(--color-theme);
			}
	#aboutFeature li+li{
		margin-top: clamp(16px, 2.7vw, 18px);
		padding-top: clamp(16px, 2.7vw, 18px);
		border-top: 1px dashed currentColor;
		}
	#aboutFeature li.notes{
		display: block;
		padding-left: 1em;
		text-indent: -1em;
		}
		#aboutFeature li.notes:before{
			content: none;
			}
	#aboutFeature figure{
		justify-self: center;
		width: 180px;
		}
		#aboutFeature figure img{
			width: 100%;
			height: auto;
			}
	@media (min-width: 992px) {
		#aboutFeature{
			justify-content: center;
			}
		#aboutFeature figure{
			grid-column: 2;
			width: 220px;
			}
		}

#aboutPoint{
	display: grid;
	justify-items: center;
	grid-gap: clamp(24px, 4.8vw, 32px);
	}
	#aboutPoint dl{
		display: grid;
		align-content: center;
		justify-items: center;
		grid-gap: 16px;
		background: var(--color-theme);
		border-radius: 100%;
		color: #fff;
		text-align: center;
		aspect-ratio: 1;
		overflow: hidden;
		}
		#about dl:nth-child(2){}
			#about dl:nth-child(2) dt{
				line-height: 1.2;
				}
			#about dl:nth-child(2) dd{
				line-height: 1.6;
				font-feature-settings: "palt";
				}
	#about dt{
		color: #f2e841;
		font-family: "fot-tsukuardgothic-std", sans-serif;
		font-size: clamp(20px, 3.6vw, 24px);
		line-height: 1.5;
		}
	#about dd{
		padding: 0 clamp(16px, 3.6vw, 24px);
		font-size: clamp(14px, 2.4vw, 16px);
		font-weight: bold;
		line-height: 2;
		shape-outside: circle(50%);
		}
	@media (max-width: 767.98px) {
		#aboutPoint dl{
			width: 60vw;
			}
			#aboutPoint dl:nth-child(odd){
				justify-self: start;
				}
			#aboutPoint dl:nth-child(even){
				justify-self: end;
				margin: -10vw 0;
				}
		}
	@media (min-width: 576px) and (max-width: 767.98px) {
		#aboutPoint dl{
			width: 40vw;
			}
			#aboutPoint dl:nth-child(odd){
				transform: translateX(7vw);
				}
			#aboutPoint dl:nth-child(even){
				transform: translateX(-7vw);
				margin: -20vw 0;
				}
		}
	@media (min-width: 768px) {
		#aboutPoint{
			grid-template-columns: repeat(3, auto);
			justify-content: center;
			}
		}
	@media (min-width: 768px) and (max-width: 991.98px) {
		/*768px～991px*/
		#aboutPoint{
			margin-top: -25vw;
			}
		#aboutPoint dl{
			width: 34vw;
			}
			#aboutPoint dl:nth-child(1){
				margin-right: -10vw;
				}
			#aboutPoint dl:nth-child(even){
				margin-top: 25vw;
				}
			#aboutPoint dl:nth-child(3){
				margin-left: -10vw;
				}
		}
	@media (min-width: 992px) {
		#aboutPoint dl{
			width: min(30vw, 280px);
			}
		}

#offering{
	display: grid;
	grid-template-columns: 1fr var(--wrap) 1fr;
	padding: clamp(48px, 9.6vw, 64px) 0;
	background: #d6ecf3;
	}
	#offering > *{
		grid-column: 2;
		}
	#offering header{
		display: grid;
		grid-gap: clamp(24px, 4.8vw, 32px);
		padding-bottom: clamp(24px, 4.8vw, 32px);
		}
	#offering h2{
		position: relative;
		padding-bottom: 16px;
		color: #d6c400;
		}
		#offering h2:after{
			content: "";
			position: absolute;
			bottom: 0;
			left: 0;
			width: 100%;
			height: 2px;
			background: var(--color);
			border-radius: 1px;
			}
	#offering h2+div{
		justify-self: center;
		font-weight: bold;
		}
	#offering section{
		display: grid;
		padding: clamp(16px, 3.6vw, 24px);
		background: #fff;
		}
		#offering section:nth-of-type(1){
			border-radius: clamp(16px, 3.6vw, 24px) clamp(16px, 3.6vw, 24px) 0 0;
			}
		#offering section:nth-last-child(1){
			border-radius: 0 0 clamp(16px, 3.6vw, 24px) clamp(16px, 3.6vw, 24px);
			}
	#offering h3{
		color: var(--color-theme);
		font-family: "fot-tsukuardgothic-std", sans-serif;
		font-size: clamp(20px, 4.2vw, 28px);
		line-height: 1.5;
		text-align: center;
		}
	#offering h3+div{
		margin-top: clamp(24px, 4.8vw, 32px);
		}
	@media (min-width: 576px) {
		}
	@media (min-width: 992px) {
		#offering h3{
			font-size: 30px;
			}
		}
	@media (min-width: 1200px) {
		#offering{
			padding: 80px 0;
			}
		#offering h2+div{
			font-size: 18px;
			}
		#offering section{
			padding: 40px 80px;
			}
			#offering section:nth-of-type(1){
				border-radius: 40px 40px 0 0;
				}
			#offering section:nth-last-child(1){
				padding-bottom: 80px;
				border-radius: 0 0 40px 40px;
				}
		}

#offeringService{}
	#offeringService dl{
		display: grid;
		font-size: 18px;
		}
		#offeringService dl :where(dt, dd){
			padding: clamp(16px, 2.7vw, 18px);
			line-height: 1.65;
			}
	#offeringService dt{
		position: relative;
		font-weight: bold;
		}
		#offeringService dt:after{
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			border-top: 1px dashed currentColor;
			}
	#offeringService dd{}
		#offeringService dd dt{
			display: grid;
			grid-template-columns: 1em auto auto;
			padding: 0;
			font-weight: normal;
			}
			#offeringService dd dt:before{
				content: "";
				width: 8px;
				height: 8px;
				background: var(--color-theme);
				border: none;
				border-radius: 4px;
				transform: translateY(0.65em);
				}
			#offeringService dd dt:after{
				position: static;
				align-self: center;
				}
		#offeringService dd dd{
			padding: 0;
			font-size: 16px;
			}
		#offeringService dd ul{
			margin-top: 8px;
			}
			#offeringService dd dl+ul{
				margin-top: 16px;
				}
		#offeringService dd li{
			padding: 0 0 0 1em;
			text-indent: -1em;
			font-size: 14px;
			font-weight: normal;
			}
	@media (max-width: 575.98px) {
		#offeringService dd dt{}
			#offeringService dd dt:after{
				content: none;
				}
		#offeringService dt+dd{
			padding-top: 0;
			}
		#offeringService dd dd{}
			#offeringService dd dd+dt{
				margin-top: 16px;
				}
			#offeringService dd dd{
				padding-left: 16px;
				}
		}
	@media (min-width: 576px) {
		#offeringService dl{
			grid-template-columns: auto auto;
			overflow: hidden;
			}
			#offeringService dt:after{
				width: 100vw;
				}
		#offeringService dd{}
			#offeringService dd dl{
				grid-template-columns: 11em auto;
				grid-gap: 16px;
				justify-content: start;
				align-items: start;
				}
			#offeringService dd dt{}
				#offeringService dd dt:after{
					width: 2em;
					margin-left: 16px;
					justify-self: end;
					}
		}

#offeringQualification{}
	#offeringQualification ul{
		display: grid;
		}
	#offeringQualification h3+div li{
		display: grid;
		grid-template-columns: 1em auto;
		font-size: 18px;
		font-weight: bold;
		line-height: 1.65;
		}
		#offeringQualification h3+div li:before{
			content: "";
			width: 8px;
			height: 8px;
			background: var(--color-theme);
			border-radius: 4px;
			transform: translateY(0.65em);
			}
		#offeringQualification h3+div li > *{
			grid-column: 2;
			}
		#offeringQualification h3+div li ul{
			margin-top: 8px;
			}
		#offeringQualification h3+div li li{
			display: block;
			padding: 0 0 0 1em;
			text-indent: -1em;
			font-size: 14px;
			font-weight: normal;
			}
	#offeringQualification h3+div li+li{
		margin-top: clamp(16px, 2.7vw, 18px);
		padding-top: clamp(16px, 2.7vw, 18px);
		border-top: 1px dashed currentColor;
		}
	#offeringQualification h3+div+div{
		margin-top: clamp(32px, 7.2vw, 48px)
		}
		#offeringQualification h3+div+div ul{
			grid-gap: 24px;
			}
		#offeringQualification h3+div+div li{
			display: grid;
			grid-gap: 8px;
			font-size: 18px;
			text-align: center;
			}
	#offeringQualification .button{
		width: min(100%, 480px);
		margin: auto;
		}
		#offeringQualification .button[href$=".pdf"]{
			grid-template-columns: auto 28px;
			}
			#offeringQualification .button[href$=".pdf"]:after{
				width: 28px;
				height: 32px;
				-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 32"><path d="m7.94,12.83c-.15-.01-.36-.02-.58-.02-2.12,0-2.22.77-2.22,2.14,0,.32,0,.69,0,1.1,0,.5.01,1.04.01,1.61,0,1.05-.02,1.84-.05,2.54,0,.49.42.76.82.76.48,0,.82-.33.83-.8v-.39c0-.34,0-.69-.02-1.03,0-.26-.01-.52-.01-.78.41.07.79.07,1.35,0,1.57-.16,2.39-1.44,2.39-2.63s-.79-2.39-2.54-2.5Zm-.07,3.6c-.2.02-.4.03-.58.03-.4,0-.53-.03-.56-.03,0,0,0,0,0,0v-.17c0-.18,0-.37,0-.56,0-.19,0-.38,0-.55q0-.79.64-.79c.23,0,.47,0,.48,0,.96,0,1.04.7,1.04.91,0,.52-.37,1.09-.99,1.15Zm15.1-3.6c-.3-.02-2.18-.02-2.55,0-.97.05-1.56.61-1.59,1.5-.02.59-.02,1.97-.03,3.31,0,1.03,0,2.01-.01,2.53h0c0,.52.39.78.78.78s.81-.26.83-.75v-.36c0-.33,0-.8,0-1.26,0-.42,0-.83,0-1.13.15-.02.52-.02,1.01-.02.35,0,.69,0,.94.03h.07c.51,0,.78-.41.78-.82,0-.08-.02-.38-.24-.59-.1-.1-.29-.21-.59-.19-.17,0-.57,0-.98,0-.48,0-.83,0-.99-.01,0-.2,0-.39,0-.56,0-.3,0-.54.01-.69.01-.18.02-.22.97-.22.66,0,1.53,0,1.53,0,.55,0,.84-.41.84-.79,0-.35-.25-.75-.79-.78Zm4.02-4.97l-5.8-6.52c-.76-.85-1.85-1.34-2.99-1.34H4C1.79,0,0,1.79,0,4v24c0,2.21,1.79,4,4,4h20c2.21,0,4-1.79,4-4V10.52c0-.98-.36-1.93-1.01-2.66Zm-1.99,20.14c0,.55-.45,1-1,1H4c-.55,0-1-.45-1-1V4c0-.55.45-1,1-1h14.2c.29,0,.56.12.75.34l5.8,6.52c.16.18.25.42.25.66v17.48Zm-10.62-15.17c-.15-.01-.46-.02-.78-.02-1.15,0-2.46,0-2.56,1.65-.03.52-.06,1.68-.06,2.81,0,.82.02,1.64.05,2.16.12,1.64,1.77,1.64,2.57,1.64,3.04,0,4.59-1.4,4.59-4.15,0-2.33-1.5-3.94-3.81-4.09Zm-.78,6.67c-.91,0-.92-.12-.94-.32-.04-.35-.06-1.05-.06-1.88,0-1.11.03-2.23.06-2.63.01-.21.19-.27.8-.27.37,0,.79,0,.8,0,1.34,0,2.25,1.01,2.25,2.52,0,2.58-1.82,2.58-2.91,2.58Z"/></svg>');
				}
		

#offeringDownload{}
	#offeringDownload ul{
		display: grid;
		}
	#aboutFeature li{
		display: grid;
		grid-template-columns: 1em auto;
		font-size: 18px;
		font-weight: bold;
		line-height: 1.65;
		}
		#aboutFeature li:before{
			content: "";
			width: 8px;
			height: 8px;
			background: var(--color-theme);
			border-radius: 4px;
			transform: translateY(0.65em);
			}
		#aboutFeature li > *{
			grid-column: 2;
			}
		#aboutFeature li ul{
			margin-top: 8px;
			}
		#aboutFeature li li{
			display: block;
			padding: 0 0 0 1em;
			text-indent: -1em;
			font-size: 14px;
			font-weight: normal;
			}
		#aboutFeature li span{
			display: contents;
			color: var(--color-theme);
			}
	#aboutFeature li+li{
		margin-top: clamp(16px, 2.7vw, 18px);
		padding-top: clamp(16px, 2.7vw, 18px);
		border-top: 1px dashed currentColor;
		}

#offeringDownload{}
	#offeringDownload ul{
		margin: clamp(-16px, -2.7vw, -18px) 0;
		}
	#offeringDownload li a{
		display: grid;
		grid-template-columns: 14px auto;
		grid-gap: 8px;
		padding: clamp(16px, 2.7vw, 18px);
		color: inherit;
		font-size: 18px;
		font-weight: bold;
		line-height: 1.65;
		text-decoration: none;
		}
	#offeringDownload li a:before{
		content: "";
		width: 14px;
		height: 16px;
		-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 16"><path d="m4,12h6v-2h-6v2Zm0-4h6v-2h-6v2ZM12,0H0v16h14V0h-2Zm0,14H2V2h7l3,3v9Z"/></svg>') center no-repeat;
		-webkit-mask-size: contain;
		background: var(--color-theme);
		transform: translateY(0.4em);
		}
	#offeringDownload li+li{
		border-top: 1px dashed currentColor;
		}

#offeringFaq{}
	#offeringFaq h3+div+div{
		margin-top: clamp(24px, 4.8vw, 32px);
		}
	#offeringFaq p{
		color: var(--color-theme);
		font-size: 18px;
		font-weight: bold;
		text-align: center;
		line-height: 2;
		}
		#offeringFaq p:nth-child(n+2){
			color: inherit;
			font-weight: inherit;
			margin-top: 1em;
			}
		#offeringFaq p span{
			color: var(--color-theme);
			font-size: min(9vw, 56px);
			font-weight: bold;
			line-height: 1;
			}
	#offeringFaq .button{
		width: min(100%, 520px);
		margin: auto;
		}

.button{
	display: grid;
	grid-template-columns: auto 1em;
	align-items: center;
	grid-gap: 8px;
	min-height: 80px;
	padding: 8px 24px;
	background: var(--color-theme);
	border-radius: 40px;
	color: #fff;
	font-size: clamp(20px, 3.6vw, 24px);
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	}
	.button:after{
		content: "";
		width: 1em;
		height: 1em;
		-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="m19.96,9.61c-.01-.06-.03-.11-.05-.17-.02-.07-.04-.14-.06-.2-.03-.07-.07-.13-.1-.19-.03-.05-.05-.1-.08-.15-.07-.11-.16-.21-.25-.31L11.41.59c-.78-.78-2.05-.78-2.83,0-.78.78-.78,2.05,0,2.83l4.59,4.59H2c-1.1,0-2,.9-2,2s.9,2,2,2h11.17l-4.59,4.59c-.78.78-.78,2.05,0,2.83.39.39.9.59,1.41.59s1.02-.2,1.41-.59l8-8c.09-.09.18-.2.25-.31.03-.05.05-.1.08-.15.03-.06.07-.12.1-.19.03-.07.04-.13.06-.2.02-.06.04-.11.05-.17.05-.26.05-.52,0-.78Z"/></svg>') center no-repeat;
		-webkit-mask-size: contain;
		background: currentColor;
		}
	@media (min-width: 576px) {
		.button{
			min-height: 64px;
			padding: 4px 24px;
			border-radius: 32px;
			font-size: 20px;
			}
		}







