@charset "UTF-8";
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,
font,
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 {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  -webkit-padding-start: 0;
  line-height: 1;
  -webkit-text-size-adjust: none;
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  -webkit-margin-start: 0;
  -webkit-margin-end: 0; }

ol,
ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

input[type="password"],
input[type="text"],
input[type="submit"],
input[type="email"],
input[type="tel"],
input[type="date"],
input[type="button"],
button,
textarea,
select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px; }

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  border: none; }

.cx:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden; }

.wrap {
  position: relative;
  min-height: 100%; }

body, html {
  min-height: 100%;
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 500;
  background: #ffffff;
  font-size: 0.9rem;
  line-height: 1.6; }

a {
  font-size: inherit;
  color: inherit;
  text-decoration: inherit;
  display: inline-block; }

.allHide {
  display: none; }

/*変数*/
/*Desktop*/
@media screen and (min-width: 769px) {
  .header_wrap {
    width: 100%;
    background: #ffffff; }
    .header_wrap .header {
      max-width: 1200px;
      margin: auto; }
      .header_wrap .header li {
        width: 50%;
        float: left; }
        .header_wrap .header li a {
          display: block;
          -webkit-transition: all 0.3s;
          -moz-transition: all 0.3s;
          transition: all 0.3s; }
          .header_wrap .header li a:hover {
            opacity: 0.8;
            filter: alpha(opacity=80);
            -webkit-transition: all 0.3s;
            -moz-transition: all 0.3s;
            transition: all 0.3s; }
        .header_wrap .header li span {
          display: block; }
        .header_wrap .header li:nth-child(1) {
          text-align: left;
          position: relative; }
          .header_wrap .header li:nth-child(1) a {
            max-height: 40px;
            padding: 10px 0; }
        .header_wrap .header li:nth-child(2) {
          text-align: right; }
          .header_wrap .header li:nth-child(2) dl {
            display: inline-block;
            background: #F14950;
            padding: 10px 30px; }
          .header_wrap .header li:nth-child(2) dt {
            font-size: 2rem;
            color: #ffffff;
            margin-bottom: 5px;
            font-weight: bold;
            font-family: "Heebo", sans-serif; }
          .header_wrap .header li:nth-child(2) dd {
            font-size: 0.8rem;
            color: #ffffff; }

  .footer_wrap {
    border-top: 1px solid #cccccc;
    margin-top: 30px; }
    .footer_wrap .footer_inner {
      padding: 20px;
      box-sizing: border-box; }
      .footer_wrap .footer_inner ul {
        text-align: center;
        font-size: 0;
        margin-bottom: 20px; }
      .footer_wrap .footer_inner li {
        display: inline-block;
        margin: 0 10px;
        font-size: 0.8rem;
        color: #333333; }
      .footer_wrap .footer_inner p {
        font-size: 0.7rem;
        text-align: center; } }
/*Smartphone*/
@media screen and (max-width: 768px) {
  .header_wrap {
    width: 100%;
    background: #ffffff; }
    .header_wrap .header {
      width: 100%;
      margin: auto; }
      .header_wrap .header li {
        float: left; }
        .header_wrap .header li a {
          display: block;
          -webkit-transition: all 0.3s;
          -moz-transition: all 0.3s;
          transition: all 0.3s; }
          .header_wrap .header li a:hover {
            opacity: 0.8;
            filter: alpha(opacity=80);
            -webkit-transition: all 0.3s;
            -moz-transition: all 0.3s;
            transition: all 0.3s; }
        .header_wrap .header li span {
          display: block; }
        .header_wrap .header li:nth-child(1) {
          width: 30%;
          text-align: left;
          position: relative; }
          .header_wrap .header li:nth-child(1) a {
            max-height: 40px;
            padding: 10px 0 10px 10px; }
        .header_wrap .header li:nth-child(2) {
          width: 70%;
          text-align: right; }
          .header_wrap .header li:nth-child(2) dl {
            display: inline-block;
            background: #F14950;
            padding: 10px 30px; }
          .header_wrap .header li:nth-child(2) dt {
            font-size: 1rem;
            color: #ffffff;
            margin-bottom: 5px;
            font-weight: bold;
            font-family: "Heebo", sans-serif; }
          .header_wrap .header li:nth-child(2) dd {
            font-size: 0.7rem;
            color: #ffffff; }

  .footer_wrap {
    border-top: 1px solid #cccccc;
    margin-top: 30px; }
    .footer_wrap .footer_inner {
      padding: 20px;
      box-sizing: border-box; }
      .footer_wrap .footer_inner ul {
        text-align: center;
        font-size: 0;
        margin-bottom: 20px; }
      .footer_wrap .footer_inner li {
        display: inline-block;
        margin: 0 10px;
        font-size: 0.8rem;
        color: #333333; }
      .footer_wrap .footer_inner p {
        font-size: 0.7rem;
        text-align: center; } }
/*Desktop*/
@media screen and (min-width: 769px) {
  .keyvis {
    width: 100%;
    max-height: 600px;
    position: relative;
    background: url(../img/keyvis.jpg) no-repeat top center;
    padding: 40px 0;
    box-sizing: border-box; }
    .keyvis .keyvis_inner {
      max-width: 1200px;
      max-height: 500px;
      margin: auto; }
      .keyvis .keyvis_inner h1 {
        text-align: center; }
        .keyvis .keyvis_inner h1 img {
          max-height: 100%; }

  .main_point {
    width: 100%;
    margin: -20px 0 0 0;
    position: relative; }
    .main_point .main_point_inner {
      max-width: 1200px;
      margin: auto; }
      .main_point .main_point_inner ul {
        font-size: 0;
        text-align: center; }
      .main_point .main_point_inner li {
        vertical-align: top;
        display: inline-block;
        width: 28%;
        margin: 0 2%;
        box-sizing: border-box;
        background: url(../img/bg1.png) #F14950;
        padding: 40px 15px 30px 15px;
        color: #ffffff;
        text-align: center;
        font-weight: bold;
        position: relative; }
        .main_point .main_point_inner li .main_point_icon {
          position: absolute;
          top: -25px;
          left: 0;
          right: 0;
          margin: auto;
          width: 50px; }
        .main_point .main_point_inner li dt {
          font-size: 2rem;
          margin-bottom: 10px; }
        .main_point .main_point_inner li dd {
          font-size: 2.2rem; }

  .contents_wrap {
    width: 100%;
    margin: auto; }
    .contents_wrap.w {
      background: #ffffff; }
    .contents_wrap.a {
      background: #f7f7f7; }

  .contents {
    max-width: 1200px;
    margin: auto;
    padding: 30px 0; }
    .contents h2 {
      text-align: center;
      font-size: 3rem;
      line-height: 1.5;
      margin-bottom: 30px;
      color: #333333; }
    .contents h3 {
      text-align: center;
      font-size: 2rem;
      line-height: 1.5;
      margin-bottom: 30px;
      color: #F14950; }
    .contents p {
      text-align: center;
      font-size: 1.2rem;
      line-height: 1.8;
      margin-bottom: 30px;
      color: #333333;
      padding: 0 30px; }
    .contents .btn {
      display: block;
      width: 50%;
      margin: 0 auto 30px auto;
      background: url(../img/bg1.png) #F14950;
      box-sizing: border-box;
      padding: 15px;
      color: #ffffff;
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      transition: all 0.3s;
      text-align: center;
      font-size: 1.8rem;
      line-height: 1.5;
      cursor: pointer; }
      .contents .btn:hover {
        opacity: 0.8;
        filter: alpha(opacity=80);
        -webkit-transition: all 0.3s;
        -moz-transition: all 0.3s;
        transition: all 0.3s; }

  .section_1 > ul {
    margin-bottom: 60px; }

  .section_1 > ul > li {
    width: 48%;
    float: left;
    margin: 0 1%;
    box-sizing: border-box;
    padding: 30px; }
    .section_1 > ul > li h4 {
      text-align: center;
      font-size: 2rem;
      line-height: 1.5;
      margin-bottom: 30px; }
    .section_1 > ul > li:nth-child(1) {
      background: #f7f7f7; }
      .section_1 > ul > li:nth-child(1) h4 {
        color: #333333; }
    .section_1 > ul > li:nth-child(2) {
      background: url(../img/bg2.png); }
      .section_1 > ul > li:nth-child(2) h4 {
        color: #F14950; }

  ul.section_1_list li {
    background: #ffffff;
    padding: 15px;
    font-size: 1.2rem;
    font-weight: bold;
    color: #333333;
    width: 100%;
    float: none;
    margin-bottom: 15px;
    box-sizing: border-box; }

  .section_1 table {
    width: 100%; }
    .section_1 table th {
      border: 1px solid #cccccc;
      background: #f7f7f7;
      font-size: 1rem;
      text-align: center;
      padding: 5px;
      vertical-align: middle;
      color: #333333;
      box-sizing: border-box; }
    .section_1 table td {
      border: 1px solid #cccccc;
      text-align: center;
      font-size: 1rem;
      padding: 10px;
      background: #f7f7f7;
      color: #333333;
      vertical-align: middle;
      box-sizing: border-box; }
      .section_1 table td.good {
        background: #F9C89B; }
      .section_1 table td.sogood {
        background: #FFF1CF; }
      .section_1 table td.normal {
        background: #E0EBAF; }

  .section_2 ul {
    font-size: 0;
    text-align: center;
    margin-bottom: 30px; }
    .section_2 ul li {
      display: inline-block;
      background: url(../img/bg1.png) #F14950;
      width: 20%;
      margin: 2%;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      position: relative;
      box-sizing: border-box;
      padding: 15px; }
      .section_2 ul li:before {
        content: "";
        display: block;
        padding-top: 100%; }
      .section_2 ul li div {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: block; }
        .section_2 ul li div p {
          display: table;
          width: 100%;
          height: 100%;
          padding: 0; }
          .section_2 ul li div p span {
            display: table-cell;
            width: 100%;
            height: 100%;
            vertical-align: middle;
            font-size: 1.8rem;
            color: #ffffff;
            font-weight: bold; }

  .section_2 .img_wrap {
    width: 60%;
    margin: 0 auto 30px auto; }
  .section_2 .movie {
    width: 60%;
    margin: 0 auto 30px auto; }

  .section_3 ul {
    width: 80%;
    margin: auto; }
    .section_3 ul li {
      width: 100%;
      background: url(../img/bg3.png);
      border: 1px solid #F14950;
      box-sizing: border-box;
      padding: 30px;
      margin-bottom: 30px; }
      .section_3 ul li p {
        width: 80%;
        text-align: left;
        margin: 0 auto;
        font-weight: bold; }

  .section_4 ul {
    font-size: 0;
    text-align: center;
    margin-top: 60px; }
    .section_4 ul li {
      display: inline-block;
      width: 30%;
      margin: 0 1%;
      box-sizing: border-box;
      padding: 0 30px;
      background: #ffffff; }
      .section_4 ul li dl {
        text-align: center; }
      .section_4 ul li dt {
        font-size: 2rem;
        color: #ffffff;
        width: 100%;
        background: #F14950;
        font-weight: bold;
        margin-top: -30px;
        margin-bottom: 15px;
        padding: 15px 0; }
      .section_4 ul li dd {
        font-size: 1.5rem;
        color: #333333; }
      .section_4 ul li div {
        margin-bottom: 15px;
        text-align: center; }
      .section_4 ul li p {
        font-size: 0.9rem;
        line-height: 1.8;
        text-align: left; }

  .section_5 li {
    width: 46%;
    float: left;
    margin: 2%;
    border: 1px solid #cccccc;
    box-sizing: border-box;
    padding: 30px; }
    .section_5 li div {
      margin-bottom: 15px; }
    .section_5 li p {
      font-size: 1.5rem;
      color: #333333;
      margin: 0;
      font-weight: bold; }

  .section_6 .price {
    background: #F14950;
    width: 80%;
    margin: 0 auto 30px auto;
    box-sizing: border-box;
    padding: 30px;
    color: #ffffff;
    text-align: center;
    font-weight: bold; }
    .section_6 .price dt {
      font-size: 2rem;
      margin-bottom: 15px;
      text-decoration: line-through; }
    .section_6 .price dd {
      font-size: 3rem; }
  .section_6 ol {
    width: 80%;
    margin: auto; }
  .section_6 li {
    font-size: 1rem;
    margin-bottom: 15px;
    text-align: left; }

  .section_7 {
    box-sizing: border-box;
    padding: 30px 20%; }
    .section_7 input[type="text"] {
      border: 1px solid #cccccc;
      box-sizing: border-box;
      padding: 15px;
      display: block;
      width: 100%; }
    .section_7 input[type="tel"] {
      border: 1px solid #cccccc;
      box-sizing: border-box;
      padding: 15px;
      display: block;
      width: 100%; }
    .section_7 input[type="email"] {
      border: 1px solid #cccccc;
      box-sizing: border-box;
      padding: 15px;
      display: block;
      width: 100%; }
    .section_7 textarea {
      border: 1px solid #cccccc;
      box-sizing: border-box;
      padding: 15px;
      display: block;
      width: 100%; }
    .section_7 dt {
      margin-bottom: 10px; }
    .section_7 dd {
      margin-bottom: 30px; }
    .section_7 .required {
      font-weight: bold;
      color: #F14950;
      line-height: 2; } }
/*Smartphone*/
@media screen and (max-width: 768px) {
  .keyvis {
    width: 100%;
    height: auto;
    position: relative;
    background: url(../img/keyvis.jpg) no-repeat top center;
    background-size: cover;
    padding: 20px 0;
    box-sizing: border-box;
    margin-bottom: 15px; }
    .keyvis .keyvis_inner {
      width: 100%;
      margin: auto; }
      .keyvis .keyvis_inner h1 {
        text-align: center; }

  .main_point {
    width: 90%;
    margin: auto;
    position: relative; }
    .main_point .main_point_inner {
      width: 100%;
      margin: auto; }
      .main_point .main_point_inner ul {
        font-size: 0;
        text-align: center; }
      .main_point .main_point_inner li {
        vertical-align: top;
        display: block;
        width: 100%;
        margin: 0 0 2% 0;
        box-sizing: border-box;
        background: url(../img/bg1.png) #F14950;
        padding: 15px;
        color: #ffffff;
        text-align: center;
        font-weight: bold;
        position: relative; }
        .main_point .main_point_inner li .main_point_icon {
          display: none; }
        .main_point .main_point_inner li dt {
          font-size: 1rem;
          margin-bottom: 10px; }
        .main_point .main_point_inner li dd {
          font-size: 1.8rem; }

  .contents_wrap {
    width: 100%;
    margin: auto; }
    .contents_wrap.w {
      background: #ffffff; }
    .contents_wrap.a {
      background: #f7f7f7; }

  .contents {
    width: 96%;
    margin: auto;
    padding: 30px 0; }
    .contents h2 {
      text-align: center;
      font-size: 2rem;
      line-height: 1.5;
      margin-bottom: 30px;
      color: #333333; }
    .contents h3 {
      text-align: center;
      font-size: 1.5rem;
      line-height: 1.5;
      margin-bottom: 30px;
      color: #F14950; }
    .contents p {
      text-align: left;
      font-size: 0.9rem;
      line-height: 1.8;
      margin-bottom: 30px;
      color: #333333;
      padding: 0 30px; }
    .contents .btn {
      display: block;
      width: 100%;
      margin: 0 auto 30px auto;
      background: url(../img/bg1.png) #F14950;
      box-sizing: border-box;
      padding: 15px;
      color: #ffffff;
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      transition: all 0.3s;
      text-align: center;
      font-size: 1rem;
      line-height: 1.5;
      cursor: pointer; }
      .contents .btn:hover {
        opacity: 0.8;
        filter: alpha(opacity=80);
        -webkit-transition: all 0.3s;
        -moz-transition: all 0.3s;
        transition: all 0.3s; }

  .section_1 > ul {
    margin-bottom: 30px; }

  .section_1 > ul > li {
    width: 100%;
    margin: 0 0 15px 0;
    box-sizing: border-box;
    padding: 10px; }
    .section_1 > ul > li h4 {
      text-align: center;
      font-size: 1rem;
      line-height: 1.5;
      margin-bottom: 15px; }
    .section_1 > ul > li:nth-child(1) {
      background: #f7f7f7; }
      .section_1 > ul > li:nth-child(1) h4 {
        color: #333333; }
    .section_1 > ul > li:nth-child(2) {
      background: url(../img/bg2.png); }
      .section_1 > ul > li:nth-child(2) h4 {
        color: #F14950; }

  ul.section_1_list li {
    background: #ffffff;
    padding: 15px;
    font-size: 1.2rem;
    font-weight: bold;
    color: #333333;
    width: 100%;
    float: none;
    margin-bottom: 15px;
    box-sizing: border-box; }

  .section_1 table {
    width: 100%; }
    .section_1 table th {
      border: 1px solid #cccccc;
      background: #f7f7f7;
      font-size: 0,8rem;
      text-align: center;
      padding: 5px;
      vertical-align: middle;
      color: #333333;
      box-sizing: border-box; }
    .section_1 table td {
      border: 1px solid #cccccc;
      text-align: center;
      font-size: 0.8rem;
      padding: 10px;
      background: #f7f7f7;
      color: #333333;
      vertical-align: middle;
      box-sizing: border-box; }
      .section_1 table td.good {
        background: #F9C89B; }
      .section_1 table td.sogood {
        background: #FFF1CF; }
      .section_1 table td.normal {
        background: #E0EBAF; }

  .section_2 ul {
    font-size: 0;
    text-align: center;
    margin-bottom: 30px; }
    .section_2 ul li {
      display: inline-block;
      background: url(../img/bg1.png) #F14950;
      width: 40%;
      margin: 2%;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      position: relative;
      box-sizing: border-box;
      padding: 15px; }
      .section_2 ul li:before {
        content: "";
        display: block;
        padding-top: 100%; }
      .section_2 ul li div {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: block; }
        .section_2 ul li div p {
          display: table;
          width: 100%;
          height: 100%;
          padding: 0; }
          .section_2 ul li div p span {
            display: table-cell;
            width: 100%;
            height: 100%;
            vertical-align: middle;
            font-size: 1rem;
            color: #ffffff;
            font-weight: bold;
            text-align: center;
            line-height: 1.5; }

  .section_2 .img_wrap {
    width: 90%;
    margin: 0 auto 30px auto; }
  .section_2 .movie {
    width: 90%;
    margin: 0 auto 30px auto; }

  .section_3 ul {
    width: 100%;
    margin: auto; }
    .section_3 ul li {
      width: 100%;
      background: url(../img/bg3.png);
      border: 1px solid #F14950;
      box-sizing: border-box;
      padding: 20px;
      margin-bottom: 30px; }
      .section_3 ul li p {
        width: 80%;
        text-align: left;
        margin: 0 auto;
        font-weight: bold; }

  .section_4 ul {
    font-size: 0;
    text-align: center;
    margin-top: 60px; }
    .section_4 ul li {
      display: block;
      width: 100%;
      margin: 0 0 30px 0;
      box-sizing: border-box;
      background: #ffffff;
      padding-bottom: 15px; }
      .section_4 ul li dl {
        text-align: center; }
      .section_4 ul li dt {
        font-size: 1rem;
        color: #ffffff;
        width: 100%;
        background: #F14950;
        font-weight: bold;
        margin-bottom: 15px;
        padding: 15px 0; }
      .section_4 ul li dd {
        font-size: 0.8rem;
        color: #333333; }
      .section_4 ul li div {
        width: 50%;
        margin: 0 auto 15px auto;
        text-align: center; }
      .section_4 ul li p {
        font-size: 0.9rem;
        line-height: 1.8;
        text-align: left;
        padding: 0 30px; }

  .section_5 li {
    width: 96%;
    margin: 2%;
    border: 1px solid #cccccc;
    box-sizing: border-box;
    padding: 30px; }
    .section_5 li div {
      margin-bottom: 15px; }
    .section_5 li p {
      font-size: 1rem;
      color: #333333;
      margin: 0;
      font-weight: bold; }

  .section_6 .price {
    background: #F14950;
    width: 90%;
    margin: 0 auto 30px auto;
    box-sizing: border-box;
    padding: 20px;
    color: #ffffff;
    text-align: center;
    font-weight: bold; }
    .section_6 .price dt {
      font-size: 1rem;
      margin-bottom: 15px;
      text-decoration: line-through; }
    .section_6 .price dd {
      font-size: 1.4rem; }
  .section_6 ol {
    width: 90%;
    margin: auto; }
  .section_6 li {
    font-size: 0.8rem;
    margin-bottom: 15px;
    text-align: left;
    line-height: 1.5; }

  .section_7 {
    box-sizing: border-box;
    padding: 30px 5%; }
    .section_7 input[type="text"] {
      border: 1px solid #cccccc;
      box-sizing: border-box;
      padding: 15px;
      display: block;
      width: 100%; }
    .section_7 input[type="tel"] {
      border: 1px solid #cccccc;
      box-sizing: border-box;
      padding: 15px;
      display: block;
      width: 100%; }
    .section_7 input[type="email"] {
      border: 1px solid #cccccc;
      box-sizing: border-box;
      padding: 15px;
      display: block;
      width: 100%; }
    .section_7 textarea {
      border: 1px solid #cccccc;
      box-sizing: border-box;
      padding: 15px;
      display: block;
      width: 100%; }
    .section_7 dt {
      margin-bottom: 10px; }
    .section_7 dd {
      margin-bottom: 30px; }
    .section_7 .required {
      font-weight: bold;
      color: #F14950;
      line-height: 2; } }
