
/*--------------------------------------------------------------
1.0 - Reset
--------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
}
html {
	font-size: 62.5%; /* Corrects text resizing oddly in IE6/7 when body font-size is set using em units http://clagnut.com/blog/348/#c790 */
	overflow-y: scroll; /* Keeps page centered in all browsers regardless of content height */
	-webkit-text-size-adjust: 100%; /* Prevents iOS text size adjust after orientation change, without disabling user zoom */
	-ms-text-size-adjust:     100%; /* www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/ */
}
*,
*:before,
*:after { /* apply a natural box layout model to all elements; see http://www.paulirish.com/2012/box-sizing-border-box-ftw/ */
	-webkit-box-sizing: border-box; 
	-moz-box-sizing:    border-box;
	box-sizing:         border-box;
}
body {}
div,article,aside,details,figcaption,figure,footer,header,main,nav,section {
	display: block;
	box-sizing:border-box;
}
ol, ul {
	list-style: none;
}
caption,th, td{
	font-weight: normal;
	text-align: left;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}
a:focus {outline: none;}
a:hover,a:active {
	outline: 0;
}
img{
	display: inline-block;
	border: 0;
}
img.fix{
	width: 100%!important;
	height: auto!important;
	display: block!important;
}
/*--------------------------------------------------------------
2.0 Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
textarea {
	color: #222;
	font-family:'Lucida Grande','Hiragino Kaku Gothic ProN',Meiryo,メイリオ,sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing:0.08em;
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 {clear: both;}
p {text-align: justify;}
b, strong {font-weight: bold;}
dfn, cite, em, i {}
blockquote {}
address {}
pre {text-align: justify;}

.pc{display: block;}
.sp{display: none;}
@media screen and (max-width:640px){
.pc{display: none;}
.sp{display: block;}
}

/* セクション基本 */
section { padding: 4rem 0; }

#site-header{position: relative;}
#site-header .content{
	position: absolute;
	width:90%;
	height:450px;
	top:90px;
	left:0;
	right:0;
	bottom:60px;
	margin: auto;
}
#site-header .site-title {
	width:100%;
	height:350px;
	background-image: url('./images/logo.svg');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	text-indent: -999em;
	overflow: hidden;
}
#site-header .site-tagline{
	position: absolute;
	bottom:0;
	left:0;
	right:0;
	margin: auto;
	color:#fff;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}

#site-information{
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width:800px;
	height:60px;
	line-height: 60px;
	border-radius:30px;
	margin: 0 auto;
	margin-top:-30px;
	margin-bottom: -70px;
	z-index: 9999;
	background-color:#fff;
	border:4px #ed1c24 solid;
}
#site-information p{
	font-size:24px;
	text-align: center;
	font-weight: bold;
}

/* フッター */
#site-footer { padding: 2rem 0; font-size: .9rem; color: #444; }
#site-footer .social { display: flex; gap: .75rem; list-style: none; padding: 0; margin: .5rem 0 0; }

#hero{
	position: relative;
}

h2#hero-heading{
	position: absolute;
	top:55%;
	left:0;
	right:0;
	margin:auto;
	color:#fff;
	text-shadow: 1px 1px #666;
	font-size:28px;
	font-weight: bold;
	text-align: center;
}

h2#features-heading{
	font-size:24px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 40px;
}
#features_list{
	display: flex;
	justify-content: space-around;
	padding:20px 40px;
}
.features_item{
	width: 100%;
	flex-basis: 30%;
	border:1px #ccc solid;
	border-radius: 5px;
	padding:25px;
}
.features_item h3{
	font-weight: bold;
	text-align: center;
	padding:5px 0px;
	font-size: 22px;
}
h2#works-heading{
	font-size:24px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 40px;
}

.grid{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	padding:20px 40px;
}
.card{
	width: 100%;
	flex-basis: 30%;
	border-radius: 5px;
	padding:25px;
}


@media screen and (max-width:640px){
	#site-information{width:90%;}
	#site-information p{font-size:17px;}
	h2#hero-heading{font-size:18px;}
	#site-header .site-tagline{font-size: 18px;}
	#features_list{display:block;}
}