@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;
	font-family: fot-tsukubrdgothic-std, sans-serif;}
[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;}
header {}
footer {
	text-align: center;
	padding: 10px;
	margin: 7% auto 0;}
footer ul li {
	font-size: 13px;
	display: inline-block;
	margin: 0 7px;}
footer ul li a { color: #fff;}
.clearfix:after{
	content: "";
	clear: both;
	display: block;}
header {
    background-image: url(../img/mv.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
    position: relative;
    z-index: 1;}
header div {
    width: 40%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    text-align: center;}
header div img { width: 100%;}
header h1 {
    width: 68.89%;
    margin: 0 auto;
    max-width: 302px;}
header p {
    font-size: min(1.4vw,16px);
    margin: 7% auto 0;}
main {
    display: flex;}
section { width: calc(100% - 20%);}
aside { width: 20%;}
h2 {
    margin: 5% auto;
    text-align: center;
    font-size: min(3vw,30px);}
.message {
    text-align: center;
    font-size: min(2vw,20px);}
.project li {
    display: flex;
    width: 80%;
    margin: 0 auto;
    padding: 0 5% 3%;}
.project li img { width: 54.069%;}
.project li p {
    padding: 3% 0% 3% 7%;
    width: calc(100% - 54.069%);
    font-size: min(2vw,18px);
    line-height: 200%;}
.project li p span {
    display: block;
    font-weight: bold;
    font-size: min(2.2vw,20px);
    margin-left: -7%;}
.company { display: flex;}
.company li {
    width: 60%;
    vertical-align: top;}
.company li:first-child {
    width: 35%;
    padding-right: 4%;}
.company p {
    margin: 0 auto;
    width: 50%;
    padding: 0 5%;}
.company2 {
    width: 90%;
    margin: 5% auto;}
iframe { width: 50%;}
aside {
    position: fixed;
    top: 10%;
    right: 0;
    background: #fff;
    padding: 3%;}
aside li a {
    color: #333;
    font-size: 16px;
    line-height: 300%;
    text-decoration: none;}
footer div {
    width: 15%;
    margin: 3% auto 3%;}
footer div img { width: 100%;}

.contact a {
    background-color: #247bc4;
    color: #fff;
    width: 90%;
    max-width: 500px;
    display: block;
    border-radius: 50px;
    height: 100px;
    line-height: 100px;
    text-align: center;
    margin: 0 auto;
    min-width: 300px;}

@media screen and (max-width:700px) {
section { width: 100%;}
aside { display: none;}
header {
    background-image: url(../img/mv.jpg);
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: 30%;
    width: auto;
    height: 0;
    padding-bottom: 100vh;
    position: relative;}
header div { width: 90%;}
header h1 { width: 60%;}
header p {
    text-align: left;
    font-size: min(5.4vw,18px);}
header p br { display: none;}
#map iframe { height: 200px !important;}
.project li {
    display: flex;
    width: 100%;
    margin: 0 auto;
    padding: 0 3% 3%;}
h2 {
    margin: 10% auto 5%;
    font-size: min(5vw,30px);}
.message {
    text-align: center;
    font-size: min(3.6vw,20px);}
.company { display: block;}
.company p {
    width: 90%;
    padding: 0 5%;
    text-align: center;
    line-height: 200%;}
iframe {
    width: 100%;
    margin: 30px auto 0;
    display: block;}

}