@charset "utf-8";

*,::after,::before { box-sizing:border-box;}
html {	font-family:sans-serif;
	line-height:1.15;
	-webkit-text-size-adjust:100%;
	-webkit-tap-highlight-color:transparent;}
article,aside,figcaption,figure,footer,header,hgroup,main,nav,section { display:block;}
body {	margin:0;
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
	font-size:1rem;
	font-weight:400;
	line-height:1.5;
	color:#212529;
	text-align:left;
	background-color:#fff;}
[tabindex="-1"]:focus:not(:focus-visible) { outline:0!important;}
hr {	box-sizing:content-box;
	height:0;
	overflow:visible;}
h1,h2,h3,h4,h5,h6 {
	margin-top:0;
	margin-bottom:.5rem;}
p {	margin-top:0;
	margin-bottom:1rem;}
abbr[data-original-title],abbr[title] {
	text-decoration:underline;
	-webkit-text-decoration:underline dotted;
	text-decoration:underline dotted;
	cursor:help;
	border-bottom:0;
	-webkit-text-decoration-skip-ink:none;
	text-decoration-skip-ink:none;}
address{margin-bottom:1rem;
	font-style:normal;
	line-height:inherit;}
dl,ol,ul {
	margin:0;
	padding: 0;
	list-style: none;}
ol ol,ol ul,ul ol,ul ul { margin:0;}
dt {	font-weight:700;}
dd {	margin-bottom:.5rem;
	margin-left:0;}
blockquote { margin:0 0 1rem;}
b,strong { font-weight:bolder;}
small {	font-size:80%;}
sub,sup{position:relative;
	font-size:75%;
	line-height:0;
	vertical-align:baseline;}
sub {	bottom:-.25em;}
sup {	top:-.5em;}
a {	color:#007bff;
	text-decoration:none;
	background-color:transparent;}
a:hover{color:#0056b3; text-decoration:underline;}
a:not([href]):not([class]) { color:inherit; text-decoration:none;}
a:not([href]):not([class]):hover { color:inherit; text-decoration:none;}
code,kbd,pre,samp {
	font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
	font-size:1em;}
pre {	margin-top:0;
	margin-bottom:1rem;
	overflow:auto;
	-ms-overflow-style:scrollbar;}
figure {margin:0 0 1rem;}
img {	vertical-align:middle; border-style:none;}
svg {	overflow:hidden; vertical-align:middle;}
table {	border-collapse:collapse;}
caption{padding-top:.75rem;
	padding-bottom:.75rem;
	color:#6c757d;
	text-align:left;
	caption-side:bottom;}
th {	text-align:inherit; text-align:-webkit-match-parent;}
label {	display:inline-block; margin-bottom:.5rem;}
button {border-radius:0;}
button:focus:not(:focus-visible) { outline:0;}
button,input,optgroup,select,textarea {
	margin:0;
	font-family:inherit;
	font-size:inherit;
	line-height:inherit;}
button,input { overflow:visible;}
button,select { text-transform:none;}
[role=button] { cursor:pointer;}
select { word-wrap:normal;}
[type=button],[type=reset],[type=submit],button { -webkit-appearance:button;}
[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled) { cursor:pointer;}
[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner { padding:0; border-style:none;}
input[type=checkbox],input[type=radio] { box-sizing:border-box; padding:0;}
textarea {
	overflow:auto;
	resize:vertical;}
fieldset {
	min-width:0;
	padding:0;
	margin:0;
	border:0;}
legend {display:block;
	width:100%;
	max-width:100%;
	padding:0;
	margin-bottom:.5rem;
	font-size:1.5rem;
	line-height:inherit;
	color:inherit;
	white-space:normal;}
progress { vertical-align:baseline;}
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button { height:auto;}
[type=search] { outline-offset:-2px; -webkit-appearance:none;}
[type=search]::-webkit-search-decoration {
	-webkit-appearance:none;}
	::-webkit-file-upload-button {
	font:inherit;
	-webkit-appearance:button;}
output { display:inline-block;}
summary{ display:list-item; cursor:pointer;}
template { display:none;}
[hidden] { display:none!important;}
.featherlight-sample { display: none;}
#law td { background: #fff; border: solid 1px #999;}
ol { margin-bottom: 1rem;}
@font-face { font-family: "HKW5";src: url("font/HKW5.woff2") format("woff2"),url("font/HKW5.woff") format("woff");}
@font-face { font-family: "HMW3";src: url("font/HMW3.woff2") format("woff2"),url("font/HMW3.woff") format("woff");}
.HKW5 {font-family: "HKW5";}
.HMW3 {font-family: "HMW3";}
.wrapper { position: relative;}
header {
    background-image: url(../img/mv.jpg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top center;
    width: 100%;
    height: 0;
    padding-bottom: 54%;
    position: relative;}
header h1 {
    text-align: center;
    padding: 3% 0 1%;
    width: 25%;
    max-width: 193px;
    margin: 0 auto;}
header h1 img { width: 100%;}
header nav {
    width: 100%;
    line-height: 1;
    display: block;}
header nav ul {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0 auto;}
header nav ul li {
    width: 18%;
    text-align: center;
    max-width: 120px;
    padding: 0 1%;
    font-size: 14px;}
header nav ul li a {
    color: #fff;
    font-family: "HKW5";}
header nav ul li:last-child a {
    height: 35px;
    display: block;
    background-color: #000;
    line-height: 35px;
    color: #fff;}
header .txt {
    text-align: center;
    padding: 5% 0 0;
    width: 80%;
    max-width: 443px;
    margin: 0 auto;}
header .txt img { width: 100%;}
header .txt p {
    color: #fff;
    font-family: "HKW5";
    font-size: 15px;
    letter-spacing: 1px;
    margin: 10% auto 0;
    line-height: 1.86;}
header .scroll {
    position: absolute;
    bottom: -40px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 80px;}
header p { line-height: 1;}
h2 {
    font-family: "HMW3";
    font-size: 40px;
    text-align: center;
    max-width: fit-content;
    margin: 0 auto 7%;}
h2 span {
    display: block;
    font-size: 15px;
    font-family: "HKW5";}
h2 span:before {
    content: "";
    width: 50%;
    height: 2px;
    background-color: #000;
    display: block;
    margin: 2% auto 5%;}
main {
    position: relative;
    padding: 140px 0 0;
    overflow: hidden;}
section {
    position: relative;
    z-index: 1;}
main:before,
main:after {
    content:"";
    background-color: #fff;
    background-image: radial-gradient(#e5e5e5 14%, transparent 14%), radial-gradient(#e5e5e5 14%, transparent 14%);
    background-size: 15px 15px;
    background-position: 0 0, 7px 7px;
    width: 100%;
    max-width: 600px;
    height: 600px;
    margin: 0 auto;
    border-radius: 50%;
    position: absolute;}
main:before {
    top: 27%;
    left: -25%;}
main:after {
    top: 45%;
    right: -25%;}
.philosophy,
.contact {
    background-color: #fff;
    background-image: radial-gradient(#e5e5e5 14%, transparent 14%), radial-gradient(#e5e5e5 14%, transparent 14%);
    background-size: 15px 15px;
    background-position: 0 0, 7px 7px;
    width: 100%;
    max-width: 600px;
    height: 600px;
    margin: 0 auto;
    border-radius: 50%;
    position: relative;}
.philosophy div,
.contact div {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    width: 100%;}
.philosophy p {
    text-align: center;
    font-size: 20px;
    line-height: 1.8;
    font-family: "HMW3";}
.philosophy p span {
    font-size: 40px;
    text-align: center;
    max-width: fit-content;
    margin: 0 auto;
    display: block;}
.project { margin: 100px auto;}
.project ul {
    font-family: "HKW5";
    display: flex;
    width: 1000px;
    align-items: self-start;
    justify-content: space-evenly;
    margin: 0 auto;}
.project ul li {
    width: 100%;
    margin: 0 14px;
    text-align: center;}
.project ul li img {
    width: 150px;
    display: block;
    margin: 0 auto;}
.project ul li div {
    margin: 30px auto 0;
    border: solid 1px;
    padding: 14px 0 0;
    position: relative;
    background-color: #fff;}
.project ul li div h3 {
    font-size: 15px;
    position: absolute;
    top: -11px;
    text-align: center;
    width: max-content;
    background-color: #fff;
    margin: 0 auto;
    display: block;
    left: 0;
    right: 0;
    padding: 0 7px;}
.project ul li div p { font-size: 14px;}
.recruit { margin: 100px auto;}
.recruit div {
    font-family: "HKW5";
    margin: 30px auto 0;
    border: solid 1px;
    padding: 14px 0 0;
    position: relative;
    text-align: center;
    width: 94%;
    max-width: 600px;}
.recruit div h3 {
    font-size: 15px;
    position: absolute;
    top: -11px;
    width: max-content;
    background-color: #fff;
    margin: 0 auto;
    display: block;
    left: 0;
    right: 0;
    padding: 0 7px;}
.recruit div p {
    font-size: 14px;
    padding: 7% 0;
    width: 100%;}
.company { margin: 100px auto;}
.company iframe {
    width: 100%;
    height: 300px;}
.company table {
    margin: 50px auto 0;
    width: max-content;
    font-family: "HKW5";}
.company table th {
    width: 100px;
    padding: 7px;
    vertical-align: top;}
.company table td {
    width: calc(100% - 100px);
    padding: 7px;
    vertical-align: top;
    text-align: center;}
.contact { margin: 100px auto;}
.contact p a {
    font-family: "HKW5";
    background-color: #25c3af;
    border: solid 1px #cccccc;
    font-size: 30px;
    width: 94%;
    display: block;
    text-align: center;
    color: #fff;
    padding: 35px 0;
    margin: 0 auto;
    border-radius: 7px;
    line-height: 1;}
.gotop {
    position: fixed;
    bottom: 1%;
    right: 1%;
    z-index: 2;}
footer {
    background: #fff;
    text-align: center;
    padding: 10px;
    position: relative;
    z-index: 1;}
footer div {
    text-align: center;
    margin: 0 auto;
    width: 25%;
    max-width: 193px;}
footer div img { width: 100%;}
footer ul li {
	font-size: 13px;
	display: inline-block;
	margin: 0 7px;}
footer ul li a { color: #555;}
footer small {
    margin: 70px auto 0;
    display: block;}

@media screen and (max-width:1000px) {
	header {
	    background-size: cover;
	    padding-bottom: 100vh;}
	.project ul {
	    width: 100%;
	    flex-wrap: wrap;}
	.project ul li {
	    width: 220px;
	    margin: 30px auto;}
	.project ul li div .del { display: none;}
}
@media screen and (max-width:600px) {
	main { padding: 70px 0 0;}
	main:before,
	main:after {
	    width: 70%;
	    height: 0;
	    padding-bottom: 70%;}
	header nav {
	    width: 100%;
	    line-height: 1;
	    display: block;
	    margin: 7% auto;}
	header nav ul li {
	    width: 19.5%;
	    text-align: center;
	    padding: 0 0.25%;
	    font-size: 10px;}
	header nav ul li a { border-bottom: dotted 1px;}
	header nav ul li:last-child a {
	    height: 30px;
	    line-height: 30px;
	    border-bottom: none;}
	header .txt {
	    text-align: center;
	    padding: 0;
	    position: absolute;
	    top: 50%;
	    left: 50%;
	    transform: translateY(-50%) translateX(-50%);
	    -webkit- transform: translateY(-50%) translateX(-50%);}
	.philosophy p span { font-size: 6vw;}
	.philosophy p { font-size: 3vw;}
	.project,
	.recruit,
	.company { margin: 50px auto;}
	.company table { width: 90%;}
	.philosophy, .contact {
	    width: 90%;
	    height: 0;
	    margin: 0 auto !important;
	    padding-bottom: 90%;}
	.contact p a {
	    font-size: 30px;
	    width: 90%;
	    padding: 25px 0;
	    font-size: 20px;}
	.company table th {
	    width: 70px;
	    font-size: 13px;}
	.company table td {
	    width: calc(100% - 70px);
	    font-size: 13px;}
	.gotop { width: 50px;}
	.gotop img { width: 100%;}
}