@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,
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,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-style: normal;
  font-weight: normal;
  vertical-align: baseline; }

html {
  font-family: 'Hiragino Mincho ProN', 'ヒラギノ明朝 ProN';
  font-style: normal;
  font-weight: normal;
  line-height: 1.6;
  font-size: 62.5%;
  color: #525252;
  text-align: left; }

body {
  font-size: 1.6em; }

ul {
  list-style: none; }

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

caption,
th,
td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q,
blockquote {
  quotes: none; }

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

img {
  border-style: none;
  border: none;
  vertical-align: middle;
  width: 100%;
  height: auto; }

a {
  border-style: none;
  border: none;
  outline: none;
  text-decoration: none;
  color: #525252;
  cursor: pointer; }
  a img {
    border-style: none;
    border: none;
    outline: none; }

a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)"; }

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

.clearfix:after {
  clear: both; }

.clearfix:before,
.clearfix:after {
  display: table;
  content: ""; }

.clearfix {
  zoom: 1; }

body#seisin {
  margin: 0;
  padding: 0;
  background: url("../../img/common/bg.jpg") repeat; }
  body#seisin #wrapper {
    margin: 0 auto;
    overflow: hidden; }
    body#seisin #wrapper .inner {
      width: 1000px;
      margin: 0 auto;
      font-size: 2.0rem; }
      @media screen and (max-width: 767px) {
        body#seisin #wrapper .inner {
          width: 95%;
          margin: 0 auto;
          font-size: 1.6rem; } }
    body#seisin #wrapper #animate {
      animation-duration: 1.5s;
      /* アニメーションの時間 */
      animation-delay: 0.5s;
      /* アニメーション開始時間 */ }

footer {
  padding: 25px 0;
  text-align: center; }
  @media screen and (max-width: 767px) {
    footer {
      padding: 20px 0;
      font-size: 1.2rem; } }

.pc {
  display: block !important; }

.sp {
  display: none !important; }

@media screen and (max-width: 767px) {
  .pc {
    display: none !important; }

  .sp {
    display: block !important; } }
header {
  width: 100%;
  height: 40px;
  background: #fff;
  padding: 6px 0;
  border-top: 3px solid #77ddef; }
  header .box {
    overflow: hidden; }
    header .box .logo {
      width: 28%;
      float: left;
      margin-top: 6px; }
    header .box #s-navi {
      width: 10%;
      float: right; }

#nav-drawer {
  position: relative; }
  #nav-drawer .nav-unshown {
    display: none; }
  #nav-drawer #nav-open {
    display: inline-block;
    vertical-align: middle; }
  #nav-drawer #nav-close {
    display: none;
    /*はじめは隠しておく*/
    position: fixed;
    z-index: 99;
    top: 0;
    /*全体に広がるように*/
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    transition: .3s ease-in-out; }

#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  /*最前面に*/
  width: 90%;
  /*右側に隙間を作る（閉じるカバーを表示）*/
  max-width: 330px;
  /*最大幅（調整してください）*/
  height: 100%;
  background: #fff;
  /*背景色*/
  transition: .3s ease-in-out;
  /*滑らかに表示*/
  -webkit-transform: translateX(-105%);
  transform: translateX(-105%);
  /*左に隠しておく*/ }

/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
  display: block;
  /*カバーを表示*/
  opacity: .5; }

#nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
  /*中身を表示（右へスライド）*/
  box-shadow: 6px 0 25px rgba(0, 0, 0, 0.15);
  z-index: 9998; }

.hamburger-top {
  height: 56px;
  background: #f5f5f5; }
  .hamburger-top .cancel {
    width: 15%;
    float: right;
    margin-top: 5px;
    display: inline-block;
    position: relative;
    z-index: 99; }

.hamburger-top ul {
  padding-top: 90px; }
  .hamburger-top ul li {
    font-size: 1.2rem;
    border-top: 1px solid #f5f5f5;
    border-bottom: 1px solid #f5f5f5;
    padding: 5px 0; }
    .hamburger-top ul li i {
      color: #ffa350;
      padding-right: 5px; }
    .hamburger-top ul li a {
      display: block; }

h1 {
  position: relative; }

.mvTxt {
  position: absolute;
  width: 55.1%;
  top: 0;
  right: 0; }

@media screen and (max-width: 767px) {
  #message {
    padding-top: 25px; } }
#message .inner {
  display: flex;
  position: relative; }
  @media screen and (max-width: 767px) {
    #message .inner {
      display: block; } }
  #message .inner .left {
    flex-basis: 65%;
    padding-top: 80px; }
    @media screen and (max-width: 767px) {
      #message .inner .left {
        padding-top: 0; } }
    #message .inner .left p {
      font-size: 2.8rem;
      margin: 50px 0; }
      @media screen and (max-width: 767px) {
        #message .inner .left p {
          font-size: 1.6rem;
          margin: 25px 0; } }
      #message .inner .left p span {
        color: #de1e98; }
  #message .inner .right {
    position: absolute;
    width: 35%;
    bottom: 0;
    right: 0; }
    @media screen and (max-width: 767px) {
      #message .inner .right {
        display: none; } }

#point {
  background: url("../../img/common/ptBg.jpg") repeat;
  padding: 50px 0 0; }
  @media screen and (max-width: 767px) {
    #point {
      padding: 25px 0; } }
  #point ul {
    padding-top: 50px;
    display: flex;
    justify-content: space-evenly; }
    @media screen and (max-width: 767px) {
      #point ul {
        padding-top: 25px;
        display: block;
        justify-content: none; } }
    #point ul li {
      flex-basis: 30.9%; }
      @media screen and (max-width: 767px) {
        #point ul li {
          width: 75%;
          margin: 10px auto; } }
  #point p {
    width: 66.35%;
    margin: 0 auto;
    padding: 50px 0; }
    @media screen and (max-width: 767px) {
      #point p {
        padding-top: 0;
        width: 100%;
        padding: 25px 0 0; } }

#reason {
  margin-bottom: 50px; }
  @media screen and (max-width: 767px) {
    #reason {
      margin-bottom: 25px; } }
  #reason h2 {
    width: 100%;
    margin: 50px auto; }
    @media screen and (max-width: 767px) {
      #reason h2 {
        width: 100%;
        margin: 25px auto; } }
  #reason .rsPoint li {
    margin: 50px 0 0; }
    @media screen and (max-width: 767px) {
      #reason .rsPoint li {
        margin: 25px 0 0; } }
  #reason .rsPoint li.mr {
    margin: 50px 0; }
    @media screen and (max-width: 767px) {
      #reason .rsPoint li.mr {
        margin: 25px 0; } }

.btn {
  background: url("../../img/common/btnBg.jpg") no-repeat; }
  .btn .inner {
    position: relative; }
    .btn .inner .left {
      width: 78%;
      padding: 20px 0 40px; }
      @media screen and (max-width: 767px) {
        .btn .inner .left {
          width: 100%;
          padding: 20px 0; } }
      .btn .inner .left p {
        font-size: 2.8rem;
        color: #fff;
        font-weight: bold;
        text-align: center;
        padding: 10px 0 15px;
        border-bottom: 2px solid #fff; }
        @media screen and (max-width: 767px) {
          .btn .inner .left p {
            font-size: 1.8rem;
            padding: 0 0 15px; } }
      .btn .inner .left .box {
        display: flex;
        justify-content: space-evenly;
        margin-top: 25px; }
        @media screen and (max-width: 767px) {
          .btn .inner .left .box {
            display: block;
            margin-top: 15px; } }
        .btn .inner .left .box a.tel {
          flex-basis: 75%; }
        .btn .inner .left .box a.mail {
          background: linear-gradient(#04f604, #007c0e);
          background: -moz-llinear-gradient(#04f604, #007c0e);
          background: -webkit-linear-gradient(#04f604, #007c0e);
          flex-basis: 35%;
          padding: 1% 0;
          margin: 0 15px;
          box-sizing: border-box;
          text-align: center;
          border-radius: 55px;
          color: #fff;
          font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN';
          font-weight: bold; }
          .btn .inner .left .box a.mail img {
            width: 60%; }
            @media screen and (max-width: 767px) {
              .btn .inner .left .box a.mail img {
                width: 50%; } }
          @media screen and (max-width: 767px) {
            .btn .inner .left .box a.mail {
              display: block;
              width: 100%;
              margin: 15px 0 0;
              padding: 15px 0; } }
        .btn .inner .left .box a.mail:hover {
          box-shadow: -5px -5px 10px #555 inset; }
    .btn .inner .right {
      position: absolute;
      width: 22%;
      right: 0;
      bottom: 0; }
      @media screen and (max-width: 767px) {
        .btn .inner .right {
          display: none; } }

#trouble {
  background: url("../../img/common/trBg.jpg") top left no-repeat; }
  #trouble .inner h2 {
    width: 90%;
    margin: 0 auto;
    padding: 50px 0; }
    @media screen and (max-width: 767px) {
      #trouble .inner h2 {
        width: 100%;
        margin: 0 auto;
        padding: 25px 0; } }

#solution {
  background: url("../../img/common/soBg.jpg") bottom left no-repeat;
  background-size: contain;
  background-color: #fff; }
  #solution .inner {
    padding-top: 50px;
    display: flex;
    justify-content: space-evenly; }
    @media screen and (max-width: 767px) {
      #solution .inner {
        padding-top: 25px;
        display: block; } }
    #solution .inner dl {
      flex-basis: 32%; }
      @media screen and (max-width: 767px) {
        #solution .inner dl {
          width: 100%; } }
      @media screen and (max-width: 767px) {
        #solution .inner dl dt {
          width: 60%;
          margin: 0 auto; } }
      #solution .inner dl dd {
        height: 210px;
        background: #fffeed;
        margin: 15px 0 0;
        padding: 15px 20px;
        font-size: 2.0rem;
        font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN'; }
        @media screen and (max-width: 767px) {
          #solution .inner dl dd {
            height: auto;
            margin: 15px 0; } }
  #solution .so {
    width: 69.4%;
    margin: 50px auto 0;
    padding-bottom: 445px; }
    @media screen and (max-width: 767px) {
      #solution .so {
        width: 95%;
        margin: 25px auto 0;
        padding-bottom: 125px; } }

#support h2 {
  padding: 50px 0;
  font-weight: bold;
  font-size: 50px;
  text-align: center; }
  @media screen and (max-width: 767px) {
    #support h2 {
      padding: 25px 0;
      font-size: 25px; } }
#support .txt {
  width: 70%;
  margin: 0 auto; }
  @media screen and (max-width: 767px) {
    #support .txt {
      width: 100%;
      margin: 25px auto 0; } }

#process {
  background-color: #eee;
  margin-top: 50px; }
  #process h2 {
    padding: 50px 0;
    font-weight: bold;
    font-size: 50px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      #process h2 {
        padding: 25px 0;
        font-size: 25px; } }
  #process p {
    width: 65%;
    margin: 0 auto;
    text-align: center; }
    @media screen and (max-width: 767px) {
      #process p {
        width: 90%; } }
  #process ul {
    padding: 50px 0;
    display: flex;
    justify-content: space-evenly; }
    @media screen and (max-width: 767px) {
      #process ul {
        width: 80%;
        margin: 0 auto;
        padding: 25px 0;
        display: block;
        overflow: hidden; } }
  #process li {
    flex-basis: 18%; }
    @media screen and (max-width: 767px) {
      #process li {
        width: 45%;
        float: left;
        margin: 15px 2.5% 0; } }

#school {
  background: url("../../img/common/scBg.jpg") top left no-repeat; }
  #school .inner h2 {
    width: 90%;
    margin: 0 auto;
    padding: 50px 0; }
    @media screen and (max-width: 767px) {
      #school .inner h2 {
        width: 100%;
        margin: 0 auto;
        padding: 25px 0; } }
  #school .inner iframe {
    display: block;
    width: 100%;
    height: 515px;
    margin: 0 auto;
    padding: 50px 0; }
    @media screen and (max-width: 767px) {
      #school .inner iframe {
        height: 250px;
        width: 100%;
        margin: 0 auto;
        padding: 25px 0; } }

#slogan {
  background-color: #fff;
  padding: 50px 0; }
  @media screen and (max-width: 767px) {
    #slogan {
      padding: 25px 0; } }
  #slogan .inner h3 {
    width: 27%;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      #slogan .inner h3 {
        width: 50%; } }
  #slogan .inner .box {
    background-color: #fff7fc;
    border: 3px solid #000;
    padding: 35px 3.5%;
    margin: 50px 0; }
    @media screen and (max-width: 767px) {
      #slogan .inner .box {
        border: none;
        border-top: 3px solid #000;
        border-bottom: 3px solid #000;
        padding: 15px 1.5%;
        margin: 25px 0; } }
    #slogan .inner .box h4 {
      width: 83%;
      margin: 0 auto; }
      @media screen and (max-width: 767px) {
        #slogan .inner .box h4 {
          width: 100%; } }
    #slogan .inner .box p {
      margin: 25px 0 0;
      font-size: 30px; }
      @media screen and (max-width: 767px) {
        #slogan .inner .box p {
          margin: 10px 0 0;
          font-size: 16px; } }
  #slogan .inner .school {
    width: 70%;
    margin: 50px auto; }
    @media screen and (max-width: 767px) {
      #slogan .inner .school {
        width: 100%;
        margin: 25px auto; } }
  #slogan .inner .txt {
    width: 70%;
    margin: 50px auto 25px; }
    @media screen and (max-width: 767px) {
      #slogan .inner .txt {
        width: 100%;
        margin: 25px auto 10px; } }
  #slogan .inner .name {
    width: 25%;
    margin: 0 0 0 auto; }
    @media screen and (max-width: 767px) {
      #slogan .inner .name {
        width: 60%; } }

#corporation {
  padding-bottom: 50px; }
  @media screen and (max-width: 767px) {
    #corporation {
      padding-bottom: 25px; } }
  #corporation .inner h2 {
    padding: 50px 0;
    font-weight: bold;
    font-size: 50px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      #corporation .inner h2 {
        padding: 25px 0;
        font-size: 25px; } }
  #corporation .inner dl {
    width: 70%;
    margin: 0 auto;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN';
    background: #eee;
    text-align: center; }
    @media screen and (max-width: 767px) {
      #corporation .inner dl {
        width: 100%; } }
    #corporation .inner dl dt {
      background-color: #ffa350;
      color: #fff;
      text-align: center;
      padding: 15px 0; }
    #corporation .inner dl dd {
      background-color: #eee;
      padding: 15px 0; }
  #corporation .inner dl.txtLeft {
    text-align: left; }
    #corporation .inner dl.txtLeft dd {
      width: 60%;
      margin: 0 auto; }
      @media screen and (max-width: 767px) {
        #corporation .inner dl.txtLeft dd {
          width: 90%; } }
