@charset "UTF-8";
/* line 5, ../../source/sass/sprite.scss */
.sprite {
  display: block;
  overflow: hidden;
  background-repeat: no-repeat;
  text-align: left;
  text-indent: -10000px;
  font-size: 1px;
  line-height: 1px; }

/*---------------------------------------------
 reset 
 --------------------------------------------*/
/* line 7, ../../source/sass/style.scss */
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, tfoot, 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;
  font-style: normal;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
  font-family: "ヒラギノ明朝 ProN","Hiragino Mincho ProN", serif;
  color: #3f3f3f; }

/* line 30, ../../source/sass/style.scss */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

/* line 34, ../../source/sass/style.scss */
html {
  overflow-y: scroll; }

/* line 37, ../../source/sass/style.scss */
blockquote, q {
  quotes: none; }

/* line 40, ../../source/sass/style.scss */
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

/* line 45, ../../source/sass/style.scss */
input, textarea {
  margin: 0;
  padding: 0; }

/* line 49, ../../source/sass/style.scss */
ol, ul {
  list-style: none; }

/* line 52, ../../source/sass/style.scss */
table {
  border-collapse: collapse;
  border-spacing: 0; }

/* line 56, ../../source/sass/style.scss */
caption, th {
  text-align: left; }

/* line 59, ../../source/sass/style.scss */
a:focus {
  outline: none; }

/* line 62, ../../source/sass/style.scss */
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden; }

/* line 69, ../../source/sass/style.scss */
.clearfix {
  min-height: 1px; }

/* line 72, ../../source/sass/style.scss */
* html .clearfix {
  height: 1px;
  /*¥*/
     /*/
height: auto;
overflow: hidden;
/**/ }

/* line 79, ../../source/sass/style.scss */
.both {
  clear: both; }

/* line 82, ../../source/sass/style.scss */
.inline_block {
  display: inline-block;
  *display: inline;
  *zoom: 1; }

/*---------------------------------------------
 Color 
 --------------------------------------------*/
/* line 91, ../../source/sass/style.scss */
a {
  color: #9c9c9c;
  text-decoration: none; }
  /* line 94, ../../source/sass/style.scss */
  a:hover {
    opacity: 0.8;
    -webkit-transition: all 0.3s ease;
            transition: all 0.3s ease; }

/*---------------------------------------------
 style 
 --------------------------------------------*/
/* line 102, ../../source/sass/style.scss */
.sp {
  display: none; }
  @media screen and (max-width: 480px) {
    /* line 102, ../../source/sass/style.scss */
    .sp {
      display: block; } }

/* line 108, ../../source/sass/style.scss */
.pc {
  display: block; }
  @media screen and (max-width: 480px) {
    /* line 108, ../../source/sass/style.scss */
    .pc {
      display: none; } }

/* line 114, ../../source/sass/style.scss */
.heart-icon {
  background: url("../images/icon_heart_2x.png") no-repeat top left;
  background-size: 96% auto;
  width: 9px;
  height: 9px;
  display: inline-block;
  margin: 0 2px;
  /* ▼修正箇所：0s を追加▼ */
  -webkit-animation: bounds 0.95s ease 0s infinite normal;
          animation: bounds 0.95s ease 0s infinite normal; }

/* line 123, ../../source/sass/style.scss */
#profile {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.3);
  z-index: 900;
  cursor: pointer; }
  /* line 133, ../../source/sass/style.scss */
  #profile #profile-inner {
    background: #ffffff;
    box-sizing: border-box;
    width: 400px;
    padding: 28px;
    height: 356px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-top: -178px;
    margin-left: -200px;
    font-size: 12px;
    line-height: 22px; }
    @media screen and (max-width: 480px) {
      /* line 133, ../../source/sass/style.scss */
      #profile #profile-inner {
        width: 300px;
        margin-left: -150px;
        height: 460px;
        margin-top: -230px; } }
    /* line 152, ../../source/sass/style.scss */
    #profile #profile-inner h3 {
      font-size: 14px;
      margin-bottom: 6px; }
      /* line 155, ../../source/sass/style.scss */
      #profile #profile-inner h3 span {
        color: #b0b0b0;
        font-size: 12px;
        padding-left: 8px;
        font-family: "minion-pro", serif;
        letter-spacing: 0.03em; }
    /* line 163, ../../source/sass/style.scss */
    #profile #profile-inner p {
      margin-bottom: 10px; }
    /* line 166, ../../source/sass/style.scss */
    #profile #profile-inner #close-btn {
      cursor: pointer;
      position: absolute;
      float: right;
      top: 16px;
      right: 14px;
      background: url("../images/icon_close.png") no-repeat top left;
      width: 16px;
      height: 16px;
      background-size: 100% auto; }

/* line 179, ../../source/sass/style.scss */
#loading {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 500;
  background: #fff;
  text-align: center; }
  @media screen and (max-width: 480px) {
    /* line 179, ../../source/sass/style.scss */
    #loading {
      display: none; } }
  /* line 190, ../../source/sass/style.scss */
  #loading #loading-heart {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -29px;
    margin-top: -29px;
    width: 58px;
    height: 58px;
    background: url("../images/icon_heart_loader.png") no-repeat;
    background-position: 0 0; }
  /* line 202, ../../source/sass/style.scss */
  #loading #progless-bar {
    width: 300px;
    height: 1px;
    background: #f1f1f1;
    top: 50%;
    left: 50%;
    margin-left: -150px;
    position: absolute;
    z-index: 600; }
    /* line 211, ../../source/sass/style.scss */
    #loading #progless-bar #progless {
      width: 0;
      height: 1px;
      background: #E50012;
      position: absolute;
      left: 0;
      top: 0; }

/* line 221, ../../source/sass/style.scss */
.heart {
  background: url("../images/icon_heart_large.png") no-repeat top left;
  background-size: 100% auto;
  width: 80px;
  height: 77px;
  position: absolute;
  top: 50%;
  margin-top: -38px;
  left: 50%;
  margin-left: -40px;
  -webkit-animation: bounds 1.6s ease 0 1 normal;
          animation: bounds 1.6s ease 0 1 normal; }

/* line 233, ../../source/sass/style.scss */
#language-box {
  font-family: "minion-pro", serif;
  letter-spacing: 0.03em;
  height: 30px;
  position: fixed;
  top: 0;
  z-index: 150;
  font-family: "minion-pro", serif;
  display: none;
  right: 0; }
  @media screen and (max-width: 480px) {
    /* line 233, ../../source/sass/style.scss */
    #language-box {
      display: inline-block; } }
  /* line 247, ../../source/sass/style.scss */
  #language-box ul {
    margin: 10px;
    display: inline-block;
    float: right; }
  /* line 252, ../../source/sass/style.scss */
  #language-box li {
    font-size: 12px;
    float: right;
    padding: 10px 6px;
    color: #9c9c9c;
    text-decoration: none; }
    /* line 258, ../../source/sass/style.scss */
    #language-box li:hover {
      cursor: pointer; }
  /* line 262, ../../source/sass/style.scss */
  #language-box .on {
    color: #000; }

/* line 266, ../../source/sass/style.scss */
#outer {
  width: 100%;
  display: none; }
  @media screen and (max-width: 480px) {
    /* line 266, ../../source/sass/style.scss */
    #outer {
      display: block; } }

/* line 273, ../../source/sass/style.scss */
#wrapper {
  width: 430px;
  margin: 0 auto;
  font-size: 14px;
  z-index: 0;
  position: relative;
  padding-top: 180px; }
  @media screen and (max-width: 480px) {
    /* line 273, ../../source/sass/style.scss */
    #wrapper {
      width: 280px; } }
  @media screen and (max-width: 480px) {
    /* line 273, ../../source/sass/style.scss */
    #wrapper {
      padding-top: 140px; } }

/* line 287, ../../source/sass/style.scss */
.ja {
  font-family: "ヒラギノ明朝 ProN","Hiragino Mincho ProN", serif;
  letter-spacing: 0.02em; }

/* line 291, ../../source/sass/style.scss */
.ja * {
  font-family: "ヒラギノ明朝 ProN","Hiragino Mincho ProN", serif;
  letter-spacing: 0.02em; }

/* line 295, ../../source/sass/style.scss */
.en {
  font-family: "minion-pro", serif;
  letter-spacing: 0.03em; }

/* line 299, ../../source/sass/style.scss */
.en * {
  font-family: "minion-pro", serif;
  letter-spacing: 0.03em; }

/* line 303, ../../source/sass/style.scss */
h1 {
  position: relative;
  text-align: center;
  margin: 110px auto 0;
  background: url("../images/hc_logo_2x.png") no-repeat top left;
  background-size: 100% auto;
  width: 320px;
  height: 180px;
  text-indent: -10000px;
  font-size: 1px;
  line-height: 1px; }
  /* line 314, ../../source/sass/style.scss */
  h1 a {
    display: block;
    height: 100%; }
  /* line 318, ../../source/sass/style.scss */
  h1 .heart-icon {
    position: absolute;
    right: 0;
    top: 56px;
    width: 29px;
    height: 36px; }
    @media screen and (max-width: 480px) {
      /* line 318, ../../source/sass/style.scss */
      h1 .heart-icon {
        top: 52px;
        width: 26px;
        height: 36px; } }
  @media screen and (max-width: 480px) {
    /* line 303, ../../source/sass/style.scss */
    h1 {
      margin-top: 60px;
      width: 280px;
      height: 158px; } }

/* line 336, ../../source/sass/style.scss */
#outer {
  background: #fff; }

@-webkit-keyframes bounds {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  10% {
    -webkit-transform: scale(1.3);
            transform: scale(1.3); }
  18% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8); }
  24% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2); }
  30% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9); }
  46% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes bounds {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  10% {
    -webkit-transform: scale(1.3);
            transform: scale(1.3); }
  18% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8); }
  24% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2); }
  30% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9); }
  46% {
    -webkit-transform: scale(1);
            transform: scale(1); } }
/* line 348, ../../source/sass/style.scss */
section {
  word-wrap: break-word;
  padding-top: 240px;
  text-align: center; }
  @media screen and (max-width: 480px) {
    /* line 348, ../../source/sass/style.scss */
    section {
      text-align: left; } }
  /* line 355, ../../source/sass/style.scss */
  section h2 {
    margin-bottom: 50px; }
  /* line 358, ../../source/sass/style.scss */
  section h2.ja {
    font-size: 22px; }
  /* line 361, ../../source/sass/style.scss */
  section h2.en {
    font-size: 22px; }
  /* line 364, ../../source/sass/style.scss */
  section p {
    color: #666; }
    @media screen and (max-width: 480px) {
      /* line 364, ../../source/sass/style.scss */
      section p {
        font-size: 13px; } }
  /* line 370, ../../source/sass/style.scss */
  section p.ja {
    line-height: 2.5em; }
  /* line 373, ../../source/sass/style.scss */
  section p.en {
    line-height: 1.8em; }
  /* line 376, ../../source/sass/style.scss */
  section table {
    text-align: left; }
    @media screen and (max-width: 480px) {
      /* line 376, ../../source/sass/style.scss */
      section table {
        font-size: 12px; } }
    /* line 382, ../../source/sass/style.scss */
    section table tr th {
      width: 130px; }
      @media screen and (max-width: 480px) {
        /* line 382, ../../source/sass/style.scss */
        section table tr th {
          width: 100px; } }
    /* line 388, ../../source/sass/style.scss */
    section table tr td {
      padding-bottom: 14px; }
      /* line 390, ../../source/sass/style.scss */
      section table tr td #prof-link {
        cursor: pointer;
        color: #a8a8a8; }
  /* line 397, ../../source/sass/style.scss */
  section #prof-link {
    font-size: 11px;
    margin-left: 4px; }
  @media screen and (max-width: 480px) {
    /* line 348, ../../source/sass/style.scss */
    section {
      padding-top: 200px; } }

/* line 406, ../../source/sass/style.scss */
#showcase .image-list {
  width: 100%;
  height: 280px !important; }
  @media screen and (max-width: 480px) {
    /* line 406, ../../source/sass/style.scss */
    #showcase .image-list {
      height: 180px !important; } }
  /* line 412, ../../source/sass/style.scss */
  #showcase .image-list li {
    background: #eee;
    height: 280px !important;
    overflow: hidden; }
    @media screen and (max-width: 480px) {
      /* line 412, ../../source/sass/style.scss */
      #showcase .image-list li {
        height: 180px !important; } }
    /* line 419, ../../source/sass/style.scss */
    #showcase .image-list li img {
      width: 100%;
      height: auto; }
/* line 425, ../../source/sass/style.scss */
#showcase .credit-list {
  text-align: left;
  font-size: 12px; }
  /* line 428, ../../source/sass/style.scss */
  #showcase .credit-list li {
    margin-bottom: 16px; }
    /* line 429, ../../source/sass/style.scss */
    #showcase .credit-list li .lh {
      display: block;
      color: #303030;
      margin-bottom: 2px; }

/* line 439, ../../source/sass/style.scss */
#contact {
  padding-top: 30px; }
  /* line 441, ../../source/sass/style.scss */
  #contact #contact-btn {
    text-align: center; }
    /* line 442, ../../source/sass/style.scss */
    #contact #contact-btn #icon-heart {
      margin: 360px auto 220px;
      background: url("../images/icon_heart_2x.png") no-repeat top left;
      background-size: 100% auto;
      width: 44px;
      height: 44px;
      margin-bottom: 6px;
      /* ▼修正箇所：0s を追加▼ */
      -webkit-animation: bounds 0.9s ease 0s infinite normal;
              animation: bounds 0.9s ease 0s infinite normal; }
      @media screen and (max-width: 480px) {
        /* line 442, ../../source/sass/style.scss */
        #contact #contact-btn #icon-heart {
          margin: 120px auto 4px; } }

/* line 457, ../../source/sass/style.scss */
#footer {
  margin-top: 280px;
  margin-bottom: 40px; }
  @media screen and (max-width: 480px) {
    /* line 457, ../../source/sass/style.scss */
    #footer {
      margin-top: 160px; } }
  @media screen and (max-width: 480px) {
    /* line 457, ../../source/sass/style.scss */
    #footer {
      margin-bottom: 12px; } }
  /* line 466, ../../source/sass/style.scss */
  #footer p {
    text-align: center; }
    /* line 468, ../../source/sass/style.scss */
    #footer p small {
      font-size: 10px; }

/* line 474, ../../source/sass/style.scss */
#heartMoveCanvas {
  width: 100%;
  height: 100%;
  z-index: 0;
  -webkit-user-select: none;
  -ms-touch-action: none;
      touch-action: none;
  -webkit-user-drag: none;
  -webkit-tap-highlight-color: transparent; }
  @media screen and (max-width: 480px) {
    /* line 474, ../../source/sass/style.scss */
    #heartMoveCanvas {
      display: none; } }

/* line 488, ../../source/sass/style.scss */
#about .ja p {
  line-height: 2.5em;
  margin-bottom: 30px; }
  @media screen and (max-width: 480px) {
    /* line 488, ../../source/sass/style.scss */
    #about .ja p {
      line-height: 2.2em;
      font-size: 12px; } }
/* line 498, ../../source/sass/style.scss */
#about .en p {
  line-height: 1.8em;
  margin-bottom: 30px; }

/* line 504, ../../source/sass/style.scss */
#intro-heart {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 80px;
  height: 77px; }

@-webkit-keyframes swingArrow {
  0% {
    bottom: 40px; }
  50% {
    bottom: 45px; }
  100% {
    bottom: 40px; } }

@keyframes swingArrow {
  0% {
    bottom: 40px; }
  50% {
    bottom: 45px; }
  100% {
    bottom: 40px; } }
/* line 521, ../../source/sass/style.scss */
#intro {
  cursor: pointer;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0; }
  /* line 528, ../../source/sass/style.scss */
  #intro #down-arrow {
    position: absolute;
    bottom: 40px;
    left: 50%;
    margin-left: -25px;
    -webkit-animation: swingArrow 2s ease 0 infinite;
            animation: swingArrow 2s ease 0 infinite; }
  @media screen and (max-width: 480px) {
    /* line 521, ../../source/sass/style.scss */
    #intro {
      display: none; } }