@charset "UTF-8";
/*---------------------------------------------------------
Theme Name: LP
Theme URI: 
Description: LP
Author: 
Version: 1.0
---------------------------------------------------------*/
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
@import url("https://fonts.googleapis.com/css?family=Roboto:400,700,900");
@import url("https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700");
@import url("https://fonts.googleapis.com/css?family=Montserrat:900");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, 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 {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

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

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

img {
  vertical-align: top;
  font-size: 0;
  line-height: 0; }

@media only screen and (min-width: 769px) {
  .pconly {
    display: block; }
  .sponly {
    display: none; } }

@media only screen and (max-width: 768px) {
  .sponly {
    display: block; }
  .pconly {
    display: none; } }

.fontjp1 {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Original Yu Gothic", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
  font-weight: 300; }

.fontjp2 {
  font-family: Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif; }

.fontjp3, * {
  font-family: 'Roboto+Condensed', 'Roboto', -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Original Yu Gothic", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
  font-weight: 400; }

.en-font {
  font-family: 'Roboto', sans-serif; }

.en-font3 {
  font-family: 'Montserrat', 'Roboto', sans-serif; }

.jp-font {
  font-family: 'Roboto', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif; }

.jp-font-selif {
  font-family: 'Hiragino Mincho ProN', serif; }

* {
  box-sizing: border-box; }

h1,
h2,
h3,
li,
dt,
dd {
  line-height: 150%; }

p {
  line-height: 180%; }

ul {
  list-style: none; }

img {
  max-width: 100%;
  height: auto; }

table {
  border-collapse: collapse;
  width: 100%; }
  table th,
  table td {
    text-align: center;
    padding: 12px 4px;
    border: 1px solid #666;
    font-size: 14px; }
    @media screen and (max-width: 948px) {
      table th,
      table td {
        font-size: 12px; } }

textarea,
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"] {
  width: 100%;
  border-radius: 3px;
  padding: 11px;
  border: none;
  border-bottom: 1px solid #666;
  margin-bottom: 16px;
  margin-bottom: 1rem;
  color: #000; }

input[type="text"],
input[type="tel"],
input[type="email"] {
  border-radius: 0px; }
  input[type="text"]:active,
  input[type="tel"]:active,
  input[type="email"]:active {
    outline: 0;
    border-color: none; }

textarea {
  min-height: 100px; }

select {
  padding: 5px 30px 5px 5px;
  outline: none;
  height: 30px;
  display: inline-block;
  position: relative;
  color: #000; }
  select:after {
    content: "▼";
    display: block;
    position: absolute;
    right: 0px;
    top: 0px;
    width: 16px;
    height: 16px;
    color: #fff; }

input[type=submit] {
  -webkit-appearance: none !important;
     -moz-appearance: none !important;
          appearance: none !important;
  background: #000;
  padding: 15px 20px;
  color: #fff;
  transition: all .25s ease;
  font-size: 15px;
  border: none; }
  input[type=submit]:active {
    opacity: 0.7;
    transition: all .25s ease; }

input[type=radio],
input[type=checkbox] {
  -webkit-appearance: none !important;
     -moz-appearance: none !important;
          appearance: none !important;
  resize: none;
  width: 35px !important;
  height: 22px;
  position: relative;
  border: 1px solid #666;
  border-radius: 11px;
  content: "";
  display: inline-block;
  background: #ccc; }
  input[type=radio]:checked,
  input[type=checkbox]:checked {
    background: #2974C3; }

input[type="checkbox"]:after {
  content: "";
  display: block;
  border-radius: 9px;
  border: 1px solid #666;
  background: #fff;
  position: absolute;
  z-index: 1;
  top: 2px;
  left: 2px;
  width: 14px;
  height: 14px;
  transition: 0.1s linear; }

input[type="checkbox"]:checked {
  background: #2974C3; }
  input[type="checkbox"]:checked:after {
    left: 15px; }

input[type="image"] {
  max-width: 100%; }

.bold {
  font-weight: bold; }

.marker1 {
  background: linear-gradient(transparent 60%, #E4C546 0%); }

.marker2 {
  display: inline;
  padding: 10px 0px;
  background: #E4C546; }

.marker3 {
  background: linear-gradient(transparent 60%, #D20000 0%); }

.taC {
  text-align: center !important; }

@media only screen and (max-width: 768px) {
  .taCSP {
    text-align: center !important; } }

@media only screen and (min-width: 769px) {
  .taCPC {
    text-align: center !important; } }

.taR {
  text-align: right; }

.taL {
  text-align: left; }

.fcRed {
  color: #D20000; }

.r45 {
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg); }

.r90 {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg); }

.r135 {
  -webkit-transform: rotate(135deg);
      -ms-transform: rotate(135deg);
          transform: rotate(135deg); }

.r180 {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg); }

.r225 {
  -webkit-transform: rotate(225deg);
      -ms-transform: rotate(225deg);
          transform: rotate(225deg); }

.r270 {
  -webkit-transform: rotate(270deg);
      -ms-transform: rotate(270deg);
          transform: rotate(270deg); }

.r315 {
  -webkit-transform: rotate(315deg);
      -ms-transform: rotate(315deg);
          transform: rotate(315deg); }

.mt0 {
  margin-top: 0px; }

.mt10 {
  margin-top: 10px; }

.mt20 {
  margin-top: 20px; }

.mt30 {
  margin-top: 30px; }

.mt40 {
  margin-top: 40px; }

.mt50 {
  margin-top: 50px; }

.mt100 {
  margin-top: 100px; }

.mb0 {
  margin-bottom: 0px; }

.mb10 {
  margin-bottom: 10px; }

.mb20 {
  margin-bottom: 20px; }

.mb30 {
  margin-bottom: 30px; }

.mb40 {
  margin-bottom: 40px; }

.mb50 {
  margin-bottom: 50px; }

.mb100 {
  margin-bottom: 100px; }

.pt0 {
  padding-top: 0px; }

.pt10 {
  padding-top: 10px; }

.pt20 {
  padding-top: 20px; }

.pt30 {
  padding-top: 30px; }

.pt40 {
  padding-top: 40px; }

.pt50 {
  padding-top: 50px; }

.pt100 {
  padding-top: 100px; }

.pb0 {
  padding-bottom: 0px; }

.pb10 {
  padding-bottom: 10px; }

.pb20 {
  padding-bottom: 20px; }

.pb30 {
  padding-bottom: 30px; }

.pb40 {
  padding-bottom: 40px; }

.pb50 {
  padding-bottom: 50px; }

.pb100 {
  padding-bottom: 100px; }

@media only screen and (min-width: 769px) {
  .rpt30 {
    padding-top: 30px; } }

@media only screen and (max-width: 768px) {
  .rpt30 {
    padding-top: 20px; } }

@media only screen and (min-width: 769px) {
  .rpt50 {
    padding-top: 50px; } }

@media only screen and (max-width: 768px) {
  .rpt50 {
    padding-top: 30px; } }

@media only screen and (min-width: 769px) {
  .rpt80 {
    padding-top: 80px; } }

@media only screen and (max-width: 768px) {
  .rpt80 {
    padding-top: 40px; } }

@media only screen and (min-width: 769px) {
  .rpt100 {
    padding-top: 100px; } }

@media only screen and (max-width: 768px) {
  .rpt100 {
    padding-top: 50px; } }

@media only screen and (min-width: 769px) {
  .rpb30 {
    padding-bottom: 30px; } }

@media only screen and (max-width: 768px) {
  .rpb30 {
    padding-bottom: 20px; } }

@media only screen and (min-width: 769px) {
  .rpb50 {
    padding-bottom: 50px; } }

@media only screen and (max-width: 768px) {
  .rpb50 {
    padding-bottom: 30px; } }

@media only screen and (min-width: 769px) {
  .rpb100 {
    padding-bottom: 100px; } }

@media only screen and (max-width: 768px) {
  .rpb100 {
    padding-bottom: 50px; } }

@media only screen and (min-width: 769px) {
  .rp30 {
    padding-top: 30px;
    padding-bottom: 30px; } }

@media only screen and (max-width: 768px) {
  .rp30 {
    padding-top: 20px;
    padding-bottom: 20px; } }

@media only screen and (min-width: 769px) {
  .rp50 {
    padding-top: 50px;
    padding-bottom: 50px; } }

@media only screen and (max-width: 768px) {
  .rp50 {
    padding-top: 30px;
    padding-bottom: 30px; } }

@media only screen and (min-width: 769px) {
  .rp100 {
    padding-top: 100px;
    padding-bottom: 100px; } }

@media only screen and (max-width: 768px) {
  .rp100 {
    padding-top: 50px;
    padding-bottom: 50px; } }

@media only screen and (min-width: 769px) {
  .rmt20 {
    margin-top: 20px; } }

@media only screen and (max-width: 768px) {
  .rmt20 {
    margin-top: 10px; } }

@media only screen and (min-width: 769px) {
  .rmt30 {
    margin-top: 30px; } }

@media only screen and (max-width: 768px) {
  .rmt30 {
    margin-top: 20px; } }

@media only screen and (min-width: 769px) {
  .rmt50 {
    margin-top: 50px; } }

@media only screen and (max-width: 768px) {
  .rmt50 {
    margin-top: 30px; } }

@media only screen and (min-width: 769px) {
  .rmt100 {
    margin-top: 100px; } }

@media only screen and (max-width: 768px) {
  .rmt100 {
    margin-top: 50px; } }

@media only screen and (min-width: 769px) {
  .rmb30 {
    margin-bottom: 30px; } }

@media only screen and (max-width: 768px) {
  .rmb30 {
    margin-bottom: 20px; } }

@media only screen and (min-width: 769px) {
  .rmb50 {
    margin-bottom: 50px; } }

@media only screen and (max-width: 768px) {
  .rmb50 {
    margin-bottom: 30px; } }

@media only screen and (min-width: 769px) {
  .rmb100 {
    margin-bottom: 100px; } }

@media only screen and (max-width: 768px) {
  .rmb100 {
    margin-bottom: 50px; } }

@media only screen and (min-width: 769px) {
  .rm30 {
    margin-top: 30px;
    margin-bottom: 30px; } }

@media only screen and (max-width: 768px) {
  .rm30 {
    margin-top: 20px;
    margin-bottom: 20px; } }

@media only screen and (min-width: 769px) {
  .rm50 {
    margin-top: 50px;
    margin-bottom: 50px; } }

@media only screen and (max-width: 768px) {
  .rm50 {
    margin-top: 30px;
    margin-bottom: 30px; } }

@media only screen and (min-width: 769px) {
  .rm100 {
    margin-top: 100px;
    margin-bottom: 100px; } }

@media only screen and (max-width: 768px) {
  .rm100 {
    margin-top: 50px;
    margin-bottom: 50px; } }

@media only screen and (min-width: 769px) {
  .p30 {
    padding-top: 30px;
    padding-bottom: 30px; } }

@media only screen and (max-width: 768px) {
  .p30 {
    padding-top: 15px;
    padding-bottom: 15px; } }

@media only screen and (min-width: 769px) {
  .p50 {
    padding-top: 50px;
    padding-bottom: 50px; } }

@media only screen and (max-width: 768px) {
  .p50 {
    padding-top: 25px;
    padding-bottom: 25px; } }

.w20 {
  width: 20% !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.w30 {
  width: 30% !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.w40 {
  width: 40% !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.w50 {
  width: 50% !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.w60 {
  width: 60% !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.w70 {
  width: 70% !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.w80 {
  width: 80% !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.w90 {
  width: 90% !important;
  margin-left: auto !important;
  margin-right: auto !important; }

@media only screen and (min-width: 769px) {
  .w20pc {
    width: 20% !important;
    margin-left: auto !important;
    margin-right: auto !important; }
  .w30pc {
    width: 30% !important;
    margin-left: auto !important;
    margin-right: auto !important; }
  .w40pc {
    width: 40% !important;
    margin-left: auto !important;
    margin-right: auto !important; }
  .w50pc {
    width: 50% !important;
    margin-left: auto !important;
    margin-right: auto !important; }
  .w60pc {
    width: 60% !important;
    margin-left: auto !important;
    margin-right: auto !important; }
  .w70pc {
    width: 70% !important;
    margin-left: auto !important;
    margin-right: auto !important; }
  .w80pc {
    width: 80% !important;
    margin-left: auto !important;
    margin-right: auto !important; }
  .w90pc {
    width: 90% !important;
    margin-left: auto !important;
    margin-right: auto !important; } }

.youtube,
.iframe {
  position: relative;
  margin-top: 1.2em;
  margin-bottom: 1.2em;
  padding-top: 69px;
  padding-bottom: 50%;
  overflow: hidden; }
  .youtube iframe,
  .iframe iframe {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%; }

.fsXXXXL {
  line-height: 125%;
  font-weight: bold; }
  @media only screen and (min-width: 769px) {
    .fsXXXXL {
      font-size: 90px !important; } }
  @media only screen and (max-width: 768px) {
    .fsXXXXL {
      font-size: 32px !important; } }

.fsXXXL {
  line-height: 125%;
  font-weight: bold; }
  @media only screen and (min-width: 769px) {
    .fsXXXL {
      font-size: 70px !important; } }
  @media only screen and (max-width: 768px) {
    .fsXXXL {
      font-size: 32px !important; } }

.fsXXL {
  line-height: 125%;
  font-weight: bold; }
  @media only screen and (min-width: 769px) {
    .fsXXL {
      font-size: 50px !important; } }
  @media only screen and (max-width: 768px) {
    .fsXXL {
      font-size: 25px !important; } }

.fsXL {
  line-height: 135%; }
  @media only screen and (min-width: 769px) {
    .fsXL {
      font-size: 38px !important; } }
  @media only screen and (max-width: 768px) {
    .fsXL {
      font-size: 20px !important; } }

.fsL, #sp-menu.sp-menu2 ul a {
  line-height: 150%; }
  @media only screen and (min-width: 769px) {
    .fsL, #sp-menu.sp-menu2 ul a {
      font-size: 30px !important; } }
  @media only screen and (max-width: 768px) {
    .fsL, #sp-menu.sp-menu2 ul a {
      font-size: 24px !important; } }

@media only screen and (min-width: 769px) {
  .fsML, textarea,
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="password"], .sub .box h3 .h32 {
    font-size: 24px !important; } }

@media only screen and (max-width: 768px) {
  .fsML, textarea,
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="password"], .sub .box h3 .h32 {
    font-size: 21px !important; } }

@media only screen and (min-width: 769px) {
  .fsM, .sub .box h3 .h31, .form1 div:first-child p {
    font-size: 18px !important; } }

@media only screen and (max-width: 768px) {
  .fsM, .sub .box h3 .h31, .form1 div:first-child p {
    font-size: 16px !important; } }

@media only screen and (min-width: 769px) {
  .fsS, select, .page .btn.medium, #con1 p {
    font-size: 16px !important; } }

@media only screen and (max-width: 768px) {
  .fsS, select, .page .btn.medium, #con1 p {
    font-size: 14px !important; } }

@media only screen and (min-width: 769px) {
  .fsXS, #sp-menu.sp-menu1 ul a, #con2 .span {
    font-size: 14px !important; } }

@media only screen and (max-width: 768px) {
  .fsXS, #sp-menu.sp-menu1 ul a, #con2 .span {
    font-size: 14px !important; } }

@media only screen and (min-width: 769px) {
  .fsXXS, .page .btn.small, .footer .copy, .sub .box td span,
  .sub .box th span, .kome {
    font-size: 12px !important; } }

@media only screen and (max-width: 768px) {
  .fsXXS, .page .btn.small, .footer .copy, .sub .box td span,
  .sub .box th span, .kome {
    font-size: 12px !important; } }

.clearfix:after, .sub .box dl.dl3:after {
  content: "";
  font-size: 0.1em;
  line-height: 0;
  display: block;
  height: 0px;
  clear: both;
  visibility: hidden;
  overflow: hidden; }

.clearfix, .sub .box dl.dl3 {
  display: inline-block; }

* html .clearfix, * html .sub .box dl.dl3, .sub .box * html dl.dl3 {
  height: 1px; }

.clearfix, .sub .box dl.dl3 {
  display: block; }

.flex-pc2-sp2,
.flex-pc2-sp1,
.flex-pc3-sp1,
.flex-pc4-sp1,
.flex-pc4-sp2 {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }

.flex-pc2-sp1 div,
.flex-pc3-sp1 div,
.flex-pc3-sp1 div,
.flex-sp1 div {
  width: 100%; }

@media only screen and (max-width: 768px) {
  .flex-pc2-sp1,
  .flex-pc3-sp1,
  .flex-pc3-sp1,
  .flex-sp1 {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    .flex-pc2-sp1 > div + div,
    .flex-pc3-sp1 > div + div,
    .flex-pc3-sp1 > div + div,
    .flex-sp1 > div + div {
      margin-top: 6%; } }

@media only screen and (max-width: 768px) {
  .flex-sp2 > div,
  .flex-pc2-sp2 > div,
  .flex-pc4-sp2 > div {
    width: 48%; }
  .flex-sp2 > div:nth-child(n+3),
  .flex-pc2-sp2 > div:nth-child(n+3),
  .flex-pc4-sp2 > div:nth-child(n+3) {
    margin-top: 7.2%; } }

@media only screen and (min-width: 769px) {
  .flex-pc2 > div,
  .flex-pc2-sp1 > div,
  .flex-pc2-sp2 > div {
    width: 48%; }
  .flex-pc2 > div:nth-child(n+3),
  .flex-pc2-sp1 > div:nth-child(n+3),
  .flex-pc2-sp2 > div:nth-child(n+3) {
    margin-top: 4%; } }

@media only screen and (min-width: 769px) {
  .flex-pc3 > div,
  .flex-pc3-sp1 > div {
    width: 30.66667%; }
  .flex-pc3 > div:nth-child(n+4),
  .flex-pc3-sp1 > div:nth-child(n+4) {
    margin-top: 4%; } }

@media only screen and (min-width: 769px) {
  .flex-pc4.flex-pc4-sp1 > div,
  .flex-pc4-sp2 > div {
    width: 22%; }
  .flex-pc4.flex-pc4-sp1 > div:nth-child(n+5),
  .flex-pc4-sp2 > div:nth-child(n+5) {
    margin-top: 4%; } }

.centery {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
              -ms-grid-row-align: center;
          align-self: center; }

.order1 {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.order2 {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.order3 {
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.order4 {
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.order5 {
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.order6 {
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

.order7 {
  -webkit-order: 7;
      -ms-flex-order: 7;
          order: 7; }

.order8 {
  -webkit-order: 8;
      -ms-flex-order: 8;
          order: 8; }

@media only screen and (min-width: 769px) {
  .orderpc1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .orderpc2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .orderpc3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .orderpc4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .orderpc5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .orderpc6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; }
  .orderpc7 {
    -webkit-order: 7;
        -ms-flex-order: 7;
            order: 7; }
  .orderpc8 {
    -webkit-order: 8;
        -ms-flex-order: 8;
            order: 8; } }

@media only screen and (max-width: 768px) {
  .ordersp1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .ordersp2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .ordersp3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .ordersp4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .ordersp5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .ordersp6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; }
  .ordersp7 {
    -webkit-order: 7;
        -ms-flex-order: 7;
            order: 7; }
  .ordersp8 {
    -webkit-order: 8;
        -ms-flex-order: 8;
            order: 8; } }

.flex {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.flex-center {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.flex-y {
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-left {
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.flex-right {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.flex-top {
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }

.flex-bottom {
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end; }

.flexself_center {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
              -ms-grid-row-align: center;
          align-self: center; }

.flexself_left {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start; }

.flexself_right {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end; }

@media screen and (max-width: 948px) {
  .all {
    max-width: 100%; } }

@media only screen and (max-width: 768px) {
  .container {
    max-width: 100%; } }

.container .inner {
  margin: 0px auto; }
  @media only screen and (min-width: 769px) {
    .container .inner {
      width: 980px; } }
  @media only screen and (max-width: 768px) {
    .container .inner {
      width: 90%; } }

.container .inner1280 {
  margin: 0px auto; }
  @media only screen and (min-width: 769px) {
    .container .inner1280 {
      width: 1280px; } }
  @media only screen and (max-width: 768px) {
    .container .inner1280 {
      width: 90%; } }

.container .inner p + p, .container .inner p + *, .container .inner * + p,
.container .inner1280 p + p,
.container .inner1280 p + *,
.container .inner1280 * + p {
  margin-top: 20.8px;
  margin-top: 1.3rem; }

@media only screen and (min-width: 769px) {
  .container .inner .floatR,
  .container .inner1280 .floatR {
    float: right;
    margin: 0px 0px 20px 20px;
    max-width: calc(50% - 20px); } }

@media only screen and (max-width: 768px) {
  .container .inner .floatR img,
  .container .inner1280 .floatR img {
    width: 100%;
    height: auto; } }

@media only screen and (min-width: 769px) {
  .container .inner .floatL,
  .container .inner1280 .floatL {
    float: left;
    margin: 0px 20px 20px 0px;
    max-width: calc(50% - 20px); } }

@media only screen and (max-width: 768px) {
  .container .inner .floatL img,
  .container .inner1280 .floatL img {
    width: 100%;
    height: auto; } }

.header-1 {
  position: relative;
  background: none; }
  .header-1.fixed {
    position: fixed;
    width: 100%;
    top: 0px;
    left: 0px;
    z-index: 99; }
    .header-1.fixed #gNav {
      top: 49px; }
  .header-1 .logo {
    width: 100%;
    position: absolute;
    left: 15%;
    width: 70%;
    font-weight: bold;
    line-height: 70px;
    color: #fff;
    text-align: center;
    text-decoration: none; }
    .header-1 .logo img {
      width: 100%; }
  .header-1 a.menu-ico {
    height: 46px;
    width: 46px;
    right: 0%;
    margin: -23px 0 0 0px;
    position: absolute;
    top: 50%; }
    .header-1 a.menu-ico:before, .header-1 a.menu-ico:after,
    .header-1 a.menu-ico span {
      transition: all 0.2s ease-in;
      width: 21px;
      height: 2px;
      border-radius: 1px;
      content: "";
      background: #fff;
      display: block;
      left: 12px;
      position: absolute; }
    .header-1 a.menu-ico:before {
      top: 15px; }
    .header-1 a.menu-ico span {
      top: 50%;
      margin-top: -1px; }
    .header-1 a.menu-ico:after {
      bottom: 15px; }
    .header-1 a.menu-ico.on span {
      opacity: 0; }
    .header-1 a.menu-ico.on:before {
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg);
      top: 50%; }
    .header-1 a.menu-ico.on:after {
      -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
              transform: rotate(-45deg);
      top: 50%; }

#sp-menu.sp-menu1 {
  position: fixed;
  display: block;
  background: #fff;
  z-index: 100;
  width: 300px;
  height: calc(100vh - 70px);
  top: 70px;
  right: -300px;
  transition: right .25s ease;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  align-items: center; }
  #sp-menu.sp-menu1.on {
    position: fixed;
    top: 70px;
    right: 0px;
    transition: right .25s ease;
    box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, .1); }
  #sp-menu.sp-menu1 ul {
    width: 300px;
    margin: 0px 30px 2px; }
    @media only screen and (min-width: 769px) {
      #sp-menu.sp-menu1 ul {
        width: 90%;
        padding: 150px 30px; } }
    @media only screen and (max-width: 768px) {
      #sp-menu.sp-menu1 ul {
        padding: 120px 30px; } }
    #sp-menu.sp-menu1 ul li {
      width: 300px;
      margin: 2px;
      text-align: left; }
    #sp-menu.sp-menu1 ul a {
      text-decoration: none; }

#sp-menu.sp-menu2 {
  position: absolute;
  display: block;
  background: #fff;
  z-index: 100;
  width: 100%;
  height: calc(100vh - 70px);
  opacity: 0;
  top: -200vh;
  transition: opacity .25s ease,top .1s .25s;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  align-items: center; }
  #sp-menu.sp-menu2.fixed {
    position: fixed; }
  #sp-menu.sp-menu2.on {
    position: fixed;
    top: 70px;
    opacity: 1;
    transition: opacity .25s ease; }
  #sp-menu.sp-menu2 ul {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    align-items: center; }
    #sp-menu.sp-menu2 ul li {
      width: 100%;
      text-align: center;
      padding: 5%; }
    #sp-menu.sp-menu2 ul a {
      color: #fff;
      text-decoration: none; }

.page .fcWhite {
  color: #fff; }

.page .btn {
  background: #68CCCA;
  border-radius: 3px;
  color: #fff !important;
  text-align: center;
  text-decoration: none;
  line-height: 100%;
  transition: all .25s ease; }
  .page .btn.small {
    padding: 8px 14px; }
  .page .btn.medium {
    padding: 10px 20px;
    min-width: 150px; }
  .page .btn.large {
    padding: 10px; }
  .page .btn:hover, .page .btn:active {
    opacity: 0.7;
    transition: all .25s ease; }

.page p,
.page li {
  line-height: 200%;
  color: #4D4D4D; }
  @media only screen and (min-width: 769px) {
    .page p,
    .page li {
      font-size: 15px; } }
  @media only screen and (max-width: 768px) {
    .page p,
    .page li {
      font-size: 14px; } }

.page dt,
.page dd {
  color: #4D4D4D; }

.all:before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  background: url(../img/bg1.jpg) no-repeat;
  background-size: cover; }

.all p > a {
  text-decoration: none;
  color: #4D4D4D; }
  .all p > a:hover {
    text-decoration: underline; }

.header {
  position: absolute;
  top: 0px;
  width: 100%;
  height: 65px; }
  .header .logo {
    position: absolute; }
    @media only screen and (min-width: 769px) {
      .header .logo {
        top: 21px;
        left: 10px;
        width: 324px; } }
    @media only screen and (max-width: 768px) {
      .header .logo {
        width: 260px;
        top: 24px;
        left: 10px; } }
  .header .tel {
    position: absolute;
    right: 215px;
    top: 22px; }
  .header .btn {
    position: absolute;
    right: 50px;
    top: 15px; }
  .header .menu-ico {
    margin-top: 0px; }

.sp-menu1 a {
  color: #4D4D4D !important; }

.sp-menu1 a.btn {
  color: #fff !important; }

.sp-menu1 .contact {
  padding-top: 30px; }

.nav1 {
  width: 120px;
  height: 150px;
  position: fixed;
  top: 50%;
  right: 20px;
  margin: -75px 0px 0px; }
  .nav1 a {
    display: block;
    text-decoration: none;
    color: #fff;
    text-align: right; }

#con1 {
  min-height: 100vh; }
  #con1 h2 {
    background: url(../img/line_dot_wht.png) no-repeat bottom center;
    padding-bottom: 40px;
    margin-bottom: 40px; }

#con2 {
  background: linear-gradient(to bottom, #ffffff 0%, #ffffff 19.999%, #F2F2F2 20%, #F2F2F2 100%);
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 19.999%, #F2F2F2 20%, #F2F2F2 100%); }
  @media only screen and (min-width: 769px) {
    #con2 {
      padding-bottom: 100px; } }
  @media only screen and (max-width: 768px) {
    #con2 {
      padding-bottom: 30px; } }
  #con2 .inner {
    margin-top: -120px; }
  #con2 .information {
    margin-bottom: 10px; }
    #con2 .information img {
      position: relative;
      top: 7px; }
    #con2 .information span {
      margin: 0px 10px; }
    #con2 .information a {
      position: relative;
      top: -2px; }
  #con2 .box {
    border-radius: 3px;
    background: #fff; }
    @media only screen and (min-width: 769px) {
      #con2 .box {
        padding: 50px 0 100px;
        margin-bottom: 100px; } }
    @media only screen and (max-width: 768px) {
      #con2 .box {
        padding: 25px 20px 50px;
        margin-bottom: 50px; } }
    #con2 .box h3 {
      background: url(../img/line_dot_blk.png) no-repeat bottom center;
      padding-bottom: 40px;
      margin-bottom: 40px; }
  #con2 .scrolldown {
    margin-bottom: 50px; }
  #con2 .btn {
    display: inline-block; }
  @media only screen and (max-width: 768px) {
    #con2 .flex-pc2-sp1 div {
      margin-bottom: 40px; } }
  @media only screen and (min-width: 769px) {
    #con2 .flex-pc2-sp1 h3 {
      margin-bottom: 40px; } }
  @media only screen and (max-width: 768px) {
    #con2 .flex-pc2-sp1 h3 {
      width: 70%;
      margin-bottom: 20px; } }

#con3 {
  background: url(../img/bg_footer.jpg) no-repeat;
  background-size: cover; }
  @media only screen and (min-width: 769px) {
    #con3 h3 {
      margin-bottom: 40px; } }
  @media only screen and (max-width: 768px) {
    #con3 h3 {
      width: 70%;
      margin-bottom: 30px; } }
  @media only screen and (min-width: 769px) {
    #con3 .mail {
      margin-bottom: 50px; } }
  @media only screen and (max-width: 768px) {
    #con3 .mail {
      margin-top: 10px;
      margin-bottom: 30px; } }

.footer {
  background: #fff; }
  .footer .copy {
    margin-top: 2px !important; }

.subpage .all {
  padding-top: 190px; }

.sub {
  background: #F2F2F2; }
  .sub .inner {
    position: relative;
    top: -120px;
    z-index: 1;
    margin-bottom: -20px; }
  .sub .box {
    border-radius: 3px;
    background: #fff; }
    .sub .box + .box {
      margin-top: 50px; }
      @media only screen and (max-width: 768px) {
        .sub .box + .box {
          margin-top: 50px; } }
    @media only screen and (min-width: 769px) {
      .sub .box {
        padding: 50px 40px 100px; } }
    @media only screen and (max-width: 768px) {
      .sub .box {
        padding: 25px 20px 50px; } }
    @media only screen and (min-width: 769px) {
      .sub .box h2 {
        margin-bottom: 40px; } }
    @media only screen and (max-width: 768px) {
      .sub .box h2 {
        width: 70%;
        margin-bottom: 30px; } }
    .sub .box h3 {
      border-left: 4px #68CCCA solid;
      padding: 0px 0px 0px 17px;
      margin-bottom: 50px; }
      .sub .box h3 span {
        display: block;
        color: #4D4D4D; }
        .sub .box h3 span + span {
          margin-top: 12px; }
      .sub .box h3 .h31 {
        font-weight: bold; }
      .sub .box h3 .h32 {
        font-weight: bold;
        color: #68CCCA; }
    .sub .box hr {
      margin: 30px auto;
      border-top: 1px dotted #4D4D4D; }
    .sub .box .hr2 {
      margin: 20px auto;
      border-top: 1px solid #4D4D4D; }
    @media only screen and (min-width: 769px) {
      .sub .box .fsM, .sub .box h3 .h31, .sub .box .form1 div:first-child p, .form1 div:first-child .sub .box p {
        font-size: 20px !important; } }
    @media only screen and (max-width: 768px) {
      .sub .box .fsM, .sub .box h3 .h31, .sub .box .form1 div:first-child p, .form1 div:first-child .sub .box p {
        font-size: 18px !important; } }
    @media only screen and (min-width: 769px) {
      .sub .box dl.dl2 dt {
        float: left;
        width: 200px; } }
    @media only screen and (max-width: 768px) {
      .sub .box dl.dl2 dt {
        font-size: 12px;
        font-weight: bold;
        margin-bottom: 3px; } }
    @media only screen and (min-width: 769px) {
      .sub .box dl.dl2 dd {
        margin-left: 205px;
        width: calc(100% - 205px); } }
    .sub .box dl.dl1 {
      width: 100%;
      position: relative;
      margin-bottom: 15px; }
      .sub .box dl.dl1 dt {
        width: 100px;
        position: relative;
        float: left; }
        @media only screen and (min-width: 769px) {
          .sub .box dl.dl1 dt {
            width: 120px; } }
        @media only screen and (max-width: 768px) {
          .sub .box dl.dl1 dt {
            padding: 3px 0px;
            width: 75px;
            font-size: 12px; } }
        .sub .box dl.dl1 dt span {
          background: #fff;
          padding-right: 8px;
          display: inline-block;
          position: relative;
          z-index: 2; }
        .sub .box dl.dl1 dt:after {
          content: "";
          height: 1px;
          background: #000;
          display: block;
          position: absolute;
          left: 0px;
          z-index: 1; }
          @media only screen and (min-width: 769px) {
            .sub .box dl.dl1 dt:after {
              width: 120px;
              top: 12px; } }
          @media only screen and (max-width: 768px) {
            .sub .box dl.dl1 dt:after {
              width: 75px;
              top: 10px; } }
      @media only screen and (min-width: 769px) {
        .sub .box dl.dl1 dd {
          margin-left: 125px;
          width: calc(100% - 115px); } }
      @media only screen and (max-width: 768px) {
        .sub .box dl.dl1 dd {
          margin-left: 85px;
          width: calc(100% - 80px); } }
    .sub .box dl.dl3b dt {
      float: left;
      font-weight: bold; }
      @media only screen and (min-width: 769px) {
        .sub .box dl.dl3b dt {
          width: 300px; } }
      @media only screen and (max-width: 768px) {
        .sub .box dl.dl3b dt {
          font-size: 12px;
          width: 170px; } }
    .sub .box dl.dl3b dd {
      font-weight: bold; }
      @media only screen and (min-width: 769px) {
        .sub .box dl.dl3b dd {
          margin-left: 305px;
          width: calc(100% - 300px + 5px); } }
      @media only screen and (max-width: 768px) {
        .sub .box dl.dl3b dd {
          font-size: 12px;
          margin-left: 175px;
          width: calc(100% - 170px + 5px); } }
    .sub .box dl.dl3 {
      width: 100%;
      display: block;
      margin-bottom: 15px; }
      .sub .box dl.dl3 dt {
        position: relative;
        float: left; }
        @media only screen and (min-width: 769px) {
          .sub .box dl.dl3 dt {
            width: 300px; } }
        @media only screen and (max-width: 768px) {
          .sub .box dl.dl3 dt {
            width: 170px;
            font-size: 12px; } }
        .sub .box dl.dl3 dt span {
          background: #fff;
          padding-right: 8px;
          display: inline-block;
          position: relative;
          z-index: 2; }
        .sub .box dl.dl3 dt:after {
          content: "";
          height: 1px;
          background: #000;
          display: block;
          position: absolute;
          left: 0px;
          z-index: 1; }
          @media only screen and (min-width: 769px) {
            .sub .box dl.dl3 dt:after {
              width: 300px;
              top: 12px; } }
          @media only screen and (max-width: 768px) {
            .sub .box dl.dl3 dt:after {
              display: none; } }
      @media only screen and (min-width: 769px) {
        .sub .box dl.dl3 dd {
          margin-left: 305px;
          width: calc(100% - 300px + 5px); } }
      @media only screen and (max-width: 768px) {
        .sub .box dl.dl3 dd {
          font-size: 12px;
          margin-left: 175px;
          width: calc(100% - 170px + 5px); } }
    .sub .box .table {
      margin-top: 50px;
      overflow-x: scroll; }
      .sub .box .table table {
        min-width: 630px; }
    .sub .box th,
    .sub .box th span {
      font-weight: bold;
      white-space: nowrap; }
    @media only screen and (min-width: 769px) {
      .sub .box th {
        white-space: nowrap; } }
    .sub .box .tr1 th:first-child {
      border-right: 1px solid #4D4D4D; }
    .sub .box .tr2 th {
      border-right: 1px solid #4D4D4D; }
    .sub .box .tr2 td,
    .sub .box .tr2 th {
      height: 60px; }
    .sub .box td,
    .sub .box th {
      line-height: 150%;
      text-align: center;
      vertical-align: middle;
      border-left: none;
      border-right: none;
      border-top: solid 1px #4D4D4D;
      border-bottom: solid 1px #4D4D4D; }
      @media only screen and (min-width: 769px) {
        .sub .box td,
        .sub .box th {
          padding: 12px 12px; } }
      @media only screen and (max-width: 768px) {
        .sub .box td,
        .sub .box th {
          padding: 5px 7px; } }
      .sub .box td span,
      .sub .box th span {
        display: block; }

.kome {
  color: red;
  font-weight: normal;
  position: relative;
  top: -10px;
  left: 5px; }

.form1 {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  @media only screen and (min-width: 769px) {
    .form1 div:first-child {
      width: 30%; } }
  .form1 div:first-child p {
    font-weight: bold; }
  @media only screen and (min-width: 769px) {
    .form1 div:last-child {
      width: 70%; } }

input[type="text"],
textarea {
  border: 1px solid #4D4D4D;
  background: #F4F4F2;
  border-radius: 0px;
  margin-bottom: 0px; }

/*# sourceMappingURL=maps/style.css.map */
