@charset "UTF-8";
:root {
  --bg-color: #222222;
  --bg-sub-color: #0F0F0F;
  --font-color: #0F0F0F;
  --c-blue: #1936D6;
  --c-yellow: #C0D619;
  --c-navy: #022F79;
  --container-width: 1230px;
  --container-width-small: 980px;
  --container-padding: 30px;
  --header-padding: 40px;
  --l-header-height: 64px;
  --l-header-border: 1px;
  --drawer-wight: 320px;
  --btn-large-height: 60px;
  --btn-middle-height: 50px;
  --zindex-drawer: 1000;
  --zindex-modal: 10000;
}
@media (max-width:991px) {
  :root {
    --container-padding: 20px;
  }
}
@media (max-width:991px) {
  :root {
    --header-padding: 40px;
  }
}
@media (max-width:767px) {
  :root {
    --header-padding: 10px;
  }
}
@media (max-width:767px) {
  :root {
    --l-header-height: 52px;
    --l-header-border: 1px;
  }
}
@media (max-width:767px) {
  :root {
    --drawer-wight: 100%;
  }
}

/*
* base
* --------------------------------------------------*/
/* body
-----------------------------------------------------*/
body {
  background-color: #fff;
  color: var(--font-color);
  padding-top: 0;
}

img {
  vertical-align: top;
}

/*
* font
* --------------------------------------------------*/
html {
  font-size: 16px;
}

html, body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
}

body {
  font-size: 16px;
  letter-spacing: 0.03em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

ul,
ol, h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
  padding: 0;
}

ul,
ol {
  list-style: none;
}

em {
  font-style: bold;
  font-style: italic;
}

strong {
  font-weight: bold;
}

a {
  color: var(--font-color);
}

a,
input[type=submit],
input[type=button],
button {
  text-decoration: none;
  outline: none;
}
a:hover, a:active,
input[type=submit]:hover,
input[type=submit]:active,
input[type=button]:hover,
input[type=button]:active,
button:hover,
button:active {
  color: #8c8c8c;
  outline: none;
  text-decoration: none;
  opacity: 0.7;
}
a:focus, a:active,
input[type=submit]:focus,
input[type=submit]:active,
input[type=button]:focus,
input[type=button]:active,
button:focus,
button:active {
  outline: none;
  text-decoration: none;
}
a:active:focus, a:active.focus, a.active:focus, a.active.focus,
input[type=submit]:active:focus,
input[type=submit]:active.focus,
input[type=submit].active:focus,
input[type=submit].active.focus,
input[type=button]:active:focus,
input[type=button]:active.focus,
input[type=button].active:focus,
input[type=button].active.focus,
button:active:focus,
button:active.focus,
button.active:focus,
button.active.focus {
  outline: none;
  text-decoration: none;
}

figure {
  margin-top: 30px;
}
figure img {
  margin-bottom: 0;
}

img {
  margin-top: 0;
}

input:-moz-placeholder-shown, .form-control:-moz-placeholder-shown {
  color: #C6C6C6;
}

input:-ms-input-placeholder, .form-control:-ms-input-placeholder {
  color: #C6C6C6;
}

input:placeholder-shown,
.form-control:placeholder-shown {
  color: #C6C6C6;
}
input::-webkit-input-placeholder,
.form-control::-webkit-input-placeholder {
  color: #C6C6C6;
}
input:-moz-placeholder,
.form-control:-moz-placeholder {
  color: #C6C6C6;
  opacity: 1;
}
input::-moz-placeholder,
.form-control::-moz-placeholder {
  color: #C6C6C6;
  opacity: 1;
}
input:-ms-input-placeholder,
.form-control:-ms-input-placeholder {
  color: #C6C6C6;
}
input:focus,
.form-control:focus {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}

hr {
  margin-top: 30px;
  margin-bottom: 30px;
  border: 0;
}

blockquote {
  padding: 30px 30px 30px 35px;
  position: relative;
}

/*
-- Layout CSS
-------------------------------------------------- */
.l-main-wrap.common-wrap {
  position: relative;
  padding: 0 0 100px;
  background-image: url(../img/common/main-bg.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center 0;
  padding-top: 5px;
}
.l-main-wrap.common-wrap::before, .l-main-wrap.common-wrap::after {
  content: "";
  display: block;
  width: 100%;
  height: 120px;
  position: absolute;
  top: calc(100% - 50px);
  left: 0;
}
.l-main-wrap.common-wrap::before {
  background-color: rgba(192, 214, 25, 0.2);
  -webkit-transform: skewY(-6deg);
      -ms-transform: skewY(-6deg);
          transform: skewY(-6deg);
  background-image: url(../img/top/shop-header-bg.png), url(../img/top/shop-header-bg.png);
  background-repeat: no-repeat;
  background-size: 600px auto;
  background-position: -200px center, calc(100% + 200px) center;
}
.l-main-wrap.common-wrap::after {
  background-color: rgba(25, 54, 214, 0.3);
  -webkit-transform: skewY(6deg);
      -ms-transform: skewY(6deg);
          transform: skewY(6deg);
  background-image: url(../img/top/shop-header-bg.png), url(../img/top/shop-header-bg.png);
  background-repeat: no-repeat;
  background-size: 600px auto;
  background-position: -200px center, calc(100% + 200px) center;
}
.l-main-wrap.common-wrap .l-main-article {
  position: relative;
  z-index: 10;
}

@media (max-width:1380px) {
  .l-main-wrap.common-wrap {
    padding: 0 0 100px;
    background-size: auto 300px;
    padding-top: 5px;
  }
  .l-main-wrap.common-wrap .l-main-article {
    position: relative;
    z-index: 10;
  }
}
.l-section {
  padding: 60px 0;
}

.container {
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
  max-width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
}

.container-small {
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
  max-width: var(--container-width-small);
  margin-left: auto;
  margin-right: auto;
}

@media (max-width:991px) {
  .container {
    padding-left: 15px;
    padding-right: 15px;
    max-width: 100%;
  }
  .container-small {
    padding-left: 15px;
    padding-right: 15px;
    max-width: 100%;
  }
}
.row {
  margin-left: -15px;
  margin-right: -15px;
}
.row > [class*=col-], .row .col {
  padding-left: 15px;
  padding-right: 15px;
}

.row-20 {
  margin-left: -10px;
  margin-right: -10px;
}
.row-20 > [class*=col-],
.row-20 .col {
  padding-left: 10px;
  padding-right: 10px;
}

.row-10 {
  margin-left: -5px;
  margin-right: -5px;
}
.row-10 > [class*=col-], .row-10 .col {
  padding-left: 5px;
  padding-right: 5px;
}

.row-0 {
  margin-left: 0;
  margin-right: 0;
}
.row-0 > [class*=col-], .row-0 .col {
  padding-left: 0;
  padding-right: 0;
}

@media (max-width:991px) {
  .row, .row-10, .row-20 {
    margin-left: -5px;
    margin-right: -5px;
  }
  .row > [class*=col-], .row .col, .row-10 > [class*=col-], .row-10 .col, .row-20 > [class*=col-], .row-20 .col {
    padding-left: 5px;
    padding-right: 5px;
  }
  .row-0 {
    margin-left: 0;
    margin-right: 0;
  }
  .row-0 > [class*=col-], .row-0 .col {
    padding-left: 0;
    padding-right: 0;
  }
}
.column5 > .col {
  max-width: 20%;
  -webkit-box-flex: 20%;
      -ms-flex: 20%;
          flex: 20%;
}

@media (max-width:991px) {
  .column5 > .col-sp-1 {
    max-width: 100%;
    -webkit-box-flex: 100%;
        -ms-flex: 100%;
            flex: 100%;
  }
}
@media (max-width:991px) {
  .column5 > .col-sp-1 {
    max-width: 100%;
    -webkit-box-flex: 100%;
        -ms-flex: 100%;
            flex: 100%;
  }
}
.l-header-bar {
  background-color: #fff;
  position: relative;
  z-index: 100;
  margin-bottom: 0;
  width: 100%;
  min-height: calc(var(--l-header-height) + var(--l-header-border));
  border-bottom: var(--l-header-border) solid var(--c-yellow);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.l-header-bar .header-title {
  font-size: 1.125rem;
  font-weight: bold;
  height: calc(var(--l-header-height));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  background-color: var(--c-blue);
  padding-left: 20px;
  position: relative;
  line-height: 1.3;
}
.l-header-bar .header-title .link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
}
.l-header-bar .header-title .logo-img {
  width: 124px;
  height: 26px;
  margin-right: 15px;
}
.l-header-bar .header-title::after {
  content: "";
  display: block;
  width: 200px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 100%;
  background-image: url(../img/common/header-bg.png);
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-position: right center;
}
.l-header-bar .drawer-btn {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1100;
}
.l-header-bar .drawer-btn.active {
  position: fixed;
  right: 320px;
}

.logged-in .l-header-bar .drawer-btn.active {
  top: 32px;
}

@media (max-width:991px) {
  .l-header-bar {
    overflow: hidden;
  }
  .l-header-bar .header-title {
    font-size: 0.75rem;
    font-weight: bold;
    padding-left: 10px;
  }
  .l-header-bar .header-title .logo-img {
    width: 84px;
    height: auto;
    margin-right: 5px;
  }
  .l-header-bar .header-title::after {
    width: 140px;
  }
  .l-header-bar .drawer-btn.active {
    right: 0px;
  }
}
.l-footer {
  background-color: var(--c-navy);
  color: #fff;
  padding: 30px 0 30px;
  position: relative;
}
.l-footer .footer-shop-name {
  font-size: 1.125rem;
  font-weight: bold;
  text-align: center;
}
.l-footer .footer-info {
  font-size: 0.875rem;
  text-align: center;
  line-height: 1.5;
}

.logged-in .l-drawer {
  top: 32px;
  height: calc(100dvh - 32px);
}

.l-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: 320px;
  height: 100dvh;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(2, 47, 121, 0.9)), to(rgba(0, 0, 0, 0.9)));
  background-image: linear-gradient(0deg, rgba(2, 47, 121, 0.9), rgba(0, 0, 0, 0.9));
  padding: calc(var(--l-status-bar-height) + var(--common-padding)) 100px 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  z-index: 1000;
}
.l-drawer .inner {
  padding: 15px;
}
.l-drawer .drawer-heading {
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  border-bottom: 1px solid #fff;
  color: #fff;
  padding-bottom: 5;
}
.l-drawer .category-list .item {
  width: 100%;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.l-drawer .category-list .nav-link {
  font-size: 0.875rem;
  padding: 8px 15px;
  display: block;
  color: #fff;
}
.l-drawer .category-list + .btn {
  margin-top: 20px;
}
.l-drawer .btn {
  width: 100%;
}

@media (max-width:991px) {
  .l-drawer {
    width: 100vw;
    padding: 140px 20px 40px;
  }
}
.l-drawer {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  opacity: 0;
  visibility: hidden;
}
.l-drawer.is-open {
  opacity: 1;
  visibility: visible;
}

/*
-- plugin
--------------------------------------------------*/
/*
-- Module CSS
-------------------------------------------------- */
/* 見出し
-----------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
  word-wrap: break-word;
  line-height: 1.5;
  margin-top: 0;
  margin-bottom: 0;
  position: relative;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: inherit;
  text-decoration: none;
}

.h2, .entry-contents h2 {
  font-size: 1.75rem;
  font-weight: bold;
  position: relative;
  color: var(--c-navy);
}
@media (max-width:767px) {
  .h2, .entry-contents h2 {
    font-size: 1.5rem;
  }
}
.h2::after, .entry-contents h2::after {
  content: "";
  display: block;
  width: 180px;
  height: 4px;
  background-image: linear-gradient(90deg, var(--c-yellow) 60px, var(--c-blue) 61px);
  background-color: var(--c-blue);
  margin: 20px 0 0;
  -webkit-transform: skewX(-45deg);
      -ms-transform: skewX(-45deg);
          transform: skewX(-45deg);
}

.h3, .entry-contents h3 {
  font-size: 1.5rem;
  font-weight: bold;
  position: relative;
  border-bottom: 2px dashed rgba(2, 47, 121, 0.5);
  padding-bottom: 10px;
}
@media (max-width:767px) {
  .h3, .entry-contents h3 {
    font-size: 1.25rem;
    font-weight: bold;
  }
}

.h4, .entry-contents h4 {
  font-size: 1.25rem;
  font-weight: bold;
  position: relative;
  padding-left: 8px;
  border-left: 4px solid var(--c-blue);
}
@media (max-width:767px) {
  .h4, .entry-contents h4 {
    font-size: 1.125rem;
    font-weight: bold;
  }
}

.h5, .entry-contents h5 {
  font-size: 1.125rem;
  font-weight: bold;
}
@media (max-width:767px) {
  .h5, .entry-contents h5 {
    font-size: 1rem;
    font-weight: bold;
  }
}

.breadcrumbs-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 15px 0;
}
.breadcrumbs-list .item {
  margin-right: 0.3rem;
}
.breadcrumbs-list .item + .item::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background-image: url(../img/common/arrow-sm.svg);
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0.3rem;
}
.breadcrumbs-list .link {
  font-size: 0.8125rem;
}

.btn {
  text-decoration: none;
  font-size: 1rem;
  font-weight: normal;
  border-radius: 0;
  position: relative;
  white-space: normal;
  letter-spacing: 0;
  padding: 5px 5px;
  min-width: 160px;
  min-height: 60px;
  text-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.btn:focus, .btn:disabled, .btn:visited, .btn:focus {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  text-decoration: none;
}
.btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active, .btn:not(:disabled):not(.disabled):active:focus {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  text-decoration: none;
}
.btn:hover, .btn:active, .btn.touch {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  text-decoration: none;
}
.btn .icon {
  width: 20px;
  margin-bottom: 0;
  margin-right: 6px;
}

.btn {
  background-color: #1936D6;
  border: 1px solid #1936D6;
  color: #fff;
  background-image: url(../img/common/arrow.svg);
  background-repeat: no-repeat;
  background-size: 61px auto;
  background-position: calc(100% - 8px) calc(100% - 8px);
}
.btn:focus, .btn:disabled, .btn:visited, .btn:focus {
  background-color: #1936D6;
  border: 1px solid #1936D6;
  color: #fff;
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active, .btn:not(:disabled):not(.disabled):active:focus {
  background-color: inherit;
  border: 1px solid inherit;
  color: inherit;
}
.btn:hover, .btn:active, .btn.touch {
  background-color: #1936D6;
  border: 1px solid #1936D6;
  color: #fff;
  opacity: 0.7;
}

.btns-row {
  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;
  gap: 16px;
}
.btns-row.btns-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.btns-row .btn {
  width: calc(40% - 8px);
}

@media (max-width:767px) {
  .btns-row {
    gap: 8px;
  }
  .btns-row .btn {
    max-width: 100%;
    -webkit-box-flex: 100%;
        -ms-flex: 100%;
            flex: 100%;
  }
}
.drawer-btn {
  width: var(--l-header-height);
  height: var(--l-header-height);
  position: relative;
  padding: 0;
  border: 0;
  background-color: transparent;
  z-index: 1030;
  background-color: #fff;
}
.drawer-btn .icon-bar {
  position: absolute;
  display: block;
  border-top: 2px solid #0F0F0F;
  border-bottom: 2px solid #0F0F0F;
  border-left: 0;
  border-right: 0;
  width: 18px;
  height: 16px;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(0);
      -ms-transform: translate(-50%, -50%) rotate(0);
          transform: translate(-50%, -50%) rotate(0);
  overflow: hidden;
  -webkit-transition-property: border-top border-bottom;
  transition-property: border-top border-bottom;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
.drawer-btn .icon-bar::before, .drawer-btn .icon-bar::after {
  background-color: #0F0F0F;
  content: "";
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  display: block;
  position: absolute;
  height: 2px;
  width: 18px;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(0);
      -ms-transform: translate(-50%, -50%) rotate(0);
          transform: translate(-50%, -50%) rotate(0);
}
.drawer-btn:hover, .drawer-btn:active {
  opacity: 1;
}
.drawer-btn.active {
  opacity: 1;
}
.drawer-btn.active .drawer-btn-text.open {
  opacity: 0;
}
.drawer-btn.active .drawer-btn-text.close {
  opacity: 1;
}
.drawer-btn.active .icon-bar {
  border-top: 0;
  border-bottom: 0;
}
.drawer-btn.active .icon-bar::before {
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-225deg);
      -ms-transform: translate(-50%, -50%) rotate(-225deg);
          transform: translate(-50%, -50%) rotate(-225deg);
}
.drawer-btn.active .icon-bar::after {
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(225deg);
      -ms-transform: translate(-50%, -50%) rotate(225deg);
          transform: translate(-50%, -50%) rotate(225deg);
}

@media (max-width:767px) {
  .drawer-btn {
    width: var(--l-header-height);
    height: var(--l-header-height);
  }
}
.icon-arrow {
  position: relative;
}

/* list
-----------------------------------------------------*/
.ul > li,
.ol > li {
  margin-bottom: 0;
  padding-left: 1.2em;
  position: relative;
}
.ul > li:last-child,
.ol > li:last-child {
  margin-bottom: 0;
}
.ul > li li,
.ol > li li {
  margin-top: 0;
  margin-bottom: 0;
}
.ul > li::before {
  content: "";
  position: absolute;
  display: block;
  width: 6px;
  height: 6px;
  top: 0.8em;
  left: 3px;
  margin: 0;
  background-color: #022F79;
}
.ul > li li::before {
  content: "";
  position: absolute;
  display: block;
  width: 8px;
  height: 2px;
  top: 0.9em;
  left: 3px;
  margin: 0;
  background-color: #022F79;
}
.ol > li {
  counter-increment: item;
  margin-bottom: 0;
}
.ol > li::before {
  font-size: 1rem;
  font-weight: bold;
  content: counter(item) ".";
  color: #022F79;
  position: absolute;
  left: 0;
  padding-right: 0.5em;
}
.entry-contents ul,
.entry-contents ol {
  margin-bottom: 20px;
}
.entry-contents ul > li,
.entry-contents ol > li {
  margin-bottom: 0;
  padding-left: 1.2em;
  position: relative;
}
.entry-contents ul > li:last-child,
.entry-contents ol > li:last-child {
  margin-bottom: 0;
}
.entry-contents ul > li li,
.entry-contents ol > li li {
  margin-top: 0;
  margin-bottom: 0;
}
.entry-contents ul > li::before {
  content: "";
  position: absolute;
  display: block;
  width: 6px;
  height: 6px;
  top: 0.8em;
  left: 3px;
  margin: 0;
  background-color: #022F79;
}
.entry-contents ul > li li::before {
  content: "";
  position: absolute;
  display: block;
  width: 8px;
  height: 2px;
  top: 0.9em;
  left: 3px;
  margin: 0;
  background-color: #022F79;
}
.entry-contents ol > li {
  counter-increment: item;
  margin-bottom: 0;
}
.entry-contents ol > li::before {
  font-size: 1rem;
  font-weight: bold;
  content: counter(item) ".";
  color: #022F79;
  position: absolute;
  left: 0;
  padding-right: 0.5em;
}
.category-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
}
.category-list .cat-linik {
  background-color: #1936D6;
  border: 1px solid #1936D6;
  color: #fff;
  display: block;
  min-width: 80px;
  padding: 1px 10px 2px;
  line-height: 1.7;
  text-align: center;
  position: relative;
}
.category-list .cat-linik:focus, .category-list .cat-linik:disabled, .category-list .cat-linik:visited, .category-list .cat-linik:focus {
  background-color: #1936D6;
  border: 1px solid #1936D6;
  color: #fff;
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.category-list .cat-linik:not(:disabled):not(.disabled):active, .category-list .cat-linik:not(:disabled):not(.disabled).active, .category-list .cat-linik:not(:disabled):not(.disabled):active:focus {
  background-color: inherit;
  border: 1px solid inherit;
  color: inherit;
}
.category-list .cat-linik:hover, .category-list .cat-linik:active, .category-list .cat-linik.touch {
  background-color: #1936D6;
  border: 1px solid #1936D6;
  color: #fff;
  opacity: 0.7;
}
.category-list .cat-linik::after {
  content: "";
  background-color: #C0D619;
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 6px;
  height: 6px;
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%);
          clip-path: polygon(100% 0, 100% 100%, 0 100%);
}

/* table
-----------------------------------------------------*/
.table, .entry-contents table {
  margin: 0;
  width: 100%;
  margin-bottom: 20px;
}
.table tbody tr th, .table tbody tr td, .table thead tr th, .table thead tr td, .table tfoot tr th, .table tfoot tr td, .entry-contents table tbody tr th, .entry-contents table tbody tr td, .entry-contents table thead tr th, .entry-contents table thead tr td, .entry-contents table tfoot tr th, .entry-contents table tfoot tr td {
  border-top: 1px solid rgba(25, 54, 214, 0.3);
  border-bottom: 1px solid rgba(25, 54, 214, 0.3);
  vertical-align: top;
  padding: 15px 15px;
}
.table tbody tr th, .table thead tr th, .table tfoot tr th, .entry-contents table tbody tr th, .entry-contents table thead tr th, .entry-contents table tfoot tr th {
  background-color: #F2F9F7;
}
.table img, .entry-contents table img {
  vertical-align: top;
}
@media (max-width:767px) {
  .table.table-sp-break, .entry-contents table.table-sp-break {
    display: block;
  }
  .table.table-sp-break tbody, .table.table-sp-break thead, .table.table-sp-break tfoot, .entry-contents table.table-sp-break tbody, .entry-contents table.table-sp-break thead, .entry-contents table.table-sp-break tfoot {
    display: block;
  }
  .table.table-sp-break tbody tr, .table.table-sp-break thead tr, .table.table-sp-break tfoot tr, .entry-contents table.table-sp-break tbody tr, .entry-contents table.table-sp-break thead tr, .entry-contents table.table-sp-break tfoot tr {
    display: block;
  }
  .table.table-sp-break tbody tr th, .table.table-sp-break tbody tr td, .table.table-sp-break thead tr th, .table.table-sp-break thead tr td, .table.table-sp-break tfoot tr th, .table.table-sp-break tfoot tr td, .entry-contents table.table-sp-break tbody tr th, .entry-contents table.table-sp-break tbody tr td, .entry-contents table.table-sp-break thead tr th, .entry-contents table.table-sp-break thead tr td, .entry-contents table.table-sp-break tfoot tr th, .entry-contents table.table-sp-break tfoot tr td {
    display: block;
    width: 100%;
  }
}
.table.table-sp-break tbody th, .table.table-sp-break thead th, .table.table-sp-break tfoot th, .entry-contents table.table-sp-break tbody th, .entry-contents table.table-sp-break thead th, .entry-contents table.table-sp-break tfoot th {
  border-top: 0;
  border-bottom: 0;
}
.table.table-sp-break tbody td, .table.table-sp-break thead td, .table.table-sp-break tfoot td, .entry-contents table.table-sp-break tbody td, .entry-contents table.table-sp-break thead td, .entry-contents table.table-sp-break tfoot td {
  border-top: 0;
}

@media (max-width:767px) {
  .table-sp-break {
    display: block;
  }
  .table-sp-break tbody, .table-sp-break thead, .table-sp-break tfoot {
    display: block;
  }
  .table-sp-break tbody tr, .table-sp-break thead tr, .table-sp-break tfoot tr {
    display: block;
  }
  .table-sp-break tbody tr th, .table-sp-break tbody tr td, .table-sp-break thead tr th, .table-sp-break thead tr td, .table-sp-break tfoot tr th, .table-sp-break tfoot tr td {
    display: block;
    width: 100%;
  }
}

.t-wp30 {
  width: 30%;
}

.t-wp25 {
  width: 25%;
}

.t-wp20 {
  width: 20%;
}

.t-wp15 {
  width: 15%;
}

.movie-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.movie-wrap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.ggmap {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.img-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.thumbnail-wrap {
  padding-bottom: 68.45%;
  position: relative;
}
.thumbnail-wrap .thumbnail {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}

.thumbnail-square {
  padding-bottom: 97.5%;
  position: relative;
}
.thumbnail-square .thumbnail, .thumbnail-square img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}

.box {
  background-color: #fff;
  padding: 25px;
  margin-bottom: 20px;
}
.box .box-header {
  font-size: 1.75rem;
  font-weight: bold;
  color: #022F79;
  border-bottom: 2px solid #022F79;
  text-align: center;
  margin-bottom: 20px;
  padding: 0 0 10px;
}
.box p:last-child {
  margin-bottom: 0;
}

@media (max-width:767px) {
  .item-box h2, .item-box h3, .item-box h4 {
    margin-bottom: 10px;
  }
  .item-box .col-12:not(:last-child) {
    margin-bottom: 15px;
  }
}
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: 30px;
}

.swiper-pagination-bullet {
  background-color: #666;
  border-radius: 0;
  height: 4px;
}

.swiper-pagination-bullet-active {
  background-color: #fff;
}

.popup-wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(18, 18, 18, 0.8);
  z-index: 1000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  visibility: hidden;
  padding: 30px;
  opacity: 0;
  -webkit-transition: ease 0.2s;
  transition: ease 0.2s;
}
.popup-wrap .popup-panel {
  border-width: 2px;
  border-style: solid;
  border-color: #ddd;
  border-radius: 8px;
  background-color: #fff;
  position: relative;
  padding: 30px 20px 30px;
  max-width: 900px;
  width: 100%;
  max-height: calc(100vh - 100px);
}
.popup-wrap .popup-close {
  position: absolute;
  display: block;
  top: -10px;
  right: -10px;
  background-color: #D85454;
  border: 2px solid #D85454;
  border-radius: 100px;
  width: 40px;
  height: 40px;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  z-index: 100;
}
.popup-wrap .popup-close::before, .popup-wrap .popup-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: #fff;
}
.popup-wrap .popup-close::before {
  width: 2px;
  height: 22px;
}
.popup-wrap .popup-close::after {
  width: 22px;
  height: 2px;
}
.popup-wrap .panel-body {
  padding: 0 20px;
  max-height: calc(100% - 100px);
  overflow: auto;
}
.popup-wrap.is-open {
  visibility: visible;
  opacity: 1;
}

@media (max-width:767px) {
  .popup-wrap .popup-panel {
    border-width: 4px;
    border-radius: 10px;
    padding: 30px 15px 25px;
  }
  .popup-wrap .panel-header .logo-icon {
    border-width: 4px;
    top: -26px;
    left: -26px;
    width: 72px;
    height: 72px;
  }
  .popup-wrap .panel-header .logo-icon .logo {
    width: 80%;
    height: 80%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .popup-wrap .panel-header .heading {
    font-size: 1.125rem;
    font-weight: bold;
    margin-bottom: 15px;
  }
  .popup-wrap .panel-header .heading .logo-text {
    margin: 0 auto 0;
    height: 24px;
  }
  .popup-wrap .panel-header .heading .lg {
    font-size: 1.375rem;
    font-weight: bold;
  }
  .popup-wrap .popup-close {
    top: -10px;
    right: -10px;
    width: 40px;
    height: 40px;
  }
  .popup-wrap .panel-body {
    padding-top: 15px;
  }
  .popup-wrap .panel-body .company-popup-list {
    font-size: 1.125rem;
    font-weight: bold;
  }
  .popup-wrap .panel-body .company-popup-list li {
    padding-left: 26px;
  }
  .popup-wrap .panel-body .company-popup-list li:not(:last-child) {
    margin-bottom: 30px;
  }
  .popup-wrap .panel-body .company-popup-list li::before {
    width: 18px;
    height: 18px;
    top: 7px;
  }
  .popup-wrap.is-open {
    visibility: visible;
    opacity: 1;
  }
}
.entry-contents > h1:not(:first-child), .entry-contents > h2:not(:first-child), .entry-contents > h3:not(:first-child), .entry-contents > h4:not(:first-child), .entry-contents > h5:not(:first-child), .entry-contents > h6:not(:first-child),
.entry-contents > p:not(:first-child), .entry-contents > ul:not(:first-child), .entry-contents > ol:not(:first-child), .entry-contents > table:not(:first-child), .entry-contents > blockquote:not(:first-child), .entry-contents > img:not(:first-child), .entry-contents > figure:not(:first-child) {
  margin-top: 1.25rem;
}
.entry-contents > .img-list:not(:first-child), .entry-contents > .row-text-img:not(:first-child), .entry-contents > .bg-block:not(:first-child) {
  margin-top: 1.875rem;
}
.entry-contents h2:not(:first-child) {
  margin-top: 2.5rem;
}
.entry-contents h3:not(:first-child) {
  margin-top: 2.5rem;
}
.entry-contents h4:not(:first-child) {
  margin-top: 1.875rem;
}
.entry-contents .sect-heading {
  font-size: 2.375rem;
  font-weight: bold;
  color: var(--c-navy);
  text-align: center;
  margin-bottom: 30px;
}
.entry-contents .sect-heading::after {
  content: "";
  display: block;
  width: 120px;
  height: 4px;
  background-image: linear-gradient(90deg, var(--c-blue) 40px, var(--c-yellow) 41px, var(--c-yellow) 79px, var(--c-blue) 80px);
  background-color: var(--c-blue);
  margin: 20px auto 0;
  -webkit-transform: skewX(-45deg);
      -ms-transform: skewX(-45deg);
          transform: skewX(-45deg);
}
@media (max-width:767px) {
  .entry-contents .sect-heading {
    font-size: 1.625rem;
    font-weight: bold;
  }
}

.sect-heading {
  font-size: 2.375rem;
  font-weight: bold;
  color: var(--c-navy);
  text-align: center;
  margin-bottom: 30px;
}
.sect-heading::after {
  content: "";
  display: block;
  width: 120px;
  height: 4px;
  background-image: linear-gradient(90deg, var(--c-blue) 40px, var(--c-yellow) 41px, var(--c-yellow) 79px, var(--c-blue) 80px);
  background-color: var(--c-blue);
  margin: 20px auto 0;
  -webkit-transform: skewX(-45deg);
      -ms-transform: skewX(-45deg);
          transform: skewX(-45deg);
}
@media (max-width:767px) {
  .sect-heading {
    font-size: 1.625rem;
    font-weight: bold;
  }
}

.card-post {
  height: 100%;
}
.card-post .card-thumbnail-wrap {
  width: calc(100% + 30px);
  margin: 0 -15px 10px;
  padding-bottom: 42%;
  height: 0;
  position: relative;
  overflow: hidden;
}
.card-post .card-thumbnail-wrap .thumbnail {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
.card-post .card-inner {
  padding: 0 15px 15px;
  background-color: #F4FAFF;
  display: block;
  border-bottom: 2px solid var(--c-blue);
  position: relative;
  height: 100%;
}
.card-post .card-inner::after {
  content: "";
  display: block;
  width: 120px;
  height: 2px;
  position: absolute;
  bottom: -2px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: var(--c-yellow);
  -webkit-transition-property: width;
  transition-property: width;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
.card-post .card-inner:hover::after, .card-post .card-inner:active::after {
  width: 100%;
}
.card-post .card-inner:hover .thumbnail, .card-post .card-inner:active .thumbnail {
  -webkit-transform: scale(110%);
      -ms-transform: scale(110%);
          transform: scale(110%);
}
.card-post .card-title {
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.5;
}
.card-post .card-copy {
  font-size: 1rem;
  line-height: 1.5;
  margin-top: 5px;
}
@media (max-width:767px) {
  .card-post .card-title {
    font-size: 1rem;
    font-weight: bold;
  }
  .card-post .card-copy {
    font-size: 0.875rem;
  }
}

.card-categories {
  margin-top: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4px;
}
.card-categories .cat-label, .card-categories .tag-label {
  font-size: 0.8125rem;
  min-width: 60px;
  padding: 0 6px;
}
@media (max-width:767px) {
  .card-categories .card-categories {
    margin-top: 8px;
    gap: 2px;
  }
  .card-categories .card-categories .cat-label,
  .card-categories .card-categories .tag-label {
    font-size: 0.75rem;
    min-width: 40px;
    padding: 0 6px;
  }
}

.img-list {
  margin-left: -5px;
  margin-right: -5px;
  gap: 10px 0;
}
.img-list .list-item {
  padding: 0 5px;
}

.bg-block {
  padding: 13px 18px;
  border-width: 2px;
  border-style: solid;
  border-color: #fff;
  background-color: #fff;
}
@media (max-width:767px) {
  .bg-block {
    padding: 8px 13px;
  }
}
.bg-block.bg-gray {
  background-color: #EAEAEA;
  border-color: #EAEAEA;
}
.bg-block.bg-blue {
  background-color: #f1f3fd;
  border-color: #f1f3fd;
}
.bg-block.bg-yellow {
  background-color: #fcfdf1;
  border-color: #fcfdf1;
}
.bg-block.border-blue {
  border-color: #dadffb;
}
.bg-block.border-gray {
  border-color: #EAEAEA;
}
.bg-block.border-yellow {
  border-color: #edf5ac;
}

.nav-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.nav-menu .nav-col {
  position: relative;
  padding-left: 60px;
}
.nav-menu .nav-col .nav-heading {
  color: #656565;
  position: absolute;
  top: 0;
  left: 0;
  font-family: var(--ff-lato);
  -webkit-transform-origin: top right;
      -ms-transform-origin: top right;
          transform-origin: top right;
  -webkit-transform: translate(-100%, 10px) rotate(-90deg);
      -ms-transform: translate(-100%, 10px) rotate(-90deg);
          transform: translate(-100%, 10px) rotate(-90deg);
  line-height: 1;
}
.nav-menu .nav-col .nav-list {
  font-family: var(--ff-lato);
}
.nav-menu .nav-col + .nav-col {
  margin-left: 40px;
}

.sub-links .link {
  font-size: 0.875rem;
  font-family: var(--ff-lato);
  text-decoration: underline;
  text-underline-offset: 0.3em;
}
.sub-links .link + .link {
  margin-left: 20px;
}

.navigation.pagination {
  margin-top: 50px;
}
.navigation.pagination .screen-reader-text {
  display: none;
}
.navigation.pagination .nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
}
.navigation.pagination .nav-links .page-numbers {
  font-size: 0.875rem;
  color: #1936D6;
  background-color: rgba(25, 54, 214, 0.1);
  border: 1px solid rgba(25, 54, 214, 0.3);
  border-radius: 0;
  margin: 0;
  display: block;
  min-width: 38px;
  padding: 5px 10px;
  text-align: center;
}
.navigation.pagination .nav-links .page-numbers.current {
  color: #fff;
  background-color: #1936D6;
  border: 1px solid #1936D6;
}
.navigation.pagination .nav-links .page-numbers:active, .navigation.pagination .nav-links .page-numbers:hover, .navigation.pagination .nav-links .page-numbers:focus {
  opacity: 0.7;
  background-color: #1936D6;
  color: #fff;
}
.navigation.pagination .nav-links .page-numbers:active.current, .navigation.pagination .nav-links .page-numbers:hover.current, .navigation.pagination .nav-links .page-numbers:focus.current {
  opacity: 1;
  color: #999;
  background-color: #1936D6;
  border: 1px solid #1936D6;
}
.navigation.pagination .nav-links .dots {
  border: 0;
  background-color: transparent;
  pointer-events: none;
  padding-left: 0;
  padding-right: 0;
  min-width: 10px;
}
.navigation.pagination .nav-links .prev,
.navigation.pagination .nav-links .next {
  padding: 5px 15px;
  background-color: rgba(25, 54, 214, 0.1);
}

.cat-label, .cat-link,
.tag-label, .tag-link {
  font-size: 0.8125rem;
  display: block;
  min-width: 60px;
  padding: 0 6px;
  text-align: center;
  line-height: 1.5;
  position: relative;
}
.cat-label::after, .cat-link::after,
.tag-label::after, .tag-link::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 4px;
  height: 4px;
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%);
          clip-path: polygon(100% 0, 100% 100%, 0 100%);
}

.cat-label {
  background-color: var(--c-blue);
  border: 1px solid var(--c-blue);
  color: #fff;
}
.cat-label::after {
  background-color: #C0D619;
}

.cat-link {
  background-color: #1936D6;
  border: 1px solid #1936D6;
  color: #fff;
}
.cat-link:focus, .cat-link:disabled, .cat-link:visited, .cat-link:focus {
  background-color: #1936D6;
  border: 1px solid #1936D6;
  color: #fff;
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.cat-link:not(:disabled):not(.disabled):active, .cat-link:not(:disabled):not(.disabled).active, .cat-link:not(:disabled):not(.disabled):active:focus {
  background-color: inherit;
  border: 1px solid inherit;
  color: inherit;
}
.cat-link:hover, .cat-link:active, .cat-link.touch {
  background-color: #1936D6;
  border: 1px solid #1936D6;
  color: #fff;
  opacity: 0.7;
}
.cat-link::after {
  background-color: #C0D619;
}

.tag-label {
  background-color: #fff;
  border: 1px solid var(--c-blue);
  color: var(--c-blue);
}
.tag-label::after {
  background-color: #022F79;
}

.tag-link {
  background-color: #fff;
  border: 1px solid #1936D6;
  color: #1936D6;
}
.tag-link:focus, .tag-link:disabled, .tag-link:visited, .tag-link:focus {
  background-color: #fff;
  border: 1px solid #1936D6;
  color: #1936D6;
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.tag-link:not(:disabled):not(.disabled):active, .tag-link:not(:disabled):not(.disabled).active, .tag-link:not(:disabled):not(.disabled):active:focus {
  background-color: inherit;
  border: 1px solid inherit;
  color: inherit;
}
.tag-link:hover, .tag-link:active, .tag-link.touch {
  background-color: #fff;
  border: 1px solid #1936D6;
  color: #1936D6;
  opacity: 0.7;
}
.tag-link::after {
  background-color: #C0D619;
}

.categories-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
}
.categories-list .cat-link {
  font-size: 1rem;
  min-width: 80px;
  padding: 2px 10px 3px;
}
.categories-list .cat-link::after {
  width: 6px;
  height: 6px;
}

/*
-- theme CSS
-------------------------------------------------- */
.front-page-mv {
  width: 100%;
  min-height: 720px;
  position: relative;
  overflow: hidden;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, #0b0f2c), color-stop(51%, #0f3f5e));
  background-image: linear-gradient(90deg, #0b0f2c 50%, #0f3f5e 51%);
  padding-top: 215px;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 5vw), 50% 100%, 0 calc(100% - 5vw));
          clip-path: polygon(0 0, 100% 0, 100% calc(100% - 5vw), 50% 100%, 0 calc(100% - 5vw));
}
.front-page-mv .mv-bg {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  height: 720px;
}
.front-page-mv .mv-inner {
  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;
  width: 100%;
  min-height: 124px;
  background-image: url(../img/top/mv-copy-bg.png);
  background-size: auto 100%;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative;
  z-index: 2;
}
.front-page-mv .mv-title {
  font-size: 1.875rem;
  color: #fff;
  text-align: center;
  line-height: 1.3;
}
.front-page-mv .mv-title .large {
  font-size: 2.625rem;
}
@media (max-width:767px) {
  .front-page-mv {
    width: 100%;
    min-height: 138vw;
    padding-top: 40vw;
  }
  .front-page-mv .mv-bg {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    height: 100%;
  }
  .front-page-mv .mv-inner {
    min-height: 30vw;
    padding: 15px;
  }
  .front-page-mv .mv-title {
    font-size: clamp(20px, 6.4vw, 34px);
  }
  .front-page-mv .mv-title .large {
    font-size: clamp(34px, 11.4vw, 48px);
  }
}

.top-sect-about {
  position: relative;
  padding: 30px 0;
}
.top-sect-about::before, .top-sect-about::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.top-sect-about::before {
  background-color: var(--c-yellow);
  -webkit-transform: skewY(-6deg);
      -ms-transform: skewY(-6deg);
          transform: skewY(-6deg);
  background-image: url(../img/top/shop-header-bg.png), url(../img/top/shop-header-bg.png);
  background-repeat: no-repeat;
  background-size: 600px auto;
  background-position: -200px center, calc(100% + 200px) center;
}
.top-sect-about::after {
  background-color: rgba(25, 54, 214, 0.95);
  -webkit-transform: skewY(6deg);
      -ms-transform: skewY(6deg);
          transform: skewY(6deg);
  background-image: url(../img/top/shop-header-bg.png), url(../img/top/shop-header-bg.png);
  background-repeat: no-repeat;
  background-size: 600px auto;
  background-position: -200px center, calc(100% + 200px) center;
}
.top-sect-about .container {
  position: relative;
  z-index: 3;
}
.top-sect-about .about-card {
  background-color: rgba(255, 255, 255, 0.9);
  padding: 15px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.top-sect-about .about-card .card-heading {
  font-size: 2.375rem;
  font-weight: bold;
  color: var(--c-navy);
  width: 260px;
  text-align: center;
  padding-right: 20px;
}
.top-sect-about .about-card .card-inner {
  width: calc(100% - 260px);
}
@media (max-width:767px) {
  .top-sect-about .about-card {
    padding: 15px 20px;
  }
  .top-sect-about .about-card .card-heading {
    width: 100%;
    padding-right: 0;
  }
  .top-sect-about .about-card .card-inner {
    margin-top: 20px;
    width: 100%;
  }
}

.top-sect-shop {
  padding-top: 40px;
}
.top-sect-shop .sect-heading {
  font-size: 2.875rem;
  font-weight: bold;
  color: var(--c-navy);
  text-align: center;
  line-height: 1.3;
}
.top-sect-shop .srct-copy {
  font-size: 1.75rem;
  font-weight: bold;
  color: var(--c-yellow);
  text-align: center;
  line-height: 1.3;
  margin-top: 20px;
}
@media (max-width:767px) {
  .top-sect-shop .sect-heading {
    font-size: 1.75rem;
    font-weight: bold;
  }
  .top-sect-shop .srct-copy {
    font-size: 1.25rem;
    font-weight: bold;
  }
}

.top-sect-blog .sect-header {
  background-color: var(--c-blue);
  background-image: url(../img/top/shop-header-bg.png), url(../img/top/shop-header-bg.png);
  background-size: 600px auto;
  background-position: -200px center, calc(100% + 200px) center;
  background-repeat: no-repeat;
  padding: 30px 0;
  margin-bottom: 60px;
}
.top-sect-blog .sect-heading {
  font-size: 2.875rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  line-height: 1.3;
}
@media (max-width:767px) {
  .top-sect-blog .sect-header {
    background-size: 400px auto;
    background-position: -200px center, calc(100% + 200px) center;
    padding: 30px 0;
    margin-bottom: 40px;
  }
  .top-sect-blog .sect-heading {
    font-size: 2rem;
    font-weight: bold;
  }
}

.sub-contents {
  position: relative;
  padding: 50px 0;
  margin: 50px 0 0;
}
@media (max-width:767px) {
  .sub-contents {
    padding: 20px 0;
    margin: 20px 0 0;
  }
}
.sub-contents::before, .sub-contents::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.sub-contents::before {
  background-color: rgba(192, 214, 25, 0.35);
  -webkit-transform: skewY(6deg);
      -ms-transform: skewY(6deg);
          transform: skewY(6deg);
}
.sub-contents::after {
  background-image: linear-gradient(180deg, rgba(25, 54, 214, 0.3) 30px, #fff 31px);
  background-color: transparent;
  -webkit-transform: skewY(-6deg);
      -ms-transform: skewY(-6deg);
          transform: skewY(-6deg);
}
.sub-contents .container {
  position: relative;
  z-index: 3;
}

.page-header {
  padding: 50px 0;
}
.page-header .page-title {
  font-size: 2rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

@media (max-width:767px) {
  .page-header {
    padding: 30px 0;
  }
  .page-header .page-title {
    font-size: 1.75rem;
    font-weight: bold;
    color: #fff;
    text-align: center;
  }
}
.post-panel {
  margin-top: 60px;
  background-color: #fff;
  padding: 30px 40px 30px;
  min-height: 200px;
}
.post-panel .post-title {
  font-size: 2rem;
  font-weight: bold;
  color: var(--c-navy);
  border-bottom: 2px solid var(--c-navy);
  padding-bottom: 5px;
}
.post-panel .post-header {
  margin-bottom: 30px;
}
.post-panel .post-meta {
  margin-top: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.post-panel .post-date {
  font-size: 0.875rem;
  font-weight: bold;
  padding-left: 21px;
  background-image: url(../img/common/icon-clock.svg);
  background-repeat: no-repeat;
  background-size: 18px auto;
  background-position: 0 center;
}
.post-panel .post-date + .post-category {
  margin-left: 8px;
}
.post-panel .post-category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6px;
}
.post-panel .post-category + .post-category {
  margin-left: 6px;
}
.post-panel .post-thumbnail-wrap {
  width: 100%;
  margin: 0;
  padding-bottom: 42%;
  height: 0;
  position: relative;
  overflow: hidden;
}
.post-panel .post-thumbnail-wrap .thumbnail {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -o-object-fit: cover;
     object-fit: cover;
}
.post-panel .post-copy {
  font-size: 1.375rem;
  font-weight: bold;
  color: var(--c-blue);
  line-height: 1.5;
  margin-top: 0;
}
.post-panel .post-thumbnail-wrap + .post-copy {
  margin-top: 20px;
}
.post-panel .post-body {
  margin-top: 30px;
}

@media (max-width:767px) {
  .post-panel {
    margin-top: 20px;
    padding: 5px 10px 20px;
  }
  .post-panel .post-title {
    font-size: 1.75rem;
    font-weight: bold;
  }
  .post-panel .post-header {
    margin-bottom: 20px;
  }
  .post-panel .post-meta {
    margin-top: 10px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .post-panel .post-date {
    font-size: 0.8125rem;
    font-weight: bold;
    padding-left: 21px;
    width: 100%;
  }
  .post-panel .post-date + .post-category {
    margin-left: 0;
    margin-top: 4px;
  }
  .post-panel .post-category {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 4px;
  }
  .post-panel .post-category + .post-category {
    margin-left: 0;
    margin-top: 4px;
  }
  .post-panel .post-thumbnail-wrap {
    width: 100%;
    margin: 0;
    padding-bottom: 42%;
  }
  .post-panel .post-copy {
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.5;
    margin-top: 0;
  }
  .post-panel .post-thumbnail-wrap + .post-copy {
    margin-top: 20px;
  }
  .post-panel .post-body {
    margin-top: 30px;
  }
}
.cta-block {
  position: relative;
  padding: 25px 25px;
  margin-top: 120px;
}
.cta-block::after, .cta-block::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.cta-block::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(192, 214, 25, 0.2);
  -webkit-transform: skewX(-16deg) skewY(-2deg);
      -ms-transform: skewX(-16deg) skewY(-2deg);
          transform: skewX(-16deg) skewY(-2deg);
  background-image: url(../img/top/shop-header-bg.png), url(../img/top/shop-header-bg.png);
  background-repeat: no-repeat;
  background-size: 600px auto;
  background-position: -200px center, calc(100% + 200px) center;
}
.cta-block::after {
  background-color: rgba(25, 54, 214, 0.3);
  -webkit-transform: skewX(16deg) skewY(2deg);
      -ms-transform: skewX(16deg) skewY(2deg);
          transform: skewX(16deg) skewY(2deg);
  background-image: url(../img/top/shop-header-bg.png), url(../img/top/shop-header-bg.png);
  background-repeat: no-repeat;
  background-size: 600px auto;
  background-position: -200px center, calc(100% + 200px) center;
}
.cta-block .cta-copy {
  font-size: 1.375rem;
  font-weight: bold;
  color: var(--c-navy);
  text-align: center;
  position: relative;
  z-index: 5;
}
.cta-block .cta-copy + .btn-cta {
  margin-top: 10px;
}
.cta-block .btn-cta {
  font-size: 1.125rem;
  font-weight: bold;
  max-width: 580px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  z-index: 5;
}

/*
-- page CSS
--------------------------------------------------
@import "page/top";
*/
/*
-- Utility CSS
-------------------------------------------------- */
.mb-0 {
  margin-bottom: 0 !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mb-0 {
  margin-bottom: 0px !important;
}

.mt-0 {
  margin-top: 0px !important;
}

.mb-5 {
  margin-bottom: 5px !important;
}

.mt-5 {
  margin-top: 5px !important;
}

.mb-10 {
  margin-bottom: 10px !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mb-15 {
  margin-bottom: 15px !important;
}

.mt-15 {
  margin-top: 15px !important;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

.mb-25 {
  margin-bottom: 25px !important;
}

.mt-25 {
  margin-top: 25px !important;
}

.mb-30 {
  margin-bottom: 30px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

.mb-35 {
  margin-bottom: 35px !important;
}

.mt-35 {
  margin-top: 35px !important;
}

.mb-40 {
  margin-bottom: 40px !important;
}

.mt-40 {
  margin-top: 40px !important;
}

.mb-45 {
  margin-bottom: 45px !important;
}

.mt-45 {
  margin-top: 45px !important;
}

.mb-50 {
  margin-bottom: 50px !important;
}

.mt-50 {
  margin-top: 50px !important;
}

.mb-55 {
  margin-bottom: 55px !important;
}

.mt-55 {
  margin-top: 55px !important;
}

.mb-60 {
  margin-bottom: 60px !important;
}

.mt-60 {
  margin-top: 60px !important;
}

.mb-65 {
  margin-bottom: 65px !important;
}

.mt-65 {
  margin-top: 65px !important;
}

.mb-70 {
  margin-bottom: 70px !important;
}

.mt-70 {
  margin-top: 70px !important;
}

.mb-75 {
  margin-bottom: 75px !important;
}

.mt-75 {
  margin-top: 75px !important;
}

.mb-80 {
  margin-bottom: 80px !important;
}

.mt-80 {
  margin-top: 80px !important;
}

.mb-85 {
  margin-bottom: 85px !important;
}

.mt-85 {
  margin-top: 85px !important;
}

.mb-90 {
  margin-bottom: 90px !important;
}

.mt-90 {
  margin-top: 90px !important;
}

.mb-95 {
  margin-bottom: 95px !important;
}

.mt-95 {
  margin-top: 95px !important;
}

.mb-100 {
  margin-bottom: 100px !important;
}

.mt-100 {
  margin-top: 100px !important;
}

@media (max-width:767px) {
  .mb-sp-0 {
    margin-bottom: 0px !important;
  }
  .mt-sp-0 {
    margin: 0px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-0 {
    margin-bottom: 0px !important;
  }
  .mt-sp-0 {
    margin-top: 0px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-5 {
    margin-bottom: 5px !important;
  }
  .mt-sp-5 {
    margin-top: 5px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-10 {
    margin-bottom: 10px !important;
  }
  .mt-sp-10 {
    margin-top: 10px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-15 {
    margin-bottom: 15px !important;
  }
  .mt-sp-15 {
    margin-top: 15px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-20 {
    margin-bottom: 20px !important;
  }
  .mt-sp-20 {
    margin-top: 20px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-25 {
    margin-bottom: 25px !important;
  }
  .mt-sp-25 {
    margin-top: 25px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-30 {
    margin-bottom: 30px !important;
  }
  .mt-sp-30 {
    margin-top: 30px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-35 {
    margin-bottom: 35px !important;
  }
  .mt-sp-35 {
    margin-top: 35px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-40 {
    margin-bottom: 40px !important;
  }
  .mt-sp-40 {
    margin-top: 40px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-45 {
    margin-bottom: 45px !important;
  }
  .mt-sp-45 {
    margin-top: 45px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-50 {
    margin-bottom: 50px !important;
  }
  .mt-sp-50 {
    margin-top: 50px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-55 {
    margin-bottom: 55px !important;
  }
  .mt-sp-55 {
    margin-top: 55px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-60 {
    margin-bottom: 60px !important;
  }
  .mt-sp-60 {
    margin-top: 60px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-65 {
    margin-bottom: 65px !important;
  }
  .mt-sp-65 {
    margin-top: 65px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-70 {
    margin-bottom: 70px !important;
  }
  .mt-sp-70 {
    margin-top: 70px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-75 {
    margin-bottom: 75px !important;
  }
  .mt-sp-75 {
    margin-top: 75px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-80 {
    margin-bottom: 80px !important;
  }
  .mt-sp-80 {
    margin-top: 80px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-85 {
    margin-bottom: 85px !important;
  }
  .mt-sp-85 {
    margin-top: 85px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-90 {
    margin-bottom: 90px !important;
  }
  .mt-sp-90 {
    margin-top: 90px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-95 {
    margin-bottom: 95px !important;
  }
  .mt-sp-95 {
    margin-top: 95px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-100 {
    margin-bottom: 100px !important;
  }
  .mt-sp-100 {
    margin-top: 100px !important;
  }
}
.mb-xs {
  margin-bottom: 10px !important;
}

.mt-xs {
  margin-bottom: 10px !important;
}

.mb-s {
  margin-bottom: 20px !important;
}

.mt-s {
  margin-bottom: 20px !important;
}

.mb-m {
  margin-bottom: 40px !important;
}

.mt-m {
  margin-bottom: 40px !important;
}

.mb-l {
  margin-bottom: 60px !important;
}

.mt-l {
  margin-bottom: 60px !important;
}

.mb-xl {
  margin-bottom: 80px !important;
}

.mt-xl {
  margin-bottom: 80px !important;
}

@media (max-width:767px) {
  .mb-xs {
    margin-bottom: 10px !important;
  }
  .mt-xs {
    margin-bottom: 10px !important;
  }
  .mb-s {
    margin-bottom: 20px !important;
  }
  .mt-s {
    margin-bottom: 20px !important;
  }
  .mb-m {
    margin-bottom: 40px !important;
  }
  .mt-m {
    margin-bottom: 40px !important;
  }
  .mb-l {
    margin-bottom: 60px !important;
  }
  .mt-l {
    margin-bottom: 60px !important;
  }
  .mb-xl {
    margin-bottom: 80px !important;
  }
  .mt-xl {
    margin-bottom: 80px !important;
  }
}
.sp-break {
  display: inline;
}

@media (max-width:767px) {
  .sp-break {
    display: block;
  }
}
.pc-visible {
  display: block;
}

.sp-visible {
  display: none;
}

@media (max-width:767px) {
  .pc-visible {
    display: none;
  }
  .sp-visible {
    display: block;
  }
}
.marker-yellow {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#C0D619), to(#C0D619));
  background-image: linear-gradient(#C0D619, #C0D619);
  background-size: 100% 0.6em;
  background-position: left 0.75em;
  background-repeat: no-repeat;
  display: inline;
}

.marker-blue {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#1936D6), to(#1936D6));
  background-image: linear-gradient(#1936D6, #1936D6);
  background-size: 100% 0.6em;
  background-position: left 0.75em;
  background-repeat: no-repeat;
  display: inline;
}

.bg-yellow {
  background-color: #EAEAEA;
}

.bg-gray {
  background-color: #EAEAEA;
}

.img-center {
  margin-left: auto;
  margin-right: auto;
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}

.hr-dashed {
  border-top: 1px dashed #212121;
}

.ff-seruf,
.ff-georgia {
  font-family: "Georgia", serif;
  font-weight: 400;
}

.ff-lato {
  font-family: "lato", sans-serif;
  font-weight: 400;
}

.txt-bold {
  font-weight: bold;
}

.txt-lg {
  font-size: 110%;
}

.txt-xl {
  font-size: 120%;
}

.txt-sm {
  font-size: 90%;
}

.fz-ss {
  font-size: 0.625rem !important;
}

.fz-s {
  font-size: 0.75rem !important;
}

.fz-m {
  font-size: 0.875rem !important;
}

.fz-l {
  font-size: 1rem !important;
}

.fz-ll {
  font-size: 1.125rem !important;
}

.txt-red {
  color: #D85454;
}

.txt-yellow {
  color: #C0D619;
}

.txt-gray {
  color: #666;
}

.txt-navy {
  color: #022F79;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.v-top {
  vertical-align: top;
}

.v-middle {
  vertical-align: middle;
}

.v-bottom {
  vertical-align: bottom;
}

.fw-bold {
  font-weight: bold !important;
}

.fw-normal {
  font-weight: normal !important;
}