@charset "UTF-8";
/* CSS Document */
/* 引数 */
/* FontSize */
/* FontFamily */
/* Color */
/* 継承元css */
/* flex-flow: row nowrap; */
html {
  font-size: 62.5%; }

/*
font-size: 62.5%
以降rem指定 1rem:10px相当, 2rem:20px相当
*/
body, html, header, footer, section, article, aside, fieldset, div, form, p, address, h1, h2, h3, h4, h5, h6, dl, dt, dd, ul, ol, li {
  margin: 0px;
  padding: 0px;
  border: none;
  box-sizing: border-box;
  color: #1C2121;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-style: normal; }

ul, dl {
  margin: 0px;
  padding: 0px; }

img {
  vertical-align: bottom; }

table, tr, td, th {
  box-sizing: border-box; }

input, select {
  box-sizing: border-box; }

input[type="file"] {
  display: none; }

.clearfix:after {
  content: "";
  clear: both;
  display: block; }

.auto_width {
  width: 100%;
  height: auto;
  max-height: 100%; }

.auto_height {
  width: 100%;
  height: auto;
  max-width: 100%; }

.auto_size {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%; }

.invisible {
  width: 0px !important;
  height: 0px !important;
  display: none !important; }

.align_left {
  text-align: left; }

.align_center {
  text-align: center; }

.align_right {
  text-align: right; }

a, *:visited {
  color: #1C2121;
  text-decoration: none; }

*:hover {
  text-decoration: none; }

html, body {
  width: 100%; }

html {
  position: relative; }

body {
  min-height: 100vh;
  overflow-x: hidden; }

#cnt_message {
  color: crimson; }

/* PC＆タブレトット基本 */
@media screen and (min-width: 920px) {
  .sp {
    display: none; }

  #wrap {
    width: 90vw;
    max-width: 920px;
    margin: 0px auto;
    padding: 8.5rem 0rem 2.5rem 0rem;
    background: transparent; }

  section#title {
    width: 100%;
    height: 6rem;
    background-color: #1F45BF;
    position: fixed;
    z-index: 32; }
    section#title > div {
      width: 90vw;
      padding: 0.75rem 0px;
      max-width: 920px;
      margin: 0px auto; }
    section#title h1 {
      height: 3rem;
      line-height: 3rem;
      font-size: 3rem;
      font-weight: 300;
      font-family: "メイリオ", Meiryo, Osaka, sans-serif;
      color: #ffffff; }
      section#title h1 span {
        vertical-align: sub; }
    section#title p {
      height: 1.3rem;
      margin-top: 0.2rem;
      line-height: 1.3rem;
      font-size: 1.3rem;
      font-weight: 100;
      font-family: beastly, sans-serif;
      color: #ffffff; }
    section#title #title_left {
      width: calc(100% - 6rem);
      float: left; }
    section#title #title_right {
      width: 6rem;
      float: left; } }
/* スマートフォン基本 */
@media screen and (max-width: 919px) {
  .pc {
    display: none; }

  #wrap {
    width: 90vw;
    margin: 0px auto;
    padding: 5.5rem 0rem 2.5rem 0rem;
    background: transparent; }

  section#title {
    width: 100%;
    height: 4rem;
    background-color: #1F45BF;
    position: fixed;
    z-index: 32; }
    section#title > div {
      width: 90vw;
      padding: 0.2rem 0px;
      margin: 0px auto; }
    section#title h1 {
      height: 2.5rem;
      line-height: 2.5rem;
      font-size: 2.5rem;
      font-weight: 100;
      font-family: vdl-megamaru, sans-serif;
      color: #ffffff; }
    section#title p {
      height: 1rem;
      margin-top: 0.1rem;
      line-height: 1rem;
      font-size: 1rem;
      font-weight: 100;
      font-family: beastly, sans-serif;
      color: #ffffff; }
    section#title #title_left {
      width: calc(100% - 3rem);
      float: left; }
    section#title #title_right {
      width: 3rem;
      float: left; } }
.btn {
  font-size: 1.8rem;
  padding: 0.15rem 2rem;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  border-style: none;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.25rem; }

.btn {
  display: inline-block;
  border-radius: 0.3rem;
  transition: all 0.2s ease-in-out;
  position: relative;
  overflow: hidden; }
  .btn:before {
    content: "";
    background-color: rgba(255, 255, 255, 0.5);
    height: 100%;
    width: 3rem;
    display: block;
    position: absolute;
    top: 0;
    left: -20rem;
    transform: skewX(-45deg) translateX(0);
    transition: none; }
  .btn:hover {
    cursor: pointer; }
    .btn:hover:before {
      transform: skewX(-45deg) translateX(40rem);
      transition: all 0.5s ease-in-out; }
  .btn:hover[disabled] {
    cursor: default; }
    .btn:hover[disabled]:before {
      transform: skewX(-45deg) translateX(40rem);
      transition: all 0s ease-in-out; }

.btn_s {
  font-size: 1.2rem;
  padding: 0.2rem 0.3rem;
  margin: 0.2rem 0.2rem 0.2rem 0.2rem;
  border-style: none;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.1rem; }

.btn_blue {
  color: #ffffff;
  border: 2px solid #1F45BF;
  background-color: #1F45BF; }
  .btn_blue:hover {
    color: #ffffff;
    background-color: #1F45BF; }
  .btn_blue * {
    color: #ffffff; }

.btn_red {
  color: #ffffff;
  border: 2px solid crimson;
  background-color: crimson; }
  .btn_red:hover {
    color: #ffffff;
    background-color: #0F70FF; }
  .btn_red * {
    color: #ffffff; }

.btn_blue[disabled], .btn_red[disabled] {
  color: #ffffff;
  border: 2px solid;
  border-color: #635C51;
  background-color: #635C51; }
  .btn_blue[disabled] *, .btn_red[disabled] * {
    color: #ffffff; }

.mb2rem {
  margin-bottom: 2rem; }
