@charset "UTF-8";
body {
  letter-spacing: 0;
  line-height: 1.5;
  background: #ffffff;
  color: #474747;
  height: 100%;
  font-size: 100%;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

a {
  transition: all 0.1s ease-in;
  -webkit-transition: all 0.1s ease-in;
  border: none;
  outline: none;
  text-decoration: none;
  color: #414FA3;
  font-weight: bold; }

a:hover {
  color: #111; }

.clearfix:after {
  content: "";
  clear: both;
  display: block; }

header {
  padding: 14px 5%;
  background: #fcf9fa; }
  header h1 {
    display: inline-block;
    margin: 0;
    line-height: 0;
    font-size: 150%;
    color: #fc4681; }
    header h1 img {
      width: 100px;
      vertical-align: text-bottom; }

section#top {
  background-image: url(../images/top_bg.jpg);
  background-size: cover;
  height: 60vh;
  display: flex;
  justify-content: center;
  align-items: center; }
  section#top h1 {
    display: block;
    margin: auto; }
    section#top h1 img {
      width: 33vw; }

section#business_description {
  padding: 80px 0; }
  section#business_description h2 {
    text-align: center;
    font-size: 180%;
    margin: 0 0 40px; }
  section#business_description .wrap {
    max-width: 1200px;
    margin: auto;
    padding: 72px 5%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    section#business_description .wrap .row {
      width: 30%; }
      section#business_description .wrap .row .row_img {
        text-align: center;
        margin: 0 0 16px; }
        section#business_description .wrap .row .row_img img {
          width: 36%; }
      section#business_description .wrap .row h3 {
        font-weight: bold;
        font-size: 120%;
        text-align: center;
        margin: 0 0 8px; }
      section#business_description .wrap .row p {
        font-size: 97%; }

section#message {
  background-image: url(../images/ms_bg.jpg);
  background-position: center;
  background-size: cover;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 5%; }
  section#message .wrap {
    background: #ffffff;
    max-width: 780px;
    margin: auto;
    text-align: center;
    padding: 5%;
    border-radius: 12px;
    -webkit-box-shadow: rgba(6, 24, 44, 0.4) 0px 0px 0px 2px, rgba(6, 24, 44, 0.65) 0px 4px 6px -1px, rgba(255, 255, 255, 0.08) 0px 1px 0px inset;
            box-shadow: rgba(6, 24, 44, 0.4) 0px 0px 0px 2px, rgba(6, 24, 44, 0.65) 0px 4px 6px -1px, rgba(255, 255, 255, 0.08) 0px 1px 0px inset; }
    section#message .wrap .box p {
      color: #666;
      font-size: 130%;
      line-height: 2;
      padding: 16px 0; }

section#company {
  padding: 68px 5% 88px; }
  section#company .wrap {
    max-width: 780px;
    margin: auto; }
    section#company .wrap h2 {
      text-align: center;
      font-size: 180%;
      margin: 0 0 40px; }
    section#company .wrap table {
      margin: auto;
      font-size: 110%;
      width: 100%;
      padding: 40px 0; }
      section#company .wrap table tr th {
        text-align: center;
        padding: 20px 32px;
        border-bottom: solid 1px #3f3f3f;
        color: #3f3f3f;
        font-weight: bold; }
      section#company .wrap table tr td {
        padding: 20px 32px;
        border-bottom: solid 1px #cfcfcf;
        color: #727272; }

section#access {
  background: #fff4f6;
  padding: 68px 5%;
  background-image: url(../images/bg.jpg);
  background-size: cover; }
  section#access h2 {
    text-align: center;
    font-size: 180%;
    margin: 0 0 40px; }
  section#access .wrap {
    margin: auto;
    max-width: 1000px; }
    section#access .wrap iframe {
      filter: grayscale(100%);
      -webkit-filter: grayscale(100%); }

section#contact {
  padding: 96px 5%;
  background: -webkit-gradient(linear, left top, left bottom, from(#fc4681), to(#ffffff));
  background: linear-gradient(#fc4681, #ffffff); }
  section#contact .contact_btn {
    text-align: center; }
    section#contact .contact_btn a {
      display: inline-block;
      background-color: #ffffff;
      border: 1px solid #ffffff;
      color: #ff2880;
      padding: 24px;
      border-radius: 50px;
      padding: 24px 48px;
      font-size: 140%;
      -webkit-box-shadow: rgba(0, 0, 0, 0.18) 0px 2px 4px;
              box-shadow: rgba(0, 0, 0, 0.18) 0px 2px 4px;
      font-weight: 100; }
    section#contact .contact_btn a:hover {
      background-color: #ff9fc1;
      border: 1px solid #ffffff;
      color: #ffffff; }

footer {
  background: #ffffff;
  padding: 16px 5%; }
  footer p {
    color: #262626;
    text-align: right; }

@media only screen and (max-width: 768px) {
  section#top h1 img {
    width: 70vw; }
  section#business_description {
    padding: 24px 0; }
    section#business_description .wrap .row {
      width: 100%;
      margin: 0 0 48px; }
      section#business_description .wrap .row p {
        font-size: 90%; }
  section#message .wrap .box p {
    font-size: 110%; }
  section#company .wrap table {
    font-size: 100%; } }

@media only screen and (max-width: 320px) {
  header h1 {
    font-size: 130%; }
  section#message {
    height: auto; } }
