@charset "UTF-8";
html {
  font-size: 62.5%; }

@media all and (max-width: 991px) {
  html {
    font-size: 58%; } }

@media all and (max-width: 767px) {
  html {
    font-size: 56%; } }

@media all and (max-width: 575px) {
  html {
    font-size: 52%; } }

body {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-font-feature-settings: "palt" on;
  font-feature-settings: "palt" on;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  margin: auto;
  display: none; }

@media all and (-ms-high-contrast: none) {
  body {
    display: block; } }

html, body {
  height: 100%;
  overflow: visible; }

body, select, input, textarea, p, i, a, li, th, td, span, h1, h2, h3, h4, h5, small {
  font-family: Helmet, Freesans,"Helvetica Neue","游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif; }

.maru {
  font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO"; }

.en {
  font-family: Avenir,Meiryo,sans-serif; }

h1, h2, h3, h4 {
  color: #000; }

body, select, input, textarea, p, i, a, li, th, td, span, dt, dd {
  font-size: 1.6rem;
  line-height: 1.8;
  color: #000;
  letter-spacing: 1.5px;
  font-weight: 400;
  margin: auto; }

::-moz-selection {
  background: #f0f0f0; }

::selection {
  background: #f0f0f0; }

::-moz-selection {
  background: #f0f0f0; }

img {
  height: auto; }

a {
  -webkit-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
  outline: none; }
  a img {
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease; }

a:hover {
  color: #F38200;
  text-decoration: none;
  -webkit-transition: 0.5s ease;
  -o-transition: 0.5s ease;
  transition: 0.5s ease; }
  a:hover img {
    opacity: 0.3;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease; }

p.just {
  text-align: justify;
  text-justify: inter-ideograph; }

ul {
  margin: auto;
  padding: 0; }

.mb3rem {
  margin-bottom: 3rem !important; }

@media all and (max-width: 575px) {
  .mb3rem {
    margin-bottom: 1rem !important; } }

#intro {
  position: relative; }
  #intro h1 {
    position: absolute;
    left: 40px;
    top: 40px; }

@media all and (max-width: 1199px), (max-height: 860px) {
  #intro h1 {
    left: 30px;
    top: 30px; }
    #intro h1 img {
      width: 200px; } }

@media all and (max-width: 575px) {
  #intro h1 {
    left: 15px;
    top: 15px; }
    #intro h1 img {
      width: 180px; } }

.container {
  max-width: 990px; }

@media all and (max-width: 1199px) {
  .container {
    max-width: 800px; } }

@media all and (max-width: 991px) {
  .container {
    max-width: 575px; } }

.con {
  text-align: center;
  padding: 10rem 0; }
  .con h2 {
    font-size: 4.5rem;
    color: #F38200;
    letter-spacing: 4px;
    margin-bottom: 4rem;
    font-weight: 700; }
    .con h2 small {
      display: block;
      font-size: 3rem;
      margin-top: 1.5rem; }
  .con h3 {
    font-size: 3.6rem;
    font-weight: 700;
    margin-bottom: 2rem; }
  .con h4 {
    font-size: 2.6rem;
    color: #F38200;
    letter-spacing: 3px;
    font-weight: 700;
    margin-bottom: 1.5rem;
    line-height: 1.5; }
  .con p {
    line-height: 2; }
  .con hr {
    margin-bottom: 2rem; }
  .con .inner {
    max-width: 640px;
    margin: 5.5rem auto; }
    .con .inner p {
      line-height: 1.8;
      font-weight: 300; }
  .con .usecase {
    margin-bottom: 6rem;
    padding: 0 6rem; }
    .con .usecase h3 {
      color: #F38200;
      font-size: 3.2rem;
      margin-bottom: 3rem; }
    .con .usecase h4 {
      margin-bottom: auto; }
    .con .usecase .row {
      background-color: #FFF3D9;
      border-radius: 1rem; }
    .con .usecase .kata {
      padding: 4rem; }
    .con .usecase .left .img img {
      border-radius: 1rem 0 0 1rem; }
    .con .usecase .left .kata {
      border-radius: 0 1rem 1rem 0; }
    .con .usecase .right .img img {
      border-radius: 0 1rem 1rem 0; }
    .con .usecase .right .kata {
      border-radius: 1rem 0 0 1rem; }
  .con .item {
    padding-top: 6rem;
    text-align: center; }
    .con .item h2 {
      font-size: 2.6rem;
      font-weight: bold !important;
      letter-spacing: 1px;
      margin: 2rem; }
      .con .item h2 small {
        font-weight: bold !important;
        display: inline;
        letter-spacing: 1px;
        font-size: 2.2rem; }
    .con .item .link {
      margin-bottom: 2rem; }
      .con .item .link a {
        display: block;
        background-color: #F38200;
        color: white;
        padding: 0;
        border-radius: 3rem;
        max-width: 460px;
        font-size: 2.4rem;
        line-height: 2.5;
        font-weight: 700; }
      .con .item .link a:hover {
        background-color: #b56304; }
    .con .item ul {
      text-align: center;
      margin: auto auto 2rem !important; }
    .con .item ul.mw600 {
      max-width: 540px; }
    .con .item ul.mw740 {
      max-width: 720px; }
    .con .item .cart a {
      display: inline-block;
      background-color: #F38200;
      color: white;
      padding: .8rem 2rem;
      border-radius: 3rem;
      font-size: 1.6rem;
      line-height: 1.2;
      font-weight: 700;
      letter-spacing: 1px; }
      .con .item .cart a span {
        display: inline-block;
        color: white;
        font-size: 1.6rem;
        line-height: 1.2;
        font-weight: 700;
        letter-spacing: 1px; }
    .con .item .cart a:hover {
      background-color: #b56304; }
    .con .item table {
      text-align: left;
      margin: auto; }
      .con .item table th {
        white-space: nowrap;
        vertical-align: top; }
      .con .item table td {
        padding-left: 1.5rem; }

@media all and (max-width: 1199px) {
  .con {
    padding: 6.5rem 0; }
    .con h2 {
      font-size: 3.5rem;
      margin-bottom: 2rem; }
      .con h2 small {
        font-size: 2.5rem; }
    .con h3 {
      font-size: 3rem; }
    .con h4 {
      font-size: 2.4rem;
      letter-spacing: 2px; }
    .con hr {
      margin-bottom: 1rem; }
    .con .inner {
      margin: 4rem auto; }
      .con .inner p {
        line-height: 1.8;
        font-weight: 300; }
    .con .item {
      padding-top: 2rem; }
      .con .item h2 {
        font-size: 2.2rem; }
        .con .item h2 small {
          font-size: 1.8rem; }
      .con .item .link a {
        max-width: 420px;
        font-size: 2rem; } }

@media all and (max-width: 991px) {
  .con {
    padding: 6rem 0; }
    .con h2 {
      font-size: 3rem; }
    .con h3 {
      font-size: 2.6rem; }
    .con h4 {
      letter-spacing: 1px; }
      .con h4 span {
        letter-spacing: 1px; }
    .con .usecase {
      margin-bottom: 4rem;
      padding: 0 4rem; }
      .con .usecase h3 {
        font-size: 3rem;
        margin-bottom: 2rem; }
      .con .usecase .kata {
        padding: 3rem; }
      .con .usecase .left .img img,
      .con .usecase .right .img img {
        border-radius: 1rem 1rem 0 0; }
      .con .usecase .left .kata,
      .con .usecase .right .kata {
        border-radius: 0 0 1rem 1rem; }
    .con .inner {
      margin: 2rem auto 2.5rem auto; } }

@media all and (max-width: 575px) {
  .con {
    padding: 4rem 0; }
    .con .container {
      padding: 0 2.5rem; }
    .con h2 {
      font-size: 2.3rem;
      letter-spacing: 1px; }
    .con h3 {
      font-size: 2rem;
      margin-bottom: 1rem; }
    .con h4 {
      letter-spacing: 1px;
      font-size: 1.8rem;
      margin-bottom: 1rem; }
    .con hr {
      margin-bottom: auto; }
    .con .inner {
      margin: 1.5rem auto 2.5rem auto; }
    .con .usecase {
      margin-bottom: 2rem;
      padding: 0; }
      .con .usecase h3 {
        font-size: 2.4rem; }
      .con .usecase .kata {
        padding: 2rem; }
        .con .usecase .kata p {
          line-height: 1.6;
          margin-top: .6rem; }
    .con .item h2 {
      font-size: 2.2rem;
      margin: 1.5rem; }
    .con .item .link {
      margin-bottom: 1.5rem; }
      .con .item .link a {
        font-size: 2rem; }
    .con .item ul.mw600,
    .con .item ul.mw740 {
      max-width: 340px;
      width: 90%;
      margin: auto !important; }
      .con .item ul.mw600 li,
      .con .item ul.mw740 li {
        margin-bottom: 2.5rem; }
    .con .item .color {
      margin-bottom: 1rem; }
    .con .item .cart a {
      padding: .6rem 1.5rem;
      font-size: 1.5rem; }
      .con .item .cart a span {
        font-size: 1.4rem; }
    .con .item table {
      text-align: left;
      margin: auto; }
      .con .item table th, .con .item table td {
        line-height: 1.6; }
      .con .item table td {
        padding-left: 1rem; } }

.color {
  background-color: #FFF3D9; }
  .color hr {
    border-color: white;
    border-width: 2px; }
  .color .usecase .row {
    background-color: white; }
  .color .item .color img {
    border: solid 2px #fff; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

#topBtn {
  position: fixed;
  bottom: 45px;
  right: 45px;
  width: 15px;
  opacity: 0;
  -webkit-transition: 0.8s ease;
  -o-transition: 0.8s ease;
  transition: 0.8s ease;
  pointer-events: none;
  z-index: 999; }

#topBtn.fadeIn {
  bottom: 60px;
  pointer-events: auto;
  opacity: 1;
  -webkit-transition: 0.8s ease;
  -o-transition: 0.8s ease;
  transition: 0.8s ease;
  -webkit-transition-delay: 0.3s;
  -o-transition-delay: 0.3s;
  transition-delay: 0.3s; }

@media all and (max-width: 1199px) {
  #topBtn {
    bottom: 30px;
    right: 30px; }
  #topBtn.fadeIn {
    bottom: 40px; } }

@media all and (max-width: 575px) {
  #topBtn {
    display: none; } }

#footer {
  text-align: center;
  padding: 8rem 0;
  background-color: #f0f0f0; }
  #footer h2 {
    margin-bottom: 3rem; }
  #footer ul {
    margin-bottom: 1rem; }
    #footer ul li {
      display: inline-block;
      line-height: 1;
      padding-left: 1rem;
      margin-right: .5rem; }
      #footer ul li a {
        line-height: 1; }
    #footer ul li + li {
      border-left: 1px solid #000; }
  #footer .copy {
    font-size: 1.4rem; }

@media all and (max-width: 767px) {
  #footer {
    padding: 4rem 0; }
    #footer h2 {
      margin-bottom: 2rem; }
      #footer h2 img {
        max-width: 220px;
        width: 90%;
        margin: auto; }
    #footer .copy {
      letter-spacing: normal; } }

@media all and (max-width: 575px) {
  #footer .copy {
    font-size: 1.2rem; }
  #footer ul {
    padding: 0;
    border-top: solid 1px #fff; }
    #footer ul li {
      display: block;
      border-bottom: solid 1px #fff;
      padding: 1.4rem 0; }
    #footer ul li + li {
      border-left: none; } }

/* Print styles
-------------------------------------------------------------------------------*/
@media print {
  #side,
  #header {
    display: none !important; }
  a[href]:after {
    content: "" !important; }
  abbr[title]:after {
    content: "" !important; } }
