@charset "utf-8";
html, body {
	height: 100%;
}
body {
	font-size: 14px;
	line-height: 1.6;
	color: #444;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
a {
	color: #333;
	text-decoration: none;
}
h1, h2, h3 {
	font-weight: bold;
	font-size: 30px;
}
h3 {
	font-size: 18px;
}
.backstretch {
	opacity: 0.3;
}
.inner {
	max-width: 1200px;
	padding: 20px;
	margin: auto;
}
header {
	text-align: center;
	padding: 150px 0 50px;
}
header h1 {
	margin-bottom: 10px;
	text-align:center;
}
header h1 a img{
	max-width:none;
	display:block;
	width:209px;
	margin:auto;
}
#mainnav {
	margin-top: 30px;
	text-align: center;
}
#mainnav .spmenu {
    display: none;
}
#mainnav ul {
	border-top: 1px solid #666;
}
#mainnav li {
	display: inline-block;
	padding: 20px;
	position: relative;
}
#mainnav li span {
	display: block;
	font-size: 12px;
}
#mainnav li a {
	padding: 20px 0;
}
#mainnav li a:hover {
	color: #F60;
}
#home #bt1:after, #about #bt2:after, #flow #bt3:after, #profile #bt4:after, #contact #bt5:after, #privacy #bt6:after {
	content: "";
	position: absolute;
	left: 50%;
	top: -5px;
	margin-left: -5px;
	width: 10px;
	height: 10px;
	border-radius: 5px;
	background-color: #666;
}
#content {
	text-align: center;
	margin-bottom: 30px;
}
#works {
	text-align: center;
}
#works li {
	display: inline-block;
	border: solid 1px #ccc;
	text-align: left;
	border-radius: 45px 10px 10px 45px;
	padding: 5px;
	background-color: #FFFFFF;
	min-width: 200px;
}
#works li figure {
	float: left;
	margin-right: 10px;
}
#works li img {
	border-radius: 40px;
	border: solid 1px #ccc;
}
footer {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: rgba(255,255,255,0.5);
	height: 30px;
}
footer p {
	padding: 5px 0 0 10px;
}
footer small {
	font-size: 12px;
}
footer #footernav {
	float: right;
	padding-right: 10px;
}
footer #footernav li {
	display: inline;
	padding: 5px;
	font-size: 140%;
}
#footernav .counter {
	display: none!important;
}
/* front page ----------------------------------------------------------------- */
#home .backstretch {
	opacity: 1;
}
#home #wrapper {
	height: 100%;
}
#home header {
	height: 100%;
	position: relative;

}
#home header h1 {
	position: absolute;
	left: 50%;
	top: 50%;
	margin: -30px 0 0 -100px;
}
#home header p {
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	margin-top: 30px;
}
#home #mainnav {
	background-color: rgba(255,255,255,0.7);
	position: absolute;
	bottom: 30px;
	width: 100%;
	padding-top: 10px;
}
#home #content {
	background-color: #fff;
}
#topimage {
	width: 100%;
	text-align: center;
	padding: 20px;
}
#home section {
	text-align: center;
	margin-bottom: 20px;
}
/* contact page ----------------------------------------------------------------- */
.formTable {
	width: 80%;
	margin: auto;
}
.formTable th {
	text-align: right;
	padding: 5px;
	vertical-align: top;
	width: 40%;
}
.formTable td {
	text-align: left;
	padding: 5px;
}
.formTable input[type="text"], .formTable input[type="email"], .formTable input[type="tel"] {
	width: 30em;
}
.formTable textarea {
	width: 30em;
	height: 5em;
}
.formTable th span {
	color: #BF0508;
	padding-left: 5px;
}
input[type="submit"] {
	width: 200px;
	margin: 20px auto;
	display: block;
	background-color: #fff;
}
/* about page ----------------------------------------------------------------- */

#merits {
	-js-display: flex;
	display: flex;
}
#merits .box {
	flex: 1;
	padding: 20px;
	background-color: #fff;
	margin: 20px;
	border: solid 1px #ccc;
	border-radius: 10px;
}
#merits .box p {
	text-align: center;
}
.merit {
	text-align: left;
	margin: 0 auto;
}
.merit h3 {
	text-align: center;
	border-bottom: solid 1px #ccc;
	padding-bottom: 5px;
	margin-bottom: 10px;
}
.merit li {
	margin-bottom: 5px;
	line-height: 1.4em;
}
.merit li:before {
	content: "●"
}
#answer1 h3, #answer1.merit li:before {
	color: #B81D22;
}
#answer2 h3, #answer2.merit li:before {
	color: #01478A;
}
#answer3 h3, #answer3.merit li:before {
	color: #007F41;
}
/* flow page ----------------------------------------------------------------- */
article {
	margin-bottom: 30px;
	position: relative;
	text-align: left;
}
article .table {
	display: flex;
}
.table .yajiri {
	flex: 1;
	position: relative;
}
.table .illust {
	flex: 2;
}
.table .sp {
	display: none;
}
.table .clowd {
	flex: 1;
	margin-left: 50px;
	border: 3px solid #005BAB;
	border-radius: 10px;
	padding: 20px;
	background-color: #fff;
}
.clowd p {
	width: 100%
}
.clowd h2 {
	text-align: center;
}
/* profile page ----------------------------------------------------------------- */

#proftable {
	width: 80%;
	margin: 20px auto;
}
#proftable tr:nth-of-type(odd) {
	background-color: rgba(183,233,249,0.49);
}
#proftable tr:nth-of-type(even) {
	background-color: rgba(255,255,255,0.49);
}
#proftable th {
	text-align: right;
	padding: 10px;
	width: 40%;
}
#proftable td {
	text-align: left;
	padding: 10px;
}

/* privacy page ----------------------------------------------------------------- */
#privacy #content {
    text-align: left;
}
#privacy #content h1 {
    text-align: center;
}
#privacy #content h2 {
    font-size: 18px;
    margin: 20px 0 10px;
    border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 780px) {/*780px以下（タブレット）の場合のスタイル*/
#wrapper {
	width: 100%;
}
}

@media screen and (max-width: 490px) {/*490px以下（スマートフォン）の場合のスタイル*/
h1, h2 {
	font-size: 20px;
}
header {
}
#merits {
	display: block;
}
#merits .box {
	margin: 20px 0;
	padding: 10px;
}
#home #mainnav {
	bottom: inherit;
	padding-top: 5px;
    
}
header #mainnav,
	#home #mainnav {
	position: fixed;
	top: 0;
	left: 0%;
	width: 100%;
	background-color: transparent;
	margin-top: 0;
	z-index: 100;
}
    #home header p.spmenu,
    header #mainnav .spmenu {
        display: inline-block;
        position: absolute;
        width: auto;
        left:auto;
        right: 10px;
        top: 10px;
        background-color: #fff;
        border: solid 1px #999;
        padding: 5px 10px;
        border-radius: 5px;
        margin-top: 0;
    }	
    header #mainnav .spmenu i {
        font-size: 45px;
        display: block;
    }
header #mainnav ul {
    position: absolute;
    left: 100%;
    transition: all 300ms 0s ease;
    width: 80%;
margin-top: 100px;
	border: none;
	padding-bottom: 5px;
    background-color: rgba(255,255,255,0.8);
}
    header #mainnav ul.active {
        left: 10%;
    }   
header #mainnav li {
display: block;
	padding: 0 0 0 20px;
	border-bottom: 1px solid #ccc;
    margin: 10px;
    text-align: left;
}
header #mainnav li a {
	padding: 10px;
	font-size: 100%;
    display: block;
}
header #mainnav li a span {
	font-size: 100%;
    margin-left: 10px;
    display: inline;
}
#home #bt1:after, #about #bt2:after, #flow #bt3:after, #profile #bt4:after, #contact #bt5:after, #privacy #bt6:after {
    position: absolute;
	top: 16px;
	left: 15px;
}
/* flow */
	h2#touentitle,
	h2#kouentitle {
		border-bottom: 2px dotted #fff;
		text-align: center;
		margin: 20px 0;
	}
article .table {
	display: block;
}
.table .yajiri {
	display: none;
}
.table .sp {
	width: 100%;
	display: block;
	margin: 20px auto;
	text-align: center;
	background-color: rgba(255,255,255,0.5);
	padding: 20px;
	border-radius: 10px;
}
.table .clowd {
	margin-left: 0;
}
/* profile */
#proftable {
	width: 100%;
	margin: 20px auto;
}
#proftable th {
	width: auto;
}
/* contact */
.formTable th,  .formTable td {
	display: block;
	text-align: left;
}
.formTable th {
	padding-bottom: 0;
}
.formTable td {
	padding-top: 0;
}
.formTable input[type="text"],  .formTable input[type="email"],  .formTable input[type="tel"],  .formTable textarea {
	width: 25em;
	padding: 5px;
}
}
