@charset "UTF-8";
/* html5doctor.com Reset Stylesheet v1.6.1 Last Updated: 2010-09-17 Author: Richard Clark - http://richclarkdesign.com Twitter: @rich_clark */
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; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
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; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

ul, ol {
  list-style: none; }

h1, h2, h3, h4, h5 {
  clear: both; }

a {
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s; }

body {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  background: #f7f9fc; }

.js-on #wrap {
  opacity: 0; }

#loading {
  width: 100%;
  height: 100%;
  display: none;
  background: #cad0d9;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000; }

#loading img {
  position: absolute;
  top: 50%;
  left: 50%; }

header {
  background: #9e0c22;
  font-size: calc(10px + 1vw);
  color: #f7f9fc;
  padding: 2% 3%; }
  header a {
    display: inline-block;
    text-decoration: none;
    color: #9e0c22;
    width: 100%; }

#home_main {
  width: 100%;
  height: 100vh;
  position: relative;
  overflow: hidden;
  z-index: 99; }
  #home_main #copy {
    font-size: calc(14px + 3vw);
    width: 10em;
    position: relative;
    -webkit-animation: bg01 2s ease 5s 1 normal forwards;
    animation: bg01 2s ease 5s 1 normal forwards; }
    @media screen and (max-width: 700px) {
      #home_main #copy {
        width: 5em; } }
    #home_main #copy:after {
      content: "";
      display: block;
      width: 1px;
      position: absolute;
      top: 0;
      right: 0;
      border-right: solid 2px #9e0c22;
      -webkit-animation: line 3s ease 3s 1 normal forwards;
      animation: line 3s ease 3s 1 normal forwards; }
    #home_main #copy h2 {
      font-weight: bold;
      position: absolute;
      top: 45%;
      left: -10em;
      margin: 0 8%;
      line-height: 1.5em;
      color: #000;
      font-size: calc(14px + 3vw);
      -webkit-animation: h2 1.5s ease 5s 1 normal forwards;
      animation: h2 1.5s ease 5s 1 normal forwards; }
      #home_main #copy h2 span {
        white-space: nowrap;
        display: inline-block; }
      @media screen and (max-width: 700px) {
        #home_main #copy h2 {
          -webkit-writing-mode: vertical-rl;
          -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
          text-orientation: upright;
          top: 5%; } }

@-webkit-keyframes bg01 {
  0% {
    background: rgba(255, 255, 255, 0); }
  100% {
    background: rgba(255, 255, 255, 0.5); } }

@keyframes bg01 {
  0% {
    background: rgba(255, 255, 255, 0); }
  100% {
    background: rgba(255, 255, 255, 0.5); } }

@-webkit-keyframes line {
  0% {
    height: 0; }
  100% {
    height: 100%; } }

@keyframes line {
  0% {
    height: 0; }
  100% {
    height: 100%; } }

@-webkit-keyframes h2 {
  0% {
    left: -10em; }
  100% {
    left: 0; } }

@keyframes h2 {
  0% {
    left: -10em; }
  100% {
    left: 0; } }

#header2 {
  width: 100%;
  height: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  background: #e0e4ea;
  position: fixed;
  top: -50px;
  z-index: 100;
  -webkit-box-shadow: 1px 0px 3px #abb3c1;
  box-shadow: 1px 0px 3px #abb3c1;
  -webkit-transition: 1s;
  -o-transition: 1s;
  transition: 1s; }
  #header2 h1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    #header2 h1 a {
      text-decoration: none;
      color: #9e0c22;
      cursor: pointer;
      margin: 0 1em;
      line-height: 1.3em; }
      #header2 h1 a span {
        white-space: nowrap;
        display: inline-block; }
  #header2 > a.g_link_a {
    background: #9e0c22;
    color: #f7f9fc;
    text-decoration: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    #header2 > a.g_link_a > span {
      white-space: nowrap;
      display: inline-block;
      font-family: "Helvetica Neue",
 Arial,
 "Hiragino Kaku Gothic ProN",
 "Hiragino Sans",
 "BIZ UDPGothic",
 Meiryo,
 sans-serif; }
    #header2 > a.g_link_a div {
      font-size: 80%;
      text-align: center; }
      #header2 > a.g_link_a div > span {
        white-space: nowrap;
        display: inline-block; }
    #header2 > a.g_link_a:hover {
      -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
      transform: scale(1.2); }

#header2.on {
  top: 0;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0); }

#wrap > #header2 {
  top: 0; }

.contact {
  background: url(../img/ico_tel.png) no-repeat top left, #b62840;
  color: #f7f9fc;
  border-radius: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  @media screen and (max-width: 480px) {
    .contact {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; } }
  .contact p:first-child {
    font-family: "Helvetica Neue",
 Arial,
 "Hiragino Kaku Gothic ProN",
 "Hiragino Sans",
 "BIZ UDPGothic",
 Meiryo,
 sans-serif;
    padding: 1em;
    margin: 0.5em 1em; }
    @media screen and (max-width: 800px) {
      .contact p:first-child {
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl; } }
    @media screen and (max-width: 480px) {
      .contact p:first-child {
        -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb; } }
  .contact p:nth-child(2) {
    font-size: 160%;
    font-weight: bold;
    color: #fff;
    margin: 1em 1em;
    text-align: left; }
    @media screen and (max-width: 480px) {
      .contact p:nth-child(2) {
        text-align: center; } }
    .contact p:nth-child(2) > span {
      display: inline-block;
      font-size: 50%;
      font-weight: normal;
      line-height: 1.3em;
      font-family: "Helvetica Neue",
 Arial,
 "Hiragino Kaku Gothic ProN",
 "Hiragino Sans",
 "BIZ UDPGothic",
 Meiryo,
 sans-serif;
      margin: 0.6em 0 0 0; }
      .contact p:nth-child(2) > span > span {
        white-space: nowrap;
        display: inline-block; }
  .contact > a {
    display: block;
    background: url(../img/ico_mail.png) no-repeat top left, #9e0c22;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-family: "Helvetica Neue",
 Arial,
 "Hiragino Kaku Gothic ProN",
 "Hiragino Sans",
 "BIZ UDPGothic",
 Meiryo,
 sans-serif;
    padding: 1em;
    line-height: 1.5em;
    border-radius: 0 0 5px 5px;
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    -o-transition: transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-line-pack: center;
    align-content: center; }
    @media screen and (max-width: 800px) {
      .contact > a {
        border-radius: 0 5px 5px 0;
        padding: 2em; } }
    @media screen and (max-width: 480px) {
      .contact > a {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        border-radius: 0 0 5px 5px; } }
    .contact > a:hover {
      -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
      transform: scale(1.1);
      border-radius: 5px; }
    .contact > a span {
      white-space: nowrap;
      display: inline-block; }

#g_link_top {
  position: absolute;
  bottom: 0; }
  #g_link_top ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border: solid 1px #000;
    background: url(../img/bg_link.jpg); }
    #g_link_top ul li {
      -webkit-box-flex: 1;
      -ms-flex-positive: 1;
      flex-grow: 1;
      background: #abb3c1;
      border: solid 1px #000;
      width: 12em;
      font-weight: bold;
      letter-spacing: 0.1em;
      -webkit-transition: -webkit-transform 0.2s linear;
      transition: -webkit-transform 0.2s linear;
      -o-transition: transform 0.2s linear;
      transition: transform 0.2s linear;
      transition: transform 0.2s linear, -webkit-transform 0.2s linear; }
      #g_link_top ul li:hover {
        -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
        transform: scale(1.1); }
      @media screen and (max-width: 480px) {
        #g_link_top ul li {
          font-size: 70%; } }
      #g_link_top ul li:first-child {
        background: -webkit-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(55, 118, 140, 0.5);
        background: -o-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(55, 118, 140, 0.5);
        background: linear-gradient(150deg, rgba(0, 0, 0, 0), black), rgba(55, 118, 140, 0.5); }
      #g_link_top ul li:nth-child(2) {
        background: -webkit-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(148, 59, 58, 0.5);
        background: -o-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(148, 59, 58, 0.5);
        background: linear-gradient(150deg, rgba(0, 0, 0, 0), black), rgba(148, 59, 58, 0.5); }
      #g_link_top ul li:nth-child(3) {
        background: -webkit-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(65, 114, 45, 0.5);
        background: -o-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(65, 114, 45, 0.5);
        background: linear-gradient(150deg, rgba(0, 0, 0, 0), black), rgba(65, 114, 45, 0.5); }
      #g_link_top ul li:nth-child(4) {
        background: -webkit-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(99, 99, 99, 0.5);
        background: -o-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(99, 99, 99, 0.5);
        background: linear-gradient(150deg, rgba(0, 0, 0, 0), black), rgba(99, 99, 99, 0.5); }
      #g_link_top ul li:nth-child(5) {
        background: -webkit-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(71, 73, 137, 0.5);
        background: -o-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(71, 73, 137, 0.5);
        background: linear-gradient(150deg, rgba(0, 0, 0, 0), black), rgba(71, 73, 137, 0.5); }
      #g_link_top ul li:nth-child(6) {
        background: -webkit-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(135, 53, 97, 0.5);
        background: -o-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(135, 53, 97, 0.5);
        background: linear-gradient(150deg, rgba(0, 0, 0, 0), black), rgba(135, 53, 97, 0.5); }
      #g_link_top ul li:nth-child(7) {
        background: -webkit-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(138, 106, 54, 0.5);
        background: -o-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(138, 106, 54, 0.5);
        background: linear-gradient(150deg, rgba(0, 0, 0, 0), black), rgba(138, 106, 54, 0.5); }
      #g_link_top ul li a {
        display: inline-block;
        text-decoration: none;
        color: #f7f9fc;
        width: 100%;
        height: 3em;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; }
        #g_link_top ul li a span {
          font-size: 140%; }
        #g_link_top ul li a:hover {
          background: rgba(0, 0, 0, 0.5); }

.g_link_side {
  position: fixed !important;
  top: 3em;
  right: -100%;
  -webkit-animation: side 1.5s ease 0s 1 forwards;
  animation: side 1.5s ease 0s 1 forwards; }
  .g_link_side ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }

@-webkit-keyframes side {
  0% {
    right: -100%; }
  100% {
    right: 0; } }

@keyframes side {
  0% {
    right: -100%; }
  100% {
    right: 0; } }

#g_nav {
  background: rgba(0, 0, 0, 0.8);
  display: none;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000; }
  #g_nav div#g_close {
    font-size: 300%;
    color: #fff;
    font-weight: bold;
    text-align: right;
    cursor: pointer; }
  #g_nav h1 {
    color: #f7f9fc;
    margin: 5%;
    font-size: calc(10px + 1vw); }
  #g_nav .contact {
    margin: 5%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  #g_nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: absolute;
    bottom: 0;
    background: url(../img/bg_link.jpg); }
    #g_nav ul li {
      -webkit-box-flex: 1;
      -ms-flex-positive: 1;
      flex-grow: 1;
      background: #abb3c1;
      border: solid 1px #f7f9fc;
      width: 12em;
      font-weight: bold;
      -webkit-transition: -webkit-transform 0.2s linear;
      transition: -webkit-transform 0.2s linear;
      -o-transition: transform 0.2s linear;
      transition: transform 0.2s linear;
      transition: transform 0.2s linear, -webkit-transform 0.2s linear; }
      @media screen and (max-width: 480px) {
        #g_nav ul li {
          font-size: 70%; } }
      #g_nav ul li:hover {
        -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
        transform: scale(1.1); }
      #g_nav ul li:first-child {
        background: -webkit-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(55, 118, 140, 0.5);
        background: -o-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(55, 118, 140, 0.5);
        background: linear-gradient(150deg, rgba(0, 0, 0, 0), black), rgba(55, 118, 140, 0.5); }
      #g_nav ul li:nth-child(2) {
        background: -webkit-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(148, 59, 58, 0.5);
        background: -o-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(148, 59, 58, 0.5);
        background: linear-gradient(150deg, rgba(0, 0, 0, 0), black), rgba(148, 59, 58, 0.5); }
      #g_nav ul li:nth-child(3) {
        background: -webkit-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(65, 114, 45, 0.5);
        background: -o-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(65, 114, 45, 0.5);
        background: linear-gradient(150deg, rgba(0, 0, 0, 0), black), rgba(65, 114, 45, 0.5); }
      #g_nav ul li:nth-child(4) {
        background: -webkit-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(99, 99, 99, 0.5);
        background: -o-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(99, 99, 99, 0.5);
        background: linear-gradient(150deg, rgba(0, 0, 0, 0), black), rgba(99, 99, 99, 0.5); }
      #g_nav ul li:nth-child(5) {
        background: -webkit-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(71, 73, 137, 0.5);
        background: -o-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(71, 73, 137, 0.5);
        background: linear-gradient(150deg, rgba(0, 0, 0, 0), black), rgba(71, 73, 137, 0.5); }
      #g_nav ul li:nth-child(6) {
        background: -webkit-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(135, 53, 97, 0.5);
        background: -o-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(135, 53, 97, 0.5);
        background: linear-gradient(150deg, rgba(0, 0, 0, 0), black), rgba(135, 53, 97, 0.5); }
      #g_nav ul li:nth-child(7) {
        background: -webkit-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(138, 106, 54, 0.5);
        background: -o-linear-gradient(300deg, rgba(0, 0, 0, 0), black), rgba(138, 106, 54, 0.5);
        background: linear-gradient(150deg, rgba(0, 0, 0, 0), black), rgba(138, 106, 54, 0.5); }
      #g_nav ul li a {
        display: inline-block;
        text-decoration: none;
        color: #f7f9fc;
        width: 100%;
        height: 3em;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; }
        #g_nav ul li a:hover {
          background: rgba(0, 0, 0, 0.5); }
        #g_nav ul li a span {
          font-size: 140%; }

video {
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  background: url("") no-repeat;
  background-size: cover;
  z-index: -1; }

section {
  position: relative;
  padding: 3% 0;
  background: -webkit-linear-gradient(315deg, rgba(229, 229, 229, 0) 0%, rgba(230, 133, 153, 0) 70%, rgba(230, 92, 120, 0.25) 100%);
  background: -o-linear-gradient(315deg, rgba(229, 229, 229, 0) 0%, rgba(230, 133, 153, 0) 70%, rgba(230, 92, 120, 0.25) 100%);
  background: linear-gradient(135deg, rgba(229, 229, 229, 0) 0%, rgba(230, 133, 153, 0) 70%, rgba(230, 92, 120, 0.25) 100%); }
  @media screen and (min-width: 700px) {
    section {
      padding-right: 10em; } }
  section h3 {
    font-size: calc(20px + 3vw);
    color: #e65c78;
    font-weight: bold;
    position: absolute;
    top: 0;
    left: 0;
    margin: 2vw;
    letter-spacing: 0.1em;
    text-shadow: 0px 0px 2px #fff,0px 0px 8px #fff;
    z-index: 10;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl; }
    @media screen and (max-width: 480px) {
      section h3 {
        -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
        position: relative; } }
    section h3 span {
      font-size: 50%; }
  section .sec_bg1 {
    position: absolute;
    top: -3%;
    left: 30%; }
    section .sec_bg1 svg {
      fill: #e65c78;
      width: 10vw;
      opacity: 0; }
      section .sec_bg1 svg.on {
        -webkit-animation: svg01 2s linear 1 0s forwards;
        animation: svg01 2s linear 1 0s forwards; }
  section .sec_bg2 {
    position: absolute;
    top: 2%;
    left: 6%; }
    section .sec_bg2 svg {
      fill: #e65c78;
      width: 10vw;
      opacity: 0; }
      section .sec_bg2 svg.on {
        -webkit-animation: svg02 1s linear 1 1s forwards;
        animation: svg02 1s linear 1 1s forwards; }
  section .inner_wrap {
    margin: 10% 10% 10% calc(20px + 13vw);
    line-height: 1.8em; }
    @media screen and (max-width: 480px) {
      section .inner_wrap {
        margin: 10% 5% 10% 5%; } }

@-webkit-keyframes svg01 {
  0% {
    -webkit-transform: translate(0, 0px) scale(0.1);
    transform: translate(0, 0px) scale(0.1);
    opacity: 0; }
  30% {
    -webkit-transform: translate(-20vw, 100px) scale(1);
    transform: translate(-20vw, 100px) scale(1);
    opacity: 0.6; }
  40% {
    -webkit-transform: translate(-21vw, 90px) scale(1);
    transform: translate(-21vw, 90px) scale(1);
    opacity: 0.6; }
  50% {
    -webkit-transform: translate(-22vw, 100px) scale(1);
    transform: translate(-22vw, 100px) scale(1);
    opacity: 0.6; }
  100% {
    -webkit-transform: translate(-30vw, 0px) scale(2);
    transform: translate(-30vw, 0px) scale(2);
    opacity: 0.3; } }

@keyframes svg01 {
  0% {
    -webkit-transform: translate(0, 0px) scale(0.1);
    transform: translate(0, 0px) scale(0.1);
    opacity: 0; }
  30% {
    -webkit-transform: translate(-20vw, 100px) scale(1);
    transform: translate(-20vw, 100px) scale(1);
    opacity: 0.6; }
  40% {
    -webkit-transform: translate(-21vw, 90px) scale(1);
    transform: translate(-21vw, 90px) scale(1);
    opacity: 0.6; }
  50% {
    -webkit-transform: translate(-22vw, 100px) scale(1);
    transform: translate(-22vw, 100px) scale(1);
    opacity: 0.6; }
  100% {
    -webkit-transform: translate(-30vw, 0px) scale(2);
    transform: translate(-30vw, 0px) scale(2);
    opacity: 0.3; } }

@-webkit-keyframes svg02 {
  0% {
    -webkit-transform: scale(0.1);
    transform: scale(0.1);
    opacity: 0; }
  100% {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
    opacity: 0.3; } }

@keyframes svg02 {
  0% {
    -webkit-transform: scale(0.1);
    transform: scale(0.1);
    opacity: 0; }
  100% {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
    opacity: 0.3; } }

section#about {
  margin-top: 5%;
  padding-top: 3%; }
  section#about .inner_wrap {
    margin-bottom: 0;
    line-height: 2.5em; }
    section#about .inner_wrap span {
      border-bottom: solid 2px #e65c78; }
    section#about .inner_wrap ul {
      margin: 2em 0 0 1em;
      list-style-type: disc;
      color: #9e0c22;
      font-weight: bold; }
  section#about #sec01_img {
    position: relative;
    top: -50px;
    width: 40%;
    margin: 0 10% 0 50%; }
    section#about #sec01_img img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      -webkit-transition: .8s;
      -o-transition: .8s;
      transition: .8s;
      opacity: 0; }
      section#about #sec01_img img:first-child {
        position: relative; }
      section#about #sec01_img img:nth-child(2) {
        -webkit-transition-delay: 0.6s;
        -o-transition-delay: 0.6s;
        transition-delay: 0.6s;
        -webkit-animation: sec1anm linear 3s infinite 0.6s;
        animation: sec1anm linear 3s infinite 0.6s; }
      section#about #sec01_img img:nth-child(3) {
        -webkit-transition-delay: 1.2s;
        -o-transition-delay: 1.2s;
        transition-delay: 1.2s;
        -webkit-animation: sec1anm linear 2s infinite 1.2s;
        animation: sec1anm linear 2s infinite 1.2s; }
      section#about #sec01_img img:nth-child(4) {
        -webkit-transition-delay: 1.8s;
        -o-transition-delay: 1.8s;
        transition-delay: 1.8s;
        -webkit-animation: sec1anm linear 3s infinite 1.8s;
        animation: sec1anm linear 3s infinite 1.8s; }
      section#about #sec01_img img:nth-child(5) {
        -webkit-transition-delay: 2.4s;
        -o-transition-delay: 2.4s;
        transition-delay: 2.4s;
        -webkit-animation: sec1anm linear 2s infinite 2.4s;
        animation: sec1anm linear 2s infinite 2.4s; }
      section#about #sec01_img img:nth-child(6) {
        -webkit-transition-delay: 3s;
        -o-transition-delay: 3s;
        transition-delay: 3s;
        -webkit-animation: sec1anm linear 3s infinite 3s;
        animation: sec1anm linear 3s infinite 3s; }
    @media screen and (max-width: 480px) {
      section#about #sec01_img {
        width: 80%;
        margin: 0 10%; } }

@-webkit-keyframes sec1anm {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  25% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg); }
  50% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  75% {
    -webkit-transform: rotate(-3deg);
    transform: rotate(-3deg); }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); } }

@keyframes sec1anm {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  25% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg); }
  50% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  75% {
    -webkit-transform: rotate(-3deg);
    transform: rotate(-3deg); }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); } }

section#performance dl dt {
  font-weight: bold;
  color: #9e0c22;
  margin: 2em 0 0 0; }

section#performance dl dd {
  margin: 0 0 0 1em;
  padding: 0 0 0 1em;
  border-left: solid 10px #e0e4ea; }
  section#performance dl dd span {
    color: #cd3d57; }
    @media screen and (max-width: 480px) {
      section#performance dl dd span {
        display: block;
        line-height: 0.7em;
        padding-top: 1em; } }

section#council dl {
  width: 100%;
  overflow: hidden;
  line-height: 1.5em;
  border-bottom: solid 1px #cad0d9; }
  section#council dl dt {
    padding: 1em;
    float: left;
    width: 5em;
    text-align: right;
    color: #b62840;
    border-top: solid 1px #cad0d9;
    clear: both; }
    section#council dl dt span {
      display: block;
      font-size: 70%;
      color: #000; }
    @media screen and (max-width: 480px) {
      section#council dl dt {
        float: none;
        width: 100%;
        padding: 1em 1em 0.5em 1em;
        text-align: left; } }
  section#council dl dd {
    margin-left: 7em;
    padding: 1em;
    border-top: solid 1px #e0e4ea; }
    @media screen and (max-width: 480px) {
      section#council dl dd {
        margin: 0;
        padding: 0 1em 1em 1em;
        width: 95%;
        border: 0; } }
    section#council dl dd span {
      display: inline-block;
      font-size: 80%; }

section#council h4 {
  color: #b62840;
  margin: 2em 0 0 2em; }

div#chart {
  text-align: center; }
  div#chart div {
    height: 1.5em; }
    div#chart div span {
      display: inline-block;
      height: 1.5em; }
    div#chart div:first-child, div#chart div:nth-child(3) {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
      div#chart div:first-child span, div#chart div:nth-child(3) span {
        background: #e0e4ea;
        padding: 0 2em;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        border-radius: 3px; }
    div#chart div:nth-child(2) span:first-child {
      border-right: solid 1px #abb3c1; }
    div#chart div:nth-child(4) span:first-child {
      border-right: solid 1px #abb3c1; }
    div#chart div:nth-child(5) {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      div#chart div:nth-child(5) span {
        width: 14.3%;
        border-right: solid 1px #abb3c1;
        border-top: solid 1px #abb3c1; }
        div#chart div:nth-child(5) span:first-child, div#chart div:nth-child(5) span:last-child {
          width: 7.1%;
          border-top: none; }
        div#chart div:nth-child(5) span:last-child {
          border-right: none; }
  div#chart ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    div#chart ul li {
      -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      width: 14.3%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      div#chart ul li span {
        background: #e0e4ea;
        padding: 0.5em;
        border-radius: 3px; }

footer {
  background: url(../img/bg_ftr.jpg);
  position: relative;
  z-index: 100;
  border-top: solid 2px #cd3d57;
  -webkit-box-shadow: 0px -1px 12px #cad0d9;
  box-shadow: 0px -1px 12px #cad0d9; }
  footer #ftr_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    @media screen and (max-width: 800px) {
      footer #ftr_inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column; } }
    footer #ftr_inner #ftr_info {
      margin: 3%; }
      @media screen and (max-width: 800px) {
        footer #ftr_inner #ftr_info {
          text-align: center; } }
      footer #ftr_inner #ftr_info h1 {
        font-size: calc(10px + 1vw);
        margin: 1em; }
        footer #ftr_inner #ftr_info h1 a {
          text-decoration: none;
          color: #000; }
      footer #ftr_inner #ftr_info ul {
        margin: 0 0.5em;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
        @media screen and (max-width: 800px) {
          footer #ftr_inner #ftr_info ul {
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center; } }
        footer #ftr_inner #ftr_info ul li {
          font-size: 80%;
          margin: 0.5em 1em;
          -webkit-transition: -webkit-transform 0.2s linear;
          transition: -webkit-transform 0.2s linear;
          -o-transition: transform 0.2s linear;
          transition: transform 0.2s linear;
          transition: transform 0.2s linear, -webkit-transform 0.2s linear; }
          footer #ftr_inner #ftr_info ul li:hover {
            -webkit-transform: scale(1.1);
            -ms-transform: scale(1.1);
            transform: scale(1.1); }
          footer #ftr_inner #ftr_info ul li a {
            text-decoration: none;
            color: #9e0c22; }
    footer #ftr_inner #ftr_contact {
      margin: 3%; }
      @media screen and (max-width: 800px) {
        footer #ftr_inner #ftr_contact {
          text-align: center; } }
      @media screen and (max-width: 480px) {
        footer #ftr_inner #ftr_contact {
          margin: 10%; } }
      footer #ftr_inner #ftr_contact p:first-child {
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl; }
        @media screen and (max-width: 480px) {
          footer #ftr_inner #ftr_contact p:first-child {
            -webkit-writing-mode: horizontal-tb;
            -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb; } }
      footer #ftr_inner #ftr_contact > a {
        display: inline-block;
        margin: 1.5em 0.5em;
        text-decoration: none;
        color: #9e0c22;
        position: relative;
        padding-left: 10px; }
        footer #ftr_inner #ftr_contact > a:before {
          content: '';
          display: inline-block;
          width: 0;
          height: 0;
          border-top: solid 6px transparent;
          border-right: solid 8px transparent;
          border-bottom: solid 6px transparent;
          border-left: solid 8px #e65c78;
          position: absolute;
          left: 0; }
  footer small {
    display: block;
    text-align: right;
    font-size: 70%;
    padding: 1.5em; }

#contact h4 {
  margin: 0.5em 0 calc(20px + 0.5em) 20px; }
  #contact h4 span {
    white-space: nowrap;
    display: inline-block; }

#contact .thank_top {
  display: inline-block;
  text-decoration: none;
  color: #f7f9fc;
  background: #b62840;
  margin: 0.5em 0;
  padding: 0.1em 0.3em; }
  #contact .thank_top:hover {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1); }

#contact_tel {
  margin: 3em 0;
  background: url(../img/ico_tel2.png) no-repeat left top, #f9eff1;
  padding: 3% 5%;
  border-radius: 5px; }
  #contact_tel p.tel {
    font-size: calc(18px + 3vw);
    font-weight: bold;
    color: #cd3d57; }
    #contact_tel p.tel:last-child {
      font-size: 120%;
      margin-top: 1em; }
    #contact_tel p.tel span {
      white-space: nowrap;
      display: inline-block; }
    #contact_tel p.tel span:first-child {
      font-size: 70%; }
  #contact_tel p:not(.tel) {
    line-height: 1.2em; }
    #contact_tel p:not(.tel) > span {
      white-space: nowrap;
      display: inline-block;
      font-size: 80%; }

#contact_mail {
  margin: 3em 0;
  background: url(../img/ico_mail2.png) no-repeat left top; }
  #contact_mail h4 {
    padding: 1em 0 1em 40px; }
  #contact_mail form {
    margin-left: 5%; }
    @media screen and (max-width: 600px) {
      #contact_mail form {
        margin: 0; } }
    #contact_mail form dl dt {
      margin: 1em 0 0.5em 0;
      padding: 0 0.5em;
      font-weight: bold;
      background: #e0e4ea; }
      #contact_mail form dl dt span {
        display: inline-block;
        margin: 0 0.5em;
        font-size: 80%;
        color: #e65c78; }
    #contact_mail form dl dd {
      margin-bottom: 2em;
      line-height: 3em; }
      @media screen and (max-width: 480px) {
        #contact_mail form dl dd {
          line-height: 1.5em; }
          #contact_mail form dl dd input {
            margin-bottom: 0.5em; } }
      #contact_mail form dl dd p {
        font-size: 80%;
        margin: 0.5em 0 0 0;
        line-height: 1.3em; }
      #contact_mail form dl dd span {
        display: inline-block;
        margin: 0 0.5em 0 0; }
      #contact_mail form dl dd input,
      #contact_mail form dl dd textarea {
        border-radius: 4px;
        border: solid 1px #e0e4ea;
        font-size: 120%;
        padding: 0.3em; }
      #contact_mail form dl dd textarea {
        width: 90%;
        height: 6em; }
    #contact_mail form button {
      font-size: 120%;
      padding: 1em;
      background: #b62840;
      border-radius: 8px;
      color: #fff;
      border: none;
      -webkit-box-shadow: 1px 1px 1px #abb3c1;
      box-shadow: 1px 1px 1px #abb3c1;
      -webkit-transition: 0.3s;
      -o-transition: 0.3s;
      transition: 0.3s; }
      #contact_mail form button:hover {
        -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
        transform: scale(1.1);
        -webkit-box-shadow: none;
        box-shadow: none; }

#privacy {
  line-height: 2em;
  padding-bottom: 3em; }
  #privacy h3 {
    padding: 0 0.3em;
    margin-bottom: 2em; }
    #privacy h3 span {
      white-space: nowrap;
      display: inline-block;
      font-size: 100%; }
  #privacy h4 {
    margin: 2em 0 0 0; }
  #privacy ul {
    margin: 0 0 0 1em;
    list-style-type: disc; }
