@charset "UTF-8";
/* Global Remedies
******************/
/* Use border-box by default, globally */
*, ::before, ::after {
  box-sizing: border-box; }

/*
* Consistent line spacing...
* CSS Inline Layout Module Level 3: https://drafts.csswg.org/css-inline-3/#line-sizing-property
*/
html {
  line-sizing: normal; }

/* Remove the tiny space around the edge of the page */
body {
  margin: 0; }

/* Headings
***********/
/* Switch to rem units for headings */
/* @@@ Initial values are based on existing browser defaults */
h1 {
  font-size: 2rem; }

h2 {
  font-size: 1.5rem; }

h3 {
  font-size: 1.17rem; }

h4 {
  font-size: 1.00rem; }

h5 {
  font-size: 0.83rem; }

h6 {
  font-size: 0.67rem; }

/* Keep h1 margins consistent, even when nested */
h1 {
  margin: 0.67em 0; }

/* Typography
*************/
/* Overflow by default is bad */
pre {
  white-space: pre-wrap; }

/*
* 1. Solid, thin horizontal rules
* 2. Remove Firefox `color: gray`
* 3. Remove default `1px` height, and common `overflow: hidden`
*/
hr {
  border-style: solid;
  border-width: 1px 0 0;
  color: inherit;
  height: 0;
  overflow: visible; }

/* Embedded Elements
********************/
/*
* 1. Block display is usually what we want
* 2. Remove strange space-below when inline
* 3. Responsive by default
*/
img, svg, video, canvas, audio, iframe, embed, object {
  display: block;
  vertical-align: middle;
  max-width: 100%; }

/*
* Maintain intrinsic aspect ratios when `max-width` is applied
* (iframe, embed, and object have no intrinsic ratio, set height explicitly)
*/
img, svg, video, canvas {
  height: auto; }

/*
* There is no good reason elements default to 300px,
* and audio files are unlikely to come with a width attribute
*/
audio {
  width: 100%; }

/* Old Browsers
***************/
/* Remove the border on images inside links in IE 10 and earlier */
img {
  border-style: none; }

/* Hide the overflow in IE 10 and earlier */
svg {
  overflow: hidden; }

/* Default block display on HTML5 elements */
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block; }

/*
* 1. Add the correct box sizing in IE 10
* 2. Remove the padding in IE 10
*/
[type='checkbox'],
[type='radio'] {
  box-sizing: border-box;
  padding: 0; }

/*レスポンシブ対応。カラム数とカラム間marginを自由に設定するMixin*/
/*一列組のみ、記事が増え、2段、3段になるカラム組には適さない*/
/*参考→　https://qiita.com/noqua/items/0dc04aa528269db41a07　*/
html {
  font-size: 62.5%;
  font-weight: 400;
  color: #333333; }

body {
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: .1em;
  line-height: 1.7em;
  font-family: "Ryumin Regular KL", "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; }
  @media all and (max-width: 620px) {
    body {
      letter-spacing: .05em;
      line-height: 1.6em; } }

h1, h2, h3, h4 {
  font-family: "リュウミン R-KL", Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; }

a {
  text-decoration: none;
  color: #333333;
  transition: 0.2s all ease-out; }

a:hover {
  opacity: 0.6; }

select::-ms-expand {
  display: none; }

:focus {
  outline: none; }

label {
  cursor: pointer; }

input, textarea {
  appearance: none;
  background-color: none;
  border: none;
  border-radius: 0;
  line-height: 1.5em;
  font-size: 14px;
  font-size: 1.4rem;
  font-family: "Ryumin Regular KL", "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; }

th {
  font-weight: normal; }

::-moz-selection {
  color: #fff;
  background: #0097db; }

::selection {
  color: #fff;
  background: #0097db; }

::-moz-selection {
  color: #fff;
  background: #0097db; }

ol, ul {
  list-style: none; }

.section {
  margin: 100px 0 100px 0; }
  @media all and (max-width: 980px) {
    .section {
      margin: 160px 0 80px 0; } }
  @media all and (max-width: 620px) {
    .section {
      margin: 140px 0 80px 0; } }

article {
  margin: 100px 0 100px 0; }

p {
  margin: 0 0 20px; }
  @media all and (max-width: 980px) {
    p br {
      display: none; }
    p br.cl {
      display: inline; } }

/******************
structure
******************/
.wrapper {
  position: relative;
  width: 100%;
  min-height: 100%;
  overflow: hidden;
  background: #fff; }

.contents {
  padding: 0 0 30px;
  width: 100%;
  min-height: calc(100vh - 70px); }
  @media all and (max-width: 980px) {
    .contents {
      padding: 0 0 30px; } }
  @media all and (max-width: 620px) {
    .contents {
      padding: 0 0 30px; } }

@media all and (min-width: 981px) {
  .inner {
    width: 100%;
    padding: 0 20px; } }
@media all and (max-width: 980px) {
  .inner {
    padding: 0 15px; } }
@media all and (max-width: 620px) {
  .inner {
    padding: 0 10px; } }

.contents-wrapper {
  max-width: 1100px;
  margin: 0 auto;
  flex-direction: row; }
  @media all and (max-width: 980px) {
    .contents-wrapper {
      flex-wrap: wrap; } }
  .contents-wrapper p a {
    text-decoration: underline dotted;
    color: #0097db;
    transition: 0.2s all ease-out;
    padding: 0 0 2px 0; }

.js-fadeIn {
  opacity: 0;
  -webkit-transition: 0.5s 0.2s;
  transition: 0.5s 0.2s; }

.js-fadeIn.animation {
  opacity: 1; }

.gotoTop {
  display: none;
  position: fixed;
  right: 0;
  bottom: 0; }
  @media all and (max-width: 980px) {
    .gotoTop {
      right: 0;
      bottom: 0; } }

.gotoTop_btn {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  background-color: #0097db;
  border-radius: 2px;
  -webkit-transition: 0.3s;
  transition: 0.3s; }

.gotoTop_btn::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -2px;
  margin-left: -5px;
  width: 12px;
  height: 12px;
  border-bottom: 1px solid #fff;
  border-left: 1px solid #fff;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  -webkit-transition: 0.3s;
  transition: 0.3s; }

.button-basic {
  display: block;
  text-decoration: none;
  background: none;
  border: 1px solid #0097db;
  color: #0097db;
  position: relative;
  text-align: center;
  font-family: "リュウミン R-KL", Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  line-height: 3.8em;
  height: 44px;
  line-height: 44px;
  margin: 0 auto;
  font-size: 12px;
  font-size: 1.2rem;
  background: #0097db;
  color: #fff;
  border-radius: 2px;
  position: relative; }
  @media all and (min-width: 981px) {
    .button-basic:hover {
      border-color: #0097db;
      color: #fff; } }
  .button-basic::after {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    display: block;
    content: '';
    background: url(/img/arrow.svg) no-repeat;
    width: 5px;
    height: 9px; }
  .button-basic::before {
    position: absolute;
    top: 50%;
    left: 25px;
    transform: translateY(-50%);
    display: block;
    content: '';
    background: url(/img/url.svg) no-repeat;
    width: 160px;
    height: 13px; }

.pankuzu {
  position: relative;
  width: 100%;
  font-size: 12px;
  font-size: 1.2rem;
  border-top: 1px solid #cacaca;
  border-bottom: 1px solid #cacaca;
  text-align: center;
  padding: 0 0 0 20px; }
  @media all and (max-width: 620px) {
    .pankuzu {
      padding: 0 0 0 10px; } }
  .pankuzu ol {
    width: 100%;
    max-width: 1100px;
    list-style: none;
    margin: 5px auto 3px auto;
    position: static;
    text-align: left; }
  .pankuzu li {
    margin-right: 10px;
    vertical-align: middle;
    display: inline; }
    .pankuzu li + li::before {
      display: inline-block;
      content: "";
      border-top: 1px solid;
      border-right: 1px solid;
      margin: 0 10px 0 0;
      width: 5px;
      height: 5px;
      transform: rotate(45deg);
      vertical-align: 0.2em; }
    .pankuzu li a {
      color: #333333; }
    .pankuzu li a.home {
      vertical-align: -0.3em; }

.pagenation {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 30px 0;
  border-top: 1px solid #9fa0a0; }
  .pagenation a {
    text-decoration: none; }
    @media all and (min-width: 981px) {
      .pagenation a:hover {
        opacity: 0.6; } }
  .pagenation .page-next {
    padding: 5px 15px;
    text-align: center; }
  .pagenation ol {
    display: flex;
    flex-wrap: wrap;
    margin: 10px; }
  .pagenation li + li {
    padding: 10px;
    color: #5b5a5a; }
  .pagenation li span {
    border-top: 1px solid #000;
    display: inline-block;
    margin: -1px 0 0 0;
    padding: 10px; }

.pager {
  display: flex;
  justify-content: space-between; }
  @media all and (max-width: 980px) {
    .pager {
      margin-bottom: 40px; } }

.pulldown {
  position: relative;
  margin: 0 0 30px;
  padding: 0;
  width: 100%; }
  .pulldown label {
    display: block;
    width: 100%;
    margin: 0;
    padding: 10px 10px;
    border: solid 1px #9fa0a0;
    cursor: pointer; }
  .pulldown input {
    display: none;
    margin: 0; }
  .pulldown .archive-list {
    display: block;
    width: 100%;
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    margin: 0;
    padding: 0;
    transition: 0.2s all ease-out; }
    .pulldown .archive-list ul {
      position: relative;
      border: solid 1px #9fa0a0;
      border-bottom: 0;
      width: 100%;
      top: -15px;
      margin: 0;
      padding: 0; }
    .pulldown .archive-list li {
      border-bottom: solid 1px #9fa0a0;
      cursor: pointer;
      margin: 0;
      padding: 15px 10px 10px;
      width: 100%; }
      .pulldown .archive-list li a {
        display: block;
        color: #333333;
        width: 100%;
        height: 100%; }
  .pulldown input:checked ~ .archive-list {
    padding: 10px 0;
    height: auto;
    opacity: 1;
    transition: 0.2s all ease-out; }

strong {
  font-family: "リュウミン R-KL", Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; }

.video {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }

.video iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%; }

.secondary-page {
  margin: 120px 0 100px 0; }
  @media all and (max-width: 980px) {
    .secondary-page {
      margin: 100px 0 80px 0; } }

img.r {
  float: right;
  border: none;
  margin: 0 0 25px 2px;
  vertical-align: top; }

img.l {
  float: left;
  margin: 0 2px 25px 0;
  vertical-align: top; }

img.c {
  display: block;
  text-align: center;
  margin: 0 auto 25px auto; }

/******************
  header
******************/
.header {
  position: relative;
  font-family: "リュウミン R-KL", Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  margin: 0 auto;
  width: 100%;
  z-index: 10000;
  position: fixed;
  height: 100px;
  background: #eee;
  border-bottom: 1px solid #cacaca; }
  @media all and (max-width: 980px) {
    .header {
      height: 80px; } }
  @media all and (max-width: 620px) {
    .header {
      height: 60px; } }
  .header h1 {
    position: absolute;
    width: 200px;
    top: 35px;
    left: 20px;
    z-index: 200; }
    @media all and (max-width: 980px) {
      .header h1 {
        width: 180px;
        top: 25px; } }
    @media all and (max-width: 620px) {
      .header h1 {
        width: 140px;
        top: 20px; } }
  .header li {
    list-style-type: none;
    padding: 0 7px; }
    @media all and (max-width: 980px) {
      .header li {
        position: relative; } }
    .header li li:last-child {
      border-bottom: none; }
  .header a {
    color: #333333; }
  .header .navi {
    z-index: 8000; }
    @media all and (max-width: 980px) {
      .header .navi {
        display: none;
        width: 100%;
        height: 100vh;
        background-color: #eaeaea;
        left: 0;
        margin: 0; } }
    @media all and (max-width: 980px) {
      .header .navi .navi-list {
        position: relative;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%); } }
    @media all and (min-width: 981px) {
      .header .navi .navi-list-main {
        position: absolute;
        top: 40px;
        right: 100px;
        display: flex; } }
    @media all and (max-width: 980px) {
      .header .navi .navi-list-main li {
        border-bottom: 1px solid #aaaaaa;
        padding: 0 0 0 20px; } }
    .header .navi .navi-list-main .crr {
      opacity: 0.6; }
    .header .navi .navi-list-main a {
      color: #333333; }
      @media all and (max-width: 980px) {
        .header .navi .navi-list-main a {
          display: block;
          width: 100%;
          height: 50px;
          line-height: 50px; }
          .header .navi .navi-list-main a::before {
            display: inline-block;
            content: "";
            border: 4px solid #0097db;
            border-radius: 50%;
            position: relative;
            top: 4px;
            margin-right: 1em;
            width: 16px;
            height: 16px; }
          .header .navi .navi-list-main a::after {
            content: '';
            position: absolute;
            top: 50%;
            right: 20px;
            margin-top: -3px;
            width: 7px;
            height: 7px;
            border-bottom: 1px solid #333;
            border-left: 1px solid #333;
            -webkit-transform: rotate(-135deg);
            -ms-transform: rotate(-135deg);
            transform: rotate(-135deg);
            -webkit-transition: 0.3s;
            transition: 0.3s; } }
    .header .navi .navi-list-sub {
      display: flex; }
      @media all and (min-width: 981px) {
        .header .navi .navi-list-sub {
          position: absolute;
          top: 44px;
          right: 20px; } }
      @media all and (max-width: 980px) {
        .header .navi .navi-list-sub {
          margin: 40px auto 0;
          max-width: 980px;
          width: 100%; } }
      .header .navi .navi-list-sub .fb {
        height: auto;
        width: 30px; }
      .header .navi .navi-list-sub .ig {
        height: auto;
        width: 30px; }
      .header .navi .navi-list-sub .crr a {
        color: #ed1b23; }

/*スマホメニュー*/
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: 0.2s 0s ease-out;
  box-sizing: border-box; }

.open {
  color: #fff; }

.menu-trigger {
  z-index: 1000;
  display: none; }
  @media all and (max-width: 980px) {
    .menu-trigger {
      display: block;
      position: absolute;
      top: 28px;
      right: 0;
      width: 60px;
      height: 30px;
      z-index: 1000; } }
  @media all and (max-width: 620px) {
    .menu-trigger {
      top: 18px; } }
  .menu-trigger span:not(.label) {
    position: absolute;
    right: 0;
    left: 15px;
    width: 30px;
    height: 1px;
    background-color: #333; }
  .menu-trigger .label {
    display: block;
    color: #333;
    font-size: 10px;
    font-size: 1rem;
    text-align: center;
    font-weight: 500;
    letter-spacing: 0;
    position: absolute;
    top: 10px;
    left: 15px;
    opacity: 1; }
  .menu-trigger.open span:not(.label) {
    background: #333; }
  .menu-trigger.open::before, .menu-trigger.open::after {
    opacity: 0; }
  .menu-trigger.open .label {
    opacity: 0; }

.menu-trigger span:nth-of-type(1) {
  top: 0px; }

.menu-trigger span:nth-of-type(2) {
  top: 10px; }

.menu-trigger span:nth-of-type(3) {
  top: 20px; }

.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(12px) rotate(-45deg);
  transform: translateY(12px) rotate(-45deg); }

.menu-trigger.active span:nth-of-type(2) {
  opacity: 0; }

.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-8px) rotate(45deg);
  transform: translateY(-8px) rotate(45deg); }

.menu-trigger.inactive span:nth-of-type(1) {
  -webkit-transform: translateY(0px) rotate(0deg);
  transform: translateY(0px) rotate(0deg);
  transition: 0.2s 0s ease-out; }

.menu-trigger.inactive span:nth-of-type(2) {
  opacity: 1;
  transition: 0.2s 0s ease-out; }

.menu-trigger.inactive span:nth-of-type(3) {
  -webkit-transform: translateY(0px) rotate(0deg);
  transform: translateY(0px) rotate(0deg);
  transition: 0.2s 0s ease-out; }

.footer {
  font-family: "リュウミン R-KL", Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  position: absolute;
  bottom: 0;
  padding: 0;
  width: 100%;
  height: 30px; }
  @media all and (max-width: 980px) {
    .footer {
      height: 30px; } }
  @media all and (max-width: 620px) {
    .footer {
      height: 30px; } }

.footer-menu {
  display: flex; }
  .footer-menu p {
    margin: 0 20px 0 0;
    font-size: 12px;
    font-size: 1.2rem; }

.contact-direct-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  margin: 80px 0; }
  @media all and (max-width: 980px) {
    .contact-direct-wrapper {
      display: inherit; } }
  .contact-direct-wrapper .contact-direct {
    width: 50%;
    text-align: center; }
    @media all and (max-width: 980px) {
      .contact-direct-wrapper .contact-direct {
        width: 100%; } }
    .contact-direct-wrapper .contact-direct dt {
      border-bottom: 1px solid #a0a0a0;
      padding-bottom: 20px;
      margin-bottom: 20px; }
    .contact-direct-wrapper .contact-direct .time {
      margin-top: 10px;
      font-size: 12px;
      font-size: 1.2rem; }
      @media all and (max-width: 980px) {
        .contact-direct-wrapper .contact-direct .time {
          margin-bottom: 70px; } }
  .contact-direct-wrapper .button-direct {
    display: block;
    text-decoration: none;
    background: none;
    border: 1px solid #0097db;
    color: #0097db;
    position: relative;
    text-align: center;
    font-family: "リュウミン R-KL", Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    @icnlude appearance;
    font-size: 14px;
    font-size: 1.4rem;
    width: 280px;
    height: 50px;
    line-height: 50px;
    margin-top: 10px;
    display: inline-block; }
    @media all and (max-width: 980px) {
      .contact-direct-wrapper .button-direct {
        margin: 0 auto; } }
    .contact-direct-wrapper .button-direct .mail-link::before {
      display: inline-block;
      content: '';
      background: url(/img/mail_icon.svg) no-repeat;
      width: 1.5em;
      height: 1.5em;
      margin: 0 10px 0 0;
      vertical-align: middle; }
    .contact-direct-wrapper .button-direct .tel-link::before {
      display: inline-block;
      content: '';
      background: url(/img/tel_icon.svg) no-repeat;
      width: 1.5em;
      height: 1.5em;
      margin: 0 10px 0 0;
      vertical-align: middle; }

.contact-form label {
  font-size: 14px;
  font-size: 1.4rem;
  margin-left: 10px; }
.contact-form .contact-form-title {
  font-size: 14px;
  font-size: 1.4rem;
  border-bottom: 1px solid #a0a0a0;
  padding-bottom: 20px;
  margin-bottom: 40px; }
.contact-form .form-label {
  width: 200px;
  float: left;
  line-height: 40px; }
  @media all and (max-width: 980px) {
    .contact-form .form-label {
      float: none;
      line-height: 1.4em; } }
.contact-form .form-contents {
  width: 780px;
  margin-left: 200px;
  margin-bottom: 40px; }
  @media all and (max-width: 980px) {
    .contact-form .form-contents {
      width: 100%;
      margin: 10px 0 30px 0; } }
  .contact-form .form-contents p {
    font-size: 12px;
    font-size: 1.2rem;
    color: #df0024;
    margin-left: -7px; }
.contact-form .form-input {
  width: 100%;
  height: 40px;
  border: 1px solid #a0a0a0;
  padding-left: 10px; }
.contact-form .form-textarea {
  width: 100%;
  height: 250px;
  border: 1px solid #a0a0a0;
  padding-left: 10px; }
.contact-form .post {
  font-size: 12px;
  font-size: 1.2rem;
  margin-left: 10px;
  letter-spacing: 0.1em; }
.contact-form .required {
  color: #ed1b23;
  padding: 0 0 0 10px;
  font-size: 12px;
  font-size: 1.2rem; }
.contact-form .form-post {
  width: 200px;
  height: 40px;
  border: 1px solid #a0a0a0;
  padding-left: 10px; }
.contact-form ::placeholder {
  color: #acacac;
  font-size: 12px;
  font-size: 1.2rem; }
.contact-form:focus {
  outline: 1px solid #ed1b23;
  outline-offset: 2px; }
.contact-form .button-send {
  display: block;
  text-decoration: none;
  background: none;
  border: 1px solid #0097db;
  color: #0097db;
  position: relative;
  text-align: center;
  font-family: "リュウミン R-KL", Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  @icnlude appearance;
  transition: 0.2s all ease-out;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 50px;
  width: 240px;
  height: 50px;
  margin-left: 200px;
  display: inline-block;
  letter-spacing: 0.5em; }
  @media all and (max-width: 980px) {
    .contact-form .button-send {
      margin: 0 auto; } }
.contact-form .button-send2 {
  display: block;
  text-decoration: none;
  background: none;
  border: 1px solid #0097db;
  color: #0097db;
  position: relative;
  text-align: center;
  font-family: "リュウミン R-KL", Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  @icnlude appearance;
  transition: 0.2s all ease-out;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 50px;
  width: 240px;
  height: 50px;
  margin: 0 10px 0 0;
  display: inline-block; }
  @media all and (max-width: 620px) {
    .contact-form .button-send2 {
      display: block;
      margin: 0 0 20px 0; } }

.step {
  margin: 0 0 60px 0; }
  .step ul {
    overflow: hidden; }
  .step li {
    width: 33%;
    float: left;
    color: #aaa;
    text-decoration: none;
    padding: 6px 0;
    background: #eee;
    position: relative;
    display: block;
    text-align: center; }
    .step li:after {
      content: " ";
      display: block;
      width: 0;
      height: 0;
      border-top: 50px solid transparent;
      border-bottom: 50px solid transparent;
      border-left: 30px solid #eee;
      position: absolute;
      top: 50%;
      margin-top: -50px;
      left: 100%;
      z-index: 2; }
    .step li li:before {
      content: " ";
      display: block;
      width: 0;
      height: 0;
      border-top: 50px solid transparent;
      border-bottom: 50px solid transparent;
      border-left: 30px solid white;
      position: absolute;
      top: 50%;
      margin-top: -50px;
      margin-left: 1px;
      left: 100%;
      z-index: 1; }
    .step li.crr {
      background: #888;
      color: #fff; }
    .step li.crr:after {
      border-left: 30px solid #888; }
    .step lili:first-child {
      padding: 6px 0 6px 30px; }
    .step li.sec {
      padding: 6px 0 6px 50px; }
    .step li:last-child {
      padding: 6px 30px 6px 50px; }
    .step lili:last-child:after, .step lili:last-child:before {
      border: 0; }

#formArea table {
  width: 100%;
  font-size: 1.4rem;
  margin: 30px 0;
  border-top: 1px solid #a0a0a0;
  border-collapse: collapse; }

#formArea form {
  max-width: 640px; }

#formArea th {
  padding: 15px;
  width: 150px;
  text-align: left; }
  @media all and (min-width: 981px) {
    #formArea th {
      border-bottom: 1px solid #a0a0a0; } }
  @media all and (max-width: 980px) {
    #formArea th {
      padding: 15px 0 0 0;
      width: 100%;
      display: block; } }

#formArea td {
  padding: 15px;
  border-bottom: 1px solid #a0a0a0; }
  @media all and (max-width: 980px) {
    #formArea td {
      display: block;
      padding: 15px 0 15px 0; } }

/*Checkboxes styles*/
input[type="checkbox"] {
  display: none; }

input[type="checkbox"] + label {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 20px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none; }

input[type="checkbox"] + label:last-child {
  margin-bottom: 0; }

input[type="checkbox"] + label:before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  border: 1px solid #a0a0a0;
  position: absolute;
  left: 0;
  top: 0;
  opacity: .6;
  -webkit-transition: all .12s, border-color .08s;
  transition: all .12s, border-color .08s; }

input[type="checkbox"]:checked + label:before {
  width: 10px;
  top: -5px;
  left: 5px;
  border-radius: 0;
  opacity: 1;
  border-color: #0097db;
  border-top-color: transparent;
  border-left-color: transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg); }
