@charset "utf-8"; body { background: #81bcd8; display: flex; flex-direction: column; font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; font-size: 20px; font-weight: normal; height: 100%; justify-content: space-between; line-height: 1.5em; min-height: 100vh; width: 100%; } a { color: #337ab7; } header { align-items: center; background: #fff; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); display: flex; flex-direction: column; justify-content: center; position: fixed; top: 0; transition: 0.5s; width: 100%; z-index: 6; } .site-header.hide { top: -50px; } a.site-logo { background-image: url(../images/logo.png); background-repeat: no-repeat; background-size: contain; display: block; height: 28px; margin: 20px auto 0; width: 290px; } .site-subtitle { font-size: 12px; letter-spacing: 0.35em; margin: 0 auto 10px; } .hero { background: #eee; max-height: 500px; overflow: hidden; } main { display: flex; flex-direction: column; flex-grow: 1; justify-content: flex-start; margin: 12vmax auto auto; max-width: 560px; padding: 30px 20px; width: 90%; } main.complete { align-items: center; padding: 30px 0; width: 100%; } h3 { color: #333; font-size: 18px; font-weight: 600; margin-bottom: 20px; } h3.error { color: #dc143c; } h3.answer { color: #333; } .form-content { background: #fcfcfc; border: 1px solid #e1e8ed; border-radius: 8px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); padding: 20px; } #textForm { position: relative; z-index: 1; } .form-content textarea { background: transparent; border: 1px solid #999; border-radius: 8px; box-sizing: border-box; color: #333; font-size: 16px; line-height: 1.4em; height: 11em; margin-bottom: 5px; padding: 12px; resize: vertical; width: 100%; } textarea:focus { border: solid 2px gold; outline: 0; } .placeholder { position: absolute; left: 0; top: 0; z-index: -1; color: #888; font-size: 15px; padding: 12px 15px; } .placeholder.hidden{ display: none; } /*.form-content p {*/ /* color: #666;*/ /* display: block;*/ /* font-size: 14px;*/ /* line-height: 1.6em;*/ /* margin-bottom: 15px;*/ /* margin-left: 0.5em;*/ /*}*/ .form-content .input-support { display: flex; justify-content: space-between; align-items: center; font-size: min(4vw, 16px); color: #666; margin-bottom: 20px; } .quotation-check { display: flex; justify-content: flex-start; align-items: center; gap: 0.3em; } input[type="checkbox"] { position: relative; width: 20px; height: 20px; border: 1px solid #999; border-radius: 3px; vertical-align: -5px; } input[type="checkbox"]:checked:before { position: absolute; bottom: 5px; left: 5px; transform: rotate(50deg); width: 9px; height: 18px; border-right: 4px solid #1d9bf0; border-bottom: 4px solid #1d9bf0; content: ''; } input[type="checkbox"]:checked { /*border: 1px solid #333;*/ background: #ddd; } #submitButton { align-items: center; background-color: #1d9bf0; border: none; border-radius: 8px; color: #fff; cursor: pointer; display: flex; font-size: 16px; font-weight: 600; letter-spacing: 0.1em; gap: 10px; justify-content: center; padding: 12px 24px; transition: background-color 0.3s; width: 100%; } #submitButton:disabled { cursor: not-allowed; } #submitButton:hover { background-color: #1a8cd8; } #submitButton.loading { background-color: #ddd; color: #555; cursor: not-allowed; padding-left: 30px; position: relative; } .spin_icon { animation-duration: 1s; animation-iteration-count: infinite; animation-name: spin; animation-timing-function: linear; border: solid 4px; border-color: #555 #00000020 #00000020; border-radius: 50%; height: 16px; position: relative; width: 16px; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .errors { font-size: 15px; margin-top: 15px; } .errors>p { background-color: #fff2f9; color: #dc143c; margin: 6px auto; padding: 0 4px; } .errors>p::before { content: "\f06a"; font-family: "Font Awesome 5 Free"; font-weight: 900; margin-right: 0.5em; } .success { display: flex; flex-direction: column; justify-content: center; align-items: center; } img.generated { margin: auto; width: 98vw; max-width: 600px; } .shareable-parts { display: flex; align-items: center; justify-content: center; gap: 30px; margin: 30px auto 50px; } .x-share-button { display: inline-flex; align-items: center; justify-content: center; background-color: #111; /* Twitter Blue */ color: white; font-size: 12px; text-decoration: none; padding: 0 16px; border-radius: 20px; transition: background-color 0.3s ease; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); } .x-share-button:before { content: '𝕏' !important; font-family: sans-serif !important; font-size: 1.2em; padding-right: 5px; } .x-share-button:hover { background-color: #333; /* Darker shade on hover */ } .image-copy-button { display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: bold; color: #555; background-color: #fff; border: 2px solid #f0f0f0; border-radius: 6px; cursor: pointer; transition: background-color 0.2s ease, border-color 0.2s ease; outline: none; padding: 4px 12px; } .image-copy-button::before { font-family: "Font Awesome 5 Free"; /* Font Awesomeのフォントを指定 */ content: "\f0c5"; /* コピーアイコンのUnicodeを指定 */ font-weight: 900; /* アイコンのスタイル(solid) */ margin-right: 8px; /* テキストとの間にスペースを追加 */ } .image-copy-button:hover { background-color: #f0f0f0; border-color: #bbb; color: goldenrod; } .image-copy-button:active { background-color: #e0e0e0; border-color: #aaa; } .image-copy-button:focus { border-color: #888; } .back-btn-view { width: 100vw; max-width: 600px; } .back-button { align-items: center; background: #777; border: none; border-radius: 8px; color: #fff; cursor: pointer; display: flex; font-size: 0.9rem; justify-content: center; margin: 0 auto; padding: 12px 24px; transition: background-color 0.3s; width: 50%; } .back-button:hover { background: #666; } .retry-button { align-items: center; background: #e5779c; border: none; border-radius: 8px; color: #fff; cursor: pointer; display: flex; font-size: 0.9rem; font-weight: bold; letter-spacing: 0.05em; justify-content: center; margin: 0 auto; padding: 12px 24px; transition: background-color 0.3s; width: 50%; min-width: 200px; } .retry-button:hover { background: #cc6a8a; } .share-buttons { display: flex; gap: 30px; justify-content: center; margin: 40px auto 30px; } footer { padding: 0.6em 0; color: #999; background: #1d1e22; width: 100%; } .footer-sitemap { width: 90vw; max-width: 500px; margin: 0 auto; } .footer-sitemap ul { font-size: 13px; display: flex; list-style: none; justify-content: space-between; flex-wrap: wrap; align-items: center; } footer a { color: #ccc; text-decoration: none; } footer a:hover { color: #bbb; } hr { height: 1px; border: 0; border-top: 1px solid #35363b; width: 98vw; margin: 10px auto; } .footer-bottom { display: flex; justify-content: center; align-items: center; gap: 1em; /*background: #333;*/ } .copyright { font-size: 13px; text-decoration: none; } .grecaptcha-badge { visibility: hidden; } .bx-alert { display: flex; align-items: center; padding: 10px; margin-bottom: 20px; box-shadow: 0 0 5px #999; font-size: min(3vw, 16px); color: #fff; gap: 0.5rem; line-height: 1.5; } .bx-alert i { color: #fff; font-size: 1.2rem; } .bx-alert>a { cursor: pointer; margin-left: auto; } .hide-box { opacity: 0; visibility: hidden; /*transition: opacity 0.5s, visibility 1s;*/ margin: 0; padding: 0; } .bx-alert-warning { background-color: #F29C33; } .fa-exclamation-triangle { color: #F29C33; } .alert { display: flex; align-items: center; padding: 10px; margin-bottom: 20px; box-shadow: 0 0 5px #999; border: 1px solid transparent; border-radius: 0.25rem; color: #555; background-color: #fcfcfc; font-size: min(3vw, 16px); gap: 0.5rem; line-height: 1.5; } .alert i { font-size: 1.2rem; } .alert>a { cursor: pointer; color: #D4D4D4; margin-left: auto; } .alert-warning { border-left: 5px solid #F29C33; } .fa-exclamation-triangle { color: #F29C33; } .hide-box { opacity: 0; visibility: hidden; transition: opacity 0.5s, visibility 1s; margin: 0; padding: 0; line-height: 0; } .limit-date { /*font-size: 0.95em;*/ font-weight: bold; letter-spacing: 0.05em; padding: 0 0.4em; } @media (min-width: 400px) { .form-content { padding: 30px 30px 20px; } } @media (min-width: 960px) { main { margin: 13vh auto auto; } .form-content { padding: 40px 30px 20px; } .shareable-parts { margin-bottom: 60px; } }