+/* 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; +}