@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

:root {
	--font-family: "Noto Sans JP", sans-serif;
	--white: #fff;
	--black: #222;
	--blue : #08037E;
	--red : #FF0000;
	--bold : 600;
	--semibold : 500;
	--medium : 400 ;
	--regular : 300;
}
html{
	width:100%;
	margin:0;
	padding:0;
	font-size: 62.5%;
	scroll-behavior: smooth;
}
body {
	width:100%;
	font-family: var(--font-family);
	font-weight:var(--regular);
	font-size:1.6rem;
	color:var(--black);
	line-height:1.6;
	overflow-wrap: anywhere;
	word-break: normal;
	line-break: strict;
	margin:0;
	padding:0;
	&.open {
		overflow:hidden;
		height:100%;
		z-index:1;
		.overlay {
			position:absolute;
			width:100vw;
			height:100vh;
			background:rgba(0,0,0,0.3);
			z-index:3;
		}
	}
	}
}
main {
	width:100%;
	padding:0;
	margin:0;
	box-sizing:border-box;
}
a {
	text-decoration:none;
}
a:link, a:visited {
	color:inherit;
}
img {
	width:100%;
}
.pc {
	display:none;
}
ul ,li {
	margin:0;
	padding:0;
}
.fade {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.5s, transform 1s;
}
.fade.active {
	opacity: 1;
	transform: translateY(0px);
}
/*--header--*/
header {
	width:100%;
	background:#fff;
	box-shadow:0 2px 8px rgba(0,0,0,0.2);
	position:fixed;
	top:0;
	z-index:2;
	.inner {
		display:flex;
		justify-content:space-between;
		align-items:top;
		width:100%;
		padding:1vh 4vw 2vh;
		box-sizing:border-box;
		h1 {
			width:50%;
			margin:0;
			padding:0;
			line-height:1.0;
			img {
				margin:0;
				padding:0;
			}
		}

		#dw_btn {
			box-sizing:border-box;
			width:30px;
			height:20px;
			position:absolute;
			right:4vw;
			top:calc(50% - 10px);
			z-index:11;
			padding:4px 0;
			border-top:1px solid #222;
			border-bottom:1px solid #222;
			&::before,
			&::after {
				display:block;
				content:"";
				width:30px;
				height:1px;
				background:#222;
				transform: rotate(0deg);
				transition:all 0.4s ease;
				position:absolute;
				top:9px;
			}
			&.open {
				border-top:none;
				border-bottom:none;
				&::before {
					transform: rotate(45deg);
					background:#fff;
				}
				&::after {
					transform: rotate(-45deg);
					background:#fff;
				}
			}
		}

		nav{
			position:absolute;
			top:0;
			left:103%;
			width:100vw;
			height:100vh;
			margin:0;
			padding:10vh 6vw 0;
			background:rgba(85,85,85,1.0);
			z-index:10;
			transition: all 0.3s ease;
			color:#fff;
			box-sizing:border-box;
			&.open {
				left:0;

			}
			ul {
				list-style:none;
				&:first-of-type {
					border-top:1px solid var(--white);
				}
				li {
					border-bottom:1px solid var(--white);
					position:relative;
					&::after {
						display:block;
						content:"";
						width:24px;
						height:24px;
						background:url("/assets/img/icon_btn_arrow.svg") no-repeat;
						background-size:24px;
						position:absolute;
						right:0;
						top:calc(50% - 12px);
					}
					a {
						display:block;
						width:100%;
						padding:1.0em 2.0em;
						position:relative;
						svg path {
							stroke:var(--white);
						}
					}
				}
			}/
		}
	}
}

/*--topVP--*/
.topVP {
	background:url("/assets/img/bg_top.png") center no-repeat;
	background-size:100% 100%;
	padding:14vh 0 0;
	h2 {
		color:var(--blue);
		font-size:2.0rem;
		font-weight:var(--bold);
		text-align:center;
		line-height:1.6;
		padding:0 4vw;
		span {
			color:var(--red);
			display:block;
			font-size:3.6rem;
			}
		}
	div {
		padding:1.5vh 4vw 2vh;
		background:#5D6069;
		margin-top:6vh;
		p {
			width:100%;
			color:var(--white);
			font-weight:400;
		}
	}
}
/*--anchor--*/
#anchor {
	margin:5vh 4vw 0;
	list-style:none;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	li {
		width:48.5%;
		&:nth-of-type(-n+2) a{
			border-top:1px solid var(--blue);
		}
		a {
			width:100%;
			display:block;
			position:relative;
			box-sizing:border-box;
			padding:2vh 0 2vh 1.0em;
			border-bottom:1px solid var(--blue);
			font-weight: var(--medium);
			color: var(--blue);
			&::after {
				display:block;
				content:"";
				width:24px;
				height:24px;
				background:url("/assets/img/icon_arrow_down.svg") no-repeat;
				background-size:24px;
				position:absolute;
				right:0;
				top:25%;
				}
			img {
				margin-right:0.5em;
				width:22px;
				vertical-align:bottom;
			}
		}
	}
}
/*--section--*/
section:not(.topVP) {
	padding:8vh 4vw 0;
	.title-content {
		text-align:center;
		margin-bottom:5vh;
		h2 {
			font-size:3.2rem;
			font-weight:var(--semibold);
			color:var(--red);
		&:before {
			display:block;
			content:"";
			width:48px;
			height:48px;
			background:url("/assets/img/icon_ourgoal.png") no-repeat;
			background-size:48px;
			margin:0 auto 1vh;
		}
		}
	}
	.sec-content {
		h3 {
			font-size:2.4rem;
			color:var(--blue);
			font-weight:var(--medium);
		}
		h4 {
			font-size:1.8rem;
			font-weight:var(--bold);
			margin-bottom:2vh;
		}
		.img-left {
			margin:2vh 0;
			img {
				margin-bottom:4vh;
			}
			ul {
				list-style:none;
			}
			p {
				margin-top:3vh;
			}
		}
		.text-content {
			margin:4vh 0 0;
			.list-red {
				margin-top:2vh;
				margin-left:1.5em;
				li {
					font-size:1.5rem;
					margin-top:0.3em;
				&::marker {
					color:#FF8080;
					opacity:0.5;
				}
				}
				& + p {
					margin-top:1.0em;
				}
			}
		}
	}
}

/*--Our Services--*/
#sec02,#secSP {
	.title-content h2:before{
		background:url("/assets/img/icon_services.png") no-repeat;
		background-size:48px;
	}

	.sec-content {
		border-bottom:1px solid #ccc;
		padding-bottom:5vh;
		&:nth-of-type(n+3) {
			margin-top:6vh;
		}
		&:last-of-type {
			border-bottom:0;
			padding-bottom:0;
		}
	}
	.exchange {
		border:6px solid #CECDE5;
		margin-top:5vh;
		padding:2vh 2.5vw 1vh;
		dl {
			display:flex;
			padding:2.2vh 0;
			font-size:1.4rem;
			border-bottom:2px solid #CECDE5;
			position:relative;
			&:last-of-type {
				border:none;
			}
			&::after {
				content:"";
				width:20px;
				height:calc(20px / 2);
				clip-path: polygon(0 0, 100% 0, 50% 100%);
				background:#CECDE5;
				position:absolute;
				bottom:calc(-20px / 2);
				left:calc(50% - 10px);
			}
			&:last-of-type::after {
				content:none;
			}
			dt {
				width:30%;
				margin-right:2%;
				text-align:center;
				img {
					width:20px;
					vertical-align:text-bottom;
					margin-right:2px;
				}
			}
			dd {
				width:68%;
			}
		}
	}
	.img-right {
		p {
		margin:4vh 0;
		}
		img {
			margin-bottom:2vh;
		}
	}
	.roadmap {
		border:6px solid #CECDE5;
		margin-top:3vh;
		padding:2vh 3vw 1vh;
		counter-reset: listnum -1;
		dl {
			border-bottom:1px solid #CECDE5;
			padding-bottom:0.5em;
			padding-left:18%;
			margin-bottom:0.5em;
			position:relative;
			&:last-of-type {
				border:none;
			}
			&::before {
			counter-increment: listnum;
			content: counter(listnum); 
			position:absolute;
			left:0;
			color:#CECDE5;
			font-size:5.2rem;
			line-height:1.0;
			font-weight:var(--bold);
			opacity:0.75;
			top:/*calc(50% - 52px)*/0;
			left:10px;
			}
			dt {
				color:var(--blue);
				font-weight:var(--bold);
			}
			dd {
				font-size:1.4rem;
				text-indent:-3.5em;
				padding-left:0.6em;
				line-height:1.5;
				margin-bottom:0.4em;
				span {
					margin-right:0.2em;
				}
				small {
					font-size:1.3rem;
					margin-left:0.4em;
				}
				.red {
					color:var(--red);
				}
			}
		}
	}
	.cases {
		list-style:none;
		counter-reset: cases;
		li {
			border-bottom:1px solid var(--blue);
			padding:4.2vh 0 2vh 2vw;
			font-size:1.4rem;
			position:relative;
			&:first-child {
				border-top:1px solid var(--blue);
			}
			&::before {
			display:block;
			counter-increment: cases;
			content: "Case "counter(cases ,upper-alpha); 
			position:absolute;
			top:0;
			left:0;
			background:var(--blue);
			border-radius:0 0 6px 0;
			color:var(--white);
			font-weight:var(--bold);
			padding:0 1.0em 0.1em ;
			}
		}
	}
}
/*--Contact us--*/
#sec03 {
	.title-content h2:before{
		width:52px;
		height:52px;
		background:url("/assets/img/icon_joinus.png") no-repeat;
		background-size:52px;
	}
	h3 + p {
		margin-top:3vh;
	}
	form div {
		border:1px solid #888;
		margin-top:3vh;
		padding:2vh 4vw;
		input {
			box-sizing:border-box;
			display:block;
			margin-top:0.4em;
			border:1px solid #888;
			border-radius:3px;
			width:100%;
			padding:0.4em 0.8em;
			font-size:1.5rem;
			&:-webkit-autofill {
				box-shadow: 0 0 0 1000px white inset;
			}
		}
		button {
			display:block;
			width:75%;
			background:linear-gradient(#F25934, #E64F2C);
			box-shadow:0 2px 4px rgba(0,0,0,0.3);
			border-radius:25px;
			margin:4vh auto 1vh;
			padding:0.8em 0;
			color:var(--white);
			font-weight:var(--semibold);
			font-size:1.6rem;
			position:relative;
			outline:none;
			border:none;
			&::after {
				display:block;
				content:"";
				background:url("/assets/img/icon_btn_arrow.svg") no-repeat;
				background-size:100%;
				width:24px;
				height:24px;
				position:absolute;
				top:calc(50% - 24px / 2);
				right:40px;
			}
		}
	}
}
/*--More about us--*/
#sec04 {
	.title-content h2:before{
		background:url("/assets/img/icon_aboutus.png") no-repeat;
		background-size:48px;
	}

	.sec-content p {
		margin:4vh 0;
	}
	figure {
		background:#efefef;
		padding:1.2em 5vw;
		margin:0;
		img {
			box-shadow:0 0 10px rgba(0,0,0,0.3);
		}
		figcaption {
			font-size:1.4rem;
			margin-top:0.5em;
			a {
				text-decoration:underline;
				color:var(--red);

			&.link-red[target="_blank"]::after{
				background:url("/assets/img/icon_link_red.svg") no-repeat;
				background-size:16px;
				display:inline-block;
				content:"";
				width:16px;
				height:16px;
				margin-left:0.2em;
				vertical-align:center;
}
			}
		}
	}
	.detail {
		.photo {
			width:40%;
			margin:3vh auto 0;
	}
		.text-content {
			border-bottom:1px solid #ccc;
			padding-bottom:5vh;
			&:last-of-type {
				border:none;
			}
			table td {
				font-size:1.5rem;
				vertical-align:top;
			&:first-child{
				width:14%;
				}
			}
		}
	}
}

/*---footer-*/
footer {
	background:#5D6069;
	padding:0.5em 4vw;
	text-align:center;
	font-size:1.4rem;
	color:var(--white);
	margin-top:8vh;
}
.to_top {
	display:none;
}

/*--sticky-menu--*/
#sticky-menu {
	box-sizing:border-box;
	width:98%;
	height:auto;
	position:fixed;
	bottom:0;
	right:0;
	background:var(--white);
	box-shadow:0 0 8px rgba(0,0,0,0.3);
	border-radius:18px 18px 0 0 ;
	padding:10px 24px;
	margin:0 1%;
	h2 {
		font-size:1.5rem;
		font-weight:var(--bold);
		color: var(--red);
		line-height:1.4;
		margin-bottom:0.5em;
	}
	p {
		display:none;
	}
	input {
		display:block;
		box-sizing:border-box;
		border:1px solid #888;
		border-radius:3px;
		width:100%;
		padding:0.2em 0.8em;
		font-size:1.4rem;
		&:-webkit-autofill {
			box-shadow: 0 0 0 1000px white inset;
		}
	}
	button {
		display:block;
		width:75%;
		background:linear-gradient(#F25934, #E64F2C);
		box-shadow:0 2px 4px rgba(0,0,0,0.3);
		border-radius:25px;
		margin:1.0em auto 0;
		padding:0.6em 0;
		color:var(--white);
		font-weight:var(--semibold);
		position:relative;
		border:none;
		&::after {
			display:block;
			content:"";
			background:url("/assets/img/icon_btn_arrow.svg") no-repeat;
			background-size:100%;
			width:24px;
			height:24px;
			position:absolute;
			top:calc(50% - 24px / 2);
			right:40px;
		}
	}
	#btn-close{
		box-sizing:border-box;
		width:20px;
		height:20px;
		position:absolute;
		top:12px;
		right:10px;
		z-index:11;
		padding:4px 0;
		cursor:pointer;
		&::before,
		&::after {
			display:block;
			content:"";
			width:20px;
			height:1px;
			background:#222;
			position:absolute;
			top:9px;
		}
		&::before {
			transform: rotate(45deg);
		}
		&::after {
			transform: rotate(-45deg);
		}
	}
}

@media screen and (min-width: 768px) {
.pc {
	display:block;
}
/*--header--*/
header {
	.inner {
		padding:2vh 6vw ;
		h1 {
			width:35%;
			max-width:220px;
		}
		nav{
			width:70%;
			box-shadow:0 0 10px rgba(0,0,0,0.5);
			&.open {
				left:30%;
			}
		}
	}
}
/*--topVP--*/
.topVP {
	padding:14vh 0 0;
	h2 {
		font-size:2.2rem;
		line-height:1.8;
		padding:3vh 6vw;
		span {
			display:inline;
			}
		}
	div {
		padding:1.5vh 6vw 2vh;
	}
}
/*--anchor--*/
#anchor {
	margin:5vh 6vw 0;
	li {
		width:47%;
		a {
			padding:2vh 0 2vh 4.5em;
			img {
				margin-right:1.0em;
			}
		}
	}
}
/*--section--*/
section:not(.topVP) {
	padding:8vh 6vw 0;
	.sec-content {
		h3 {
			font-weight:var(--semibold);
		}
		h4 {
			font-size:2.0rem;
		}
		.text-content {
			margin:5vh 0 0;
			.list-red {
				margin-left:2em;

			}
		}
	}
}
/*--Our Services--*/
#sec02,#secSP {
	.exchange {
		padding:2vh 6vw 1vh;
		dl {
			padding:2.2vh 0;
			font-size:1.5rem;
			dt {
				width:25%;
				margin-right:2%;
				text-align:center;
				img {
					width:20px;
					vertical-align:text-bottom;
					margin-right:2px;
				}
			}
			dd {
				width:63%;
			}
		}
	}
	.roadmap {
		padding:2vh 6vw 1vh;
		dl {
			&::before {
			font-size:6.0rem;
			top:calc(50% - 60px);
			}
			dt {
				font-size:1.8rem;
			}
			dd {
				font-size:1.6rem;
				small {
					font-size:1.5rem;
				}
			}
		}
	}
	.cases {
		display:grid;
		grid-template-columns: repeat(2,1fr);
		grid-template-rows:1fr;
		gap:0 4vw;
		li {
			padding:4vh 0 2vh 2vw;
			font-size:1.5rem;
			line-height:1.4;
			&:nth-child(-n+2) {
				border-top:1px solid var(--blue);
			}
			&::before {
			border-radius:0 0 10px 0;
			font-weight:var(--bold);
			padding:0 2.0em 0.1em 1.0em;
			}
		}
	}
}

/*--Contact us--*/
#sec03 {
	form div {
		display:flex;
		align-items:end;
		justify-content:space-between;
		padding:2vh 4vw 4vh;
		p{
			width:65%;
		input {
			width:100%;
			padding:0.4em 0.8em;
		}
		}
		button {
			width:30%;
			margin:0 0 0.8em 5%;
			padding:0.5em 0;
		}
	}
}

/*--More about us--*/
#sec04 {

	figure {
		padding:4vh 0 3vh;
		img {
			width:70%;
			margin:0 auto;
			display:block;
		}
		figcaption {
			display:block;
			margin-top:1.0em;
			text-align:center;
			a {
				margin-left:0.5em;
			&.link-red[target="_blank"]::after{
				background-size:18px;
				width:18px;
				height:24px;
				margin-left:0.4em;
				vertical-align:middle;
				}

			}
		}
	}
	.detail {
		display:flex;
		gap:0 4%;
		.photo {
			width:20%;
			margin:50px 0 0;
	}
		.table{
		width:76%;
			table {
				margin-left:1.0em;
			}
		}
	}
}
/*--sticky-menu--*/
#sticky-menu {
	width:40%;
	border-radius:0;
	padding:16px 24px;
	margin:0;
	input {
		padding:0.3em 0.8em;
	}
	button {
		width:65%;
	}
}

}

@media screen and (min-width: 1024px) {
/*--header--*/
header {
	.inner {
		h1 {
			width:30%;
		}
		nav{
			width:40%;
			&.open {
				left:60%;
			}
		}
	}
}
/*--topVP--*/
.topVP {
	h2 {
		font-size:2.8rem;
		padding:2vh 6vw;
		span {
			font-size:4.2rem;
			}
		}
	div p {
		text-align:center;
	}
}
/*--anchor--*/
#anchor:has(> :nth-child(-n+4):last-child) {
	flex-wrap:nowrap;
	gap:16px;
	li {
		flex:1;
		width:auto;

		a {
			text-align:center;
			padding:0.5em 2.0em 0.5em 1.0em;
			border-top:1px solid var(--blue);
		}
	}
}
#anchor:has( > :nth-child(5)) {
	flex-wrap:wrap;
	justify-content:start;
	gap:1.3%;
	li {
		flex:unset;
		width:32%;
		a {
			text-align:center;
			padding:0.5em 2.0em 0.5em 1.0em;
			border-top:1px solid var(--blue);
		}
		&:nth-of-type(n+4) a{
			border-top:none;
		}
}
}
/*--section--*/
section:not(.topVP) {
	.sec-content {
		.img-left {
			display:flex;
			margin:25px 0 0;
			padding:0;
			img {
				display:block;
				width:45%;
				margin-bottom:0;
				margin-right:5%;
			}
			ul {
				list-style:none;
				font-size:18px;
				font-weight:var(--medium);
				color:#555;
			}
			p {
				width:50%;
				margin-top:0;
			}
		}
	}
}
/*--Our Services--*/
#sec02,#secSP {
	.img-right {
		display:flex;
		div{
			width:50%;
			margin-right:5%;
		p {
		margin:35px 0 0; 
		}
		}
		img {
			width:45%;
			margin:0;
		}
	}
	.cases {
		li {
			padding:4.6vh 0 2.8vh 2vw;

		}
	}
}

/*--sticky-menu--*/
#sticky-menu {
	width:300px;
	bottom:0.4em;
	right:6px;
	border:1px solid var(--red);
	p {
		display:block;
		font-size:1.4rem;
		margin-bottom:10px;
	}
	button {
		width:70%;
		margin-top:16px;
		opacity:1.0;
		transition:all 0.3s ease;
		&:hover {
		opacity:0.9;
			}
		&:active {
		box-shadow:0 0px 1px rgba(0,0,0,3);
		}
	}
}

}

@media screen and (min-width: 1280px) {

header {
	.inner {
		width:100%;
		max-width:1280px;
		margin:0 auto;
		padding:4px 40px 12px;
		box-sizing:border-box;
		justify-content:space-between;
		align-items:center;
		h1 {
			margin-top:10px;
			width:220px;
		}
		& > div {
			width:calc(100% - 300px);
			position:relative;
		}
		#dw_btn {
			display:none;
		}
		nav{
			position:static;
			width:auto;
			height:auto;
			margin:0 ;
			padding:0;
			background:none;
			box-shadow:0 0 0 rgba(0,0,0,0);
			transition: all 0.3s ease;
			color:var(--black);
			box-sizing:border-box;
			display:flex;
			flex-direction: column-reverse;
			ul {
				list-style:none;
				display:flex;
				li {
					border-bottom:none;
					position:relative;
					line-height:1.0;
					padding:0;
					&::after {
						content:none;
					}
					a {
						display:block;
						width:100%;
						padding:0 0.2em;
						position:relative;
						transition: all 0.3s ease;
						svg path {
							stroke:#555;
						}
					}
				}
				&:first-of-type {
					flex:1;
					border-top:none;
					justify-content:space-between;
					a {
						padding-bottom:0.3em;
						border-bottom:2px solid var(--white);

						font-weight:var(--medium);
						&:hover {
						border-bottom:2px solid var(--red);
						}
					}
				}
				&:nth-of-type(2) {
					font-size:14px;
					justify-content: flex-end;
					margin-bottom:22px;
					li {
						margin-left:1.6em;
					a {
						padding-bottom:0.1em;
						border-bottom:1px solid #555;
						&:hover {
						border-bottom:1px solid #fff;
						}
					}
					}
				}
			}
		}
	}
}

/*--topVP--*/
.topVP {
	padding:120px 0 0;
	h2 {
		max-width:1280px;
		font-size:30px;
		padding:80px 40px;
		margin:0 auto;
		box-sizing:border-box;
		span {
			font-size:46px;
			}
		}
	div {
		padding:16px 0;
		margin-top:0;
		p {
			max-width:1080px;
			padding:0 40px;
			margin:0 auto;
			box-sizing:border-box;
			font-size:18px;
		}
	}
}
/*--anchor--*/
#anchor,#anchor:has( > :nth-child(5)) {
	box-sizing:border-box;
	max-width:1280px;
	margin:50px auto 0;
	padding:0 40px;
	flex-wrap:nowrap;
	gap:14px;
	li {
		flex:1;
		width:auto;
		border-top:1px solid var(--blue);
		border-bottom:1px solid var(--blue);
		a {
			text-align:center;
			padding:0.5em 0.5em 0.5em 0;
			border-bottom:1px solid var(--white) !important;
			border-top:1px solid var(--white) !important;
			transition: all 0.3s ease;
			img {
				margin-right:0.4em;
			}
		&:hover {
			border-bottom:1px solid var(--blue) !important;
		}
		}
	}
}

/*--section--*/
section:not(.topVP) {
	max-width:1280px;
	padding:100px 40px 0;
	margin:0 auto;
	box-sizing:border-box;
	.title-content {
		text-align:center;
		margin-bottom:80px;
		h2 {
			font-size:46px;
		&::before {
			width:60px;
			height:60px;
			background:url("/assets/img/icon_ourgoal.png") no-repeat;
			background-size:60px;
			margin:0 auto 10px;
		}
		}
	}
	.sec-content {
		h3 {
			font-size:28px;
		}
		.img-left {
			img {
				width:450px;
				margin-right:150px;
			}

		}

		.text-content {
			margin:60px 0 0;
			.list-red {
				li {
					font-size:16px;
					margin-top:0.3em;
				}

			}
		}
	}
}
/*--Our Goal--*/
#sec01 {
	.title-content {
		margin-bottom:50px;
	}
}

/*--Our Services--*/
#sec02,#secSP {
	.title-content h2:before{
		background-size:60px;
	}
	.exchange {
		margin-top:25px;
		padding:40px 100px 24px;
		dl {
			font-size:16px;
			&::after {
				width:28px;
				height:calc(28px / 2);
				bottom:calc(-28px / 2);
				left:30%;
			}
			dt {
				width:20%;
				img {
					margin-right:8px;
				}
			}
			dd {
				width:70%;
			}
		}
	}
	.img-right {
		div{
			width:700px;
			margin-right:50px;
		p {
		margin:35px 0 0; 
		}
		}
		img {
			width:450px;
			margin:0;
		}
	}
	.roadmap {
		margin-top:20px;
		padding:40px 100px 24px;
		dl {
			padding-left:16%;
			&::before {
			font-size:64px;
			top:calc(50% - 64px);
			left:40px;
			}
			dd {
				padding-left:1.0em;
			}
		}
	}
	.cases {
		gap:0 70px;
		li {
			padding:40px 15px 20px 20px;
			font-size:16px;
			&::before {
			border-radius:0 0 16px 0;
			padding:0.1em 2.0em 0.2em ;
			}
		}
	}
}

/*--Contact us--*/
#sec03 {
	.title-content h2:before{
		width:64px;
		height:56px;
		background-size:64px;
	}

	form div {
		align-items:center;
		padding:40px 80px;
		p{
			width:700px;
		input {
			display:inline-block;
			margin-top:0;
			margin-left:1.0em;
			width:500px;
			padding:0.4em 0.8em;
		}
		}
		button {
			width:220px;
			margin:0 auto ;
			background:linear-gradient(#F25934, #E64F2C);
			box-shadow:0 2px 4px rgba(0,0,0,0.3);
			opacity:1.0;
			transition:all 0.3s ease;
			cursor: pointer;
			&:hover {
			opacity:0.9;
			}
			&:active {
			box-shadow:0 0px 1px rgba(0,0,0,3);
			}
		}
	}
}

/*--More about us--*/
#sec04 {
	.title-content h2:before{
		background-size:60px;
	}

	figure {
		padding:40px 0;
		img {
			width:auto;
		}
		figcaption {
			font-size:16px;
			a {
				margin-left:0.5em;
			&:hover {
				text-decoration:none;
			}
			}
		}
	}
	.detail {
		display:flex;
		gap:0 100px;
		.photo {
			width:200px;
			margin:50px 0 0;
	}
		.table{
		width:900px;
		.text-content {
			border-bottom:1px solid #ccc;
			padding-bottom:5vh;
			&:last-of-type {
				border:none;
			}
			ul {
				margin-left:36px;
			}
			table {
				margin-left:20px;
				td {
				font-size:16px;
				}
			}
		}
		}
	}
}
/*--footer--*/
footer {
	margin-top:70px;
}
.to_top {
	display:block;
	position:fixed;
	bottom:32px;
	right:40px;
	z-index:1;
	a {
		display:block;
		transform: rotate(180deg);
		width:40px;
		height:40px;
		border:1px solid var(--blue);
		border-radius :50%;
		background:#fff;
		text-align:center;

		img {
			width:36px;
			height:40px;
		}
	}
}

/*--sticky-menu--*/
#sticky-menu {
	right:40px;
	bottom:150px;
}

}