@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{ text-decoration:none;}
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: "KGPm";src: url("font/KGPm.woff2") format("woff2"),url("font/KGPm.woff") format("woff");}
.KGPm {font-family: "KGPm";}

@font-face { font-family: "KMPm";src: url("font/KMPm.woff2") format("woff2"),url("font/KMPm.woff") format("woff");}
.KGPm {font-family: "KMPm";}

header {
    font-family: "KGPm";
    position: relative;
    width: 100%;}
header div {
    width: 100%;
    max-width: 900px;
    height: 70px;
    padding: 0 2%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;}
header div h1 {
    margin: 0;
    width: 27.15%;}
header div h1 img { width: 100%;}
header div a {
    color: #192326;
    font-size: 15px;
    border: solid 1px;
    padding: 7px 14px;}
nav {
    width: 100%;
    max-width: 900px;
    padding: 0 2%;
    margin: 0 auto;}
.nav {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 14px auto 0;}
.nav li { margin: 0 2%;}
.nav li a {
    color: #192326;
    font-size: 20px;}
.mv {
    background-image: url(../img/mv.jpg);
    background-size: contain;
    background-repeat: no-repeat;
    border-top: solid 7px #e8c44f;
    border-bottom: solid 7px #e8c44f;
    width: 100%;
    height: 0;
    padding-bottom: 40%;
    margin: 0 auto;
    position: relative;}
.mv div {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    width: 19.637%;
    max-width: 205px;
    margin: 0 auto;}
.mv div img { width: 100%;}
.sct {
    margin: 7% auto 0;
    width: 94%;
    max-width: 900px;}
.sct h2 {
    text-align: center;
    font-family: "KMPm";
    font-size: 20px;
    position: relative;
    margin: 0 auto 7%;}
.sct h2 span:after {
    content: "";
    position: absolute;
    top: 140%;
    left: 50%;
    transform: translateY(0%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    width: 50px;
    height: 2px;
    background-color: #ebcc52;}
.message p {
    font-size: 20px;
    text-align: center;
    line-height: 2;
    font-family: "KMPm";}
.message p br { display: block;}
.project ul {
    width: 90%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;}

.project ul li {
    width: calc(100% / 3);
    text-align: center;
    margin: 0 auto 7%;
    position: relative;}
.project ul li:nth-child(1):after,
.project ul li:nth-child(2):after,
.project ul li:nth-child(4):after,
.project ul li:nth-child(5):after {
    content: "";
    background-image: url(../img/p.png);
    width: 2px;
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;}
.project ul li img {
    display: block;
    margin: 0 auto;
    width: 90%;
    max-width: 180px;}
.project ul li span {
    text-align: center;
    font-family: "KMPm";
    display: block;
    margin: 14px auto;
    font-size: 20px;}
.service {
    background-color: #eafdff;
    padding: 7% 0 3%;
    max-width: 100%;
    width: 100%;}
.service ul {
    width: 94%;
    max-width: 900px;
    margin: 0 auto;}
.service ul li {
    display: flex;
    width: 90%;
    margin: 0 auto 7%;}
.service ul li img {
    width: 30%;
    max-width: 240px;}
.service ul li p {
    width: 63%;
    margin: 0 0 0 7%;
    font-size: 20px;}
.service ul li p span {
    font-size: 24px;
    display: block;
    font-weight: bold;
    margin: 0 0 5% 0;}
.company ul {
    width: 94%;
    max-width: 500px;
    margin: 0 auto;
    line-height: 2;}
.company ul li {
    font-size: 14px;
    display: flex;}
.company ul li:first-child {
    font-size: 20px;
    margin: 0 0 14px 0;}
.company ul li span:first-child {
    width: 100px;
    display: inline-block;
    position: relative;}
.company ul li span:last-child { width: calc(100% - 100px);}
.company ul li span:first-child:after {
    content: ":";
    position: absolute;
    right: 10px;}
.contact form {
    width: 90%;
    max-width: 600px;
    margin: 0 auto;
    border: solid 1px #ccc;
    border-radius: 14px;
    padding: 5%;
    font-size: 15px;}
.contact form table {
    font-family: "KGPm";
    width: 100%;}
.contact form table tr th {
    color: #192326;
    font-weight: normal;
    width: 130px;
    position: relative;
    vertical-align: top;
    padding: 10px 0 0 0;}
.contact form table tr th span {
    font-size: 80%;
    float: right;}
.contact form table tr td {
    width: calc(100% - 130px);}
.contact form table tr td input {
    margin: 7px 0 0 5%;
    width: 95%;
    border: solid 1px #ccc;
    padding: 3px;}
.contact form table tr td textarea {
    margin: 7px 0 0 5%;
    width: 95%;
    border: solid 1px #ccc;
    padding: 3px;
    min-height: 100px;}
.contact form p { margin: 0;}
.contact form input[type="submit"],
.contact form button {
    letter-spacing: 14px;
    padding: 7px 20px 7px 34px;
    border: solid 1px;
    margin: 21px auto 0;
    display: block;
    border-radius: 0;
    background-color: #fff;}

@media screen and (max-width:797px) {
	header div { height: 50px;}
	header div h1 { width: 50%;}
	header div a { font-size: 3.7vw;}
	.nav li a { font-size: 3.7vw;}
	.sct { margin: 14% auto 0;}
	.message p br { display: none;}
	.sct h2 { font-size: 6vw;}
	.message p { font-size: 5vw;}
	.project ul li { width: calc(100% / 2);}
	.project ul li:nth-child(2):after,
	.project ul li:nth-child(4):after { display: none;}
	.project ul li:nth-child(1):after,
	.project ul li:nth-child(3):after,
	.project ul li:nth-child(5):after {
	    content: "";
	    background-image: url(../img/p.png);
	    width: 2px;
	    display: block;
	    height: 100%;
	    position: absolute;
	    top: 0;
	    right: 0;}
	.service ul {
	    margin: 14% auto 0;
	    padding: 0 0 7%;}
	.service ul li {
	    display: block;
	    margin: 0 auto 14%;
	    text-align: center;}
	.service ul li img {
	    width: 60%;
	    display: block;
	    margin: 0 auto;}
	.service ul li p {
	    width: 96%;
	    margin: 7% auto;
	    font-size: 4vw;
	    text-align: left;}
	.service ul li p span {
	    font-size: 4.5vw;
	    text-align: center;}
	.contact form table tr th {
	    display: block;
	    width: 100%;}
	.contact form table tr td {
	    width: 100%;
	    display: block;}
	.contact form table tr td input {
	    margin: 0px auto 7px;
	    width: 100%;}
	.contact form table tr td textarea {
	    margin: 0px auto 7px;
	    width: 100%;}
}

@media screen and (max-width:400px) {
	.project ul li { width: calc(100% / 1);}
	.project ul li img { width: 60%;}
	.project ul li span { font-size: 4.5vw;}
	.project ul li:nth-child(1):after,
	.project ul li:nth-child(2):after,
	.project ul li:nth-child(3):after,
	.project ul li:nth-child(4):after,
	.project ul li:nth-child(5):after { display: none;}
	.company ul li:first-child {
	    font-size: 20px;
	    margin: 0 auto 14px;
	    font-size: 5.5vw;
	    text-align: center;
	    width: 100%;
	    font-weight: bold;}
	.company ul li {
	    font-size: 5vw;
	    display: block;
	    margin: 0 auto 7%;}
	.company ul li span:first-child {
	    width: 100%;
	    display: block;
	    font-weight: bold;
	    text-align: center;}
	.company ul li span:first-child:after { display: none;}
	.company ul li span:last-child {
	    text-align: center;
	    display: block;
	    width: 100%;}
	.company ul li:last-child span:last-child { text-align: left;}
}


footer {
    background: #fff;
    text-align: center;
    padding: 7% 0 10px;}
footer .nav {
    border-bottom: solid 7px #e8c44f;
    font-family: "KGPm";}
footer div {
    width: 27.15%;
    max-width: 233px;
    margin: 3% auto 2%;}
footer div img { width: 100%;}
.clearfix:after{
	content: "";
	clear: both;
	display: block;}