@charset "UTF-8";
/*  12px */
/*  13px */
/*  15px */
/*  18px */
/*  24px */
/*  32px */
/*  48px */
/* =====================================
	全体設定
===================================== */
html {
  height: 100%; }

body {
  margin: 0;
  height: 100%;
  color: #333333;
  line-height: 1.0;
  font-family: -apple-system, BlinkMacSystemFont, "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-size: 10px;
  background: #fff;
  animation: fadeIn 2s ease 0s 1 normal;
  -webkit-animation: fadeIn 2s ease 0s 1 normal; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
a, a:link, a:visited {
  text-decoration: underline; }

a:hover, a:active {
  text-decoration: none; }

a:hover {
  opacity: .5;
  -webkit-opacity: .5;
  -moz-opacity: .5;
  filter: alpha(opacity=50);
  /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)";
  /* IE 8 */ }

a {
  -webkit-transition: opacity 0.2s ease-out;
  -moz-transition: opacity 0.2s ease-out;
  -ms-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out; }

@media screen and (max-width: 640px) {
  a:hover {
    opacity: 1;
    -webkit-opacity: 1;
    -moz-opacity: 1;
    filter: alpha(opacity=100);
    /* IE lt 8 */
    -ms-filter: "alpha(opacity=100)";
    /* IE 8 */ } }
.pc {
  display: block; }

.sp {
  display: none; }

.caution {
  color: #FF0000; }

.en {
  font-family: 'Public Sans', sans-serif; }

.contC {
  text-align: center; }

/* ---------------- Slider  */
.slides {
  margin: 0 auto !important; }
  .slides a {
    display: block;
    text-decoration: none; }

ul.slides li.view {
  width: 100%;
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat; }

@media screen and (max-width: 640px) {
  .pc {
    display: none; }

  .sp {
    display: block; } }
/* =====================================
	navigation
===================================== */
.animatedModalMenu {
  display: none;
  position: fixed;
  top: 40px;
  right: 40px;
  z-index: 999; }
  .animatedModalMenu .modalMenu {
    position: relative;
    display: inline-block;
    transition: all .1s;
    box-sizing: border-box;
    width: 38px;
    height: 26px; }
    .animatedModalMenu .modalMenu span {
      display: inline-block;
      transition: all .1s;
      box-sizing: border-box;
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #000; }
      .animatedModalMenu .modalMenu span:nth-of-type(1) {
        top: 0; }
      .animatedModalMenu .modalMenu span:nth-of-type(2) {
        top: 12px; }
      .animatedModalMenu .modalMenu span:nth-of-type(3) {
        bottom: 0; }
    .animatedModalMenu .modalMenu:hover span:nth-of-type(1) {
      opacity: 0.5;
      -webkit-transform: translateY(4px);
      transform: translateY(4px); }
    .animatedModalMenu .modalMenu:hover span:nth-of-type(2) {
      opacity: 0.5; }
    .animatedModalMenu .modalMenu:hover span:nth-of-type(3) {
      opacity: 0.5;
      -webkit-transform: translateY(-4px);
      transform: translateY(-4px); }
  .animatedModalMenu.close-animatedModal {
    cursor: pointer;
    top: 16px;
    right: 10px; }
    .animatedModalMenu.close-animatedModal .modalMenu {
      position: relative;
      display: inline-block;
      transition: all .1s;
      box-sizing: border-box;
      width: 72px;
      height: 72px; }
      .animatedModalMenu.close-animatedModal .modalMenu span {
        height: 1px;
        transition: all .1s;
        background-color: #eee; }
        .animatedModalMenu.close-animatedModal .modalMenu span:nth-of-type(1) {
          -webkit-transform: translateY(38px) rotate(-45deg);
          transform: translateY(38px) rotate(-45deg); }
        .animatedModalMenu.close-animatedModal .modalMenu span:nth-of-type(2) {
          display: none; }
        .animatedModalMenu.close-animatedModal .modalMenu span:nth-of-type(3) {
          -webkit-transform: translateY(-38px) rotate(45deg);
          transform: translateY(-38px) rotate(45deg); }

.animatedModal {
  font-weight: normal; }
  .animatedModal .modalNav {
    padding: 80px 80px 40px 40px;
    color: #fff; }
    .animatedModal .modalNav .siteTtlNav {
      margin-bottom: 56px; }
      .animatedModal .modalNav .siteTtlNav img {
        width: 180px;
        height: auto; }
    .animatedModal .modalNav .modalNavMain li {
      display: inline-block;
      margin-right: 32px;
      margin-bottom: 16px; }
      .animatedModal .modalNav .modalNavMain li:before {
        content: '- '; }
    .animatedModal .modalNav .modalNavSub li {
      display: inline-block;
      margin-right: 16px;
      margin-bottom: 8px; }
      .animatedModal .modalNav .modalNavSub li:before {
        content: '* '; }
    .animatedModal .modalNav a {
      color: #fff;
      text-decoration: none; }
      .animatedModal .modalNav a:hover {
        color: #666; }

@media screen and (max-width: 768px) {
  .animatedModalMenu {
    display: block;
    top: 22px;
    right: 16px; }
    .animatedModalMenu.close-animatedModal {
      top: 14px;
      right: 12px; }
      .animatedModalMenu.close-animatedModal .modalMenu {
        width: 64px;
        height: 64px; }
        .animatedModalMenu.close-animatedModal .modalMenu span:nth-of-type(1) {
          -webkit-transform: translateY(32px) rotate(-45deg);
          transform: translateY(32px) rotate(-45deg); }
        .animatedModalMenu.close-animatedModal .modalMenu span:nth-of-type(3) {
          -webkit-transform: translateY(-32px) rotate(45deg);
          transform: translateY(-32px) rotate(45deg); }

  .animatedModal .modalNav {
    padding: 48px 64px 40px 24px;
    color: #fff; }
    .animatedModal .modalNav .siteTtlNav {
      margin-bottom: 40px; }
      .animatedModal .modalNav .siteTtlNav img {
        width: 120px; }
    .animatedModal .modalNav .modalNavMain li {
      display: block;
      margin-bottom: 24px;
      font-size: 18px; }
    .animatedModal .modalNav .modalNavSub {
      margin-top: 16px; }
      .animatedModal .modalNav .modalNavSub li {
        display: block;
        margin-right: 16px;
        margin-bottom: 8px; }
    .animatedModal .modalNav a {
      color: #fff;
      text-decoration: none; } }
/*  End	navigation */
/* =====================================
	header
===================================== */
.header {
  position: fixed;
  width: 100vw;
  height: 100%;
  min-height: 640px;
  color: #fff;
  background: #10b9c6;
  font-family: 'Public Sans', sans-serif;
  font-size: 20px;
  font-weight: 700; }
  .header a {
    color: #fff;
    text-decoration: none; }

.siteTtl {
  display: block;
  width: 50%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  fill: #ffffff; }

.gNav {
  position: absolute;
  top: 2%;
  left: 2%;
  z-index: 999999; }
  .gNav li {
    margin-bottom: 10px; }

.online {
  position: absolute;
  top: 2%;
  right: 2%;
  z-index: 999999; }
  .online span:before {
    content: url("/assets/images/common/icn_cart.svg");
    padding-right: 8px;
    vertical-align: middle; }

.copy {
  position: absolute;
  left: 2%;
  bottom: 2%; }

.scroll {
  position: absolute;
  right: 3%;
  bottom: 3%; }

@media screen and (max-width: 768px) {
  .header {
    font-size: 4vw; }

  .siteTtl {
    width: 70%; } }
/* =====================================
	topicPath
===================================== */
/* =====================================
	content
===================================== */
.container {
  font-size: 23px; }

.intro {
  position: absolute;
  top: 100%;
  width: 100%;
  height: 100vh;
  min-height: 100vh;
  padding: 4vh 2vw;
  line-height: 1.5;
  background-color: rgba(255, 255, 255, 0.9); }
  .intro-inner {
    position: absolute;
    width: 80%;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%); }
  .intro h2 {
    margin-bottom: 40px;
    text-align: center;
    color: #10b9c6;
    font-size: 40px; }

.return {
  margin-top: 64px;
  text-align: center; }
  .return a {
    color: #10b9c6; }

@media screen and (max-width: 768px) {
  .container {
    font-size: 18px; }

  .intro-inner {
    width: 100%;
    padding: 80px 20px; }
  .intro h2 {
    margin-bottom: 24px;
    font-size: 32px; }

  .return {
    margin-top: 40px; } }
/* =====================================
	footer
===================================== */
