@charset "UTF-8";
/**
 * reset css
 */
/* reset
----------------------------------------------------------------- */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
editor: kaikoo
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p,
blockquote, abbr, address,
cite, code, del, dfn, em,
img, ins, kbd, q,
samp, small, strong, var,
b, i, dl, dt, dd, ol, ul,
li, fieldset, form,
label, legend, table,
caption, tbody, tfoot,
thead, tr, th, td,
article, aside,
canvas, details,
figcaption, figure,
footer, header,
hgroup, menu, nav,
section, summary, time,
mark, audio, video {
  background: transparent;
  border: 0;
  font-size: 100%;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ul,
li {
  list-style: none;
}

a {
  background: transparent;
  font-size: 100%;
  margin: 0;
  padding: 0;
  text-decoration: none;
  vertical-align: baseline;
}

input,
select {
  vertical-align: middle;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

p {
  margin: 0;
}

/* font-face
   ----------------------------------------------------------------- */
@font-face {
  font-family: "Hiragino Kaku Gothic Pro W3";
  font-weight: normal;
  src: local(HiraginoSans-W3);
}

@font-face {
  font-family: "Hiragino Kaku Gothic Pro W3";
  font-weight: bold;
  src: local(HiraginoSans-W6);
}

@font-face {
  font-family: "ヒラギノ角ゴ Pro W3";
  font-weight: normal;
  src: local(HiraginoSans-W3);
}

@font-face {
  font-family: "ヒラギノ角ゴ Pro W3";
  font-weight: bold;
  src: local(HiraginoSans-W6);
}

@font-face {
  font-family: "ヒラギノ角ゴ ProN W3";
  font-weight: normal;
  src: local(HiraginoSans-W3);
}

@font-face {
  font-family: "ヒラギノ角ゴ ProN W3";
  font-weight: bold;
  src: local(HiraginoSans-W6);
}

/* Base
   ----------------------------------------------------------------- */
html {
  font-size: 62.5%;
}

body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color: transparent;
  background: #fff;
  color: #000;
  content: "pc";
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro W3", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-size: 14px;
  font-size: 1.4rem;
  font-smoothing: antialiased;
  font-weight: 500;
  line-height: 1.8;
}

h1, h2, h3, h4, h5 {
  clear: both;
  font-weight: bold;
  margin: 0;
}

input[type="text"],
input[type="tel"],
input[type="email"],
select,
textarea {
  border: 1px solid #c8c8c8;
  font-size: 100%;
  padding: 4px;
}

input[type="text"]::-webkit-input-placeholder,
input[type="tel"]::-webkit-input-placeholder,
input[type="email"]::-webkit-input-placeholder,
select::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #b2b2b2;
}

input[type="text"]:-ms-input-placeholder,
input[type="tel"]:-ms-input-placeholder,
input[type="email"]:-ms-input-placeholder,
select:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #b2b2b2;
}

input[type="text"]::-moz-placeholder,
input[type="tel"]::-moz-placeholder,
input[type="email"]::-moz-placeholder,
select::-moz-placeholder,
textarea::-moz-placeholder {
  color: #b2b2b2;
}

input[type="radio"] {
  margin-right: 4px;
  vertical-align: middle;
}

img {
  border: 0;
}

p {
  font-size: 1.4rem;
  margin-bottom: 2rem;
}

table {
  border-collapse: collapse;
  width: 100%;
}

table th,
table td {
  font-weight: normal;
  line-height: 1.8;
  padding: 10px 10px 8px;
  vertical-align: top;
}

table th {
  text-align: left;
  width: 28%;
}

ul,
dl {
  margin: 0;
}

dl dt,
dl dd {
  font-weight: normal;
  line-height: 1.8;
}

dl dd {
  padding: 5px 0 25px;
}

dl dd:last-child {
  padding-bottom: 0;
}

ul li,
ol li {
  list-style: none;
}

dl.indent dd {
  margin-left: 1em;
}

ul.list_disc li,
ol.list_disc li {
  list-style-type: disc;
  margin: 0 0 0 1.5em;
}

ol.list_num li {
  list-style-type: decimal;
  margin: 0 0 0 1.5em;
}

table:not(.sp-table) th,
table:not(.sp-table) td,
table.tab-table:not(.sp-table) th,
table.tab-table:not(.sp-table) td {
  border-bottom: 0;
  display: block;
  width: 100%;
}

table:not(.sp-table) th {
  border-bottom: 0;
  font-weight: bold;
}

table:not(.sp-table) td {
  border-top: 0;
  padding: 10px 1em 25px;
}

table.sp-table th,
table.sp-table td {
  font-weight: normal;
  padding: 8px 8px 4px;
}

input[type="text"].sp-max,
input[type="tel"].sp-max,
input[type="email"].sp-max,
select.sp-max,
textarea.sp-max {
  width: 100%;
}

a {
  -webkit-transition: ease-out 0.3s;
  color: unset;
  cursor: pointer;
  transition: ease-out 0.3s;
}

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

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

a:hover {
  color: #000;
  filter: alpha(opacity=7);
  opacity: 0.7;
  text-decoration: underline;
}

/* 幅991px以下から
  ------------------------------------------------------------*/

/* 幅767px以下から
      ------------------------------------------------------------*/

/* h3
   ***************************************/
h3 {
  border-bottom: 2px solid #eeeeee;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 25px;
  padding-bottom: 10px;
}
@media only screen and (max-width: 991px) {
  /* ===== MODULES (sp) ===== */
  img {
    height: auto;
    max-width: 100%;
  }
  /* ===== COMMON STYLES ===== */
  body {
    clear: both;
    content: "tab";
  }
  .container {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media only screen and (max-width: 767px) {
  /* ===== MODULES (sp) ===== */
  img {
    height: auto;
    max-width: 100%;
  }
  body {
    clear: both;
    content: "sp";
  }
  body:before {
    -webkit-transition: all 0.4s ease-out;
    background-color: black;
    content: "";
    display: block;
    height: 100vh;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    transition: all 0.4s ease-out;
    visibility: hidden;
    width: 100%;
    z-index: 99;
  }
  body.fixed {
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
  }
  body.fixed:before {
    opacity: 0.4;
    visibility: visible;
  }
}
