@charset "UTF-8";
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

html {
  padding: 0;
  margin: 0;
  background: #fff;
  text-size-adjust: 100%;
  line-height: 1.42857143; }

body {
  min-width: 320px;
  margin: 0;
  background: #fff;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Helvetica Neue", Helvetica, Arial, "メイリオ", Meiryo, "Meiryo UI", "MS UI Gothic", "ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ ゴシック", "MS Gothic", sans-serif;
  font-size: 10px; }

input, select, textarea, button {
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Helvetica Neue", Helvetica, Arial, "メイリオ", Meiryo, "Meiryo UI", "MS UI Gothic", "ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ ゴシック", "MS Gothic", sans-serif;
  outline: none; }

input[type="text"], input[type="password"], input[type="submit"], select, textarea, button {
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
  cursor: pointer;
  -moz-appearance: none;
  -webkit-appearance: none; }

input[type="text"], input[type="password"], textarea {
  font-size: 16px;
  cursor: text; }

button {
  line-height: 1.42857143; }

p {
  margin: 10px; }

input[type="text"] {
  display: block;
  width: 100%;
  height: 50px;
  padding: 0 10px;
  border: 1px solid #ddd;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  font-size: 20px; }
  input[type="text"]::placeholder {
    color: #ccc; }

@media screen and (max-width: 500px) {
  input[type="text"] {
    font-size: 18px; } }
textarea {
  display: block;
  width: 100%;
  min-height: 300px;
  padding: 10px;
  border: 1px solid #ddd;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  font-size: 20px; }
  textarea::placeholder {
    color: #ccc; }

@media screen and (max-width: 500px) {
  textarea {
    font-size: 18px; } }
select {
  display: inline-block;
  width: auto;
  height: 50px;
  padding: 0 10px;
  border: 1px solid #959595;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  background: #fff;
  font-size: 20px;
  color: #333; }

@media screen and (max-width: 500px) {
  select {
    font-size: 18px; } }
input[type="submit"], button {
  display: inline-block;
  padding: 20px 30px;
  border: none;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  background: #5c9aff;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  -moz-user-select: -moz-none;
  -ms-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  -moz-transition: background 0.2s ease 0s;
  -o-transition: background 0.2s ease 0s;
  -webkit-transition: background 0.2s ease;
  -webkit-transition-delay: 0s;
  transition: background 0.2s ease 0s; }
  input[type="submit"]:hover, input[type="submit"]:focus, input[type="submit"]:active, button:hover, button:focus, button:active {
    background: #76aaff; }

.input.error input[type="text"], .input.error input[type="password"], .input.error textarea, .validation-error input[type="text"], .validation-error input[type="password"], .validation-error textarea {
  border-color: #d54d52; }

.input .error-message, .validation-error .error-message {
  display: block;
  padding: 4px 8px;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  margin: 4px 0 0 0;
  background: #e65656;
  font-size: 12px;
  color: #fff; }
  .input .error-message ul, .validation-error .error-message ul {
    padding: 0;
    margin: 0;
    list-style: none; }

.input .rule {
  display: block;
  padding: 4px 8px;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  margin: 4px 0 0 0;
  background: #3978c6;
  font-size: 12px;
  color: #fff; }

.input {
  margin: 0 0 30px 0; }
  .input label {
    display: block;
    padding: 10px 0 10px 20px;
    border-left: 1px solid #ccc;
    margin: 0 0 20px 0;
    font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Helvetica Neue", Helvetica, Arial, "メイリオ", Meiryo, "Meiryo UI", "MS UI Gothic", "ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ ゴシック", "MS Gothic", sans-serif;
    font-size: 20px;
    color: #333; }
  .input .content {
    padding: 0 0 20px 0;
    font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Helvetica Neue", Helvetica, Arial, "メイリオ", Meiryo, "Meiryo UI", "MS UI Gothic", "ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ ゴシック", "MS Gothic", sans-serif;
    font-size: 20px; }

form .actions {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center; }

@media screen and (max-width: 500px) {
  .input label {
    font-size: 18px; }
  .input .content {
    font-size: 18px; } }
#footer {
  background: #333; }
  #footer .main .footer-contents {
    width: 1000px;
    padding: 40px;
    margin: 0 auto; }
  #footer .logo {
    margin: 0 0 40px 0;
    font-size: 20px; }
    #footer .logo a {
      display: -webkit-flex;
      display: flex;
      -webkit-flex-flow: column;
      flex-flow: column;
      -webkit-justify-content: center;
      justify-content: center;
      color: #fff;
      text-decoration: none; }
    #footer .logo small {
      font-size: 14px;
      font-weight: 600; }
    #footer .logo span {
      font-weight: 900; }
    #footer .logo img {
      width: 400px; }
  #footer .row {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin: 0 0 40px 0; }
  #footer .navs ul {
    padding: 0;
    margin: 0;
    list-style: none; }
  #footer .navs a {
    font-size: 16px;
    color: #fff;
    text-decoration: none;
    -moz-transition: color 0.2s ease 0s;
    -o-transition: color 0.2s ease 0s;
    -webkit-transition: color 0.2s ease;
    -webkit-transition-delay: 0s;
    transition: color 0.2s ease 0s; }
  #footer .navs a:hover, #footer .navs a:focus, #footer .navs a:active {
    color: #5c9aff; }
  #footer .profile {
    max-width: 380px;
    font-weight: 900;
    color: #fff; }
    #footer .profile .container {
      padding: 20px;
      border: 4px solid #fff;
      -moz-border-radius: 10px;
      -webkit-border-radius: 10px;
      border-radius: 10px; }
    #footer .profile .operation {
      margin: 0 0 10px 0;
      font-size: 16px; }
    #footer .profile .operation .title {
      margin: 0 6px 0 0; }
    #footer .profile address {
      margin: 0 0 10px 0;
      font-size: 16px;
      font-style: normal; }
    #footer .profile address .zip-code {
      margin: 0 6px 0 0; }
    #footer .profile .email .title {
      margin: 0 6px 0 0;
      font-size: 12px; }
    #footer .profile .email a {
      font-size: 16px;
      color: #fff;
      text-decoration: none; }
  #footer #copyright {
    font-size: 16px;
    color: #fff;
    text-align: right; }

#footer .contact {
  padding: 80px 0;
  background: #214580;
  font-weight: 900;
  color: #fff;
  text-align: center; }
  #footer .contact > p {
    font-size: 26px; }
    #footer .contact > p span {
      display: inline-block; }
  #footer .contact .tel {
    margin: 0 0 12px 0; }
    #footer .contact .tel .title {
      margin: 0 20px 0 0;
      font-size: 50px; }
    #footer .contact .tel .content {
      font-size: 70px; }
    #footer .contact .tel a {
      color: #fff;
      text-decoration: none; }
  #footer .contact .business-hours {
    font-size: 30px; }
    #footer .contact .business-hours .container {
      padding: 6px 20px;
      -moz-border-radius: 2px;
      -webkit-border-radius: 2px;
      border-radius: 2px;
      background: #fff;
      color: #214580; }

@media screen and (max-width: 1200px) {
  #footer .logo img {
    width: 100%;
    max-width: 300px; } }
@media screen and (max-width: 1080px) {
  #footer .main .footer-contents {
    width: auto; } }
@media screen and (max-width: 768px) {
  #footer .logo {
    margin: 0 0 40px 0; }
  #footer .row {
    -webkit-flex-flow: column;
    flex-flow: column; }
  #footer .navs {
    padding: 20px 0;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    margin: 0 0 40px 0; }

  #footer .contact > p {
    font-size: 22px; }
  #footer .contact .tel .title {
    font-size: 40px; }
  #footer .contact .tel .content {
    font-size: 60px; }
  #footer .contact .business-hours {
    font-size: 26px; } }
@media screen and (max-width: 600px) {
  #footer .contact > p {
    font-size: 22px; }
  #footer .contact .tel .title {
    margin: 0 16px 0 0;
    font-size: 30px; }
  #footer .contact .tel .content {
    font-size: 50px; }
  #footer .contact .business-hours {
    font-size: 20px; } }
@media screen and (max-width: 500px) {
  #footer .contact > p {
    font-size: 20px; }
  #footer .contact .tel .title {
    margin: 0 10px 0 0;
    font-size: 26px; }
  #footer .contact .tel .content {
    font-size: 40px; }
  #footer .contact .business-hours {
    font-size: 18px; } }
@media screen and (max-width: 425px) {
  #footer .main .footer-contents {
    padding: 40px 20px; } }
@media screen and (max-width: 400px) {
  #footer .contact > p {
    font-size: 18px; }
  #footer .contact .tel .title {
    display: block;
    margin: 0; } }
.dialog {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 4040;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1;
  -moz-transition: opacity 0.2s ease 0s;
  -o-transition: opacity 0.2s ease 0s;
  -webkit-transition: opacity 0.2s ease;
  -webkit-transition-delay: 0s;
  transition: opacity 0.2s ease 0s; }

.fade-enter.dialog, .fade-leave-to.dialog {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0; }

.dialog-content {
  display: block;
  width: 800px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  border-radius: 6px;
  margin: 60px auto;
  background: #fff;
  position: relative;
  z-index: 4050;
  -moz-box-shadow: 0 0 100px 0 #4d4d4d;
  -webkit-box-shadow: 0 0 100px 0 #4d4d4d;
  box-shadow: 0 0 100px 0 #4d4d4d;
  -moz-transition: box-shadow 0.2s ease 0s;
  -o-transition: box-shadow 0.2s ease 0s;
  -webkit-transition: box-shadow 0.2s ease;
  -webkit-transition-delay: 0s;
  transition: box-shadow 0.2s ease 0s; }
  .dialog-content > .body {
    width: 80%;
    padding: 40px 0;
    margin: 0 auto;
    position: relative;
    font-size: 14px;
    word-wrap: break-word;
    word-break: break-all;
    word-break: break-word; }
  .dialog-content h3 {
    padding: 30px 20px;
    -moz-border-radius-topleft: 6px;
    -webkit-border-top-left-radius: 6px;
    border-top-left-radius: 6px;
    -moz-border-radius-topright: 6px;
    -webkit-border-top-right-radius: 6px;
    border-top-right-radius: 6px;
    margin: 0;
    background: #5c9aff;
    font-size: 18px;
    text-align: center;
    color: #fff; }
  .dialog-content table {
    width: 100%;
    margin: 20px 0;
    font-size: 16px;
    border-collapse: collapse; }
  .dialog-content th {
    width: 40%;
    padding: 10px;
    background: #f3f3f3; }
  .dialog-content td {
    padding: 0 20px; }
    .dialog-content td .container {
      width: 250px;
      height: 40px;
      line-height: 40px;
      overflow: hidden;
      white-space: nowrap;
      white-space: nowrap;
      overflow: hidden;
      -ms-text-overflow: ellipsis;
      -o-text-overflow: ellipsis;
      text-overflow: ellipsis; }
  .dialog-content tr:first-child th {
    -moz-border-radius-topleft: 6px;
    -webkit-border-top-left-radius: 6px;
    border-top-left-radius: 6px; }
  .dialog-content tr:first-child td {
    -moz-border-radius-topright: 6px;
    -webkit-border-top-right-radius: 6px;
    border-top-right-radius: 6px; }
  .dialog-content tr:last-child th {
    -moz-border-radius-bottomleft: 6px;
    -webkit-border-bottom-left-radius: 6px;
    border-bottom-left-radius: 6px; }
  .dialog-content tr:last-child td {
    -moz-border-radius-bottomright: 6px;
    -webkit-border-bottom-right-radius: 6px;
    border-bottom-right-radius: 6px; }
  .dialog-content > .footer {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 100%;
    padding: 20px;
    -moz-border-radius-bottomleft: 6px;
    -webkit-border-bottom-left-radius: 6px;
    border-bottom-left-radius: 6px;
    -moz-border-radius-bottomright: 6px;
    -webkit-border-bottom-right-radius: 6px;
    border-bottom-right-radius: 6px;
    background: #5c9aff;
    text-align: center; }
  .dialog-content form {
    margin: 0; }
  .dialog-content form > .actions {
    margin: 20px 0 0 0;
    *zoom: 1; }
    .dialog-content form > .actions:after {
      content: "";
      display: table;
      clear: both; }
    .dialog-content form > .actions button, .dialog-content form > .actions a {
      padding: 10px 30px;
      border: none;
      -moz-border-radius: 4px;
      -webkit-border-radius: 4px;
      border-radius: 4px;
      background: #5c9aff;
      font-size: 14px;
      color: #fff;
      text-decoration: none;
      -moz-user-select: -moz-none;
      -ms-user-select: none;
      -webkit-user-select: none;
      user-select: none; }
    .dialog-content form > .actions .cancel {
      border: 1px solid #ddd;
      float: left;
      background: #fff;
      color: #aaa; }
    .dialog-content form > .actions .execute {
      float: right; }
    .dialog-content form > .actions .execute:disabled, .dialog-content form > .actions .execute[disabled] {
      background: #ddd;
      color: #eee; }
  .dialog-content .load {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    height: 50px;
    border: 1px solid #eee;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    margin: 20px 0 0 0;
    font-size: 14px;
    color: #888;
    text-decoration: none; }

body.overlaying-by-dialog {
  height: 100%;
  overflow: hidden; }

@media screen and (max-width: 1024px) {
  body.overlaying-by-dialog {
    height: 100%;
    overflow: hidden; } }
.overlay {
  background: transparent;
  background: rgba(255, 255, 255, 0.7);
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3000;
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1;
  -moz-transition: opacity 0.2s ease 0s;
  -o-transition: opacity 0.2s ease 0s;
  -webkit-transition: opacity 0.2s ease;
  -webkit-transition-delay: 0s;
  transition: opacity 0.2s ease 0s; }

body.overlaying {
  height: 100%;
  overflow: hidden; }

@media \0screen {
  .overlay {
    filter: progid:DXImageTransform.Microsoft.gradient(gradientType=0, startColorstr='#B3333333', endColorstr='#B3333333'); } }
#menu-opener {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: column;
  flex-flow: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  padding: 5px 0 0 0;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  -moz-box-shadow: 0 0 100px 10px #aaa;
  -webkit-box-shadow: 0 0 100px 10px #aaa;
  box-shadow: 0 0 100px 10px #aaa;
  position: fixed;
  top: 30px;
  right: 30px;
  background: #fff;
  color: #333;
  text-decoration: none; }

#menu-opener:before {
  content: "\f0c9";
  font-family: 'Font Awesome 6 Free';
  font-style: normal;
  font-weight: 900;
  font-size: 30px;
  line-height: 26px;
  color: #333; }

#menu.dialog {
  left: auto;
  overflow: visible; }

#menu .dialog-content {
  width: 400px;
  height: 100%;
  padding: 30px;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
  margin: 0;
  background: #eaeaea; }
  #menu .dialog-content .close {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: right;
    justify-content: right;
    margin: 0 0 20px 0; }
    #menu .dialog-content .close a {
      display: -webkit-flex;
      display: flex;
      -webkit-flex-flow: column;
      flex-flow: column;
      -webkit-align-items: center;
      align-items: center;
      -webkit-justify-content: center;
      justify-content: center;
      width: 60px;
      height: 60px;
      padding: 5px 0 0 0;
      text-decoration: none;
      color: #333; }
    #menu .dialog-content .close a:before {
      content: "\f00d";
      font-family: 'Font Awesome 6 Free';
      font-style: normal;
      font-weight: 900;
      font-size: 20px;
      line-height: 26px; }
  #menu .dialog-content .logo {
    margin: 0 0 40px 0; }
    #menu .dialog-content .logo img {
      width: 90%; }
  #menu .dialog-content .navs {
    padding: 20px 0;
    border-top: 1px solid #333;
    border-bottom: 1px solid #333;
    margin: 0 0 40px 0; }
    #menu .dialog-content .navs ul {
      padding: 0;
      margin: 0;
      list-style: none; }
    #menu .dialog-content .navs a {
      font-size: 16px;
      color: #333;
      text-decoration: none;
      -moz-transition: color 0.2s ease 0s;
      -o-transition: color 0.2s ease 0s;
      -webkit-transition: color 0.2s ease;
      -webkit-transition-delay: 0s;
      transition: color 0.2s ease 0s; }
    #menu .dialog-content .navs a:hover, #menu .dialog-content .navs a:focus, #menu .dialog-content .navs a:active {
      color: #5c9aff; }
  #menu .dialog-content .profile {
    max-width: 380px;
    font-weight: 900;
    color: #333; }
    #menu .dialog-content .profile .container {
      padding: 20px;
      border: 4px solid #333;
      -moz-border-radius: 10px;
      -webkit-border-radius: 10px;
      border-radius: 10px; }
    #menu .dialog-content .profile .operation {
      margin: 0 0 10px 0;
      font-size: 16px; }
    #menu .dialog-content .profile .operation .title {
      margin: 0 6px 0 0; }
    #menu .dialog-content .profile address {
      margin: 0 0 10px 0;
      font-size: 16px;
      font-style: normal; }
    #menu .dialog-content .profile address .zip-code {
      margin: 0 6px 0 0; }
    #menu .dialog-content .profile .email .title {
      margin: 0 6px 0 0;
      font-size: 12px; }
    #menu .dialog-content .profile .email a {
      font-size: 16px;
      color: #333;
      text-decoration: none; }

@media screen and (max-width: 500px) {
  #menu-opener {
    width: 50px;
    height: 50px;
    padding: 3px 0 0 0;
    top: 20px;
    font-size: 8px; }
    #menu-opener:before {
      font-size: 28px;
      line-height: 26px; }

  #menu .dialog-content {
    width: 350px;
    padding: 20px 30px; }
    #menu .dialog-content .close a {
      width: 50px;
      height: 50px;
      padding: 3px 0 0 0;
      font-size: 8px; }
      #menu .dialog-content .close a:before {
        font-size: 28px;
        line-height: 26px; } }
@media screen and (max-width: 400px) {
  #menu-opener {
    right: 20px; }

  #menu .dialog-content {
    width: 280px;
    padding: 20px; } }
