+/* reset ================================ */
+* {
+ box-sizing: border-box;
+}
+
+html {
+ font: 100%/1.5 'Avenir Next', 'Hiragino Sans', sans-serif;
+ line-height: 1.7;
+ letter-spacing: 1px;
+}
+
+ul, li {
+ list-style-type: none;
+ padding: 0;
+ margin: 0;
+}
+
+a {
+ text-decoration: none;
+ color: #2d3133;
+ font-size: 14px;
+}
+
+h1, h2, h3, h4, h5, h6, p {
+ margin: 0;
+}
+
+input {
+ background-color: transparent;
+ outline-width: 0;
+}
+
+form input[type="submit"] {
+ border: none;
+ cursor: pointer;
+}
+
+/* 共通レイアウト ================================ */
+body {
+ color: #2d3133;
+ background-color: #3ecdc6;
+ margin: 0;
+ min-height: 1vh;
+}
+
+.main {
+ position: absolute;
+ top: 64px;
+ width: 100%;
+ height: auto;
+ min-height: 100%;
+ background-color: #f5f8fa;
+}
+
+.container {
+ max-width: 600px;
+ margin: 60px auto;
+ padding-left: 15px;
+ padding-right: 15px;
+ clear: both;
+}
+
+/* ヘッダー ================================ */
+header {
+ height: 64px;
+ position: absolute;
+ z-index: 1;
+ width: 100%;
+}
+
+.header-logo {
+ float: left;
+ padding-left: 20px;
+ color: white;
+ font-size: 22px;
+ line-height: 64px;
+}
+
+.header-logo a{
+ color: white;
+ font-size: 22px;
+}
+
+.header-menus {
+ float: right;
+ padding-right: 20px;
+}
+
+.header-menus li {
+ float: left;
+ line-height: 64px;
+ font-size: 13px;
+ color: white;
+ padding-left: 15px;
+}
+
+.header-menus a {
+ float: left;
+ font-size: 13px;
+ color: white;
+}
+
+.header-menus .fa {
+ padding-right: 5px;
+}
+
+.header-menus input[type="submit"] {
+ padding: 0 20px;
+ float: left;
+ line-height: 64px;
+ color: white;
+ margin: 0;
+ font-size: 13px;
+}
+
+/* top ================================ */
+.top-main {
+ padding: 200px 0 100px;
+ text-align: center;
+ position: absolute;
+ top: 0;
+ width: 100%;
+ height: auto;
+ min-height: 100%;
+ color: white;
+ background-color: #3ecdc6;
+ background-repeat: no-repeat;
+ background-position: center 50%;
+ background-size: cover;
+}
+
+.top-message {
+ position: relative;
+}
+
+.top-main h2 {
+ font-size: 70px;
+ font-weight: 500;
+ line-height: 1.3;
+ -webkit-font-smoothing: antialiased;
+ margin-bottom: 20px;
+}
+
+.top-main p {
+ font-size: 24px;
+}
+
+/* about ================================ */
+.about-main {
+ padding: 180px 8% 0;
+ color: white;
+}
+
+.about-main h2 {
+ font-size: 64px;
+ font-weight: 500;
+ line-height: 1.4;
+}
+
+.about-main p {
+ font-weight: 200;
+ font-size: 20px;
+}
+
+.about-img {
+ width: 84%;
+}
+
+/* フォーム================================ */
+.form {
+ max-width: 600px;
+ margin: 0 auto;
+ background-color: white;
+ box-shadow: 0 2px 6px #c1ced7;
+}
+
+.form-heading {
+ font-weight: 300;
+ margin: 60px 0 20px;
+ font-size: 48px;
+ color: #bcc8d4;
+}
+
+.form-body {
+ padding: 30px;
+}
+
+.form-error {
+ color: #ff4d75;
+}
+
+.form input {
+ width: 100%;
+ border: 1px solid #d8dadf;
+ padding: 10px;
+ color: #57575f;
+ font-size: 16px;
+ letter-spacing: 2px;
+ border-radius: 2px;
+}
+
+.form textarea {
+ width: 100%;
+ min-height: 110px;
+ font-size: 16px;
+ letter-spacing: 2px;
+}
+
+.form input[type="submit"] {
+ background-color: #3ecdc6;
+ color: white;
+ cursor: pointer;
+ font-weight: 300;
+ width: 120px;
+ border-radius: 2px;
+ margin-top: 8px;
+ margin-bottom: 0;
+ float: right;
+}
+
+.form-body:after {
+ content: '';
+ display: table;
+ clear: both;
+}
+
+/* フラッシュ ================================ */
+.flash {
+ padding: 10px 0;
+ color: white;
+ background: rgb(251, 170, 88);
+ text-align: center;
+ position: absolute;
+ top: 64px;
+ z-index: 10;
+ width: 100%;
+ border-radius: 0 0 2px 2px;
+ font-size: 14px;
+}