@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, 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: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, 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; }

a img {
  border: none; }

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

/*フォント
---------------------------------------------*/
@font-face {
  font-family: "noto-sans";
  src: url("../fonts/NotoSansCJKjp-DemiLight.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-DemiLight.woff") format("woff"), url("../fonts/NotoSansCJKjp-DemiLight.ttf") format("truetype");
  font-weight: 350;
  font-style: normal; }
@font-face {
  font-family: "noto-sans";
  src: url("../fonts/NotoSansCJKjp-Bold.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-Bold.woff") format("woff"), url("../fonts/NotoSansCJKjp-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal; }
/*メディアクエリー
---------------------------------------------*/
/*変数
---------------------------------------------*/
/* コンテンツ
---------------------------------------------*/
html {
  font-family: 'Roboto', sans-serif;
  font-weight: 350;
  line-height: 1.4;
  width: 100%; }

body {
  background-image: none;
  font-family: 'Roboto', sans-serif;
  font-weight: 350;
  line-height: 1.4;
  width: 100%;
  height: 100%;
  overflow-x: hidden; }
  @media screen and (min-width: 769px) {
    body {
      font-size: 14px; } }
  @media screen and (max-width: 768px) {
    body {
      font-size: 11px; } }

img {
  width: 100%;
  height: auto;
  display: block; }

@media screen and (min-width: 769px) {
  .pcNone {
    display: none; } }
@media screen and (max-width: 768px) {
  .pcNone {
    display: block; } }

@media screen and (min-width: 769px) {
  .spNone {
    display: block; } }
@media screen and (max-width: 768px) {
  .spNone {
    display: none; } }

#wrap {
  width: 100%;
  background-color: #fff; }

#mainArea {
  width: 100%;
  background-color: #fff; }
  @media screen and (min-width: 769px) {
    #mainArea {
      height: 100vh; } }
  @media screen and (max-width: 768px) {
    #mainArea {
      height: calc(100vh - 70px); } }
  #mainArea .blinking {
    -webkit-animation: blink 1.0s ease-in-out infinite alternate;
    -moz-animation: blink 1.0s ease-in-out infinite alternate;
    animation: blink 1.0s ease-in-out infinite alternate; }
@-webkit-keyframes blink {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-moz-keyframes blink {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes blink {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
  @media screen and (min-width: 769px) {
    #mainArea div h1 {
      width: 25%;
      height: auto;
      margin: 0 auto;
      margin-top: 25%; } }
  @media screen and (max-width: 768px) {
    #mainArea div h1 {
      width: 60%;
      height: auto;
      margin: auto;
      margin-top: 60%; } }
  #mainArea div h1 + a {
    display: block;
    position: absolute; }
    @media screen and (min-width: 769px) {
      #mainArea div h1 + a {
        bottom: 10%;
        right: 0;
        left: 0;
        margin: auto; } }
    @media screen and (max-width: 768px) {
      #mainArea div h1 + a {
        bottom: 10%;
        right: 0;
        left: 0;
        margin: auto; } }
  #mainArea div a {
    padding-top: 80px; }
  #mainArea div a span {
    position: absolute;
    top: 0;
    left: 50%;
    width: 40px;
    height: 40px;
    margin-left: -21px;
    border-left: 1px solid #999;
    border-bottom: 1px solid #999;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-animation: sdb 2s infinite;
    animation: sdb 2s infinite;
    opacity: 0;
    box-sizing: border-box; }
  #mainArea div a span:nth-of-type(1) {
    -webkit-animation-delay: 0s;
    animation-delay: 0s; }
  #mainArea div a span:nth-of-type(2) {
    top: 16px;
    -webkit-animation-delay: .15s;
    animation-delay: .15s; }
  #mainArea div a span:nth-of-type(3) {
    top: 32px;
    -webkit-animation-delay: .3s;
    animation-delay: .3s; }
@-webkit-keyframes sdb {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 0; } }
@keyframes sdb {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 0; } }
#content {
  width: 100%; }

.background_01 {
  background-color: #d67522; }

.background_02 {
  background-color: #4084a2; }

.background_03 {
  background-color: #d67522; }

.background_04 {
  background-color: #4084a2; }

#webcatalog {
  width: 100%;
  margin: 0 auto;
  padding: 0; }
  @media screen and (min-width: 769px) {
    #webcatalog .section {
      width: 700px;
      margin: 0 auto;
      padding: 40px 0; } }
  @media screen and (max-width: 768px) {
    #webcatalog .section {
      width: 90%;
      margin: 0 auto;
      padding: 40px 0; } }
  #webcatalog .section .flex_box {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 20px auto 0; }
    #webcatalog .section .flex_box .flex_item_left {
      width: 50%;
      overflow: hidden; }
    #webcatalog .section .flex_box .flex_item_right {
      width: 50%;
      padding-left: 20px;
      overflow: hidden; }
  @media screen and (min-width: 769px) {
    #webcatalog .section .image_main {
      position: relative;
      width: 340px;
      height: 510px; } }
  @media screen and (max-width: 768px) {
    #webcatalog .section .image_main {
      position: relative;
      width: 100%;
      height: 245px; } }
  #webcatalog .section .card {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translatex(-50%);
    width: 100%;
    background: #000; }
  #webcatalog .section .card .image {
    width: 100%;
    height: 100%;
    overflow: hidden; }
  #webcatalog .section .card .image img {
    width: 100%;
    transition: .5s; }
  #webcatalog .section .card:hover .image img {
    opacity: .5;
    transform: translateX(30%);
    /*100%*/ }
  @media screen and (min-width: 769px) {
    #webcatalog .section .card .details {
      position: absolute;
      top: 0;
      left: 0;
      width: 210px;
      /*100%*/
      height: 100%;
      background: #000;
      transition: .5s;
      transform-origin: left;
      transform: perspective(2000px) rotateY(-90deg); } }
  @media screen and (max-width: 768px) {
    #webcatalog .section .card .details {
      position: absolute;
      top: 0;
      left: 0;
      width: 50%;
      /*100%*/
      height: 100%;
      background: #000;
      transition: .5s;
      transform-origin: left;
      transform: perspective(2000px) rotateY(-90deg); } }
  #webcatalog .section .card:hover .details {
    transform: perspective(2000px) rotateY(0deg); }
  #webcatalog .section .card .details .center {
    text-align: center; }
    @media screen and (min-width: 769px) {
      #webcatalog .section .card .details .center {
        padding: 20px;
        width: 170px;
        height: 50%;
        background: #fff;
        position: absolute;
        top: 50%;
        transform: translateY(-50%); } }
    @media screen and (max-width: 768px) {
      #webcatalog .section .card .details .center {
        padding: 10px;
        width: 177%;
        height: 60%;
        background: #fff;
        position: absolute;
        top: 50%;
        transform: translateY(-50%); } }
  #webcatalog .section .card .details .center h2 {
    width: 80%;
    background: #e60012;
    font-family: 'Silom','Calibri', sans-serif;
    font-weight: bold;
    color: #fff;
    line-height: 15px;
    text-transform: uppercase; }
    @media screen and (min-width: 769px) {
      #webcatalog .section .card .details .center h2 {
        letter-spacing: 1.5px;
        font-size: 20px;
        padding: 13px 0px 10px;
        margin: 10px auto 20px; } }
    @media screen and (max-width: 768px) {
      #webcatalog .section .card .details .center h2 {
        letter-spacing: 1px;
        font-size: 14px;
        margin: auto;
        padding: 6px 0px 3px; } }
  #webcatalog .section .card .details .center p {
    font-family: 'Calibri', sans-serif;
    color: #000; }
    @media screen and (min-width: 769px) {
      #webcatalog .section .card .details .center p {
        font-size: 18px;
        letter-spacing: 1.3px;
        margin: 15px 0px; } }
    @media screen and (max-width: 768px) {
      #webcatalog .section .card .details .center p {
        font-size: 12px;
        letter-spacing: 1px;
        margin: 10px 0px; } }
    #webcatalog .section .card .details .center p span {
      font-size: 10px; }
    #webcatalog .section .card .details .center p a {
      color: #000;
      padding: 2px;
      text-decoration: none;
      border-bottom: solid 1px; }
    #webcatalog .section .card .details .center p a:hover {
      color: #e60012;
      background: #fff100;
      padding: 5px; }
  #webcatalog .no5 {
    width: 100%;
    background-color: #fff3c6;
    position: relative; }
    @media screen and (min-width: 769px) {
      #webcatalog .no5 .slider .flexslider2 {
        width: 700px;
        margin: 0 auto;
        padding: 10px; } }
    @media screen and (max-width: 768px) {
      #webcatalog .no5 .slider .flexslider2 {
        width: 90%;
        margin: 0 auto;
        padding: 10px; } }
    #webcatalog .no5 section {
      position: relative;
      overflow: hidden;
      font-size: 0;
      cursor: pointer; }
    #webcatalog .no5 .text, #webcatalog .no5 .overlay {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      margin: auto;
      text-align: center;
      display: flex;
      justify-content: center;
      align-items: center; }
    #webcatalog .no5 .overlay {
      background-color: rgba(255, 255, 255, 0.5);
      z-index: 1;
      opacity: 0.8;
      border-radius: 50%;
      -webkit-transform: translate3d(-62%, 62%, 0);
      transform: translate3d(-62%, 62%, 0);
      transition: all .3s ease-out;
      width: 200%;
      height: 200%;
      left: -50%; }
    #webcatalog .no5 section:hover .overlay {
      opacity: 1;
      border-radius: 40%;
      -webkit-transform: translate3d(-12.5%, 12.5%, 0);
      transform: translate3d(-12.5%, 12.5%, 0); }
    #webcatalog .no5 .inner {
      position: absolute;
      text-align: start; }
      @media screen and (min-width: 769px) {
        #webcatalog .no5 .inner {
          margin-left: 25px;
          padding-bottom: 8%; } }
      @media screen and (max-width: 768px) {
        #webcatalog .no5 .inner {
          margin-left: 35px;
          padding-bottom: 8%; } }
    #webcatalog .no5 figure {
      position: relative;
      overflow: hidden;
      width: 100%; }
    #webcatalog .no5 figcaption {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 2;
      width: 100%;
      height: 100%;
      background: rgba(225, 225, 225, 0.5);
      -webkit-transition: .5s;
      transition: .5s;
      opacity: 0; }
      #webcatalog .no5 figcaption h3 {
        font-family: 'Calibri', sans-serif;
        position: relative; }
        @media screen and (min-width: 769px) {
          #webcatalog .no5 figcaption h3 {
            font-size: 16px;
            letter-spacing: 1.2px;
            color: #000;
            margin-top: 8px;
            padding-left: 10px;
            top: 42%; } }
        @media screen and (max-width: 768px) {
          #webcatalog .no5 figcaption h3 {
            font-size: 12px;
            letter-spacing: 1.1px;
            color: #000;
            margin-top: 8px;
            padding-left: 10px;
            top: 42%; } }
        #webcatalog .no5 figcaption h3 span {
          font-size: 12px; }
        #webcatalog .no5 figcaption h3 a {
          color: #000;
          padding: 2px;
          text-decoration: none;
          border-bottom: solid 1px; }
        #webcatalog .no5 figcaption h3 a:hover {
          color: #e60012;
          background: #fff100;
          padding: 5px; }
    #webcatalog .no5 figure:hover figcaption {
      opacity: 1; }

footer {
  width: 100%;
  margin: 10% 0;
  padding: 0 auto;
  text-align: center;
  position: relative; }
  footer #pagetop a {
    display: block;
    position: absolute; }
    @media screen and (min-width: 769px) {
      footer #pagetop a {
        top: -30%;
        right: 0;
        left: 0;
        margin: auto; } }
    @media screen and (max-width: 768px) {
      footer #pagetop a {
        top: 10%;
        right: 0;
        left: 0;
        margin: auto; } }
  footer #pagetop a span {
    position: absolute;
    left: 50%;
    width: 40px;
    height: 40px;
    margin-left: -21px;
    border-left: 1px solid #999;
    border-bottom: 1px solid #999;
    -webkit-transform: rotate(-225deg);
    transform: rotate(-225deg);
    -webkit-animation: sdb 2s infinite;
    animation: sdb 2s infinite;
    opacity: 0;
    box-sizing: border-box; }
  footer #pagetop a span:nth-of-type(1) {
    -webkit-animation-delay: .3s;
    animation-delay: .3s; }
  footer #pagetop a span:nth-of-type(2) {
    top: 16px;
    -webkit-animation-delay: .15s;
    animation-delay: .15s; }
  footer #pagetop a span:nth-of-type(3) {
    top: 32px;
    -webkit-animation-delay: 0s;
    animation-delay: 0s; }
@-webkit-keyframes sdb {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 0; } }
@keyframes sdb {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 0; } }
  @media screen and (min-width: 769px) {
    footer #logo {
      width: 20%;
      margin: 0 auto 80px;
      padding-top: 50px; } }
  @media screen and (max-width: 768px) {
    footer #logo {
      width: 40%;
      margin: 0 auto 40px;
      padding-top: 110px; } }
  footer #copyright {
    color: #999; }
    @media screen and (min-width: 769px) {
      footer #copyright {
        font-size: 18px; } }
    @media screen and (max-width: 768px) {
      footer #copyright {
        font-size: 12px; } }

/* ANIMATION
--------------------------------------*/
.fuwatAnime {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1.5s;
  -ms-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-name: fuwatAnime;
  -ms-animation-name: fuwatAnime;
  animation-name: fuwatAnime;
  visibility: visible !important; }

@-webkit-keyframes fuwatAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }
@keyframes fuwatAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
/* loading
--------------------------------------*/
#loader-bg {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0px;
  left: 0px;
  background: #FFF;
  z-index: 1;
  z-index: 99999; }
  #loader-bg #loading {
    display: flex;
    align-items: center;
    justify-content: center; }
    @media screen and (min-width: 769px) {
      #loader-bg #loading {
        width: 100%;
        margin: auto;
        height: 100%; } }
    @media screen and (max-width: 768px) {
      #loader-bg #loading {
        width: 100%;
        margin: auto;
        height: 100%; } }
    @media screen and (min-width: 769px) {
      #loader-bg #loading div {
        width: 20%;
        margin: auto; } }
    @media screen and (max-width: 768px) {
      #loader-bg #loading div {
        width: 40%;
        margin: auto; } }

/*# sourceMappingURL=style.css.map */
