@charset "UTF-8";
.clearfix, .cover:after {
  content: ".";
  clear: both;
  height: 0;
  display: block;
  visibility: hidden; }

.transitions, a:link, a:visited, a:active, a:hover {
  transition: all 0.4s ease;
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -o-transition: all 0.4s ease; }

.cover {
  width: 100%;
  position: relative;
  /* clearfix */ }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1;
  -webkit-text-size-adjust: none; }

img {
  display: inherit; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

* {
  box-sizing: border-box;
  word-break: normal; }

/*…………………………… 非対応ブラウザ ……………………………*/
div#ie_container {
  display: none;
  width: 100%;
  height: 100%;
  margin: auto; }
  div#ie_container div.cover {
    width: 100%;
    height: 100%;
    max-width: none;
    position: fixed;
    top: 0;
    left: 0;
    text-align: center;
    margin: auto; }
    div#ie_container div.cover p {
      width: 100%;
      position: absolute;
      font-size: 12px;
      line-height: 1.5em;
      top: 50%;
      left: 0;
      right: 0;
      text-align: center; }

.ie7 body {
  overflow: hidden;
  background: #FFFFFF; }

.ie7 div#container {
  display: none; }

.ie8 body {
  overflow: hidden;
  background: #FFFFFF; }

.ie8 div#container {
  display: none; }

.ie8 div#ie_container {
  display: inherit; }

html, body {
  width: 100%;
  height: 100%; }

body {
  font-family: "メイリオ", "Osaka", Arial, Sans-Serif;
  overflow-y: scroll;
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  color: #555555;
  background: #f1f1f1;
  text-align: justify;
  text-justify: inter-ideograph; }
  @media only screen and (max-width: 1000px) {
    body {
      font-size: 14px; } }

::selection {
  background: #804ead;
  color: #FFF; }

::-moz-selection {
  background: #804ead;
  color: #FFF; }

a:link {
  text-decoration: none;
  color: #555555; }

a:visited {
  text-decoration: none;
  color: #555555; }

a:active {
  text-decoration: none;
  color: #555555; }

a:hover {
  text-decoration: none;
  color: #804ead; }

div#container {
  width: 95%;
  max-width: 1000px;
  margin: 20px auto;
  background: #FFF;
  box-shadow: 0px 0px 3px 0px #cfcfcf;
  -moz-box-shadow: 0px 0px 3px 0px #cfcfcf;
  -webkit-box-shadow: 0px 0px 3px 0px #cfcfcf; }

/* FORM BASS */
input,
select,
textarea,
search {
  font-family: "メイリオ", "Osaka", Arial, Sans-Serif;
  font-size: 100%;
  border: #e1e1e1 1px solid;
  background: #FFF;
  -webkit-appearance: none;
  transition: 0.3s; }

input:hover,
select:hover,
textarea:hover,
search:hover {
  transition: 0.3s; }

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="search"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus,
button:focus {
  outline: 0;
  border-color: #804ead; }

/*……………………………TABLE……………………………*/
div#container table {
  width: 100%;
  margin: auto;
  border-collapse: collapse; }
  div#container table th, div#container table td {
    padding: 15px 0;
    text-align: left;
    vertical-align: middle;
    border-bottom: #e1e1e1 1px solid; }
    @media only screen and (max-width: 780px) {
      div#container table th, div#container table td {
        width: 100%;
        display: block; } }
  div#container table th {
    width: 30%; }
    @media only screen and (max-width: 780px) {
      div#container table th {
        border-bottom: #000000 1px solid;
        width: 100%;
        padding: 10px 0;
        font-size: 16px;
        font-weight: bold; } }
    div#container table th p {
      display: inline-block;
      vertical-align: middle; }
  @media only screen and (max-width: 780px) {
    div#container table td {
      width: 100%;
      padding: 10px 0 20px 0;
      border-bottom: none; } }
  div#container table td p {
    line-height: 1.5em; }

/*…………………………入力…………………………*/
input[type="text"],
input[type="tel"],
input[type="search"],
input[type="email"],
input[type="password"] {
  width: 100%;
  padding: 10px;
  margin: 5px 0; }

/*IE*/
/* 長さ設定 */
input.wth_80 {
  width: 80%; }
  @media only screen and (max-width: 780px) {
    input.wth_80 {
      width: 100%; } }

input.wth_70 {
  width: 70%; }
  @media only screen and (max-width: 780px) {
    input.wth_70 {
      width: 100%; } }

input.wth_50 {
  width: 50%; }
  @media only screen and (max-width: 780px) {
    input.wth_50 {
      width: 100%; } }

input.wth_30 {
  width: 30%; }
  @media only screen and (max-width: 780px) {
    input.wth_30 {
      width: 100%; } }

input.wth_20 {
  width: 20%; }
  @media only screen and (max-width: 780px) {
    input.wth_20 {
      width: 50%; } }

/*…………………………テキストエリア…………………………*/
textarea {
  width: 100%;
  height: 150px;
  padding: 10px;
  resize: vertical; }

/*………………………… セレクト …………………………*/
select {
  width: auto;
  padding: 10px 60px 10px 10px;
  background: url(../../assets/img/form/arrow_down.svg) no-repeat right 5px center;
  background-size: 25px 25px;
  vertical-align: middle;
  border: #e1e1e1 1px solid;
  margin: 5px 0;
  border-radius: 0;
  webkit-border-radius: 0;
  -moz-border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }
  @media only screen and (max-width: 480px) {
    select {
      width: 100%;
      max-width: none;
      height: 50px; } }

/*IE*/
select::-ms-expand {
  display: none; }

/*…………………………ラジオボタン…………………………*/
/*デフォルト表示を消す*/
input[type="radio"],
input[type="checkbox"] {
  display: none; }

/*ラジオボタン 未選択時*/
input[type="radio"] + label {
  padding: 7px 0px 7px 25px;
  margin: 2px 20px 2px 0px;
  display: inline-block;
  background: url(../../assets/img/form/icon_check_off.svg) no-repeat left 50%;
  background-size: 18px 18px;
  line-height: 1.5em;
  cursor: pointer; }
  input[type="radio"] + label br {
    display: none; }
    @media only screen and (max-width: 580px) {
      input[type="radio"] + label br {
        display: inherit; } }

/*ラジオボタン 選択時*/
input[type="radio"]:checked + label {
  background: url(../../assets/img/form/icon_check_on.svg) no-repeat left 50%;
  background-size: 18px 18px; }

/*…………………………送信ボタン…………………………*/
input[type="submit"],
input[type="reset"],
input[type="button"] {
  color: #804ead;
  font-size: 129%;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  border: #804ead 2px solid;
  padding: 15px 30px;
  border-radius: 100px;
  webkit-border-radius: 100px;
  -moz-border-radius: 100px; }

input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
  color: #FFF;
  border: #804ead 2px solid;
  padding: 15px 50px;
  background: #804ead; }

/*ボタンを並べる*/
ul.transmission {
  text-align: center;
  margin: 10px 0px 30px 0px; }
  ul.transmission li {
    margin: 10px 10px 0px 10px;
    display: inline-block; }
    @media only screen and (max-width: 580px) {
      ul.transmission li {
        margin: 5px; } }

/*…………………………… FORM関連のStyle ……………………………*/
/*必須項目*/
span.essential {
  white-space: nowrap;
  padding: 3px 15px;
  font-size: 14px;
  border-radius: 20px;
  webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  color: #FFF;
  background: #eb6877;
  font-weight: normal;
  margin: 0 5px; }

/*注釈*/
span.arrow {
  font-size: 90%;
  margin: 5px 0px 0px 0px;
  display: inline-block; }

/*項目を分割*/
ul.break {
  width: 100%;
  display: table; }
  @media only screen and (max-width: 480px) {
    ul.break {
      display: inherit; } }
  ul.break li {
    display: table-cell;
    padding: 0 5px; }
    ul.break li:nth-child(1) {
      padding: 0 5px 0 0; }
      @media only screen and (max-width: 480px) {
        ul.break li:nth-child(1) {
          padding: 0; } }
    ul.break li:last-child {
      padding: 0 0 0 5px; }
      @media only screen and (max-width: 480px) {
        ul.break li:last-child {
          padding: 0; } }
    @media only screen and (max-width: 480px) {
      ul.break li {
        display: inherit;
        padding: 0; } }

/*項目を並べる*/
ul.variable {
  width: 100%; }
  ul.variable li {
    display: inline-block;
    padding: 0 5px; }
    ul.variable li:last-child {
      padding: 0 0 0 5px; }
      @media only screen and (max-width: 480px) {
        ul.variable li:last-child {
          padding: 0; } }
    ul.variable li:nth-child(1) {
      padding: 0 5px 0 0; }
      @media only screen and (max-width: 480px) {
        ul.variable li:nth-child(1) {
          padding: 0; } }
    @media only screen and (max-width: 480px) {
      ul.variable li {
        display: inherit;
        padding: 0; } }
    ul.variable li input {
      width: auto;
      margin: 5px 10px 5px 0; }

/*チェックリストを並べる*/
ul.check_list {
  width: 100%; }
  ul.check_list li {
    width: 50%;
    float: left;
    padding: 5px 0px; }
    @media only screen and (max-width: 1000px) {
      ul.check_list li {
        width: 100%;
        float: none;
        border-bottom: #e1e1e1 1px solid; } }

/*チェックリストを並べる*/
ul.radio_list {
  width: 100%; }
  ul.radio_list li {
    width: 100%;
    padding: 10px 0px;
    border-bottom: #e1e1e1 1px solid; }
    ul.radio_list li:last-child {
      border-bottom: none; }
    ul.radio_list li ul.check_list {
      padding: 5px 0 15px 10%; }
      ul.radio_list li ul.check_list li p {
        padding: 0 0 10px 0;
        line-height: 1.3em; }
        ul.radio_list li ul.check_list li p span {
          font-size: 90%; }
      ul.radio_list li ul.check_list li:last-child {
        border-bottom: none; }

/*エラー文表示*/
div.error_messe {
  width: 100%;
  margin: 20px auto; }
  div.error_messe ul li {
    padding: 10px 0px 10px 25px;
    color: #000000;
    font-weight: bold;
    background: url(../../assets/img/form/icon_check.svg) no-repeat left 50%;
    background-size: 13px 13px; }
    @media only screen and (max-width: 780px) {
      div.error_messe ul li {
        background: url(../../assets/img/form/icon_check.svg) no-repeat left 50%;
        background-size: 12px 12px; } }
    @media only screen and (max-width: 480px) {
      div.error_messe ul li {
        background: url(../../assets/img/form/icon_check.svg) no-repeat left 50%;
        background-size: 12px 12px;
        padding: 5px 0px 5px 17px; } }

/*…………………………… 確認画面のStyle ……………………………*/
div.confirmation {
  min-height: 500px; }
  div.confirmation table td {
    font-weight: bold;
    line-height: 1.5em;
    padding: 25px 0 !important; }
    @media only screen and (max-width: 780px) {
      div.confirmation table td {
        padding: 10px 0 20px 0; } }
  div.confirmation p.txt {
    font-size: 16px !important;
    font-weight: bold !important;
    padding: 10px 0 !important;
    line-height: 1.3em !important; }
    @media only screen and (max-width: 580px) {
      div.confirmation p.txt {
        font-size: 14px !important; } }
  div.confirmation section {
    padding: 25px 0 !important; }
    @media only screen and (max-width: 580px) {
      div.confirmation section {
        padding: 10px 0 !important; } }

/*…………………………… 完了画面のStyle ……………………………*/
div.comp {
  text-align: center; }
  div.comp div.cover p {
    font-size: 16px;
    font-weight: bold;
    padding: 10px 0;
    line-height: 1.5em; }
    div.comp div.cover p span {
      color: #CF282A; }
    @media only screen and (max-width: 580px) {
      div.comp div.cover p {
        font-size: 14px; } }
    div.comp div.cover p.point {
      font-size: 14px;
      font-weight: normal;
      padding: 15px 0; }
    @media only screen and (max-width: 580px) {
      div.comp div.cover p br {
        display: none; } }
  div.comp div.cover section {
    padding: 100px 0; }
    @media only screen and (max-width: 580px) {
      div.comp div.cover section {
        padding: 50px 0; } }

/*……………………………CONTENTS LAYOUT……………………………*/
header h1 {
  background: #804ead;
  font-weight: bold;
  font-size: 30px;
  color: #FFF;
  text-align: center;
  padding: 20px 10px;
  line-height: 1.3em; }
  @media only screen and (max-width: 780px) {
    header h1 {
      font-size: 26px; } }
  @media only screen and (max-width: 580px) {
    header h1 {
      font-size: 18px; } }
  @media only screen and (max-width: 320px) {
    header h1 {
      font-size: 16px; } }
  header h1 br {
    display: none; }
    @media only screen and (max-width: 580px) {
      header h1 br {
        display: inherit; } }

div.cover {
  width: 95%;
  max-width: 1000px;
  margin: auto;
  letter-spacing: -1px; }
  div.cover div#head {
    padding: 20px 0; }
    div.cover div#head p {
      font-size: 20px;
      line-height: 1.5em; }
      @media only screen and (max-width: 580px) {
        div.cover div#head p {
          font-size: 15px; } }
  div.cover section {
    padding: 0 0 50px 0; }
    @media only screen and (max-width: 580px) {
      div.cover section {
        padding: 0 0 25px 0; } }
    div.cover section.over_time {
      display: none; }
  div.cover h1 {
    font-size: 30px;
    line-height: 1.3em;
    padding: 0 0 10px 0;
    border-bottom: #555555 2px solid;
    margin: 0 0 20px 0; }
    @media only screen and (max-width: 780px) {
      div.cover h1 {
        font-size: 26px; } }
    @media only screen and (max-width: 580px) {
      div.cover h1 {
        font-size: 18px; } }
  div.cover div.doc {
    text-align: center; }
    div.cover div.doc h2 {
      font-size: 16px;
      font-weight: bold;
      padding: 10px 0; }
    div.cover div.doc p {
      font-size: 14px;
      line-height: 1.5em; }

footer {
  background: #417fd8;
  color: #FFF;
  margin: 50px 0 0 0;
  padding: 30px 10px;
  text-align: center; }
  footer dl dt {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5em; }
  footer dl dd {
    font-size: 12px;
    line-height: 1.5em; }
    footer dl dd span {
      font-weight: bold; }
  footer p {
    font-size: 14px;
    line-height: 1.5em; }
  footer a {
    background: url(../img/tel.svg) no-repeat left center;
    background-size: 35px 35px;
    font-size: 40px;
    padding: 5px 5px 5px 45px;
    font-weight: bold;
    display: inline-block; }
    @media only screen and (max-width: 480px) {
      footer a {
        font-size: 30px;
        background: url(../img/tel.svg) no-repeat left center;
        background-size: 25px 25px;
        padding: 5px 5px 5px 35px; } }
    footer a:link {
      color: #FFF; }
    footer a:visited {
      color: #FFF; }
    footer a:active {
      color: #FFF; }
    footer a:hover {
      color: #FFF; }
