@charset "UTF-8";

@font-face {
  font-family: "NotoSans CondensedSemiBold";
  font-style: normal;
  font-weight: 600;
  src: url(/assets/fonts/NotoSans-CondensedSemiBold.ttf) format("truetype");
  font-display: swap;
}
/*--------------------------------------
  Reset
---------------------------------------*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, address, code, em, img, small, strong, dl, dt, dd, ol, ul, li, form, label, table, tbody, tfoot, thead, tr, th, td, article, aside, canvas, embed, figure, figcaption, footer, header, nav, section, summary, time, audio, video {
  border: 0;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

ol, ul, li {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: none;
}

/*--------------------------------------
  default
---------------------------------------*/
html {
  font-size: 10px;
  scroll-padding-top: 56px;
  font-family: YakuHanJP, "Noto Sans JP", ui-sans-serif, system-ui, sans-serif;
}

body, input, button, select, textarea {
  font-family: inherit;
}

body {
  text-align: left;
  line-break: strict;
  word-break: normal;
  overflow-wrap: break-word;
  color: #3d3d3d;
  font-size: 1.4rem;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media print, screen and (min-width: 768px) {
  body {
    font-size: 1.6rem;
  }
}
h1, h2, h3, h4, h5, h6 {
  line-height: 1.4;
}

h1 {
  font-weight: normal;
}

img {
  vertical-align: top;
  max-width: 100%;
  height: auto;
}

input, button, textarea, select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
}

strong {
  font-weight: bold;
}

em {
  font-style: italic;
}

a {
  text-decoration: none;
  color: #ff4291;
}

a,
a:focus,
a img {
  outline: none;
}

* {
  box-sizing: border-box;
}

*:before,
*:after {
  box-sizing: border-box;
}

/*--------------------------------------
  IconFonts
---------------------------------------*/
@font-face {
  font-family: "icon";
  src: url("../fonts/icon.eot");
  src: url("../fonts/icon.eot?#iefix") format("eot"), url("../fonts/icon.woff") format("woff"), url("../fonts/icon.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
[class^=icon-], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-apparels:before {
  content: "\ea01";
}

.icon-arrow-down:before {
  content: "\ea02";
}

.icon-arrow-left:before {
  content: "\ea03";
}

.icon-arrow-right:before {
  content: "\ea04";
}

.icon-arrow-up:before {
  content: "\ea05";
}

.icon-bags:before {
  content: "\ea06";
}

.icon-balls:before {
  content: "\ea07";
}

.icon-blades:before {
  content: "\ea08";
}

.icon-books:before {
  content: "\ea09";
}

.icon-btn-arrow:before {
  content: "\ea0a";
}

.icon-doc:before {
  content: "\ea0c";
}

.icon-close:before {
  content: "\ea0b";
}

.icon-ec-fill:before {
  content: "\ea0d";
}

.icon-ec:before {
  content: "\ea0e";
}

.icon-external:before {
  content: "\ea0f";
}

.icon-list-line:before {
  content: "\ea10";
}

.icon-mail:before {
  content: "\ea12";
}

.icon-pagedown:before {
  content: "\ea15";
}

.icon-pagetop:before {
  content: "\ea16";
}

.icon-logo:before {
  content: "\ea11";
}

.icon-maintenance:before {
  content: "\ea13";
}

.icon-rubbers:before {
  content: "\ea17";
}

.icon-map-pin:before {
  content: "\ea14";
}

.icon-search:before {
  content: "\ea18";
}

.icon-shoes:before {
  content: "\ea19";
}

.icon-shop:before {
  content: "\ea1a";
}

.icon-tables:before {
  content: "\ea1b";
}

.re-header,
.re-footer,
.re-spNav {
  --bg-gray: #eee;
  --border-gray: #d5d5d5;
  --border-gray-light: #e5e5e5;
  --link-color: #3d3d3d;
  --main-color: #ff4291;
}

body.is-fixed {
  position: fixed;
  top: calc(var(--scroll)* -1px);
  left: 0;
  right: 0;
}

.re-header {
  position: relative;
  z-index: 1000;
  min-height: 56px;
  background: #fff;
  opacity: 0.98
}

.re-header + main {
  padding-top: 0;
}

@media print, screen and (max-width: 767px) {
  .re-header-inner {
    position: fixed;
    background-color: #fff;
    height: 56px;
    width: 100%;
  }
  .re-header-logo {
    position: fixed;
    z-index: 2;
    background: #fff;
    top: 0;
    left: 50%;
    padding-block: 12px;
    transform: translate(-50%, 0);
    width: inherit;
    display: flex;
    justify-content: center;
  }
}

.re-header-ec {
  width: 40px;
  position: fixed;
  top: 8px;
  left: 10px;
  z-index: 3;
}

.re-header-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 48px;
  height: 56px;
  z-index: 2;
}

.re-header-menu {
  width: 40px;
  height: 40px;
  margin: 8px auto;
  text-align: center;
  display: grid;
  place-items: center;
}

.re-header-menu-line {
  position: relative;
}

.re-header-menu-line,
.re-header-menu-line:before,
.re-header-menu-line:after {
  display: inline-block;
  width: 28px;
  height: 2px;
  background-color: var(--link-color);
}

.re-header-menu-line:before,
.re-header-menu-line:after {
  position: absolute;
  content: "";
  transition: transform 0.2s;
}

.re-header-menu-line:before {
  top: -7px;
  left: 0;
}

.re-header-menu-line:after {
  top: 7px;
  left: 0;
}

.re-header-menu.is-open .re-header-menu-line {
  transform: scale(0.9, 0.9);
}

.re-header-menu.is-open .re-header-menu-line {
  background: none;
}

.re-header-menu.is-open .re-header-menu-line:before {
  top: 0;
  transform: rotate(45deg);
}

.re-header-menu.is-open .re-header-menu-line:after {
  top: 0;
  transform: rotate(-45deg);
}

.re-gnav,
.re-header_site {
  display: none;
}

@media print, screen and (min-width: 768px) {
  .re-spNav_list,
  .re-spNav_site,
  .re-spNav_close {
    display: none;
  }
  .re-header {
    min-height: 106px;
  }
  .re-header_site {
    display: block;
    background: var(--bg-gray);
  }
  .re-header_site-list {
    display: grid;
    grid-template-columns: repeat(6, max-content);
    justify-content: flex-end;
    align-items: center;
    gap: 22px;
    min-height: 32px;
    padding-inline: 10px;
    max-width: 1260px;
    margin-inline: auto;
  }
  .re-header_site-link {
    color: #505050;
    font-size: 1.3rem;
    line-height: 1.8;
    display: flex;
    align-items: center;
  }
  .re-header_site-link.-global::before {
    content: "";
    width: 13px;
    height: 13px;
    display: inline-block;
    margin-right: 6px;
    background: url(/assets/images/common/icon-global-gray.svg) no-repeat 0 0;
    background-size: contain;
  }
  .re-header-section {
    border-bottom: 1px solid var(--border-gray-light);
    background: #fff;
    position: relative;
  }
  .re-header-section.is-fixed {
    border-bottom: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
  }
  .re-header-section.is-fixed .re-header-logo {
    width: 45px;
  }
  .re-header-section.is-fixed .re-gnav-link {
    padding-block: 14px;
  }
  .re-header-inner {
    padding: 0 10px;
    display: grid;
    grid-template-columns: max-content 1fr max-content;
    justify-content: space-between;
    align-items: center;
    max-width: 1260px;
    margin-inline: auto;
    position: static;
  }
  .re-header-logo {
    padding: 0;
    width: 53px;
    transition: width 0.3s;
  }
  .re-header-ec,
  .re-header-menu {
    display: none;
  }
  .re-header-nav {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: flex-end;
    position: static;
  }
  .re-gnav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  .re-gnav:has(.re-megaMenu.is-open)::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 100vh;
    background: var(--link-color);
    opacity: 0.4;
    z-index: 1;
  }
  .re-gnav-link {
    display: block;
    font-size: 1.7rem;
    line-height: 1.8;
    font-weight: 700;
    padding: 21px 16px 22px;
    transition: color 0.3s;
    color: var(--link-color);
    position: relative;
  }
  .re-gnav-link::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 16px;
    right: 16px;
    height: 2px;
    background: var(--main-color);
    opacity: 0;
    transition: opacity 0.3s;
  }
  .re-gnav-link.is-open {
    color: var(--main-color);
  }
  .re-gnav-link.is-open::after {
    opacity: 1;
  }
  .re-gnav-link.is-open::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 16px;
    right: 16px;
    height: 2px;
    background: var(--main-color);
    margin-top: auto;
  }
  /* ヘッダー検索窓 */
  .re-gnav-search {
    display: grid;
    grid-template-columns: repeat(2, max-content);
    gap: 24px;
    align-items: center;
    min-height: 35px;
    margin-left: 8px;
  }
  .re-gnav-search::before {
    content: "";
    display: block;
    width: 1px;
    height: 18px;
    background: var(--border-gray);
  }
  .re-search-box {
    border-radius: 38px;
    border: 1px solid transparent;
    box-sizing: border-box;
    width: 240px;
    background: var(--bg-gray);
  }
  .re-search-box:has(.mt-site-search-form__query:focus-within) {
    border: 1px solid var(--main-color);
  }
  .re-search-box .mt-site-search-form {
    padding: 7px 14px 7px 16px;
    display: grid;
    grid-template-columns: 1fr max-content;
    align-items: center;
    width: 100%;
  }
  .re-search-box .mt-site-search-form__query {
    width: 100%;
    font-size: 1.3rem;
    line-height: 1.8;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }
  .re-search-box .mt-site-search-form__button {
    color: transparent;
    width: 22px;
    height: 22px;
    background: url(/assets/images/common/icon-search-main.svg) no-repeat 0 0;
    background-size: contain;
    cursor: pointer;
    margin-left: 0;
  }
  .re-search-box_inner {
    width: 500px;
    margin: 0 auto;
    padding: 10px 0 15px;
  }
  .re-search-box_input {
    font-size: 1.4rem;
    width: 90%;
    color: #fff;
  }
  .re-search-box_btn {
    font-size: 2.4rem;
    margin-right: 15px;
    color: #999;
  }
  .re-megaMenu {
    display: none;
    position: absolute;
    z-index: 9;
    top: 100%;
    left: 0;
    width: 100%;
    opacity: 0;
    background: #fff;
    transition: display 0.3s, opacity 0.3s;
    transition-behavior: allow-discrete;
    text-align: left;
    z-index: 1;
    border-top: 1px solid var(--border-gray-light);
  }
  .re-megaMenu.is-open {
    opacity: 1;
    display: block;
  }
  .re-megaMenu-inner {
    max-width: 1020px;
    margin-inline: auto;
    padding: 0 10px 40px;
  }
  .re-megaMenu-title {
    font-size: 2rem;
    line-height: 1.47;
    color: var(--link-color);
    padding-top: 32px;
    display: inline-flex;
    align-items: center;
    transition: color 0.3s;
  }
  .re-megaMenu-title > i {
    font-size: 1.7rem;
    margin-left: 12px;
  }
  .re-megaMenu-label {
    font-size: 1.3rem;
    line-height: 1.4;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border-gray-light);
  }
  .re-megaMenu-title + .re-megaMenu-label {
    margin-top: 28px;
  }
  .re-megaMenu-list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px 0;
  }
  .re-megaMenu-list + .re-megaMenu-list {
    padding-top: 32px;
    margin-top: 32px;
    border-top: 1px solid var(--border-gray);
  }
  .re-megaMenu-title + .re-megaMenu-list {
    margin-top: 32px;
  }
  .re-megaMenu-list.-not-grid {
    grid-template-columns: 1fr;
  }
  .re-megaMenu-list > li {
    line-height: 1;
  }
  .re-megaMenu-rowList {
    display: grid;
    gap: 16px 0;
  }
  .re-megaMenu-title + .re-megaMenu-rowList {
    margin-top: 32px;
  }
  .re-megaMenu-label + .re-megaMenu-rowList {
    margin-top: 20px;
  }
  .re-megaMenu-rowList > li {
    line-height: 1;
  }
  .re-megaMenu-link {
    font-size: 1.4rem;
    line-height: 1.47;
    color: var(--link-color);
    position: relative;
    padding-left: 20px;
    display: inline-block;
    transition: color 0.3s;
  }
  .re-megaMenu-link::before {
    content: "▶";
    position: absolute;
    top: 50%;
    left: 2px;
    transform: translate(0, -50%);
    color: #ff4291;
    font-size: 1.2rem;
}
  .re-megaMenu_products {
    margin-top: 32px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 24px 0;
  }
  .re-megaMenu_products-link {
    font-size: 1.5rem;
    line-height: 1.47;
    display: flex;
    align-items: center;
    gap: 16px;
    color: var(--link-color);
    transition: color 0.3s;
  }
  .re-megaMenu_buttons {
    margin-top: 40px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
  }
  .re-megaMenu_button {
    padding: 14px 15px;
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.47;
    position: relative;
    z-index: 10;
    overflow: hidden;
    width: 100%;
    color: var(--main-color);
    border: 1px solid var(--main-color);
  }
  .re-megaMenu_button:before {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 0;
    height: 100%;
    content: "";
    transition: width 0.15s ease-in-out;
    background-color: var(--main-color);
  }
  .re-megaMenu_button:after {
    font-family: "icon";
    font-size: 1.6rem;
    line-height: 1;
    position: absolute;
    z-index: 1;
    right: 5px;
    bottom: 0;
    content: "\ea0a";
    color: var(--main-color);
  }
  .re-megaMenu-listWrap {
    margin-top: 28px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
  }
  .re-megaMenu-linkWrap {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    border-top: 1px solid var(--border-gray-light);
    margin-top: 32px;
  }
  .re-magaMenu-learning {
    max-width: 1020px;
    margin-inline: auto;
    padding: 0 10px 40px;
  }
}
@media print and (any-hover: hover), screen and (min-width: 768px) and (any-hover: hover) {
  .re-header_site-link:hover,
  a.re-gnav-link:hover,
  .re-megaMenu-title:hover,
  .re-megaMenu_products-link:hover,
  .re-megaMenu-link:hover {
    color: var(--main-color);
  }
  .re-megaMenu_button:hover {
    color: #fff;
  }
  .re-megaMenu_button:hover:before {
    width: 100%;
  }
  .re-megaMenu_button:hover:after {
    color: #fff;
  }
  .re-megaMenu_button:hover {
    color: #fff;
  }
  .re-megaMenu_button:hover:before {
    width: 100%;
  }
  .re-megaMenu_button:hover:after {
    color: #fff;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1020px) {
  .re-header {
    min-height: 98px;
  }
  .re-gnav {
    gap: 0;
  }
  .re-gnav-link {
    font-size: 1.3rem;
    padding: 21px 15px 22px;
  }
  .re-gnav-search {
    gap: 18px;
  }
  .re-gnav-search .mt-site-search-form__button {
    width: 20px;
    height: 20px;
  }
  .re-search-box {
    width: 140px;
  }
  .re-search-box .mt-site-search-form__query {
    font-size: 1.2rem;
  }
  .re-megaMenu-list {
    grid-template-columns: repeat(3, 1fr);
  }
  .re-megaMenu_products {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media print, screen and (min-width: 1268px) {
  .re-magaMenu-learning {
    max-width: 1268px;
    display: grid;
    grid-template-columns: 23% 1fr;
    gap: 32px;
  }
}
/* 下層ページ、現在値表示 */
.products .re-gnav-link[data-nav=products],
.players .re-gnav-link[data-nav=players],
.story .re-gnav-link[data-nav=story],
.learning .re-gnav-link[data-nav=learning],
.news .re-gnav-link[data-nav=news],
.about .re-gnav-link[data-nav=about] {
  color: var(--main-color);
}

/*--------------------------------------
  スマホメニュー
---------------------------------------*/
@media print, screen and (max-width: 767px) {
  .re-spNav {
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    bottom: 0;
    padding-top: 55px;
    z-index: 1;
    overflow-y: auto;
    width: 100%;
    transform: translateX(100%);
    background-color: #fff;
    -webkit-overflow-scrolling: touch;
    display: grid;
    grid-template-rows: repeat(3, min-content);
  }
  .re-spNav.is-loaded {
    transition: transform 0.4s cubic-bezier(0.65, 0.01, 0.45, 1);
  }
  .re-spNav.is-open {
    transform: translateX(0%);
  }
  .re-spNav_search {
    display: flex;
    padding: 15px;
  }
  .re-spNav_search_input {
    font-size: 1.6rem;
    width: 85%;
    padding: 10px;
    color: #fff;
    background: #888;
  }
  .re-spNav_search_input::-webkit-input-placeholder {
    font-size: 1.3rem;
  }
  .re-spNav_search_input:-ms-input-placeholder {
    font-size: 1.3rem;
  }
  .re-spNav_search_input::-moz-placeholder {
    font-size: 1.3rem;
  }
  .re-spNav_search_btn {
    font-size: 2rem;
    line-height: 1;
    width: 15%;
    background: #fff;
  }
  .re-spNav_search_btn i {
    position: relative;
    top: -1px;
    left: 1px;
  }
  .re-spNav_list {
    text-align: left;
  }
  .re-spNav_link,
  .re-spNav_accordion summary {
    display: block;
    font-weight: bold;
    padding: 16px 15px;
    color: var(--link-color);
    border-top: 1px solid var(--border-gray);
    font-size: 1.6rem;
    line-height: 1.575;
  }
  .re-spNav_accordion > summary {
    list-style: none;
    position: relative;
  }
  .re-spNav_accordion > summary::before, .re-spNav_accordion > summary::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 23px;
    transform: translateY(-50%);
    width: 11px;
    height: 1px;
    background: #a4a2a2;
  }
  .re-spNav_accordion > summary::after {
    transform: translateY(-50%) rotate(90deg);
  }
  .re-spNav_accordion[open] > summary::after {
    opacity: 0;
  }
  .re-spNav_accordion > summary::-webkit-details-marker {
    display: none;
  }
  .re-spNav_accordion-item {
    padding: 28px 15px 32px;
    background: var(--bg-gray);
  }
  .re-spNav_accordion-title {
    font-size: 1.5rem;
    line-height: 1.68;
    color: var(--link-color);
    font-weight: bold;
    vertical-align: middle;
    display: block;
  }
  .re-spNav_accordion-title > i {
    font-size: 1.3rem;
    font-weight: bold;
    transform: translateY(-1px);
    margin-left: 6px;
  }
  .re-spNav_accordion-title + .re-spNav_accordion-title {
    margin-top: 20px;
  }
  .re-spNav_accordion-list + .re-spNav_accordion-title {
    border-top: 1px solid var(--border-gray);
    margin-top: 28px;
    padding-top: 28px;
  }
  .re-spNav_accordion-label {
    font-size: 1.3rem;
    line-height: 1.4;
    color: #505050;
    margin-top: 26px;
  }
  .re-spNav_accordion-list {
    display: grid;
    gap: 20px;
  }
  .re-spNav_accordion-list + .re-spNav_accordion-list {
    border-top: 1px solid var(--border-gray);
    margin-top: 28px;
    padding-top: 28px;
  }
  .re-spNav_accordion-label + .re-spNav_accordion-list {
    margin-top: 20px;
  }
  .re-spNav_accordion-title + .re-spNav_accordion-list {
    margin-top: 24px;
  }
  .re-spNav_accordion-list > li {
    line-height: 1;
  }
  .re-seNav_arrodion-link {
    color: var(--link-color);
    font-size: 1.4rem;
    line-height: 1.47;
    padding-left: 19px;
    position: relative;
  }
  .re-seNav_arrodion-link::before {
    content: "▶";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
    color: #ff4291;
    font-size: 1.2rem;
}
  .re-spNav_products {
    margin-top: 24px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 15px;
  }
  .re-spNav_products-link {
    display: flex;
    gap: 12px;
    align-items: center;
    font-size: 1.4rem;
    line-height: 1.47;
    color: var(--link-color);
  }
  .re-spNav_products-link img {
    width: 30px;
  }
  .re-spNav_site {
    border-top: 1px solid var(--border-gray);
    padding: 40px 15px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px 0;
  }
  .re-spNav_site-link {
    font-size: 1.4rem;
    line-height: 1.4;
    color: var(--link-color);
    display: flex;
    align-items: center;
  }
  .re-spNav_site-link.-global::before {
    content: "";
    width: 14px;
    height: 14px;
    display: inline-block;
    margin-right: 8px;
    background: url(/assets/images/common/icon-global-gray.svg) no-repeat 0 0;
    background-size: contain;
  }
  .re-spNav_buttons {
    margin-top: 28px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }
  .re-spNav_buttons .re-spNav_button {
    min-height: 55px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    font-size: 1.3rem;
    line-height: 1.4;
    position: relative;
    z-index: 10;
    overflow: hidden;
    width: 100%;
    color: var(--main-color);
    border: 1px solid var(--main-color);
  }
  .re-spNav_buttons .re-spNav_button:before {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 0;
    height: 100%;
    content: "";
    transition: width 0.15s ease-in-out;
    background-color: var(--main-color);
  }
  .re-spNav_buttons .re-spNav_button:after {
    font-family: "icon";
    font-size: 1.8rem;
    line-height: 1;
    position: absolute;
    z-index: 1;
    right: 5px;
    bottom: 0;
    content: "\ea0a";
    color: var(--main-color);
  }
  .re-spNav_close {
    margin-top: auto;
    display: block;
    padding: 18px;
    text-align: center;
    background: var(--bg-gray);
    font-size: 1.5rem;
    color: var(--main-color);
  }
  .re-spNav_close i {
    position: relative;
    top: -2px;
  }
}
/* SP版メニューサイト内検索 */
@media print, screen and (max-width: 767px) {
  .re-spNav .mt-site-search {
    padding: 15px;
    background: #fff;
  }
  .re-spNav .mt-site-search-form {
    display: flex;
    background: var(--bg-gray);
  }
  .re-spNav .mt-site-search-form__query {
    width: 82%;
    padding: 8px 10px;
    box-sizing: border-box;
    color: var(--link-color);
    font-size: 1.6rem;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }
  .re-spNav .mt-site-search-form__query::-moz-placeholder {
    color: #757575;
  }
  .re-spNav .mt-site-search-form__query::placeholder {
    color: #757575;
  }
  .re-spNav .mt-site-search-form__query::-webkit-input-placeholder {
    font-size: 1.3rem;
  }
  .re-spNav .mt-site-search-form__query:-ms-input-placeholder {
    font-size: 1.3rem;
  }
  .re-spNav .mt-site-search-form__query::-moz-placeholder {
    font-size: 1.3rem;
  }
  .re-spNav .mt-site-search-form__button {
    width: 18%;
    background: var(--main-color);
    font-size: 0px;
    line-height: 1;
    overflow: hidden;
  }
  .re-spNav .mt-site-search-form__button:before {
    content: "\ea18";
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    font-family: "icon" !important;
    font-size: 2rem;
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-transform: none;
    speak: none;
    -webkit-font-smoothing: antialiased;
  }
}
.re-footer {
  position: relative;
  background: #fff;
  z-index: 1;
}

.re-footer-sns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid #e5e5e5;
}

.re-footer-sns > li {
  border-bottom: 1px solid #e5e5e5;
}

.re-footer-sns > li:nth-child(odd) {
  border-right: 1px solid #e5e5e5;
}

.re-footer-sns > li:last-child,
.re-footer-sns > li:nth-child(odd):nth-last-child(2) {
  border-bottom: none;
}

.re-footer-sns > li > a {
  font-size: 1rem;
  line-height: 1.4;
  display: flex;
  padding: 15px 0 15px 15px;
  color: #3d3d3d;
  align-items: center;
}

.re-footer-sns-icon {
  width: 26px;
  margin-right: 8px;
}

.re-footer-sns-icon img {
  width: 26px;
}

.re-footer-sitemap {
  background: #ff4291;
  color: #fff;
}

.re-footer-logo {
  text-align: center;
  padding-block: 33px;
}

.re-footer-link-block {
  padding-inline: 10px;
}

.re-footer-link-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 0;
  max-width: 355px;
  margin-inline: auto;
}

.re-footer-link-list > li {
  display: flex;
  align-items: center;
}

.re-footer-link-list > li:not(:last-child)::after {
  content: "";
  margin-inline: 12px;
  display: inline-block;
  width: 1px;
  height: 12px;
  background: currentColor;
}

.re-footer-link {
  color: currentColor;
  font-size: 1.2rem;
  line-height: 1.6;
}

.re-footer-copy {
  padding-block: 32px;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.5;
}

@media print, screen and (min-width: 360px) {
  .re-footer-link-list > li:nth-child(3)::after {
    content: none;
  }
}

@media print, screen and (min-width: 768px) {
  .re-footer-sns-section {
    background: #eee;
  }
  .re-footer-sns {
    padding-block: 24px;
    grid-template-columns: repeat(4, 1fr);
    max-width: 1020px;
    margin-inline: auto;
    border-top: none;
  }
  .re-footer-sns > li {
    border: none;
  }
  .re-footer-sns > li:nth-child(odd) {
    border: none;
  }
  .re-footer-sns > li > a {
    font-size: 1.2rem;
    line-height: 1.6;
    padding: 10px;
  }
  .re-footer-sns-icon {
    width: 40px;
    margin-right: 10px;
  }
  .re-footer-sns-icon img {
    width: 40px;
  }
  .re-footer-sitemap-inner {
    max-width: 1020px;
    margin-inline: auto;
  }
  .re-footer-link-list {
    flex-wrap: nowrap;
    max-width: 100%;
    justify-content: center;
    gap: 20px;
  }
  .re-footer-link-list > li:not(:last-child)::after {
    content: none;
  }
}
@media print, screen and (min-width: 1020px) {
  .re-footer-sns {
    padding-block: 24px;
  }
  .re-footer-sns > li > a {
    padding: 20px;
    transition: color 0.3s;
  }
  .re-footer-sns > li > a:hover {
    color: #ff4291;
  }
  .re-footer-sitemap-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 32px 20px;
  }
  .re-footer-logo {
    padding: 0;
  }
  .re-footer-link-list {
    justify-content: flex-end;
  }
  .re-footer-copy {
    text-align: right;
    padding: 12px 0 0;
    line-height: 1.6;
  }
}

@media all and (min-width: 768px) and (max-width: 1024px) {
  .re-footer-sns > li > a {
    font-size: 1.0rem;
  }
}

/*--------------------------------------
  ヘッダー
---------------------------------------*/
.l-header {
  position: relative;
  z-index: 1000;
  width: 100%;
  background: #fff;
}

.products-top .l-header {
  border-bottom: 1px solid #e5e5e5;
}

.header-inner {
  display: flex;
  padding: 8px;
  align-items: center;
  justify-content: space-between;
}

.header-logo {
  position: relative;
  right: -1px;
  width: 50px;
  order: 2;
}

.header-logo img {
  width: 50px;
}

.header-ec {
  width: 40px;
  order: 1;
}

.header-nav {
  order: 3;
}

.header-menu {
  font-size: 1rem;
  font-weight: bold;
  position: relative;
  right: -6px;
  width: 40px;
  height: 40px;
  padding-top: 8px;
  text-align: center;
}

.header-menu-text {
  position: absolute;
  top: 24px;
  width: 100%;
  text-align: center;
}

.header-menu-line {
  font-size: 0;
  position: relative;
  margin-bottom: 1px;
}

.header-menu-line span, .header-menu-line:before, .header-menu-line:after {
  position: absolute;
  left: 6px;
  display: inline-block;
  width: 28px;
  height: 2px;
  content: "";
  transition: transform 0.2s;
  background-color: #3d3d3d;
}

.header-menu-line span {
  top: 6px;
}

.header-menu-line:before {
  top: 0;
}

.header-menu-line:after {
  top: 12px;
}

.is-open .header-menu-line {
  transform: scale(0.9, 0.9);
}

.is-open .header-menu-line span {
  display: none;
}

.is-open .header-menu-line:before {
  top: 6px;
  transform: rotate(45deg);
}

.is-open .header-menu-line:after {
  top: 6px;
  transform: rotate(-45deg);
}

.header-gnav {
  display: none;
}

@media print, screen and (min-width: 768px) {
  .l-header {
    position: fixed;
    top: 0;
    transition: top 0.8s;
  }
  .l-header.is-hide {
    top: -200px;
  }
  .l-header.is-fixed {
    top: 0;
  }
  .header-inner {
    flex-direction: column;
    padding: 30px 0 0 0;
  }
  .header-logo {
    width: 86px;
    margin-bottom: 15px;
    order: 2;
  }
  .header-logo img {
    width: 86px;
  }
  .header-ec,
  .header-menu {
    display: none;
  }
  .header-nav {
    width: 100%;
  }
  .header-gnav {
    display: table;
    width: 100%;
    max-width: 980px;
    height: 45px;
    margin: 0 auto;
    text-align: center;
  }
  .header-gnav > li {
    display: table-cell;
    text-align: left;
  }
  .header-gnav > li > a {
    display: inline-block;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 45px;
    transition: color 0.3s;
    color: #3d3d3d;
  }
  .header-gnav > li > a:hover {
    opacity: 1;
    color: #ff4291;
  }
  .header-gnav > li > a img {
    padding-top: 10px;
  }
  .header-gnav > .gnav-products {
    width: 11%;
  }
  .header-gnav .gnav-news {
    width: 9%;
  }
  .header-gnav .gnav-players {
    width: 15.5%;
  }
  .header-gnav .gnav-takurepo {
    width: 12%;
  }
  .header-gnav .gnav-learning {
    width: 10%;
  }
  .header-gnav .gnav-story {
    width: 10.5%;
  }
  .header-gnav .gnav-icon {
    width: 5.5%;
    text-align: right;
  }
  .header-gnav .gnav-icon a {
    margin-right: -8px;
    padding: 0 8px;
  }
  .header-gnav .gnav-icon .is-active {
    display: none;
  }
  .header-gnav .gnav-icon .is-open {
    background: #eee;
  }
  .header-gnav .gnav-icon .is-open .is-default {
    display: none;
  }
  .header-gnav .gnav-icon .is-open .is-active {
    display: inline-block;
  }
  .header-gnav .gnav-search {
    font-size: 2.4rem;
    position: relative;
    top: -2px;
  }
  .header-gnav .gnav-ec {
    font-size: 2.9rem;
    position: relative;
    top: -4px;
  }
  .header-gnav .gnav-support {
    font-size: 3.1rem;
    position: relative;
    top: -2px;
  }
  .header-gnav .gnav-products i {
    font-weight: bold;
    position: relative;
    top: -1px;
  }
  .header-megamenu {
    position: absolute;
    z-index: 999;
    left: 0;
    display: none;
    width: 100%;
    padding: 40px 0;
    background: #eee;
  }
  /* is-fixed */
  .is-fixed .header-inner {
    max-width: 980px;
    height: 50px;
    margin: 0 auto;
    padding: 0;
    flex-direction: row;
  }
  .is-fixed .header-inner .header-logo {
    width: 50px;
    margin-right: 40px;
    margin-bottom: 0;
  }
  .is-fixed .header-inner .header-logo img {
    width: 50px;
  }
  .is-fixed .header-inner .header-gnav > li > a {
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1020px) {
  .header-nav {
    padding: 0 10px;
  }
  .header-gnav > li > a {
    font-size: 1.3rem;
    letter-spacing: -0.01em;
  }
  .is-fixed .header-logo {
    display: none;
  }
}
/* 下層ページ、現在値表示 */
.products .gnav-products > a,
.players .gnav-players > a,
.story .gnav-story > a,
.learning .gnav-learning > a,
.news .gnav-news > a,
.about .gnav-about > a {
  color: #ff4291;
}

/* ヘッダー検索窓 */
.header_search {
  display: none;
}

@media print, screen and (min-width: 768px) {
  .header_search {
    position: absolute;
    width: 100%;
    background: #eee;
  }
  .header_search_inner {
    width: 500px;
    margin: 0 auto;
    padding: 10px 0 15px;
  }
  .header_search_input {
    font-size: 1.4rem;
    width: 90%;
    color: #fff;
  }
  .header_search_btn {
    font-size: 2.4rem;
    margin-right: 15px;
    color: #999;
  }
}
/*--------------------------------------
  footer
---------------------------------------*/
.l-footer {
  position: relative;
  z-index: 10;
  border-top: 3px solid #ff4291;
}

@media print, screen and (min-width: 768px) {
  .l-footer {
    border-top: 4px solid #ff4291;
  }
}
.l-footer-block01 {
  background: #fff;
}

.l-footer-block02 {
  background: #505050;
}

.l-footer-block03 {
  background: #3d3d3d;
}

.l-footer-block03 .l-inner {
  position: relative;
}

.l-footer-block04 {
  background: #ff4291;
}

.l-footer-inner {
  max-width: 1020px;
  margin-right: auto;
  margin-left: auto;
}

.footer-link {
  display: flex;
  flex-wrap: wrap;
}
.footer-link > li {
  width: 50%;
  margin-bottom: -1px;
  border-top: 1px solid #d5d5d5;
  border-bottom: 1px solid #d5d5d5;
}
.footer-link > li:nth-child(odd) {
  border-right: 1px solid #d5d5d5;
}
.footer-link > li > a {
  display: block;
  padding: 15px 0;
  transition: background-color 0.3s;
  text-align: center;
  background-color: #fff;
}
.footer-link > li > a:hover {
  background-color: #eee;
}

@media print, screen and (min-width: 512px) {
  .footer-link > li {
    width: 25%;
    margin-bottom: 0;
    border: none;
  }
  .footer-link > li:not(:last-child) {
    border-right: 1px solid #d5d5d5;
  }
}
@media print, screen and (min-width: 1020px) {
  .footer-link > li {
    border-right: 1px solid #d5d5d5;
  }
  .footer-link > li:first-child {
    border-left: 1px solid #d5d5d5;
  }
  .footer-link > li > a {
    padding: 30px 0;
  }
  .footer-link > li > a > img {
    width: 180px;
    height: 60px;
  }
}
.footer-sns {
  display: flex;
  flex-wrap: wrap;
}
.footer-sns > li {
  width: 50%;
  margin-bottom: -1px;
  border-top: 1px solid #626262;
  border-bottom: 1px solid #626262;
}
.footer-sns > li:nth-child(odd) {
  border-right: 1px solid #626262;
}
.footer-sns > li > a {
  font-size: 1rem;
  line-height: 1.4;
  display: flex;
  padding: 15px 0 15px 15px;
  color: #ccc;
  align-items: center;
}

.footer-sns-icon {
  width: 26px;
  margin-right: 8px;
}
.footer-sns-icon img {
  width: 26px;
}

@media print, screen and (min-width: 768px) {
  .footer-sns {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .footer-sns > li {
    width: 25%;
    margin-bottom: 0;
    border: none;
  }
  .footer-sns > li:nth-child(odd) {
    border: none;
  }
  .footer-sns > li:last-child {
    margin: 0;
    border-left: none;
  }
  .footer-sns > li > a {
    font-size: 1.2rem;
    line-height: 1.6;
    padding: 15px 5px;
  }
  .footer-sns-icon {
    width: 40px;
    margin-right: 10px;
  }
  .footer-sns-icon img {
    width: 40px;
  }
}
@media print, screen and (min-width: 1020px) {
  .footer-sns > li > a {
    padding: 20px 20px 20px 20px;
    transition: color 0.3s;
  }
  .footer-sns > li > a:hover {
    color: #ff4291;
  }
}
.footer-sitemap {
  margin-right: -15px;
  margin-left: -15px;
  border-bottom: 1px solid #626262;
  color: #ccc;
}

.footer-sitemap a {
  transition: color 0.3s;
  color: #ccc;
}

.footer-sitemap a:hover {
  color: #ff4291;
}

.footer-sitemap-ttl {
  margin: 0 -15px -1px;
  border-bottom: 1px solid #626262;
  background: none !important;
  color: #ccc;
  font-weight: 700 !important;
}

.footer-sitemap-item {
  font-weight: bold;
  display: block;
  clear: both;
  padding: 20px 15px;
  border-top: 1px solid #626262;
}

.footer-sitemap-item-child:before {
  font-family: "icon";
  display: inline-block;
  content: "\ea10";
  vertical-align: middle;
}

@media print, screen and (max-width: 767px) {
  .footer-sitemap-item-child {
    display: block;
    margin-bottom: -1px;
    padding: 20px 15px;
    border-top: 1px solid #626262;
    border-bottom: 1px solid #626262;
  }
  .footer-sitemap-products .footer-sitemap-item-child {
    float: left;
    width: 50%;
  }
  .footer-sitemap-products .footer-sitemap-item-child:nth-child(odd) {
    border-right: 1px solid #626262;
  }
}
.footer-sitemap-home span {
  font-size: 109%;
}

@media print, screen and (min-width: 768px) {
  .footer-sitemap {
    font-size: 1.2rem;
    display: flex;
    margin-left: 0;
    padding-top: 70px;
    padding-bottom: 70px;
    border: none;
  }
  .footer-sitemap-ttl {
    display: none;
  }
  .footer-sitemap-list {
    position: relative;
    display: block;
  }
  .footer-sitemap-list:not(:last-child) {
    margin-right: 50px;
  }
  .footer-sitemap-item {
    display: inline-block;
    padding: 0 0 15px;
    border-top: none;
  }
  .footer-sitemap-item-children {
    display: flex;
    margin-top: -8px;
    margin-bottom: 15px;
    padding-left: 0;
  }
  .footer-sitemap-item-children > ul:not(:last-child) {
    margin-right: 20px;
  }
  .footer-sitemap-item-child {
    display: inline-block;
    padding-bottom: 3px;
  }
  .footer-sitemap-home {
    position: absolute;
    top: -35px;
  }
}
@media print, screen and (min-width: 1020px) {
  .footer-sitemap {
    font-size: 1.3rem;
    padding-bottom: 20px;
  }
  .footer-sitemap-list:not(:last-child) {
    margin-right: 60px;
  }
  .footer-sitemap-item-children {
    padding-left: 10px;
  }
  .footer-sitemap-item-children > ul:not(:last-child) {
    margin-right: 40px;
  }
}
.footer-ssl {
  padding: 20px;
}

.footer-ssl-inner {
  display: block;
  width: 115px;
  height: 57px;
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .footer-ssl {
    position: absolute;
    right: 20px;
    bottom: 20px;
    padding: 0;
  }
}
@media print, screen and (min-width: 1020px) {
  .footer-ssl {
    bottom: 40px;
  }
}
.footer-licence {
  display: flex;
  align-items: center;
}

.footer-licence-logo {
  width: 90px;
  margin-right: auto;
  padding-top: 15px;
  padding-bottom: 15px;
}

.footer-licence-copy {
  color: #fff;
  font-size: 1rem;
}

@media print, screen and (min-width: 768px) {
  .footer-licence-logo {
    width: 180px;
    padding-top: 25px;
    padding-bottom: 25px;
  }
  .footer-licence-copy {
    font-size: 1.2rem;
  }
}
/*--------------------------------------
  main layout
---------------------------------------*/
#wrapper {
  overflow-x: hidden;
  width: 100%;
}

@media print, screen and (min-width: 1020px) {
  #wrapper {
    overflow: hidden;
  }
}
.l-inner {
  width: 100%;
  padding-right: 10px;
  padding-left: 10px;
}

@media print, screen and (min-width: 768px) {
  .l-inner {
    padding-right: 20px;
    padding-left: 20px;
  }
}
@media print, screen and (min-width: 1020px) {
  .l-inner {
    max-width: 1040px;
    margin-right: auto;
    margin-left: auto;
  }
}
.top-inner {
  width: 100%;
  padding-right: 10px;
  padding-left: 10px;
}

@media print, screen and (min-width: 768px) {
  .top-inner {
    padding-right: 20px;
    padding-left: 20px;
  }
}
@media print, screen and (min-width: 1020px) {
  .top-inner {
    max-width: 1280px;
    margin-right: auto;
    margin-left: auto;
  }
}
.l-sec {
  padding: 40px 0;
}

.l-sec.has-borderTop {
  border-top: 1px solid #e5e5e5;
}

@media print, screen and (min-width: 768px) {
  .l-sec {
    padding: 60px 0;
  }
}
.l-sec-lv2 {
  padding: 30px 0;
}

@media print, screen and (min-width: 768px) {
  .l-sec-lv2 {
    padding: 50px 0;
  }
}
.l-sec_head {
  margin-bottom: 20px;
}

@media print, screen and (min-width: 768px) {
  .l-sec_head {
    margin-bottom: 25px;
  }
}
.l-sec_leading {
  margin-bottom: 80px;
}

@media print, screen and (min-width: 768px) {
  .l-sec_leading {
    margin-bottom: 105px;
  }
}
.bg-white {
  color: #3d3d3d;
  background: #fff;
}

.bg-lightgray {
  color: #3d3d3d;
  background: #eee;
}

.bg-lightgray2 {
  color: #3d3d3d;
  background: #e5e5e5;
}

.bg-gray {
  background: #eee;
}

.bg-black {
  color: #fff;
  background: #000;
}

.bg-brand {
  background: #ff4291;
}

@media print, screen and (min-width: 768px) {
  .l-cnt-md {
    max-width: 940px;
    margin: 0 auto;
    padding-right: 20px;
    padding-left: 20px;
  }
}
.l-block_head {
  margin-bottom: 15px;
}

.l-block-xl {
  margin-bottom: 50px;
}

.l-block-lg {
  margin-bottom: 40px;
}

.l-block-md {
  margin-bottom: 30px;
}

.l-block-sm {
  margin-bottom: 20px;
}

.l-block-xs {
  margin-bottom: 10px;
}

@media print, screen and (min-width: 768px) {
  .l-block_head {
    margin-bottom: 20px;
  }
  .l-block-xl {
    margin-bottom: 60px;
  }
  .l-block-lg {
    margin-bottom: 50px;
  }
  .l-block-md {
    margin-bottom: 40px;
  }
  .l-block-sm {
    margin-bottom: 30px;
  }
  .l-block-xs {
    margin-bottom: 20px;
  }
}
.l-center {
  margin-right: auto;
  margin-left: auto;
}

@media print, screen and (min-width: 768px) {
  .l-aside-category {
    max-width: 1020px;
    margin: 0 auto 60px;
    padding-right: 20px;
    padding-left: 20px;
  }
}
/*--------------------------------------
  スマホメニュー
---------------------------------------*/
@media print, screen and (max-width: 767px) {
  .spNav {
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    overflow-y: auto;
    width: 100%;
    height: 100%;
    padding-top: 55px;
    transition: transform 0.4s cubic-bezier(0.65, 0.01, 0.45, 1);
    transform: translate3d(100%, 0, 0);
    background-color: #eee;
    -webkit-overflow-scrolling: touch;
  }
  .spNav_search {
    display: flex;
    padding: 15px;
  }
  .spNav_search_input {
    font-size: 1.6rem;
    width: 85%;
    padding: 10px;
    color: #fff;
    background: #888;
  }
  .spNav_search_input::-webkit-input-placeholder {
    font-size: 1.3rem;
  }
  .spNav_search_input:-ms-input-placeholder {
    font-size: 1.3rem;
  }
  .spNav_search_input::-moz-placeholder {
    font-size: 1.3rem;
  }
  .spNav_search_btn {
    font-size: 2rem;
    line-height: 1;
    width: 15%;
    background: #fff;
  }
  .spNav_search_btn i {
    position: relative;
    top: -1px;
    left: 1px;
  }
  .spNav_item > a {
    font-weight: bold;
    display: block;
    padding: 20px 15px;
    color: #3d3d3d;
    border-top: 1px solid #d5d5d5;
  }
  .spNav_child {
    padding: 0 15px 15px;
  }
  .spNav_close {
    display: block;
    padding: 18px;
    text-align: center;
    border-top: 1px solid #d5d5d5;
    font-size: 1.5rem;
    color: #ff4291;
  }
  .spNav_close i {
    position: relative;
    top: -2px;
  }
  .spNav.is-open {
    transform: translate3d(0, 0, 0);
  }
  .spNav.is-bottom {
    padding-top: 0;
    padding-bottom: 55px;
  }
}
@media print, screen and (min-width: 768px) {
  .spNav {
    display: none;
  }
}
/*----------------------------------------*/
/*  アコーディオン
/*----------------------------------------*/
.acc_ttl {
  font-weight: normal;
  position: relative;
  padding: 20px 15px;
  cursor: pointer;
  text-align: center;
  background-color: #e5e5e5;
}

.acc_ttl i {
  font-size: 1.6rem;
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -8px;
  transition: transform 0.3s;
}

.acc_ttl.is-open i {
  transform: rotateX(180deg);
}

.acc_body {
  display: none;
}

.acc_close {
  display: block;
  margin-top: -1px;
  padding: 20px 15px;
  text-align: center;
  background: #fff;
}

.acc_close i {
  font-size: 120%;
  position: relative;
  top: -2px;
}

@media print, screen and (min-width: 768px) {
  .acc_ttl {
    display: none;
  }
  .acc_body {
    display: block !important;
  }
  .acc_close {
    display: none;
  }
}
.more {
  font-size: 1.4rem;
  text-align: center;
}

.more_txt {
  display: inline-block;
  padding: 20px;
  cursor: pointer;
  color: #ff4291;
}

.more_txt i {
  font-size: 120%;
  font-weight: bold;
  margin-left: 5px;
  transition: transform 0.2s;
}

.more_txt.is-open i {
  transform: rotateX(180deg);
}

.more-line {
  margin-top: 20px;
  border-top: 1px solid #e5e5e5;
}

@media print, screen and (min-width: 768px) {
  .more {
    font-size: 1.6rem;
  }
  .more-line {
    margin-top: 30px;
  }
}
/*----------------------------------------*/
/*  ページ下 製品等のリスト
/*----------------------------------------*/
.asideList {
  overflow: hidden;
  height: auto;
  margin-right: -15px;
}

.asideList_mask {
  overflow-x: auto;
  width: 100%;
  height: auto;
  -webkit-overflow-scrolling: touch;
}

.asideList_inner {
  display: inline-table;
  max-width: 100%;
  margin-right: -10px;
  margin-left: -10px;
  padding-right: 5px;
}

.asideList_item {
  display: table-cell;
  width: 140px;
  min-width: 140px;
  padding-right: 10px;
  padding-left: 10px;
  vertical-align: top;
}

@media print, screen and (min-width: 768px) {
  .asideList {
    overflow: hidden;
    height: auto;
    margin-right: 0;
  }
  .asideList_mask {
    overflow-x: hidden;
    width: 100%;
    height: auto;
  }
  .asideList_inner {
    display: flex;
    flex-wrap: wrap;
  }
  .asideList_inner aside {
    display: flex;
    flex-wrap: wrap;
  }
  .asideList_item {
    width: 20%;
    min-width: 20%;
    margin-bottom: 10px;
  }
}
/*----------------------------------------*/
/*  上に戻るボタン
/*----------------------------------------*/
@media print, screen and (min-width: 768px) {
  .backtotop {
    position: fixed;
    bottom: 18px;
    right: 18px;
    display: none;
    z-index: 100;
  }
  .backtotop a {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    width: 44px;
    height: 44px;
    background-color: #999;
    color: #fff;
    font-size: 22px;
    text-decoration: none;
    opacity: 0.5;
  }
  .backtotop a:hover {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    width: 44px;
    height: 44px;
    background-color: #ccc;
    color: #fff;
    font-size: 22px;
    text-decoration: none;
    opacity: 0.5;
  }
}
@media print, screen and (max-width: 767px) {
  .backtotop {
    position: fixed;
    bottom: 36px;
    right: 10px;
    display: none;
    z-index: 100;
  }
  .backtotop a {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    width: 44px;
    height: 44px;
    background-color: #666;
    color: #fff;
    font-size: 22px;
    text-decoration: none;
    opacity: 0.5;
  }
  .backtotop a:hover {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    width: 44px;
    height: 44px;
    background-color: #ccc;
    color: #fff;
    font-size: 22px;
    text-decoration: none;
    opacity: 0.5;
  }
}
/*----------------------------------------*/
/*  テキストバナー
/*----------------------------------------*/
.bnr {
  font-size: 1.5rem;
  display: inline-block;
  width: 100%;
  max-width: 800px;
  height: 64px;
  padding: 13px 10px;
  transition: opacity 0.3s;
  text-align: center;
  color: #3d3d3d;
  background: #fff;
  border: 1px solid #ff4291;
}

.bnr:hover {
  opacity: 0.6;
}

.bnr-lg {
  max-width: 100%;
}

.bnr_txt {
  line-height: 1.3;
  display: inline-block;
  max-width: 75%;
  margin-left: 5px;
  text-align: left;
  vertical-align: middle;
}

.bnr_txt-lg {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
}

.bnr_txt-strong {
  color: #ff4291;
}

.bnr_subTxt {
  font-size: 1.1rem;
  display: block;
  margin-top: 5px;
  text-align: center;
  opacity: 0.8;
}

.bnr_subTxt_inner {
  display: inline-block;
  text-align: left;
}

.bnr_icon {
  font-size: 3.6rem;
  color: #ff4291;
}

.bnr-white {
  color: #3d3d3d;
  background-color: #fff;
}

.bnr-white .bnr_icon {
  color: #2e2e2e;
}

@media screen and (max-width: 767px) {
  .bnr-hasTxt {
    height: auto;
  }
}
.bnr-arrow {
  position: relative;
}

.bnr-arrow:after {
  font-family: "icon";
  line-height: 1;
  position: absolute;
  right: 5px;
  bottom: 0;
  content: "\ea0a";
  color: #ff4291;
}

@media print, screen and (min-width: 768px) {
  .bnr {
    height: 80px;
    padding: 15px 5px;
  }
  .bnr-lg {
    height: 90px;
    padding: 20px 5px;
  }
  .bnr_txt-lg {
    font-size: 1.8rem;
  }
  .bnr_txt-strong {
    font-size: 1.8rem;
    position: relative;
    top: 1px;
  }
  .bnr_subTxt {
    font-size: 1.2rem;
    position: relative;
    right: -5px;
    display: inline-block;
    margin: 0 0 0 10px;
    vertical-align: middle;
  }
  .bnr_icon {
    font-size: 4.8rem;
  }
  .bnr-arrow:after {
    font-size: 2rem;
  }
  .bnr-hasTxt {
    padding: 15px 5px;
  }
}
.bnr-transparent {
  color: #ff4291;
  background-color: none;
}

.bnr-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.bnr-center .bnr_txt {
  max-width: 100%;
  margin-right: 5px;
}

/*----------------------------------------*/
/*  画像+テキストバナー
/*----------------------------------------*/
.imgBnr {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 485/242;
}

@media print, screen and (min-width: 768px) {
  .imgBnr:not(.is-disabled):hover .imgBnr-img {
    transform: scale(1.1);
    opacity: 0.8;
  }
}
.imgBnr.is-disabled .imgBnr-img,
.imgBnr.is-disabled .imgBnr-cnt {
  opacity: 0.5;
}

.imgBnr-img {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  transition: all 0.3s;
}

.imgBnr-cnt {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #fff;
  justify-content: center;
}

.imgBnr-ttl {
  font-size: 2rem;
  line-height: 1.3;
  margin-bottom: 8px;
}

@media print, screen and (min-width: 768px) {
  .imgBnr-ttl {
    font-size: 2.8rem;
    margin-bottom: 10px;
  }
}
.imgBnr-ttl span {
  display: block;
}

.imgBnr-text {
  font-size: 1.3rem;
}

@media print, screen and (min-width: 768px) {
  .imgBnr-text {
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 1020px) {
  .imgBnr-text {
    font-size: 1.5rem;
  }
}
.imgBnr_linkText {
  font-size: 1.3rem;
  font-weight: bold;
}

@media print, screen and (min-width: 768px) {
  .imgBnr_linkText {
    font-size: 2.1rem;
    transition: transform 0.3s;
  }
}
.imgBnr-line {
  background: transparent;
}

.imgBnr-line .imgBnr-cnt {
  color: #3d3d3d;
  border: 2px solid #3d3d3d;
  background-color: #fff;
}

@media print, screen and (min-width: 768px) {
  .imgBnr-line .imgBnr-cnt {
    border-width: 3px;
  }
}
@media print, screen and (min-width: 1020px) {
  .imgBnr-line .imgBnr-cnt {
    transition: all 0.3s;
  }
  .imgBnr-line .imgBnr-cnt:hover {
    color: #fff;
    background-color: #999;
  }
  .imgBnr-line .imgBnr-cnt:hover .imgBnr_linkText {
    transform: scale(1.1);
  }
}
.imgBnr-line.is-media {
  aspect-ratio: 485/320;
}

.imgBnr-line-brand {
  background: transparent;
}

.imgBnr-line-brand .imgBnr-cnt {
  color: #ff4291;
  border: 2px solid #ff4291;
  background-color: #fff;
}

@media print, screen and (min-width: 768px) {
  .imgBnr-line-brand .imgBnr-cnt {
    border-width: 3px;
  }
}
@media print, screen and (min-width: 1020px) {
  .imgBnr-line-brand .imgBnr-cnt {
    transition: all 0.3s;
  }
  .imgBnr-line-brand .imgBnr-cnt:hover {
    color: #fff;
    background-color: #ff4291;
  }
  .imgBnr-line-brand .imgBnr-cnt:hover .imgBnr_linkText {
    transform: scale(1.1);
  }
}
.top-feature .imgBnr {
  aspect-ratio: 475/238;
}

.imgBnr-media {
  aspect-ratio: 485/320;
}

.imgBnr-media_ttl {
  font-size: 1.3rem;
  line-height: 1.5;
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 8px;
  left: 0;
  display: flex;
  overflow: hidden;
  width: 100%;
  height: 56px;
  padding: 0 10px 0;
  color: #fff;
  align-items: flex-end;
}

.imgBnr-media_ttl span {
  display: flex;
  display: -webkit-box;
  box-orient: vertical;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

@media print, screen and (min-width: 768px) {
  .imgBnr-media_ttl {
    font-size: 1.5rem;
    bottom: 18px;
    height: 42px;
    padding: 0 20px 0;
  }
  .imgBnr-media_ttl span {
    -webkit-line-clamp: 2;
  }
}
.imgBnr-media .imgBnr-cnt {
  text-align: left;
  background: url(../images/common/media-bnr-gr.png) center bottom no-repeat;
  background-size: contain;
}

/*----------------------------------------*/
/*  パンクズ
/*----------------------------------------*/
.breadcrumbs {
  font-size: 1.2rem;
  overflow: hidden;
  width: 100%;
  height: 63px;
  color: #3d3d3d;
  border-top: 1px solid #e5e5e5;
  background-color: #fff;
}

.breadcrumbs a {
  color: #3d3d3d;
}

.breadcrumbs_inner {
  overflow-x: auto;
  width: 100%;
  height: 103px;
  -webkit-overflow-scrolling: touch;
}

.breadcrumbs_list {
  display: inline-table;
  max-width: 100%;
}

.breadcrumbs_list > li {
  position: relative;
  display: table-cell;
  height: 62px;
  white-space: nowrap;
}

.breadcrumbs_list > li a {
  line-height: 22px;
  display: block;
  min-width: 80px;
  height: 62px;
  padding: 20px 40px 20px 15px;
  text-decoration: underline;
  color: #ff4291;
}

.breadcrumbs_list > li a:hover {
  text-decoration: none;
}

.breadcrumbs_list > li:not(:last-child):before,
.breadcrumbs_list > li:not(:last-child):after {
  position: absolute;
  right: 15px;
  display: block;
  width: 1px;
  height: 50%;
  content: "";
  background: #e5e5e5;
}

.breadcrumbs_list > li:not(:last-child):before {
  top: 0;
  transform: skewX(45deg);
}

.breadcrumbs_list > li:not(:last-child):after {
  bottom: 0;
  transform: skewX(-45deg);
}

.breadcrumbs_home img {
  width: auto;
  height: 20px;
}

.breadcrumbs_current {
  padding: 20px 40px 20px 15px;
}

@media print, screen and (min-width: 768px) {
  .breadcrumbs {
    font-size: 1.3rem;
    height: 73px;
  }
  .breadcrumbs_inner {
    display: table;
    max-width: 1020px;
    margin-right: auto;
    margin-left: auto;
  }
  .breadcrumbs_list > li {
    white-space: wrap;
  }
  .breadcrumbs_list > li,
  .breadcrumbs_list > li > a {
    height: 72px;
  }
  .breadcrumbs_list > li > a,
  .breadcrumbs_current {
    padding: 25px 45px 25px 20px;
  }
}
/*----------------------------------------*/
/*  ボタン
/*----------------------------------------*/
.grid-btn {
  text-align: center;
}

.grid-btn .btn:not(:first-child) {
  margin-top: 15px;
}

@media print, screen and (min-width: 768px) {
  .grid-btn {
    display: flex;
    justify-content: center;
  }
  .grid-btn .btn {
    display: block;
    width: 31%;
  }
  .grid-btn .btn:not(:first-child) {
    margin: 0 0 0 3.5%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1019px) {
  .grid-btn.is-2col .btn {
    width: 40%;
  }
  .grid-btn.is-2col .btn:not(:first-child) {
    margin: 0 0 0 4%;
  }
}
.btn {
  font-size: 1.3rem;
  position: relative;
  z-index: 10;
  display: inline-block;
  overflow: hidden;
  width: 100%;
  max-width: 400px;
  padding: 15px;
  text-align: center;
  vertical-align: top;
  color: #ff4291;
  border: 1px solid #ff4291;
}
.btn.--widthAuto {
  width: auto;
  min-width: 216px;
}

@media print, screen and (min-width: 768px) {
  .btn {
    font-size: 1.5rem;
    padding: 20px;
  }
}
@media screen and (max-width: 1024px) {
  .btn {
    transition: opacity 0.3s;
  }
  .btn:hover {
    opacity: 0.6;
  }
}
.btn:before {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 0;
  height: 100%;
  content: "";
  transition: width 0.15s ease-in-out;
  background-color: #ff4291;
}

.btn:after {
  font-family: "icon";
  font-size: 1.8rem;
  line-height: 1;
  position: absolute;
  z-index: 1;
  right: 5px;
  bottom: 0;
  content: "\ea0a";
  color: #ff4291;
}

@media print, screen and (min-width: 768px) {
  .btn:after {
    font-size: 2.5rem;
    right: 8px;
  }
}
.btn-full {
  max-width: 100%;
}

@media print, screen and (min-width: 768px) {
  .btn-home {
    font-size: 2rem;
  }
}
.btn-white {
  color: #fff;
  border: 1px solid #fff;
}

.btn-white:before {
  background-color: #fff;
}

.btn-white:after {
  color: #fff;
}

.btn-gray {
  color: #3d3d3d;
  border-color: #3d3d3d;
  background-color: #fff;
}

.btn-gray::before {
  background-color: #3d3d3d;
}

.btn-gray::after {
  color: currentColor;
}

.btn-fill {
  color: #fff;
  background-color: #ff4291;
}

.btn-fill:before {
  background-color: #fff;
}

.btn-fill:after {
  color: #fff;
}

.btn-fill-white {
  border: 1px solid #ff4291;
  background-color: #fff;
}

.btn-fill-white:hover {
  border-color: #fff;
}

.btn-fill-pink {
  border: 1px solid #ff4291;
  color: #fff;
  background-color: #ff4291;
}

.btn-fill-pink::before {
  background-color: #fff;
}

.btn-fill-pink::after {
  color: #fff;
}

.btn-fill-gray {
  border: 1px solid #3d3d3d;
  color: #fff;
  background-color: #3d3d3d;
}

.btn-fill-gray::before {
  background-color: #fff;
}

.btn-fill-gray::after {
  color: #fff;
}

@media print, screen and (min-width: 768px) {
  .btn-fill-white:hover {
    border-color: #ff4291;
    color: #ff4291;
  }
}
@media print, screen and (min-width: 1025px) {
  .btn:hover {
    color: #fff;
  }
  .btn:hover:before {
    width: 100%;
  }
  .btn:hover:after {
    color: #fff;
  }
  .btn-white:hover {
    color: #ff4291;
  }
  .btn-white:hover:after {
    color: #ff4291;
  }
  .btn-fill:hover {
    color: #ff4291;
  }
  .btn-fill:hover:before {
    width: 100%;
  }
  .btn-fill:hover:after {
    color: #ff4291;
  }
  .btn-fill-pink:hover {
    color: #ff4291;
  }
  .btn-fill-pink:hover:after {
    color: #ff4291;
  }
  .btn-fill-gray:hover {
    color: #3d3d3d;
  }
  .btn-fill-gray:hover:after {
    color: #3d3d3d;
  }
}
.btn-area {
  margin-top: 20px;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .btn-area {
    margin-top: 40px;
  }
}
.btn-blogTop {
  margin-top: 20px;
  padding-right: 15px;
  padding-left: 15px;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .btn-blogTop {
    margin-top: 40px;
    padding-right: 20px;
    padding-left: 20px;
  }
}
.btnSet {
  text-align: center;
}

.btnSet_text {
  margin-bottom: 15px;
  text-align: left;
}

.btnSet_btn {
  width: 160px;
  padding: 10px 15px;
}

@media print, screen and (min-width: 768px) {
  .btnSet_text,
  .btnSet_btn {
    display: inline-block;
    vertical-align: middle;
  }
  .btnSet_text {
    font-size: 1.3rem;
    margin-right: 5px;
    margin-bottom: 0;
  }
}
.btn-compare {
  font-size: 1.3rem;
  position: relative;
  z-index: 10;
  display: inline-block;
  width: 160px;
  padding: 10px 15px;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .btn-compare {
    font-size: 1.5rem;
  }
}
.btn-compare.is-disabled {
  cursor: default;
  color: #888;
  background: #eee;
}

.btn-compare.is-enabled {
  color: #fff;
  background: #ff4291;
}

.btn-compare.is-enabled:after {
  font-family: "icon";
  font-size: 1.8rem;
  line-height: 1;
  position: absolute;
  z-index: 1;
  right: 5px;
  bottom: 0;
  content: "\ea0a";
  color: #fff;
}

@media print, screen and (min-width: 768px) {
  .btn-compare {
    font-size: 1.5rem;
  }
  .btn-compare.is-enabled {
    transition: opacity 0.3s;
  }
  .btn-compare.is-enabled:after {
    font-size: 2rem;
    right: 8px;
  }
  .btn-compare.is-enabled:hover {
    opacity: 0.7;
  }
}
.btn-noarrow:after {
  content: none;
}

.btn_icon:before {
  font-size: 2.2rem;
  position: relative;
  top: -1px;
}

.btn_icon-l {
  margin-right: 4px;
}

.btn_icon-r {
  margin-left: 4px;
}

.btn-sm {
  font-size: 1.2rem;
  padding: 10px;
}

@media print, screen and (min-width: 768px) {
  .btn-sm {
    font-size: 1.4rem;
    padding: 15px;
  }
}
.btn.back::after,
.btn.btn-fill.back::after {
  right: auto;
  left: 5px;
  transform: scale(-1, 1);
}

@media print, screen and (min-width: 768px) {
  .btn.back::after,
  .btn.btn-fill.back::after {
    left: 8px;
  }
}
/*----------------------------------------*/
/*  （グリッド配置で使用する）カード
/*----------------------------------------*/
.card {
  line-height: 1.4;
  display: block;
  height: 100%;
  color: #3d3d3d;
}

.card_img.--border {
  border: solid 1px #e5e5e5;
}
.card_img img {
  width: 100%;
}

.card_body {
  padding: 10px 12px;
}

.card_caption {
  font-size: 1rem;
  padding-top: 4px;
}

.card-product {
  position: relative;
  height: 100%;
}

.card-product_check {
  position: absolute;
  top: -25px;
  left: 0;
}

@media print, screen and (min-width: 768px) {
  .card_caption {
    font-size: 1.3rem;
    padding-top: 6px;
  }
  .card-product_check {
    top: -30px;
  }
}
.imgSet {
  display: block;
  color: #fff;
}

.imgSet_caption {
  color: #3d3d3d;
  font-size: 1.2rem;
  margin-top: 5px;
}

@media print, screen and (min-width: 768px) {
  .imgSet_caption {
    font-size: 1.4rem;
    margin-top: 10px;
  }
}
a.card,
a.imgSet {
  transition: opacity 0.3s;
}

a.card:hover,
a.imgSet:hover {
  opacity: 0.6;
}

/*----------------------------------------*/
/*  （製品ページ上）カテゴリリンク、ドロップダウン
/*----------------------------------------*/
.cateBlock_item {
  border-bottom: 1px solid #fff;
  background: #e5e5e5;
}

.cateBlock_item > a {
  display: block;
  padding: 20px 15px;
  transition: color 0.2s;
  color: #3d3d3d;
}

.--bgLight .cateBlock_item > a {
  background: #eee;
}

.cateBlock_item > a:hover:not(.cateBlock_dropdown) {
  color: #ff4291;
}

@media print, screen and (min-width: 768px) {
  .cateBlock {
    margin-bottom: 80px;
  }
  .cateBlock_ttl {
    display: none;
  }
  .cateBlock_body {
    display: block !important;
  }
  .cateBlock_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-content: stretch;
  }
  .cateBlock_item {
    position: relative;
    display: flex;
    min-width: 16.666%;
    text-align: center;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    flex: 1 0 16.466%;
    align-items: center;
  }
  .cateBlock_list-2cols .cateBlock_item {
    width: 50%;
    min-width: 50%;
    flex: 1 0 49.8%;
  }
  .cateBlock_list-3cols .cateBlock_item {
    width: 33.333%;
    min-width: 33.333%;
    flex: 1 0 33.133%;
  }
  .cateBlock_list-4cols .cateBlock_item {
    width: 25%;
    min-width: 25%;
    flex: 1 0 24.8%;
  }
  .cateBlock_list-5cols .cateBlock_item {
    width: 20%;
    min-width: 20%;
    flex: 1 0 19.8%;
  }
  .cateBlock_list-6cols .cateBlock_item {
    width: 16.666%;
    flex: 1 0 16.466%;
  }
  .cateBlock_list-7cols .cateBlock_item {
    width: 14.2857%;
    min-width: 14.2857%;
    flex: 1 0 14.1857%;
  }
  .cateBlock_item > a {
    width: 100%;
    padding: 15px 5px;
  }
  .cateBlock_item > a.is-current:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    content: "";
    background-color: #ff4291;
  }
  .cateBlock_icon {
    font-size: 110%;
    font-weight: bold;
    position: relative;
    top: -1px;
    margin-left: 10px;
  }
  .cateBlock_dropdown_list {
    position: absolute;
    z-index: 100;
    top: 100%;
    left: 0;
    display: none;
    width: 100%;
    padding: 10px 20px 15px;
    text-align: left;
    background: #eee;
  }
  .cateBlock_dropdown_item > a {
    font-size: 1.4rem;
    display: block;
    padding: 5px 0;
    color: #3d3d3d;
  }
  .cateBlock_dropdown_item > a:hover {
    text-decoration: underline;
  }
  .cateBlock_close {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .cateBlock_list.item {
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    flex-wrap: wrap;
  }
  .cateBlock_item.item01 {
    display: table-cell;
    float: left;
    width: 50%;
    background: #e5e5e5;
  }
  .cateBlock_item.item01.left {
    border-right: 1px solid #d5d5d5;
  }
  .cateBlock_item.item01 a {
    padding: 20px 10px;
  }
}

@media all and (min-width: 768px) and (max-width: 1024px) { 
  .cateBlock_item > a {
    font-size: 1.3rem;
  }
}

/*----------------------------------------*/
/*  円形カテゴリリスト（よくあるご質問で使用）
/*----------------------------------------*/
.circleList {
  font-size: 0;
  margin: -5px -5px 0;
  text-align: center;
}

@media screen and (min-width: 512px) {
  .circleList {
    margin-top: -10px;
  }
}
@media screen and (min-width: 768px) {
  .circleList {
    max-width: 640px;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (min-width: 1020px) {
  .circleList {
    max-width: 800px;
  }
}
.circleList_item {
  position: relative;
  display: inline-block;
  width: 90px;
  height: 90px;
  margin: 5px;
  transition: opacity 0.3s;
  text-align: center;
  border-radius: 50%;
  background-color: #fff;
}

@media screen and (min-width: 360px) {
  .circleList_item {
    width: 100px;
    height: 100px;
  }
}
@media screen and (min-width: 375px) {
  .circleList_item {
    width: 108px;
    height: 108px;
  }
}
@media screen and (min-width: 414px) {
  .circleList_item {
    width: 120px;
    height: 120px;
  }
}
@media screen and (min-width: 512px) {
  .circleList_item {
    width: 140px;
    height: 140px;
    margin: 10px;
  }
}
.circleList_item > a {
  display: block;
  color: #4c4d4f;
}

.circleList_item:hover {
  opacity: 0.7;
}

.circleList_icon {
  font-size: 4.2rem;
  position: relative;
  top: -8px;
  display: block;
}

@media screen and (min-width: 360px) {
  .circleList_icon {
    font-size: 4.8rem;
  }
}
@media screen and (min-width: 375px) {
  .circleList_icon {
    font-size: 5rem;
  }
}
@media screen and (min-width: 414px) {
  .circleList_icon {
    font-size: 5.5rem;
  }
}
@media screen and (min-width: 512px) {
  .circleList_icon {
    font-size: 7rem;
    top: -10px;
  }
}
.circleList_icon i {
  position: relative;
}

.circleList_icon .icon-ec-fill {
  top: -5px;
  transform: scale(0.7);
}

.circleList_text {
  font-size: 1rem;
  line-height: 1.2;
  position: absolute;
  bottom: 6px;
  display: flex;
  width: 100%;
  height: 40px;
  text-align: center;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 360px) {
  .circleList_text {
    font-size: 1.1rem;
    line-height: 1.2;
    height: 42px;
  }
}
@media screen and (min-width: 512px) {
  .circleList_text {
    bottom: 3px;
    font-size: 1.2rem;
    line-height: 1.2;
    height: 55px;
  }
}
/*----------------------------------------*/
/*  記事本文内スタイル（ニュース、よくあるご質問など）
/*----------------------------------------*/
.entry {
  line-height: 1.8;
}

.entry p:not(:last-child),
.entry ul:not(:last-child),
.entry ol:not(:last-child),
.entry blockquote:not(:last-child) {
  margin-bottom: 20px;
}

.entry a {
  text-decoration: underline;
}

.entry a:hover {
  text-decoration: none;
}

.entry ul > li {
  padding-left: 1em;
}

.entry ul > li:before {
  margin-left: -1em;
  content: "・";
}

.entry ol {
  padding-left: 1.2em;
}

.entry ol li {
  list-style-type: decimal;
}

.entry h2 {
  font-weight: bold;
  font-size: 1.8rem;
  margin: 35px 0 10px;
}

.entry h3 {
  font-size: 1.6rem;
  font-weight: normal;
  margin: 0 0 10px;
}

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

.entry table {
  width: 100%;
  border: 1px solid #e5e5e5;
  white-space: normal;
}

.entry .js-scrollable table {
  white-space: nowrap;
}

.entry table tr {
  border: 1px solid #e5e5e5;
}

.entry table th,
.entry table td {
  vertical-align: middle;
}

.entry table th {
  padding: 15px 10px;
  border: 1px solid #e5e5e5;
  background-color: #eee;
  text-align: center;
}

.entry table td {
  padding: 15px 10px;
  border: 1px solid #e5e5e5;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .entry p:not(:last-child),
  .entry ul:not(:last-child),
  .entry ol:not(:last-child),
  .entry blockquote:not(:last-child) {
    margin-bottom: 30px;
  }
  .entry h2 {
    font-weight: bold;
    font-size: 2.4rem;
    margin: 50px 0 15px;
  }
  .entry h3 {
    font-size: 2rem;
    margin: 0 0 15px;
  }
  .entry table th {
    padding: 20px;
  }
  .entry table td {
    padding: 20px;
  }
}
/*----------------------------------------*/
/*  よくあるご質問
/*----------------------------------------*/
.qaList {
  margin-right: -15px;
  margin-left: -15px;
  border-top: 1px solid #d5d5d5;
}
.qaList:first-child {
  border-top: none;
}

.qaList_item {
  position: relative;
  padding: 20px 15px;
  border-bottom: 1px solid #d5d5d5;
}

.qaList_item > a {
  display: inline-block;
  padding-left: 20px;
  text-decoration: underline;
}

.qaList_item > a:hover {
  text-decoration: none;
}

.qaList_item:before {
  position: absolute;
  left: 15px;
  width: 20px;
  content: "Q.";
}

.qaList_answer {
  position: relative;
  margin-top: 15px;
  margin-left: 20px;
  padding-left: 20px;
}

.qaList_answer:before {
  position: absolute;
  left: 0;
  width: 20px;
  content: "A.";
}

@media screen and (min-width: 768px) {
  .qaList {
    margin-right: 0;
    margin-left: 0;
  }
  .qaList_item {
    padding: 20px;
  }
  .qaList_item > a {
    transition: opacity 0.3s;
  }
  .qaList_item > a:hover {
    opacity: 0.8;
  }
  .qaList_answer {
    margin-top: 25px;
  }
}
.faq_question {
  font-size: 1.8rem;
  position: relative;
  margin-bottom: 20px;
  padding-left: 30px;
}

.faq_question:before {
  position: absolute;
  left: 0;
  content: "Q.";
}

.faq_answer {
  padding: 20px 10px;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

.faq_answer:before {
  margin-right: 5px;
  content: "A.";
  color: #ff4291;
}

@media screen and (min-width: 768px) {
  .faq_question {
    font-size: 2.6rem;
    margin-bottom: 30px;
    padding-left: 40px;
  }
  .faq_answer {
    position: relative;
    padding: 20px 20px 20px 40px;
  }
  .faq_answer:before {
    position: absolute;
    left: 20px;
    margin-right: 0;
  }
}
/*----------------------------------------*/
/*  アンケート
/*----------------------------------------*/
.box-enquete {
  padding: 20px;
  background-color: #eee;
}

.enquete {
  text-align: center;
}

.enquete_text {
  margin-bottom: 20px;
}

.enquete_btn {
  display: inline-block;
  width: 100px;
  padding: 12px 0;
  color: #ff4291;
  border: 1px solid #ff4291;
}

.enquete_btn:first-child {
  margin-right: 20px;
}

.enquete_btn.is-active {
  animation: animAnswer 0.3s ease-out;
  color: #fff;
  background-color: #ff4291;
}

.enquete_btn.is-enabled {
  cursor: pointer;
}

.enquete_btn.is-disabled {
  color: #eee;
  border: none;
  background-color: #d5d5d5;
}
@keyframes animAnswer {
  0% {
    transform: scale(1, 1);
  }
  33% {
    transform: scale(0.9, 0.9);
  }
  66% {
    transform: scale(1.1, 1.1);
  }
  100% {
    transform: scale(1, 1);
  }
}
@media screen and (min-width: 768px) {
  .box-enquete {
    padding: 40px;
  }
  .enquete {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .enquete_text {
    margin-bottom: 0;
  }
  .enquete_btn {
    font-size: 1.8rem;
    width: 150px;
    padding: 15px 0;
    transition: 0.3s ease-out;
  }
  .enquete_btn:hover {
    color: #fff;
    background-color: #ff4291;
  }
  .enquete_btn:first-child {
    margin-right: 30px;
  }
}
/*----------------------------------------*/
/*  グリッドカラム
/*----------------------------------------*/
.l-grid {
  display: flex;
  flex-wrap: wrap;
  align-content: stretch;
  margin-left: -8px;
  margin-right: -8px;
}

.l-grid_col {
  padding-left: 8px;
  padding-right: 8px;
  margin-top: 10px;
}

@media print, screen and (min-width: 768px) {
  .l-grid {
    margin-left: -12px;
    margin-right: -12px;
  }
  .l-grid_col {
    padding-left: 12px;
    padding-right: 12px;
  }
}
@media print, screen and (min-width: 1020px) {
  .l-grid {
    margin-left: -15px;
    margin-right: -15px;
  }
  .l-grid_col {
    padding-left: 15px;
    padding-right: 15px;
  }
}
/*グリッド幅の設定*/
.col-xs-1 {
  width: 8.333%;
}

.col-xs-2 {
  width: 16.666%;
}

.col-xs-3 {
  width: 25%;
}

.col-xs-4 {
  width: 33.333%;
}

.col-xs-5 {
  width: 41.666%;
}

.col-xs-6 {
  width: 50%;
}

.col-xs-7 {
  width: 58.333%;
}

.col-xs-8 {
  width: 66.666%;
}

.col-xs-9 {
  width: 75%;
}

.col-xs-10 {
  width: 83.333%;
}

.col-xs-11 {
  width: 91.666%;
}

.col-xs-12 {
  width: 100%;
}

@media print, screen and (min-width: 512px) {
  .col-sm-1 {
    width: 8.333%;
  }
  .col-sm-2 {
    width: 16.666%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-4 {
    width: 33.333%;
  }
  .col-sm-5 {
    width: 41.666%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-7 {
    width: 58.333%;
  }
  .col-sm-8 {
    width: 66.666%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-10 {
    width: 83.333%;
  }
  .col-sm-11 {
    width: 91.666%;
  }
  .col-sm-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 768px) {
  .col-md-1 {
    width: 8.333%;
  }
  .col-md-2 {
    width: 16.666%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-4 {
    width: 33.333%;
  }
  .col-md-5 {
    width: 41.666%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-7 {
    width: 58.333%;
  }
  .col-md-8 {
    width: 66.666%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-10 {
    width: 83.333%;
  }
  .col-md-11 {
    width: 91.666%;
  }
  .col-md-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 1020px) {
  .col-lg-1 {
    width: 8.333%;
  }
  .col-lg-2 {
    width: 16.666%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-4 {
    width: 33.333%;
  }
  .col-lg-5 {
    width: 41.666%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-7 {
    width: 58.333%;
  }
  .col-lg-8 {
    width: 66.666%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-10 {
    width: 83.333%;
  }
  .col-lg-11 {
    width: 91.666%;
  }
  .col-lg-12 {
    width: 100%;
  }
}
/*上下の余白の設定*/
.grid-xs-1col > .l-grid_col:nth-child(n+2),
.grid-xs-2col > .l-grid_col:nth-child(n+3),
.grid-xs-3col > .l-grid_col:nth-child(n+4),
.grid-xs-4col > .l-grid_col:nth-child(n+5),
.grid-xs-5col > .l-grid_col:nth-child(n+6),
.grid-xs-6col > .l-grid_col:nth-child(n+7),
.grid-xs-7col > .l-grid_col:nth-child(n+8),
.grid-xs-8col > .l-grid_col:nth-child(n+9),
.grid-xs-9col > .l-grid_col:nth-child(n+10),
.grid-xs-10col > .l-grid_col:nth-child(n+11),
.grid-xs-11col > .l-grid_col:nth-child(n+12),
.grid-xs-12col > .l-grid_col:nth-child(n+13) {
  margin-top: 20px;
}

@media print, screen and (min-width: 512px) {
  .grid-sm-1col > .l-grid_col:nth-child(-n+2),
  .grid-sm-2col > .l-grid_col:nth-child(-n+3),
  .grid-sm-3col > .l-grid_col:nth-child(-n+4),
  .grid-sm-4col > .l-grid_col:nth-child(-n+5),
  .grid-sm-5col > .l-grid_col:nth-child(-n+6),
  .grid-sm-6col > .l-grid_col:nth-child(-n+7),
  .grid-sm-7col > .l-grid_col:nth-child(-n+8),
  .grid-sm-8col > .l-grid_col:nth-child(-n+9),
  .grid-sm-9col > .l-grid_col:nth-child(-n+10),
  .grid-sm-10col > .l-grid_col:nth-child(-n+11),
  .grid-sm-11col > .l-grid_col:nth-child(-n+12),
  .grid-sm-12col > .l-grid_col:nth-child(-n+13) {
    margin-top: 0;
  }
  .grid-sm-1col > .l-grid_col:nth-child(n+2),
  .grid-sm-2col > .l-grid_col:nth-child(n+3),
  .grid-sm-3col > .l-grid_col:nth-child(n+4),
  .grid-sm-4col > .l-grid_col:nth-child(n+5),
  .grid-sm-5col > .l-grid_col:nth-child(n+6),
  .grid-sm-6col > .l-grid_col:nth-child(n+7),
  .grid-sm-7col > .l-grid_col:nth-child(n+8),
  .grid-sm-8col > .l-grid_col:nth-child(n+9),
  .grid-sm-9col > .l-grid_col:nth-child(n+10),
  .grid-sm-10col > .l-grid_col:nth-child(n+11),
  .grid-sm-11col > .l-grid_col:nth-child(n+12),
  .grid-sm-12col > .l-grid_col:nth-child(n+13) {
    margin-top: 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .grid-md-1col > .l-grid_col:nth-child(-n+2),
  .grid-md-2col > .l-grid_col:nth-child(-n+3),
  .grid-md-3col > .l-grid_col:nth-child(-n+4),
  .grid-md-4col > .l-grid_col:nth-child(-n+5),
  .grid-md-5col > .l-grid_col:nth-child(-n+6),
  .grid-md-6col > .l-grid_col:nth-child(-n+7),
  .grid-md-7col > .l-grid_col:nth-child(-n+8),
  .grid-md-8col > .l-grid_col:nth-child(-n+9),
  .grid-md-9col > .l-grid_col:nth-child(-n+10),
  .grid-md-10col > .l-grid_col:nth-child(-n+11),
  .grid-md-11col > .l-grid_col:nth-child(-n+12),
  .grid-md-12col > .l-grid_col:nth-child(-n+13) {
    margin-top: 0;
  }
  .grid-md-1col > .l-grid_col:nth-child(n+2),
  .grid-md-2col > .l-grid_col:nth-child(n+3),
  .grid-md-3col > .l-grid_col:nth-child(n+4),
  .grid-md-4col > .l-grid_col:nth-child(n+5),
  .grid-md-5col > .l-grid_col:nth-child(n+6),
  .grid-md-6col > .l-grid_col:nth-child(n+7),
  .grid-md-7col > .l-grid_col:nth-child(n+8),
  .grid-md-8col > .l-grid_col:nth-child(n+9),
  .grid-md-9col > .l-grid_col:nth-child(n+10),
  .grid-md-10col > .l-grid_col:nth-child(n+11),
  .grid-md-11col > .l-grid_col:nth-child(n+12),
  .grid-md-12col > .l-grid_col:nth-child(n+13) {
    margin-top: 40px;
  }
  .grid-md-1col.is-short > .l-grid_col:nth-child(n+2),
  .grid-md-2col.is-short > .l-grid_col:nth-child(n+3),
  .grid-md-3col.is-short > .l-grid_col:nth-child(n+4),
  .grid-md-4col.is-short > .l-grid_col:nth-child(n+5),
  .grid-md-5col.is-short > .l-grid_col:nth-child(n+6),
  .grid-md-6col.is-short > .l-grid_col:nth-child(n+7),
  .grid-md-7col.is-short > .l-grid_col:nth-child(n+8),
  .grid-md-8col.is-short > .l-grid_col:nth-child(n+9),
  .grid-md-9col.is-short > .l-grid_col:nth-child(n+10),
  .grid-md-10col.is-short > .l-grid_col:nth-child(n+11),
  .grid-md-11col.is-short > .l-grid_col:nth-child(n+12),
  .grid-md-12col.is-short > .l-grid_col:nth-child(n+13) {
    margin-top: 30px;
  }
}
@media print, screen and (min-width: 1020px) {
  .grid-lg-1col > .l-grid_col:nth-child(-n+2),
  .grid-lg-2col > .l-grid_col:nth-child(-n+3),
  .grid-lg-3col > .l-grid_col:nth-child(-n+4),
  .grid-lg-4col > .l-grid_col:nth-child(-n+5),
  .grid-lg-5col > .l-grid_col:nth-child(-n+6),
  .grid-lg-6col > .l-grid_col:nth-child(-n+7),
  .grid-lg-7col > .l-grid_col:nth-child(-n+8),
  .grid-lg-8col > .l-grid_col:nth-child(-n+9),
  .grid-lg-9col > .l-grid_col:nth-child(-n+10),
  .grid-lg-10col > .l-grid_col:nth-child(-n+11),
  .grid-lg-11col > .l-grid_col:nth-child(-n+12),
  .grid-lg-12col > .l-grid_col:nth-child(-n+13) {
    margin-top: 0;
  }
  .grid-lg-1col > .l-grid_col:nth-child(n+2),
  .grid-lg-2col > .l-grid_col:nth-child(n+3),
  .grid-lg-3col > .l-grid_col:nth-child(n+4),
  .grid-lg-4col > .l-grid_col:nth-child(n+5),
  .grid-lg-5col > .l-grid_col:nth-child(n+6),
  .grid-lg-6col > .l-grid_col:nth-child(n+7),
  .grid-lg-7col > .l-grid_col:nth-child(n+8),
  .grid-lg-8col > .l-grid_col:nth-child(n+9),
  .grid-lg-9col > .l-grid_col:nth-child(n+10),
  .grid-lg-10col > .l-grid_col:nth-child(n+11),
  .grid-lg-11col > .l-grid_col:nth-child(n+12),
  .grid-lg-12col > .l-grid_col:nth-child(n+13) {
    margin-top: 40px;
  }
  .grid-lg-1col.is-short > .l-grid_col:nth-child(n+2),
  .grid-lg-2col.is-short > .l-grid_col:nth-child(n+3),
  .grid-lg-3col.is-short > .l-grid_col:nth-child(n+4),
  .grid-lg-4col.is-short > .l-grid_col:nth-child(n+5),
  .grid-lg-5col.is-short > .l-grid_col:nth-child(n+6),
  .grid-lg-6col.is-short > .l-grid_col:nth-child(n+7),
  .grid-lg-7col.is-short > .l-grid_col:nth-child(n+8),
  .grid-lg-8col.is-short > .l-grid_col:nth-child(n+9),
  .grid-lg-9col.is-short > .l-grid_col:nth-child(n+10),
  .grid-lg-10col.is-short > .l-grid_col:nth-child(n+11),
  .grid-lg-11col.is-short > .l-grid_col:nth-child(n+12),
  .grid-lg-12col.is-short > .l-grid_col:nth-child(n+13) {
    margin-top: 30px;
  }
}
.l-grid_col img {
  width: 100%;
  max-width: auto;
}

.l-grid_col.img-center {
  text-align: center;
}
.l-grid_col.img-center img {
  width: auto;
  max-width: 100%;
}

.l-grid_col.block-center {
  margin-left: auto;
  margin-right: auto;
}

/*----------------------------------------*/
/*  モーダル
/*----------------------------------------*/
.modal {
  position: relative;
  max-width: 1020px;
  margin: 0 auto;
  padding: 50px 15px 20px;
  transition: opacity 0.5s;
  opacity: 0;
  background-color: #fff;
}

.modal.is-show {
  opacity: 1;
}

.modal .icon-close {
  font-weight: bold;
  position: relative;
  top: -2px;
  margin-right: 5px;
}

.modal_bg {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  overflow: scroll;
  width: 100%;
  width: 100%;
  height: 100%;
  height: 100%;
  background-color: #fff;
}

.modal_wrap {
  display: none;
}

.modal_close {
  font-size: 2.4rem;
  line-height: 1;
  position: absolute;
  top: 20px;
  right: 15px;
  color: #ff4291;
}

.modal_foot {
  text-align: center;
}

.modal_foot_close {
  display: inline-block;
  padding: 20px;
}

@media screen and (min-width: 768px) {
  .modal {
    padding: 100px 20px 70px;
  }
  .modal_close {
    font-size: 3.2rem;
    top: 50px;
    right: 20px;
  }
  .modal_foot_close {
    padding: 30px;
  }
}
/*----------------------------------------*/
/*  MovableType.net サイトサーチ
/*----------------------------------------*/
/* PC版ヘッダー内 */
@media print, screen and (min-width: 768px) {
  .header_search .mt-site-search {
    padding: 15px 0 12px;
  }
  .header_search .mt-site-search-form {
    display: flex;
    width: 500px;
    margin: 0 auto;
  }
  .header_search .mt-site-search-form__query {
    order: 2;
    width: 90%;
    color: #3d3d3d;
    font-size: 1.4rem;
  }
  .header_search .mt-site-search-form__button {
    order: 1;
    width: 24px;
    height: 24px;
    margin: 0 15px 0 0;
    overflow: hidden;
  }
  .header_search .mt-site-search-form__button:before {
    content: "\ea18";
    display: inline-block;
    vertical-align: middle;
    font-family: "icon";
    font-size: 2.4rem;
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    speak: none;
    -webkit-font-smoothing: antialiased;
    color: #3d3d3d;
    line-height: 1;
  }
}
/* SP版メニュー内 */
@media print, screen and (max-width: 767px) {
  .spNav .mt-site-search {
    padding: 15px;
  }
  .spNav .mt-site-search-form {
    display: flex;
    background: #fff;
  }
  .spNav .mt-site-search-form__query {
    width: 82%;
    padding: 8px 10px;
    background: #fff;
    box-sizing: border-box;
    color: #3d3d3d;
    font-size: 1.6rem;
  }
  .spNav .mt-site-search-form__query::-webkit-input-placeholder {
    font-size: 1.3rem;
  }
  .spNav .mt-site-search-form__query:-ms-input-placeholder {
    font-size: 1.3rem;
  }
  .spNav .mt-site-search-form__query::-moz-placeholder {
    font-size: 1.3rem;
  }
  .spNav .mt-site-search-form__button {
    width: 18%;
    background: #ff4291;
    font-size: 0px;
    line-height: 1;
    overflow: hidden;
  }
  .spNav .mt-site-search-form__button:before {
    content: "\ea18";
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    font-family: "icon" !important;
    font-size: 2rem;
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-transform: none;
    speak: none;
    -webkit-font-smoothing: antialiased;
  }
}
/* PC、SPヘッダー内、相互非表示 */
@media print, screen and (min-width: 768px) {
  .spNav .mt-site-search-container {
    display: none;
  }
}
@media print, screen and (max-width: 767px) {
  .header_search .mt-site-search-container {
    display: none;
  }
}
/* よくあるご質問 */
.support_search .mt-site-search-form {
  display: flex;
  background: #fff;
}

.support_search .mt-site-search-form__query {
  flex: 1;
  padding: 12px 10px;
  background: #fff;
  font-size: 1.6rem;
}

.support_search .mt-site-search-form__query::-webkit-input-placeholder {
  font-size: 1.2rem;
}

.support_search .mt-site-search-form__query:-ms-input-placeholder {
  font-size: 1.2rem;
}

.support_search .mt-site-search-form__query::-moz-placeholder {
  font-size: 1.2rem;
}

.support_search .mt-site-search-form__button {
  width: 72px;
  background: #ff4291;
  cursor: pointer;
  color: #fff;
  font-size: 0px;
  margin-left: 10px;
}

.support_search .mt-site-search-form__button:before {
  content: "\ea18";
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  font-family: "icon" !important;
  font-size: 2.4rem;
  font-weight: normal;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-transform: none;
  speak: none;
  -webkit-font-smoothing: antialiased;
}

/* notFound */
.notFound_search .mt-site-search {
  width: 100%;
  margin: 0 auto 50px;
  background: #fff;
}

.notFound_search .mt-site-search-form {
  display: flex;
}

.notFound_search .mt-site-search-form__query {
  flex: 1;
  padding: 12px 10px;
  font-size: 1.6rem;
}

.notFound_search .mt-site-search-form__query::-webkit-input-placeholder {
  font-size: 1.2rem;
}

.notFound_search .mt-site-search-form__query:-ms-input-placeholder {
  font-size: 1.2rem;
}

.notFound_search .mt-site-search-form__query::-moz-placeholder {
  font-size: 1.2rem;
}

.notFound_search .mt-site-search-form__button {
  width: 72px;
  margin-left: 10px;
  background: #ff4291;
  cursor: pointer;
  color: #fff;
  font-size: 0px;
}

.notFound_search .mt-site-search-form__button:before {
  content: "\ea18";
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  font-family: "icon" !important;
  font-size: 2.4rem;
  font-weight: normal;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-transform: none;
  speak: none;
  -webkit-font-smoothing: antialiased;
}

@media print, screen and (min-width: 512px) {
  .notFound_search .mt-site-search {
    width: 90%;
  }
}
@media screen and (min-width: 768px) {
  .notFound_search .mt-site-search {
    width: 65%;
  }
}
/* 検索結果ページ用検索窓 */
.result_search .mt-site-search-form {
  display: flex;
  background: #fff;
}

.result_search .mt-site-search-form__query {
  flex: 1;
  font-size: 1.6rem;
  padding: 12px 10px;
  background: #fff;
}

.result_search .mt-site-search-form__query::-webkit-input-placeholder {
  font-size: 1.2rem;
}

.result_search .mt-site-search-form__query:-ms-input-placeholder {
  font-size: 1.2rem;
}

.result_search .mt-site-search-form__query::-moz-placeholder {
  font-size: 1.2rem;
}

.result_search .mt-site-search-form__button {
  width: 72px;
  margin-left: 10px;
  background: #ff4291;
  cursor: pointer;
  color: #fff;
  font-size: 0px;
}

.result_search .mt-site-search-form__button:before {
  content: "\ea18";
  color: #fff;
  font-family: "icon" !important;
  font-size: 2.4rem;
  font-weight: normal;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  text-transform: none;
  speak: none;
  -webkit-font-smoothing: antialiased;
}

@media screen and (min-width: 768px) {
  .result_search .mt-site-search-form {
    max-width: 390px;
  }
}
/* 検索結果一覧 */
.mt-site-search-result-container {
  margin: 30px 0;
}

.mt-site-search-result__message {
  border-bottom: 1px solid #3d3d3d;
  color: #3d3d3d;
  font-size: 1.6rem;
  line-height: 1.5;
}

.mt-site-search-result-item {
  margin: 20px 0 0;
}

.mt-site-search-result-item__label {
  color: #3d3d3d;
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: bold;
}

.mt-site-search-result-item__url {
  color: #ff4291;
  font-size: 1.3rem;
  line-height: 1.5;
}

.mt-site-search-result-item__excerpt {
  color: #3d3d3d;
  font-size: 1.2rem;
  line-height: 1.5;
}

.mt-site-search-result-item__excerpt br {
  display: none;
}

.mt-site-search-result-item__excerpt b {
  /*color: yellow;*/
}

.mt-site-search__pagination {
  margin: 30px 0 0;
  text-align: center;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: bold;
}

.mt-site-search-pagination-item {
  margin: 0 5px;
}

.mt-site-search-pagination-item--current a {
  color: #3d3d3d;
}

@media screen and (min-width: 768px) {
  .mt-site-search-result-container {
    margin: 40px 10px;
  }
  .mt-site-search-result__message {
    font-size: 1.8rem;
  }
  .mt-site-search-result-item {
    margin: 30px 0 0;
  }
  .mt-site-search-result-item__label {
    font-size: 1.8rem;
  }
  .mt-site-search-result-item__url {
    font-size: 1.5rem;
  }
  .mt-site-search-result-item__excerpt {
    font-size: 1.5rem;
  }
}
/*----------------------------------------*/
/*  ニュース一覧
/*----------------------------------------*/
.newsList_ttl {
  padding-left: 15px;
}

.newsList_item {
  padding: 15px;
}

@media screen and (max-width: 767px) {
  .newsList_item {
    border-bottom: 1px solid #e5e5e5;
  }
  .newsList_item:first-child {
    border-top: 1px solid #e5e5e5;
  }
  .bg-white .newsList_item {
    border-bottom: 1px solid #eee;
  }
}
.newsList_item > div {
  margin-bottom: 5px;
}

.newsList a {
  display: inline;
  padding: 2px 0;
  transition: color 0.3s;
  color: #3d3d3d;
}

.newsList a:hover {
  color: #ff4291;
}

.bg-white .newsList a {
  color: #3d3d3d;
}

.bg-white .newsList a:hover {
  color: #ff4291;
}

.newsList-date {
  font-size: 1.2rem;
  margin-right: 5px;
  color: #a4a2a2;
}

.newsList-cate {
  font-size: 1.2rem;
  display: inline-block;
  min-width: 115px;
  padding: 2px 10px;
  text-align: center;
  color: #ff4291;
  border: 1px solid #ff4291;
}

.newsList-title {
  font-size: 2rem;
  font-weight: bold;
  margin-top: 10px;
  line-height: 1.3;
}

.newsList-important {
  color: #fff;
  background: #ff4291;
}

@media print, screen and (min-width: 768px) {
  .newsList_ttl {
    margin-bottom: 15px;
    padding-left: 0;
  }
  .newsList_item {
    display: flex;
    padding: 16px 0;
  }
  .newsList_item > div {
    width: 240px;
    min-width: 240px;
    margin-right: 20px;
    margin-bottom: 0;
  }
  .newsList_item > a {
    display: inline-block;
  }
  .newsList-date {
    font-size: 1.4rem;
    margin-right: 10px;
  }
  .newsList-cate {
    font-size: 1.3rem;
    padding: 4px 10px;
  }
  .newsList-title {
    font-weight: bold;
    font-size: 2.8rem;
    margin-top: 10px;
    line-height: 1.3;
  }
}
.newsList-home a {
  color: #3d3d3d;
}

.newsList-home .newsList_item {
  border-color: #eee;
}

.newsList-home .newsList-cate {
  background-color: #fff;
}

.newsList-home .newsList-important {
  border: 1px solid #ff4291;
  background-color: #ff4291;
}

/*----------------------------------------*/
/*  ニュース詳細
/*----------------------------------------*/
.newsDetail {
  padding: 0 15px;
}

.newsDetail_header {
  margin-top: 25px;
  margin-bottom: 15px;
}

.newsDetail_body {
  text-align: justify;
  word-break: break-all;
}

@media print, screen and (min-width: 768px) {
  .newsDetail {
    padding: 0;
  }
  .newsDetail_header {
    margin-top: 55px;
    margin-bottom: 30px;
  }
}
/*----------------------------------------*/
/*  ページャー
/*----------------------------------------*/
.pager {
  margin-top: 25px;
  text-align: center;
}

.pager > li {
  line-height: 40px;
  display: inline-block;
  vertical-align: top;
}

.pager_btn {
  display: block;
  width: 40px;
  height: 40px;
  transition: all 0.3s;
  border: 1px solid #ff4291;
}

.pager_btn i {
  font-size: 1.8rem;
  display: block;
  padding: 10px;
}

.pager_btn:hover {
  color: #fff;
  background-color: #ff4291;
}

.pager_current {
  padding: 0 10px;
}

.pager_num {
  display: block;
  padding: 0 10px;
  text-decoration: underline;
}

.pager_num:hover {
  text-decoration: none;
  color: #fff;
}

.pager_ellipsis {
  padding: 0 5px;
}

.pager-prev {
  margin-right: 10px;
}

.pager-next {
  margin-left: 10px;
}

@media print, screen and (min-width: 768px) {
  .pager {
    margin-top: 50px;
  }
  .pager_btn i {
    font-weight: bold;
  }
  .pager_current {
    padding: 0 15px;
  }
  .pager_num {
    padding: 0 15px;
  }
  .pager-prev {
    margin-right: 20px;
  }
  .pager-next {
    margin-left: 20px;
  }
}
/*----------------------------------------*/
/*  記事・ページ H1エリア
/*----------------------------------------*/
.pageHeader {
  position: relative;
  text-align: center;
  background-color: #ff4291;
  background-repeat: no-repeat;
  background-position: center center;
}

.pageHeader-md {
  width: 100%;
  height: 100px;
  padding-top: 15px;
  background-color: #fff;
}

.pageHeader-lg {
  width: 100%;
  padding-top: 50%;
  background-size: contain;
}

.pageHeader-lg_inner {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding-right: 15px;
  padding-left: 15px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.pageHeader_inner {
  padding: 15px 15px 10px;
}
.pageHeader_inner.--noLabel {
  padding: 15px 20px;
}

.pageHeader_label {
  font-size: 1.6rem;
  line-height: 1;
  margin-bottom: 5px;
  color: rgba(255, 255, 255, 0.5);
  font-weight: 400;
}

.pageHeader-lg .pageHeader_label {
  color: #fff;
}

.pageHeader_ttl {
  font-size: 2rem;
  line-height: 1.3;
  font-weight: 400;
}

.pageHeader_ttl-main {
  color: #fff;
  font-size: 2.8rem;
  font-weight: 400;
  line-height: 1.2;
}

.pageHeader_ttl-text {
  color: #fff;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.2;
  padding-top: 10px;
}

@media print, screen and (min-width: 512px) {
  .pageHeader-md {
    height: 160px;
    padding-top: 20px;
  }
  .pageHeader-lg {
    width: 100%;
    height: 160px;
    padding-top: 0;
    background-color: #fff;
    background-size: cover;
  }
  .pageHeader-lg_inner {
    position: static;
    max-width: 1280px;
    height: 100%;
    margin: 0 auto;
  }
  .pageHeader_inner {
    max-width: 1040px;
    margin: 0 auto;
    padding: 30px 0px 20px;
  }
  .pageHeader_inner.--noLabel {
    padding: 30px 20px;
  }
  .pageHeader_label {
    font-size: 1.6rem;
    margin-bottom: 8px;
    letter-spacing: -0.03em;
  }
  .pageHeader_ttl {
    font-size: 3.2rem;
  }
}
@media print, screen and (min-width: 768px) {
  .pageHeader {
    margin-top: 145px;
  }
  .re-header + .pageHeader {
    margin-top: 0;
    padding-top: 0;
  }
  .pageHeader-lg {
    height: 240px;
    background-size: auto;
  }
  .pageHeader_ttl-main {
    font-size: 3.8rem;
  }
  .pageHeader_ttl-text {
    font-size: 1.8rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .pageHeader {
    margin-top: 117px;
  }
}
.pageHeader-news {
  background-image: url(../images/news/header_news_sm.jpg);
}

.pageHeader-players {
  background-image: url(../images/players/header_players_sm.jpg);
}

.pageHeader-blade {
  background-image: url(../images/products/header_blade_sm.jpg);
}

.pageHeader-rubber {
  background-image: url(../images/products/header_rubber_sm.jpg);
}

.pageHeader-ball {
  background-image: url(../images/products/header_ball_sm.jpg);
}

.pageHeader-shoes {
  background-image: url(../images/products/header_shoes_sm.jpg);
}

.pageHeader-apparel {
  background-image: url(../images/products/header_apparel_sm.jpg);
}

.pageHeader-table_equipment {
  background-image: url(../images/products/header_table_equipment_sm.jpg);
}

.pageHeader-bag_case {
  background-image: url(../images/products/header_bag_case_sm.jpg);
}

.pageHeader-maintenance {
  background-image: url(../images/products/header_maintenance_sm.jpg);
}

.pageHeader-video_book {
  background-image: url(../images/products/header_video_book_sm.jpg);
}

.pageHeader-about {
  background-image: url(../images/about/header_about_sm.jpg);
}

.pageHeader-support {
  background-image: url(../images/support/header_support_sm.jpg);
}

.pageHeader-shop {
  background-image: url(../images/shop/header_shop_sm.jpg);
}

.pageHeader-beginners {
  background-image: url(../images/learning/header_beginners_sm.jpg);
}

.pageHeader-learning {
  background-image: url(../images/learning/header_learning_sm.jpg);
}

.pageHeader-combination {
  background-image: url(../images/learning/header_combination_sm.jpg);
}

.pageHeader-introduction {
  background-image: url(../images/learning/header_introduction_sm.jpg);
}

.pageHeader-story {
  background-image: url(../images/story/header_story_sm.jpg);
}

.pageHeader-history {
  background-image: url(../images/story/header_history_sm.jpg);
}

@media print, screen and (min-width: 512px) {
  .pageHeader-news {
    background-image: url(../images/news/header_news_lg.jpg);
  }
  .pageHeader-players {
    background-image: url(../images/players/header_players_lg.jpg);
  }
  .pageHeader-blade {
    background-image: url(../images/products/header_blade_lg.jpg);
  }
  .pageHeader-rubber {
    background-image: url(../images/products/header_rubber_lg.jpg);
  }
  .pageHeader-ball {
    background-image: url(../images/products/header_ball_lg.jpg);
  }
  .pageHeader-shoes {
    background-image: url(../images/products/header_shoes_lg.jpg);
  }
  .pageHeader-apparel {
    background-image: url(../images/products/header_apparel_lg.jpg);
  }
  .pageHeader-table_equipment {
    background-image: url(../images/products/header_table_equipment_lg.jpg);
  }
  .pageHeader-bag_case {
    background-image: url(../images/products/header_bag_case_lg.jpg);
  }
  .pageHeader-maintenance {
    background-image: url(../images/products/header_maintenance_lg.jpg);
  }
  .pageHeader-video_book {
    background-image: url(../images/products/header_video_book_lg.jpg);
  }
  .pageHeader-about {
    background-image: url(../images/about/header_about_lg.jpg);
  }
  .pageHeader-support {
    background-image: url(../images/support/header_support_lg.jpg);
  }
  .pageHeader-shop {
    background-image: url(../images/shop/header_shop_lg.jpg);
  }
  .pageHeader-beginners {
    background-image: url(../images/learning/header_beginners_lg.jpg);
  }
  .pageHeader-learning {
    background-image: url(../images/learning/header_learning_lg.jpg);
  }
  .pageHeader-combination {
    background-image: url(../images/learning/header_combination_lg.jpg);
  }
  .pageHeader-introduction {
    background-image: url(../images/learning/header_introduction_lg.jpg);
  }
  .pageHeader-story {
    background-image: url(../images/story/header_story_lg.jpg);
  }
  .pageHeader-history {
    background-image: url(../images/story/header_history_lg.jpg);
  }
}
@media print, screen and (min-width: 1280px) {
  .pageHeader-lg {
    background-size: contain;
  }
}
/*----------------------------------------*/
/*  スライダー
/*----------------------------------------*/
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

@media print, screen and (min-width: 768px) {
  .slick-slider a {
    display: block;
    transition: opacity 0.3s;
  }
  .slick-slider a:hover {
    opacity: 0.6;
  }
}
.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
  transition: opacity 0.3s;
}

@media print, screen and (min-width: 512px) {
  .mainSlider .slick-slide:not(.slick-current) {
    opacity: 0.3;
  }
}
[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url("../images/common/ajax-loader.gif") center center no-repeat;
}

/* Arrows */
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  z-index: 10;
  bottom: -42px;
  display: block;
  width: 32px;
  height: 32px;
  padding: 0;
  cursor: pointer;
  border: none;
  outline: none;
  background: transparent;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  outline: none;
  background: transparent;
}

.slick-prev:before,
.slick-next:before {
  font-family: "icon" !important;
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1;
  color: #ff4291;
}

.slick-prev {
  left: 10px;
}

.slick-next {
  right: 10px;
}

.slick-prev:before {
  content: "\ea03";
}

.slick-next:before {
  content: "\ea04";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 20px;
}

@media print, screen and (min-width: 768px) {
  .slick-dotted.slick-slider {
    margin-bottom: 38px;
  }
}
.slick-dots {
  font-size: 0;
  position: absolute;
  bottom: -50px;
  display: flex !important;
  width: 74%;
  height: 45px;
  margin-left: 13%;
  text-align: center;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  margin: 3px 5px;
  cursor: pointer;
}

.slick-dots li button {
  display: block;
  width: 12px;
  height: 12px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 12px;
  height: 12px;
  content: "";
  border-radius: 50%;
  background-color: #cdcdcd;
}

.slick-dots li.slick-active button:before {
  opacity: 1;
  background-color: #ff4291;
}

@media print, screen and (min-width: 512px) {
  .slick-prev,
  .slick-next {
    bottom: -55px;
  }
  .slick-prev {
    left: 50%;
    margin-left: -240px;
  }
  .slick-next {
    right: 50%;
    margin-right: -240px;
  }
  .slick-dotted.slick-slider {
    margin-bottom: 36px;
  }
  .slick-dots {
    bottom: -65px;
    left: 50%;
    width: 400px;
    height: 52px;
    margin-left: -200px;
  }
  .slick-dots li {
    margin: 4px 6px;
  }
  .slick-dots li button {
    width: 16px;
    height: 16px;
  }
  .slick-dots li button:before {
    width: 16px;
    height: 16px;
  }
}
/*----------------------------------------*/
/*  SNSボタン
/*----------------------------------------*/
.snsBtn {
  text-align: center;
  padding: 40px 0 20px;
  position: relative;
  z-index: 100;
}

.snsBtn_item {
  display: inline-block;
  margin: 0 4px;
  vertical-align: top !important;
}

.snsBtn-fb {
  line-height: 1;
}

@media print, screen and (min-width: 768px) {
  .snsBtn-line {
    display: none;
  }
}
/*----------------------------------------*/
/* （契約選手上）カテゴリタブ
/*----------------------------------------*/
.tab {
  overflow: hidden;
  height: 40px;
  margin-right: -15px;
}

.tab_inner {
  overflow-x: auto;
  width: 100%;
  height: 70px;
  padding-right: 15px;
  -webkit-overflow-scrolling: touch;
}

.tab_list {
  display: inline-table;
  max-width: 100%;
}

.tab_item {
  line-height: 40px;
  display: table-cell;
  min-width: 100px;
  height: 40px;
  cursor: pointer;
  transition: color 0.2s;
  text-align: center;
  background-color: #e5e5e5;
}

.tab_item:hover {
  color: #ff4291;
}

.tab_item:not(:last-child) {
  border-right: 1px solid #fff;
}

.tab_item.is-current {
  position: relative;
}

.tab_item.is-current:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  content: "";
  background-color: #ff4291;
}

.tab_link {
  display: block;
  color: #3d3d3d;
  transition: 0.2s;
}

.tab_item:hover .tab_link {
  color: #ff4291;
}

@media print, screen and (min-width: 512px) {
  .tab {
    height: 56px;
    margin-right: 0;
  }
  .tab_inner {
    overflow-x: hidden;
    width: 100%;
    height: 56px;
    padding-right: 0;
  }
  .tab_list {
    display: table;
    width: 100%;
    table-layout: fixed;
  }
  .tab_item {
    line-height: 56px;
    height: 56px;
  }
  .tab-3col .tab_item {
    width: 33.333%;
  }
  .tab-4col .tab_item {
    width: 25%;
  }
  .tab-5col .tab_item {
    width: 20%;
  }
}
.tab_contents {
  display: none;
}

.tab_contents.is-active {
  display: block;
}

/*----------------------------------------*/
/*  テーブル
/*----------------------------------------*/
.table {
  width: 100%;
  border-collapse: separate;
  border-top: 1px solid #e5e5e5;
}

.table th,
.table td {
  vertical-align: middle;
  border-bottom: 1px solid #e5e5e5;
}

.bg-gray .table, .bg-gray .table th,
.bg-gray .table td {
  border-color: #d5d5d5;
}

.table th {
  padding: 15px 10px;
}

.table td {
  padding: 15px 10px;
}

.table a:not(.btn) {
  text-decoration: underline;
}

.table a:not(.btn):hover {
  text-decoration: none;
}

.table-2col th {
  white-space: nowrap;
}

.table-2col td {
  width: 90%;
}

.table-more {
  border-top: none;
}

@media screen and (max-width: 767px) {
  .table-vertical-sm th,
  .table-vertical-sm td {
    display: block;
    padding: 5px 0 0 0;
  }
  .table-vertical-sm th:first-child,
  .table-vertical-sm td:first-child {
    padding-top: 20px;
  }
  .table-vertical-sm th:last-child,
  .table-vertical-sm td:last-child {
    padding-bottom: 20px;
  }
  .table-vertical-sm th:not(:last-child),
  .table-vertical-sm td:not(:last-child) {
    border-bottom: none;
  }
  .table-vertical-sm .table-vertical_mb {
    margin-bottom: 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .table th {
    padding: 20px 15px;
  }
  .table td {
    padding: 20px 15px;
  }
}
.productDetail-apparel table,
.table-block {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

.productDetail-apparel table th,
.productDetail-apparel table td,
.table-block th,
.table-block td {
  font-weight: normal;
  padding: 10px 15px;
  text-align: center;
  border: 1px solid #d5d5d5;
}

.productDetail-apparel table th,
.productDetail-apparel table tr > td:first-child,
.table-block th,
.table-block tr > td:first-child {
  background-color: #eee;
}

@media print, screen and (min-width: 768px) {
  .productDetail-apparel table th,
  .productDetail-apparel table td,
  .table-block th,
  .table-block td {
    padding: 20px 10px;
    vertical-align: middle;
  }
}
@media print, screen and (max-width: 767px) {
  .table-twin .table {
    width: 100%;
    table-layout: fixed;
  }
  .table-twin_01 th,
  .table-twin_02 th {
    width: 140px;
    white-space: normal !important;
  }
  .table-twin_02 {
    margin-top: -1px;
  }
  .table-twin_02 table {
    border-top: none;
  }
}
@media print, screen and (min-width: 768px) {
  .table-twin {
    display: flex;
    margin-right: -15px;
    margin-left: -15px;
  }
  .table-twin_01,
  .table-twin_02 {
    width: 50%;
    padding-right: 15px;
    padding-left: 15px;
  }
}
/*----------------------------------------*/
/*  タイトル
/*----------------------------------------*/
.ttl-lg {
  font-size: 1.9rem;
  font-weight: normal;
  line-height: 1.3;
  vertical-align: middle;
}

.ttl-lg span:not(.ib) {
  font-size: 1.2rem;
  display: inline-block;
  margin-left: 5px;
  vertical-align: middle;
}

.bg-white .ttl-lg {
  color: #3d3d3d;
}

@media print, screen and (min-width: 768px) {
  .ttl-lg {
    font-size: 2.6rem;
  }
  .ttl-lg span:not(.ib) {
    font-size: 1.4rem;
  }
}
.ttl-md {
  font-size: 1.7rem;
  font-weight: normal;
  line-height: 1.3;
}

@media print, screen and (min-width: 768px) {
  .ttl-md {
    font-size: 2rem;
  }
}
.ttl-area {
  position: relative;
}

.ttl-area_sub {
  font-size: 1.2rem;
  line-height: 1;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -6px;
}

.ttl-area_subItem {
  margin-top: 10px;
}

@media print, screen and (min-width: 768px) {
  .ttl-area_sub {
    font-size: 1.3rem;
    margin-top: -7px;
  }
  .ttl-area_subItem {
    position: absolute;
    top: 0;
    right: 0;
    margin-top: 0;
  }
  .ttl-area_subItem.btnSet {
    top: -5px;
  }
}
/*----------------------------------------*/
/*  会社案内
/*----------------------------------------*/
.about-box1 p {
  margin-bottom: 10px;
  text-align: center;
}

.about-box1 p.pc {
  display: none;
}

.about-box1 p:last-child {
  margin-bottom: 0;
}

.about-box1 img {
  max-width: 300px;
}

.company-img img {
  margin-top: 10px;
}

.history-table th {
  width: 20%;
}

.address-box {
  width: 100%;
  margin: 0 auto;
  padding: 10px;
  border: 2px solid #e5e5e5;
}

@media print, screen and (min-width: 512px) {
  .about-box1 p {
    display: none;
  }
  .about-box1 p.pc {
    display: block;
  }
  .about-box1 img {
    width: 100%;
    max-width: 800px;
  }
  .company-img span {
    float: left;
    width: 50%;
  }
  .company-img img {
    float: right;
    width: 50%;
    margin-top: 0;
  }
  .history-table th {
    width: 150px;
  }
  .address-box {
    width: 50%;
  }
}
/* /about/history/用CSS追加 2020/11 */
.history .l-sec {
  padding-top: 15px;
}

.historyNav__outer {
  height: 50px;
  margin-bottom: 30px;
}

@media screen and (min-width: 768px) {
  .history .l-sec {
    padding-top: 40px;
  }
  .historyNav__outer {
    height: 57px;
    margin-bottom: 40px;
  }
}
.historyNav {
  position: static;
  z-index: 15;
  overflow-y: hidden;
  width: 100%;
  height: 50px;
}

.historyNav.is-fixed {
  position: fixed;
  top: 0;
  left: 15px;
}

.historyNav__wrap {
  font-size: 0;
  overflow-x: auto;
  width: 100%;
  padding-bottom: 50px;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

@media screen and (min-width: 768px) {
  .historyNav {
    overflow-y: visible;
    height: auto;
  }
  .historyNav.is-fixed {
    position: fixed;
    top: 50px;
    left: 50%;
    max-width: 980px;
    transform: translateX(-50%);
  }
  .historyNav__wrap {
    position: static;
    display: flex;
    overflow-x: visible;
    margin-right: auto;
    margin-left: auto;
    padding-bottom: 0;
    white-space: wrap;
  }
  .historyNav__list {
    flex: 1 1 100%;
  }
}
.historyNav__list {
  display: inline-block;
}

.historyNav__list:not(:last-child) {
  border-right: 1px solid #fff;
}

.historyNav__list.is-current .historyNav__link {
  border-color: #ff4291;
}

.historyNav__link {
  font-size: 1.4rem;
  display: flex;
  width: 120px;
  height: 48px;
  transition-timing-function: ease-out;
  transition-duration: 0.2s;
  transition-property: border-color;
  text-align: center;
  color: #3d3d3d;
  border-bottom: 2px solid #e5e5e5;
  background-color: #e5e5e5;
  justify-content: center;
  align-items: center;
}

@media screen and (min-width: 1025px) {
  .historyNav__link:hover {
    border-color: #ff4291;
  }
}
.historyContents {
  padding-right: 5px;
  padding-left: 5px;
}

.historyDigest {
  margin-bottom: 60px;
}

@media screen and (min-width: 768px) {
  .historyNav__link {
    font-size: 1.5rem;
    width: 100%;
    height: 57px;
  }
  .historyContents {
    padding: 0;
  }
  .historyDigest {
    margin-bottom: 80px;
  }
}
.historyDigest__list:not(:last-child) {
  margin-bottom: 40px;
}

.historyDigest__list:nth-child(1) .historyDigest__img {
  background-image: url(/assets/images/about/history/digest-bg_01.jpg);
}

.historyDigest__list:nth-child(2) .historyDigest__img {
  background-image: url(/assets/images/about/history/digest-bg_02.jpg);
}

.historyDigest__list:nth-child(3) .historyDigest__img {
  background-image: url(/assets/images/about/history/digest-bg_03.jpg);
}

.historyDigest__list:nth-child(4) .historyDigest__img {
  background-image: url(/assets/images/about/history/digest-bg_04.jpg);
}

.historyDigest__list:nth-child(5) .historyDigest__img {
  background-image: url(/assets/images/about/history/digest-bg_05.jpg);
}

.historyDigest__list:nth-child(6) .historyDigest__img {
  background-image: url(/assets/images/about/history/digest-bg_06.jpg);
}

.historyDigest__list.is-active .historyDigest__text {
  transform: scaleX(1);
}

.historyDigest__list.is-active .historyDigest__text > * {
  transform: translateY(0);
  opacity: 1;
}

@media screen and (min-width: 768px) {
  .historyDigest__list {
    display: flex;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
  }
  .historyDigest__list.is-fill .historyDigest__text {
    background-color: #1b1b1b;
  }
  .historyDigest__list:nth-child(odd) {
    flex-direction: row-reverse;
  }
  .historyDigest__list:nth-child(even) .historyDigest__text {
    transform-origin: right center;
  }
  .historyDigest__list:nth-child(n) .historyDigest__img {
    background-image: none;
  }
  .historyDigest__list:nth-child(1) {
    background-image: url(/assets/images/about/history/digest-bg_01.jpg);
  }
  .historyDigest__list:nth-child(2) {
    background-image: url(/assets/images/about/history/digest-bg_02.jpg);
  }
  .historyDigest__list:nth-child(3) {
    background-image: url(/assets/images/about/history/digest-bg_03.jpg);
  }
  .historyDigest__list:nth-child(4) {
    background-image: url(/assets/images/about/history/digest-bg_04.jpg);
  }
  .historyDigest__list:nth-child(5) {
    background-image: url(/assets/images/about/history/digest-bg_05.jpg);
  }
  .historyDigest__list:nth-child(6) {
    background-image: url(/assets/images/about/history/digest-bg_06.jpg);
  }
}
.historyDigest__img {
  position: relative;
  padding-top: 57.9%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.historyDigest__img img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 258px;
  transform: translateX(-50%) translateY(-50%);
}

@media screen and (min-width: 768px) {
  .historyDigest__img {
    width: 50%;
    padding-top: 0;
  }
  .historyDigest__img img {
    width: 479px;
  }
}
.historyDigest__text {
  padding: 25px 20px 20px;
  transition-duration: 0.3s;
  transition-property: transform;
  transform: scaleX(0);
  transform-origin: left center;
  color: #000;
  background-color: #eee;
}

.historyDigest__text > *,
.historyYear__intro {
  -webkit-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  -webkit-transition-property: -webkit-transform opacity;
  -o-transition-property: transform opacity;
  opacity: 0;
}

.historyDigest__text > * {
  transition-duration: 0.3s;
  transition-property: transform opacity;
  transform: translateY(5px);
}

.historyDigest__text .btn {
  transition-delay: 0.6s;
}

.historyDigest__ttl {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.3;
  transition-delay: 0.4s;
}

@media screen and (min-width: 768px) {
  .historyDigest__text {
    width: 50%;
    padding: 95px 40px 20px 50px;
    color: #fff;
    background-color: rgba(27, 27, 27, 0.4);
  }
  .historyDigest__ttl {
    font-size: 4rem;
    margin-bottom: 5px;
  }
}
.historyDigest__year {
  font-size: 1.4rem;
  font-style: oblique;
  margin-bottom: 15px;
  transition-delay: 0.4s;
  color: #000;
}

@media screen and (min-width: 768px) {
  .historyDigest__year {
    color: #fff;
    font-size: 2rem;
    margin-bottom: 35px;
  }
}
.historyDigest__desc {
  font-size: 1.4rem;
  line-height: 1.8;
  margin-bottom: 30px;
  transition-delay: 0.5s;
}

.historyDigest__link {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  position: relative;
  display: inline-block;
  padding-right: 15px;
  color: #ff4291;
}

.historyDigest__link:before {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 7px;
  height: 7px;
  content: "";
  transform: translateY(-50%) rotate(45deg);
  border-top: 2px solid #ff4291;
  border-right: 2px solid #ff4291;
}

.historyYear__wrap {
  overflow: hidden;
}

.historyYear__list {
  position: relative;
  padding-left: 80px;
}

.historyYear__list:not(:last-child) {
  padding-bottom: 70px;
}

.historyYear__list:before {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 50px;
  width: 4px;
  height: 100%;
  content: "";
  background-color: #ff4291;
}

.historyYear__list:first-child .historyYear__record__year:first-child .historyYear__year:after {
  position: absolute;
  z-index: 1;
  top: 4px;
  left: 50px;
  width: 4px;
  height: 100vh;
  content: "";
  transform: rotate(180deg);
  transform-origin: top center;
  background-color: #e5e5e5;
}

@media screen and (min-width: 768px) {
  .historyDigest__desc {
    font-size: 1.5rem;
  }
  .historyYear__list {
    padding-left: 140px;
  }
  .historyYear__list:before {
    left: 100px;
    width: 8px;
  }
  .historyYear__list:first-child .historyYear__record__year:first-child .historyYear__year:after {
    top: 11px;
    left: 70px;
    width: 8px;
  }
}
.historyYear__intro {
  padding-bottom: 50px;
  transition-duration: 0.3s;
  transition-property: transform opacity;
  transform: translateY(10px);
}

.historyYear__intro.is-active {
  transform: translateY(0);
  opacity: 1;
}

.historyYear__ttl {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.3;
}

@media screen and (min-width: 768px) {
  .historyYear__ttl {
    font-size: 4.6rem;
  }
}
.historyYear__year {
  font-size: 1.4rem;
  margin-bottom: 10px;
  color: #ff4291;
}

@media screen and (min-width: 768px) {
  .historyYear__year {
    font-size: 2rem;
  }
}
.historyYear__text {
  font-size: 1.4rem;
  line-height: 1.8;
}

.historyYear__record__year {
  position: relative;
  transition-duration: 0.3s;
  transition-property: transform opacity;
  transform: translateY(10px);
  opacity: 0;
}

.historyYear__record__year.is-active {
  transform: translateY(0);
  opacity: 1;
}

.historyYear__record__year:not(:last-child) {
  margin-bottom: 30px;
}

.historyYear__record__year .historyYear__year {
  position: relative;
}

.historyYear__record__year .historyYear__year:before {
  position: absolute;
  z-index: 2;
  top: 4px;
  left: 44px;
  width: 16px;
  height: 16px;
  content: "";
  border-radius: 50%;
  background-color: #ff4291;
}

.whitecircle:before {
  background-color: #fff !important;
  border: 5px solid #ff4291;
}

@media screen and (min-width: 768px) {
  .historyYear__record__year {
    display: flex;
    margin-left: -110px;
    justify-content: space-between;
    align-items: center;
  }
  .historyYear__record__year:not(:last-child) {
    margin-bottom: 40px;
  }
  .historyYear__record__year .historyYear__year:before {
    top: 10px;
    left: 62px;
    width: 24px;
    height: 24px;
  }
}
.historyYear__record__inner {
  position: relative;
  margin-bottom: 10px;
}

.historyYear__record__inner .historyYear__year {
  font-weight: 700;
  position: absolute;
  top: 0;
  left: -80px;
  margin-bottom: 0;
}

.historyAnchor {
  margin-top: -50px;
  padding-top: 50px;
}

@media screen and (min-width: 768px) {
  .historyYear__record__inner {
    display: flex;
    margin-right: 40px;
    margin-bottom: 0;
    align-items: center;
    justify-content: flex-end;
  }
  .historyYear__record__inner .historyYear__year {
    position: static;
    width: 110px;
    margin-right: 0;
    margin-left: auto;
    flex: 0 0 110px;
    align-self: flex-start;
  }
  .historyYear__record__inner .historyYear__text {
    width: calc(100% - 110px);
  }
  .historyYear__record__img {
    flex: 0 0 250px;
  }
  .historyAnchor {
    margin-top: -107px;
    padding-top: 107px;
  }
}
/* /about/dissemination/ */
.p-dissemination_mv {
  margin-bottom: 30px;
}

.p-dissemination_mv_bg {
  position: relative;
  z-index: 1;
  height: 90px;
  display: flex;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.6);
  margin-top: -90px;
}

.p-dissemination_mv_title {
  color: #fff;
  font-size: 32px;
  letter-spacing: 0.15em;
  font-weight: normal;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-dissemination_mv {
    margin-bottom: 60px;
  }
  .p-dissemination_mv_bg {
    height: 130px;
    margin-top: -130px;
  }
  .p-dissemination_mv_title {
    font-size: 46px;
    text-align: left;
  }
}
.p-dissemination_flex_text {
  margin-bottom: 20px;
}

.p-dissemination_flex_text a {
  text-decoration: underline;
}

.p-dissemination_flex_text a:hover {
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  .p-dissemination_flex {
    display: flex;
  }
  .p-dissemination_flex_text {
    flex: 1 1 475px;
    width: 475px;
    margin-bottom: 0;
    margin-right: 30px;
  }
  .p-dissemination_flex_img {
    flex: 1 1 475px;
    width: 475px;
  }
}
/* /about/global/ */
.p-global_mv {
  position: relative;
  margin-bottom: 30px;
  border-bottom: 1px solid #e5e5e5;
}

.p-global_mv img {
  width: 100%;
}

.p-global_mv_title {
  position: absolute;
  width: 100%;
  text-align: center;
  left: 0;
  top: 50vw;
  font-size: 3.2rem;
  letter-spacing: 0.07em;
  line-height: 1.4;
  color: #333;
}

@media screen and (min-width: 768px) {
  .p-global_mv {
    margin-bottom: 60px;
  }
  .p-global_mv_title {
    font-size: 4.6rem;
    letter-spacing: 0.05em;
    top: 64%;
  }
}
.p-global_flex:not(:last-child) {
  margin-bottom: 40px;
}

.p-global_flex_text {
  margin-bottom: 24px;
}

.p-global_flex_text a {
  color: #ff4291;
  transition-property: color;
  transition-timing-function: ease-out;
  transition-duration: 0.2s;
  text-decoration: underline;
}

.p-global_flex_text a:hover {
  color: #ff4291;
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  .p-global_flex_wrap {
    margin-bottom: 40px;
  }
  .p-global_flex {
    display: flex;
  }
  .p-global_flex:not(:last-child) {
    margin-bottom: 60px;
  }
  .p-global_flex--reverse {
    flex-direction: row-reverse;
  }
  .p-global_flex_text {
    flex: 1 1 475px;
    width: 475px;
    margin-bottom: 0;
    margin-right: 30px;
  }
  .p-global_flex--reverse .p-global_flex_text {
    margin-right: 0;
    margin-left: 30px;
  }
  .p-global_flex_img {
    flex: 1 1 475px;
    width: 475px;
  }
}
.messagetTrademark {
  text-align: center;
}

.messagetTrademark li {
  font-size: 1.4rem;
  line-height: 1.5;
  max-width: 300px;
  margin: 0 auto 40px;
}

.messagetTrademark li:last-child {
  margin: 0 auto;
}

.messagetTrademark li img {
  margin-bottom: 20px;
  border: solid 1px #e5e5e5;
}

@media print, screen and (min-width: 768px) {
  .messagetTrademark {
    display: flex;
    max-width: 600px;
    margin: 0 auto;
    justify-content: center;
    flex-wrap: wrap;
  }
  .messagetTrademark li {
    font-size: 1.5rem;
    max-width: 164px;
    margin: 0 15px 40px;
    text-align: left;
  }
  .messagetTrademark li:last-child {
    margin: 0 15px 40px;
  }
  .messagetTrademark li img {
    margin-bottom: 15px;
  }
}
@media print, screen and (min-width: 1020px) {
  .messagetTrademark {
    max-width: 100%;
    justify-content: space-between;
  }
  .messagetTrademark li, .messagetTrademark li:last-child {
    margin: 0;
  }
}
/* /about/activities/ */
.p-activities_flex:not(:last-child) {
  margin-bottom: 40px;
}

.p-activities_flex_img {
  margin-bottom: 30px;
}

@media screen and (min-width: 768px) {
  .p-activities_flex_wrap {
    margin-bottom: 45px;
  }
  .p-activities_flex {
    display: flex;
  }
  .p-activities_flex:not(:last-child) {
    margin-bottom: 80px;
  }
  .p-activities_flex_img {
    flex: 1 1 475px;
    width: 475px;
    margin-right: 30px;
    margin-bottom: 0;
  }
  .p-activities_flex_text {
    flex: 1 1 475px;
    width: 475px;
  }
  .p-activities_flex_text .btn {
    text-align: left;
    max-width: 330px;
  }
}
/* タマスの活動 スライダー追加 */
.activitySlider .slick-slide:not(.slick-current) {
  opacity: 0.3;
}

@media screen and (max-width: 511px) {
  .activitySlider .slick-prev {
    left: -5px;
    margin-left: 0;
  }
  .activitySlider .slick-next {
    right: -5px;
    margin-right: 0;
  }
}
@media screen and (min-width: 512px) {
  .activitySlider .slick-slide {
    width: 100%;
    max-width: 512px;
    height: auto;
  }
}
@media screen and (min-width: 768px) {
  .activityMain__item:nth-child(1) {
    width: calc(100% - 310px);
    padding-right: 30px;
  }
  .activityMain__item:nth-child(2) {
    width: 310px;
  }
  .activitySlider {
    width: 280px;
  }
  .activitySlider .slick-slide {
    width: 100%;
    max-width: 280px;
    height: auto;
  }
  .activitySlider .slick-dots {
    width: 100%;
    bottom: -50px;
    transform: translate(-50%, 0);
    height: 26px;
    margin-left: 0;
  }
  .activitySlider .slick-dots li {
    margin: 6px 8px;
  }
  .activitySlider .slick-dots li button {
    width: 14px;
    height: 14px;
  }
  .activitySlider .slick-dots li button:before {
    width: 14px;
    height: 14px;
  }
  .activitySlider .slick-prev,
  .activitySlider .slick-next {
    bottom: -50px;
    width: 26px;
    height: 26px;
  }
  .activitySlider .slick-prev:before,
  .activitySlider .slick-next:before {
    font-size: 2.6rem;
  }
  .activitySlider .slick-prev {
    left: -5px;
    margin-left: 0;
  }
  .activitySlider .slick-next {
    right: -5px;
    margin-right: 0;
  }
}
@media print, screen and (min-width: 1020px) {
  .activityMain__item:nth-child(1) {
    width: calc(100% - 480px);
  }
  .activityMain__item:nth-child(2) {
    width: 480px;
  }
  .activitySlider {
    width: 450px;
  }
  .activitySlider .slick-slide {
    max-width: 450px;
  }
}
/*----------------------------------------*/
/*  トップページ
/*----------------------------------------*/
.home .l-sec {
  position: relative;
  padding: 40px 0;
}

@media print, screen and (min-width: 512px) {
  .home .l-sec {
    padding: 50px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .home .l-sec {
    padding: 65px 0;
  }
}
@media print, screen and (min-width: 1020px) {
  .home .l-sec {
    padding: 80px 0;
  }
}
.home .l-main {
  position: relative;
  z-index: 1;
}

/* hero */
.hero {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .hero {
    padding-top: 145px;
  }
}
@media print, screen and (min-width: 768px) {
  .hero-img {
    width: 100%;
    max-width: 1280px;
    margin: auto;
  }
  .hero-img img {
    width: 100%;
  }
}
.movie-wrap {
  position: relative;
  width: 100%;
  max-width: 1280px;
  margin: auto;
  padding: 56.25% 0 0 0;
}

@media screen and (min-width: 1400px) {
  .movie-wrap {
    height: 720px;
    padding: 0;
  }
}
.movie-wrap iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* pickup */
#pickup {
  position: relative;
  padding-top: 16px;
  padding-bottom: 16px;
}

@media print, screen and (min-width: 768px) {
  #pickup {
    padding-top: 20px;
    padding-bottom: 60px;
  }
}
@media screen and (max-width: 767px) {
  #pickup .l-inner {
    padding-right: 0;
    padding-left: 0;
  }
}
.home-pickup-slider {
  display: flex;
  margin-top: -10px;
  flex-wrap: wrap;
}

@media print, screen and (min-width: 768px) {
  .home-pickup-slider {
    margin: -20px -12px 0;
    padding-right: 0;
    padding-left: 0;
  }
}
.home-pickup-slider li {
  width: 50%;
  min-width: 50%;
  padding: 10px 5px 0;
}

@media print, screen and (min-width: 768px) {
  .home-pickup-slider li {
    width: 25%;
    min-width: 25%;
    padding: 16px 8px 0;
  }
}
.home-pickup-slider li a {
  display: block;
}

@media print, screen and (min-width: 768px) {
  .home-pickup-slider li a {
    transition: opacity 0.3s;
  }
  .home-pickup-slider li a:hover {
    opacity: 0.6;
  }
}
/* ttl-home */
.ttl-home {
  margin-bottom: 12px;
  text-align: center;
  color: #3d3d3d;
  font-family: "NotoSans CondensedSemiBold", sans-serif;
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.03em;
}
.ttl-home.is-white {
  color: #fff;
}
.ttl-home.is-pink {
  color: #ff4291;
}

@media print, screen and (min-width: 512px) {
  .ttl-home {
    font-size: 6.6rem;
    margin-bottom: 30px;
  }
}
/* パララックス背景 */
.sec-cnt {
  position: relative;
  z-index: 10;
}

.sec-bg {
  position: absolute;
  z-index: 5;
  right: 0;
  left: 0;
  top: -100px;
  overflow: hidden;
  width: 100%;
}

/* パララックス背景 製品 */
#products .sec-bg {
  height: 130%;
  background: #ff4291;
}
#products .sec-bg::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  border-top: 50vw solid #fff;
  border-right: 120vw solid transparent;
}
#products .sec-bg::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  border-bottom: 50vw solid #fff;
  border-right: 120vw solid transparent;
}

@media print, screen and (min-width: 512px) {
  #products .sec-bg {
    height: 220%;
  }
  #products .sec-bg::before {
    border-right: 140vw solid transparent;
  }
  #products .sec-bg::after {
    border-right: 140vw solid transparent;
  }
}
@media print, screen and (min-width: 1400px) {
  #products .sec-bg {
    height: 240%;
  }
}
/* パララックス背景 契約選手 */
#players .sec-bg {
  height: 130%;
  background: #eee;
}
#players .sec-bg::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  border-top: 50vw solid #fff;
  border-right: 120vw solid transparent;
}

@media print, screen and (min-width: 512px) {
  #players .sec-bg {
    height: 200%;
  }
  #players .sec-bg::before {
    border-right: 140vw solid transparent;
  }
}
@media print, screen and (min-width: 1400px) {
  #players .sec-bg {
    height: 220%;
  }
}
.home-players {
  overflow: hidden;
}
.home-players img {
  width: 130%;
  max-width: 130%;
  margin-right: -15%;
  margin-left: -15%;
}

@media print, screen and (min-width: 768px) {
  .home-players {
    text-align: center;
  }
  .home-players a {
    transition: 0.3s;
  }
  .home-players a:hover {
    opacity: 0.6;
  }
  .home-players img {
    width: 100%;
    max-width: 1280px;
    margin-right: 0;
    margin-left: 0;
  }
}
/* パララックス背景 卓レポ */
#takurepo .sec-bg {
  height: 220%;
  background: #ff4291;
}
#takurepo .sec-bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border-top: 50vw solid #eee;
  border-left: 150vw solid transparent;
}

@media print, screen and (min-width: 512px) {
  #takurepo .sec-bg {
    height: 220%;
  }
  #takurepo .sec-bg::before {
    border-left: 140vw solid transparent;
  }
}
@media print, screen and (min-width: 1400px) {
  #takurepo .sec-bg {
    height: 220%;
  }
}
/* パララックス背景 知る・学ぶ */
#learning .sec-bg {
  height: 220%;
  background: #eee;
}
#learning .sec-bg::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  border-top: 70vw solid #ff4291;
  border-right: 120vw solid transparent;
}

@media print, screen and (min-width: 512px) {
  #learning .sec-bg {
    height: 220%;
  }
  #learning .sec-bg::before {
    border-right: 140vw solid transparent;
  }
}
@media print, screen and (min-width: 1400px) {
  #learning .sec-bg {
    height: 220%;
  }
}
/* パララックス背景 ストーリー */
#story .sec-bg {
  height: 220%;
  background: #fff;
}
#story .sec-bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border-top: 50vw solid #eee;
  border-left: 120vw solid transparent;
}

@media print, screen and (min-width: 512px) {
  #story .sec-bg {
    height: 220%;
  }
  #story .sec-bg::before {
    border-left: 140vw solid transparent;
  }
}
@media print, screen and (min-width: 1400px) {
  #story .sec-bg {
    height: 200%;
  }
}
@media screen and (max-width: 767px) {
  .home .newsList {
    margin-right: -15px;
    margin-left: -15px;
  }
}
.home-message {
  position: relative;
  z-index: 9;
  padding: 80px 10px 60px;
  text-align: center;
}
.home-message img {
  width: 104px;
  margin-bottom: 30px;
}

@media print, screen and (min-width: 768px) {
  .home-message {
    padding: 100px 20px;
  }
  .home-message img {
    width: 180px;
    margin-bottom: 40px;
  }
}
.anim {
  position: relative;
  top: 50px;
  opacity: 0;
}

@media screen and (max-width: 767px) {
  .home-contentSlider {
    overflow: hidden;
    height: 130px;
    margin-right: -15px;
  }
  .home-contentSlider.is-media {
    height: 172px;
  }
}
@media screen and (max-width: 767px) {
  .home-contentSlider_mask {
    overflow-x: auto;
    width: 100%;
    height: 160px;
    -webkit-overflow-scrolling: touch;
  }
  .home-contentSlider_mask.is-media {
    height: 202px;
  }
}
@media screen and (max-width: 767px) {
  .home-contentSlider_inner {
    display: inline-table;
    max-width: 100%;
    margin-right: -10px;
    margin-left: -10px;
    padding-right: 5px;
  }
}
@media screen and (max-width: 767px) {
  .home-contentSlider_item {
    display: table-cell;
    width: 280px;
    min-width: 280px;
    padding-right: 10px;
    padding-left: 10px;
    vertical-align: top;
  }
}
@media print, screen and (min-width: 768px) {
  .home-contentSlider_item {
    padding-right: 15px;
    padding-left: 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .home-contentSlider {
    margin-right: -15px;
    margin-left: -15px;
  }
  .home-contentSlider .slick-prev {
    left: 0;
    margin-left: 10px;
  }
  .home-contentSlider .slick-next {
    right: 0;
    margin-right: 10px;
  }
}
#takurepo .home-contentSlider .slick-prev:before,
#takurepo .home-contentSlider .slick-next:before,
#learning .home-contentSlider .slick-prev:before,
#learning .home-contentSlider .slick-next:before {
  color: #3d3d3d;
}

#takurepo .home-contentSlider .slick-dots li.slick-active button:before {
  background-color: #3d3d3d;
}

@media print, screen and (min-width: 1024px) {
  .l-header:not(.is-fixed) .header-inner {
    display: flex;
    flex-direction: row;
    gap: 32px;
    max-width: 1320px;
    justify-content: space-between;
    padding-top: 36px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .l-header:not(.is-fixed) .header-logo {
    width: 100px;
    transform: translateY(-12px);
  }
  .l-header:not(.is-fixed) .header-gnav {
    margin-right: 0;
    max-width: 1008px;
  }
  .l-header:not(.is-fixed) .header-gnav .gnav-about {
    width: 13%;
  }
  .l-header:not(.is-fixed) .header-gnav .gnav-learning {
    width: 9%;
  }
  .l-header:not(.is-fixed) .header-gnav .gnav-products > a {
    padding-bottom: 36px;
  }
}

.home #wrapper {
  overflow: hidden;
}

.top-hero-block {
  position: relative;
  z-index: 10;
}
.top-hero-block .btn {
  max-width: 224px;
}
@media screen and (min-width: 768px) and (max-width: 1019px) {
  .top-hero-block .btn {
    max-width: 300px;
    font-size: 1.3rem;
    padding: 14px;
  }
}
@media print, screen and (min-width: 1020px) {
  .top-hero-block .btn {
    max-width: 400px;
    font-size: 1.5rem;
    padding: 18px 20px;
  }
}

.top-hero {
  position: relative;
  z-index: 10;
  background-color: #fff;
}
.top-hero + .top-hero, .top-hero + .top-hero-video {
  margin-top: 4px;
}
@media print, screen and (min-width: 768px) {
  .top-hero + .top-hero, .top-hero + .top-hero-video {
    margin-top: 6px;
  }
}

.top-hero__inner {
  position: relative;
}

.top-hero__img {
  text-align: center;
}
.top-hero__img img {
  max-width: 2560px;
  width: 100%;
}

.top-hero__contentsWrapper {
  position: absolute;
  inset: 0;
  display: block;
}

.top-hero__grid {
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  height: 100%;
  padding: 12px 16px;
  display: grid;
}
@media print, screen and (min-width: 768px) {
  .top-hero__grid {
    padding-top: 24px;
    padding-bottom: 24px;
  }
}
.top-hero-video .top-hero__grid {
  padding: 24px 14px 0;
}
@media print, screen and (min-width: 768px) {
  .top-hero-video .top-hero__grid {
    max-width: 1448px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .top-hero__grid.-sp {
    display: none;
  }
}
@media print, screen and (max-width: 767px) {
  .top-hero__grid.-pc {
    display: none;
  }
}

.top-hero__contents {
  z-index: 20;
  color: #3d3d3d;
}
.top-hero-video .top-hero__contents .buttons {
  margin-top: 16px;
}
@media print, screen and (min-width: 768px) {
  .top-hero-video .top-hero__contents .buttons {
    margin-top: 24px;
  }
}
.-top .top-hero__contents {
  align-self: start;
}
.-middle .top-hero__contents {
  align-self: center;
}
.-bottom .top-hero__contents {
  align-self: end;
}
.-left .top-hero__contents {
  justify-content: start;
}
.-center .top-hero__contents {
  justify-content: center;
  text-align: center;
}
.-right .top-hero__contents {
  text-align: right;
  justify-content: right;
}
.top-hero__contents.-white {
  color: #fff;
}
.top-hero__contents.-pink {
  color: #ff4291;
}
.top-hero__contents.-black {
  color: #000;
}
.top-hero__contents > .title {
  font-size: 5.8666666667vw;
  line-height: 1.5;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .top-hero__contents > .title {
    font-size: 3.1428571429vw;
    line-height: 1.6;
  }
  .top-hero-video .top-hero__contents > .title {
    font-size: 2.7142857143vw;
  }
}
@media print, screen and (min-width: 1400px) {
  .top-hero__contents > .title {
    font-size: 2.2916666667vw;
  }
  .top-hero-video .top-hero__contents > .title {
    font-size: 1.9791666667vw;
  }
}
.top-hero__contents > .lead {
  font-size: 4.2666666667vw;
  line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
  .top-hero__contents > .lead {
    font-size: 2.1428571429vw;
    line-height: 1.6;
  }
  .top-hero-video .top-hero__contents > .lead {
    font-size: 1.7142857143vw;
  }
}
@media print, screen and (min-width: 1400px) {
  .top-hero__contents > .lead {
    font-size: 1.5625vw;
  }
  .top-hero-video .top-hero__contents > .lead {
    font-size: 1.25vw;
  }
}
.top-hero__contents > .buttons {
  margin-top: 8px;
  display: grid;
  gap: 8px;
}
@media print, screen and (min-width: 1400px) {
  .top-hero__contents > .buttons {
    gap: 16px;
    margin-top: 24px;
  }
}
.-center .top-hero__contents > .buttons {
  justify-items: center;
}
.-right .top-hero__contents > .buttons {
  justify-items: end;
}

.top-hero-video + .top-hero-video, .top-hero-video + .top-hero {
  margin-top: 40px;
}
@media print, screen and (min-width: 768px) {
  .top-hero-video + .top-hero-video, .top-hero-video + .top-hero {
    margin-top: 80px;
  }
}

.top-hero-video__video {
  position: relative;
  max-width: 2560px;
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
  .top-hero-video__video.-sp {
    display: none;
  }
}
@media print, screen and (max-width: 767px) {
  .top-hero-video__video.-pc {
    display: none;
  }
}
.top-hero-video__video video {
  width: 100%;
}

.top-hero-video__playBtn {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  display: inline-block;
  width: 12.8vw;
  height: 12.8vw;
  cursor: pointer;
  background-color: #fff;
  border-radius: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 20;
}
@media print, screen and (min-width: 768px) {
  .top-hero-video__playBtn {
    width: 6.25vw;
    height: 6.25vw;
    max-width: 120px;
    max-height: 120px;
  }
}
.top-hero-video__playBtn::before {
  position: absolute;
  top: 50%;
  left: 38%;
  box-sizing: border-box;
  width: 0;
  height: 0;
  content: "";
  border: 2.1333333333vw solid transparent;
  border-left: 4vw solid #ff4291;
  transform: translateY(-50%);
}
@media print, screen and (min-width: 768px) {
  .top-hero-video__playBtn::before {
    left: 40%;
    border: 1.0416666667vw solid transparent;
    border-left: 1.875vw solid #ff4291;
  }
}
@media print, screen and (min-width: 1920px) {
  .top-hero-video__playBtn::before {
    border: 20px solid transparent;
    border-left: 36px solid #ff4291;
  }
}
.top-hero-video__playBtn.pv {
  opacity: 0;
  visibility: hidden;
  transition: 0.3s ease;
}

.c-youtube {
  position: relative;
  width: 100%;
  max-width: 2560px;
  margin: 0 auto;
}
.c-youtube.-pc {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .c-youtube.-pc {
    display: block;
  }
}
@media print, screen and (min-width: 768px) {
  .c-youtube.-sp {
    display: none;
  }
}
.c-youtube iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: 10;
}

.c-youtube__thumbnail {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 10;
}
.pv .c-youtube__thumbnail {
  display: none;
}

.c-play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  display: inline-block;
  width: 12.8vw;
  height: 12.8vw;
  cursor: pointer;
  background-color: #fff;
  border-radius: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 20;
}
@media print, screen and (min-width: 768px) {
  .c-play-btn {
    width: 6.25vw;
    height: 6.25vw;
    max-width: 120px;
    max-height: 120px;
  }
}
.c-play-btn::before {
  position: absolute;
  top: 50%;
  left: 38%;
  box-sizing: border-box;
  width: 0;
  height: 0;
  content: "";
  border: 2.1333333333vw solid transparent;
  border-left: 4vw solid #ff4291;
  transform: translateY(-50%);
}
@media print, screen and (min-width: 768px) {
  .c-play-btn::before {
    left: 40%;
    border: 1.0416666667vw solid transparent;
    border-left: 1.875vw solid #ff4291;
  }
}
@media print, screen and (min-width: 1920px) {
  .c-play-btn::before {
    border: 20px solid transparent;
    border-left: 36px solid #ff4291;
  }
}
.pv .c-play-btn {
  opacity: 0;
  visibility: hidden;
  transition: 0.3s ease;
}

#products .parallax {
  position: absolute;
  overflow: visible;
  width: 100vw;
}
#products .parallax.d375 {
  top: -180px;
}
@media print, screen and (min-width: 512px) {
  #products .parallax.d375 {
    top: -280px;
  }
}
@media print, screen and (min-width: 768px) {
  #products .parallax.d375 {
    display: none;
  }
}
#products .parallax.d1400 {
  display: none;
}
@media print, screen and (min-width: 768px) {
  #products .parallax.d1400 {
    display: block;
    top: -160px;
  }
}
@media print, screen and (min-width: 1020px) {
  #products .parallax.d1400 {
    top: -260px;
  }
}
@media print, screen and (min-width: 1400px) {
  #products .parallax.d1400 {
    top: -420px;
  }
}

#players .parallax {
  position: absolute;
  overflow: visible;
  width: 100vw;
}
#players .parallax.d375 {
  top: -180px;
}
@media print, screen and (min-width: 512px) {
  #players .parallax.d375 {
    top: -280px;
  }
}
@media print, screen and (min-width: 768px) {
  #players .parallax.d375 {
    display: none;
  }
}
#players .parallax.d1400 {
  display: none;
}
@media print, screen and (min-width: 768px) {
  #players .parallax.d1400 {
    display: block;
    top: 160px;
  }
}
@media print, screen and (min-width: 1020px) {
  #players .parallax.d1400 {
    display: block;
    top: 300px;
  }
}
@media print, screen and (min-width: 1400px) {
  #players .parallax.d1400 {
    display: block;
    top: 0px;
  }
}

#takurepo .sec-bg {
  display: none;
  background-color: inherit;
}

@media print, screen and (min-width: 1020px) {
  .top-inner {
    max-width: 1320px;
  }
}

.pickup-banner {
  position: relative;
  z-index: 10;
}
.pickup-banner .btn {
  font-size: 12px;
  max-width: 227px;
  padding-top: 8px;
  padding-bottom: 8px;
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  .pickup-banner .btn {
    max-width: 400px;
    padding: 18px 8px 17px;
    font-size: 14px;
  }
}
.pickup-banner .btn {
  max-width: 227px;
  padding-top: 8px;
  padding-bottom: 8px;
  background-color: #fff;
}
.pickup-banner .btn::after {
  font-size: 1.5rem;
}
@media print, screen and (min-width: 768px) {
  .pickup-banner .btn {
    max-width: 400px;
    padding: 18px 8px 17px;
    font-size: 14px;
  }
}
@media print, screen and (min-width: 1020px) {
  .pickup-banner .btn {
    padding: 18px 20px 17px;
    font-size: 15px;
  }
  .pickup-banner .btn::after {
    font-size: 1.8rem;
  }
}

.pickup-banner__contents {
  display: grid;
  gap: 40px;
}
@media print, screen and (min-width: 768px) {
  .pickup-banner__contents {
    gap: 80px;
  }
}

.pickup-banner-panel {
  text-align: center;
}
.-colPc .pickup-banner-panel {
  flex-basis: calc(50% - 20px);
}

.pickup-banner-panel__img img {
  width: 100%;
}

.pickup-banner-panel__title {
  margin-top: 12px;
  font-size: 20px;
  line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
  .pickup-banner-panel__title {
    margin-top: 24px;
    font-size: 38px;
    line-height: 1.6;
  }
  .-colPc .pickup-banner-panel__title {
    font-size: 28px;
  }
}

.pickup-banner-panel__lead {
  margin-top: 4px;
  font-size: 16px;
  line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
  .pickup-banner-panel__lead {
    font-size: 24px;
    line-height: 1.6;
  }
  .-colPc .pickup-banner-panel__lead {
    font-size: 16px;
  }
}

.pickup-banner-panel__btnBlock {
  margin-top: 16px;
  display: flex;
  justify-content: center;
  gap: 11px;
}
@media print, screen and (min-width: 768px) {
  .pickup-banner-panel__btnBlock {
    margin-top: 24px;
  }
}
@media print, screen and (min-width: 1020px) {
  .pickup-banner-panel__btnBlock {
    gap: 32px;
  }
}

.pickup-banner-panel-wrapper {
  text-align: center;
}
.pickup-banner-panel-wrapper.-col {
  display: flex;
  gap: 12px;
}
@media print, screen and (min-width: 768px) {
  .pickup-banner-panel-wrapper.-col {
    gap: 40px;
  }
}
.pickup-banner-panel-wrapper.-colPc {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media print, screen and (min-width: 768px) {
  .pickup-banner-panel-wrapper.-colPc {
    flex-direction: row;
  }
}

.pickup-banner-half-panel {
  display: flex;
  flex-direction: column;
  flex-basis: calc(50% - 6px);
}
@media print, screen and (min-width: 768px) {
  .pickup-banner-half-panel {
    flex-basis: calc(50% - 20px);
  }
}

.pickup-banner-half-panel__img img {
  width: 100%;
}

.pickup-banner-half-panel__title {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
  .pickup-banner-half-panel__title {
    margin-top: 24px;
    font-size: 28px;
    line-height: 1.6;
  }
}

.pickup-banner-half-panel__lead {
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
  .pickup-banner-half-panel__lead {
    margin-top: 8px;
    font-size: 16px;
    line-height: 1.6;
  }
}

.pickup-banner-half-panel__btnBlock {
  margin-top: 12px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  gap: 11px;
}
@media print, screen and (min-width: 768px) {
  .pickup-banner-half-panel__btnBlock {
    margin-top: 24px;
    flex-direction: row;
  }
}

.top-feature {
  overflow-x: visible;
}
.top-feature .l-inner {
  max-width: 980px;
}
.home .top-feature {
  padding-top: 28px;
}
@media print, screen and (min-width: 768px) {
  .home .top-feature {
    padding-top: 64px;
  }
}
.top-feature .slick-list {
  overflow: visible;
}
@media print, screen and (min-width: 768px) {
  .top-feature .home-contentSlider_inner.-noSlider {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
  }
  .top-feature .home-contentSlider_inner.-noSlider .home-contentSlider_item {
    padding: inherit;
    max-width: 475px;
  }
  .top-feature .home-contentSlider_inner.-noSlider .imgBnr-img {
    position: relative;
  }
  .top-feature .home-contentSlider_inner.-noSlider .imgBnr {
    padding: inherit;
  }
}
.top-feature .imgBnr-img img {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .top-feature .btn-area {
    margin-top: 100px;
  }
}
.top-feature .btn {
  max-width: 227px;
}
@media print, screen and (min-width: 768px) {
  .top-feature .btn {
    max-width: 400px;
  }
}

#news .btn {
  max-width: 227px;
}
@media print, screen and (min-width: 768px) {
  #news .btn {
    max-width: 400px;
  }
}

.products .btn {
  max-width: 227px;
}
@media print, screen and (min-width: 768px) {
  .products .btn {
    max-width: 400px;
  }
}

#learning .slick-dots li.slick-active button:before {
  background-color: #3d3d3d;
}

#message .btn {
  max-width: 227px;
}
@media print, screen and (min-width: 768px) {
  #message .btn {
    max-width: 400px;
  }
}

#story .slick-dots li.slick-active button:before {
  background-color: #3d3d3d;
}

#takurepo .home-contentSlider .slick-prev:before,
#takurepo .home-contentSlider .slick-next:before,
#story .home-contentSlider .slick-prev:before,
#story .home-contentSlider .slick-next:before,
#learning .home-contentSlider .slick-prev:before,
#learning .home-contentSlider .slick-next:before {
  color: #3d3d3d;
}

/*----------------------------------------*/
/*  契約選手
/*----------------------------------------*/
.playerThumb {
  position: relative;
}

.playerThumb_flag {
  position: absolute;
  top: 5px;
  left: 5px;
  width: 25px;
}

@media print, screen and (min-width: 768px) {
  .playerThumb_flag {
    width: 40px;
    border: 1px solid #e5e5e5;
  }
}
.playersDetail_img {
  max-width: 480px;
  margin: 0 auto;
}

@media print, screen and (max-width: 767px) {
  .playersDetail_info {
    font-size: 1.3rem;
  }
  .playersDetail_info.l-sec, .playersDetail_info .l-inner {
    padding: 0;
  }
  .playersDetail_info .l-grid {
    margin: 0;
  }
  .playersDetail_info .l-grid_col, .playersDetail_product {
    padding: 20px 10px;
  }
  .playersDetail_product {
    margin: 20px -10px -20px;
  }
}
@media print, screen and (min-width: 768px) {
  .playersDetail_info {
    font-size: 1.5rem;
  }
  .playersDetail_product {
    margin-top: 40px;
  }
  .playersDetail_product.bg-gray, .playersDetail_info .bg-gray {
    background: none;
  }
}

.players-sec-lg:nth-child(even) {
  border-top: 1px solid #e5e5e5;
}

/*----------------------------------------*/
/*  契約選手2205
/*----------------------------------------*/
.grid-players:not(:last-child) {
  margin-top: 45px;
}

.grid-players .l-grid_col {
  margin-bottom: 30px;
  padding-right: 0;
  padding-left: 0;
  border-right: 8px solid #fff;
  border-left: 8px solid #fff;
}

@media print, screen and (min-width: 768px) {
  .grid-players .l-grid_col {
    margin-bottom: 20px;
    border-right: 12px solid #fff;
    border-left: 12px solid #fff;
  }
}
.card-players {
  position: relative;
  height: 100%;
}

.card-players_check {
  position: absolute;
  top: -25px;
  left: 0;
}

@media print, screen and (min-width: 768px) {
  .card-players_check {
    top: -30px;
  }
}
.card-players.-txtList {
  position: relative;
  height: 100%;
  margin-top: 5px;
}
.card-players.-txtList .card-players_check {
  position: absolute;
  top: -5px;
}

@media print, screen and (min-width: 768px) {
  .card-players.-txtList {
    margin-top: 10px;
  }
  .card-players.-txtList .card-players_check {
    top: -10px;
  }
}
.players-compareItemDate {
  margin-bottom: 15px;
  text-align: right;
  font-size: 1.2rem;
}

@media print, screen and (min-width: 768px) {
  .players-compareItemDate {
    font-size: 1.3rem;
  }
}
.players-compareItem {
  width: 100%;
  max-width: 140px;
  margin: 0 auto 20px;
}
.players-compareItem a {
  display: block;
  transition: all 0.2s;
  color: #3d3d3d;
}

.players-compareItem__caption {
  margin-top: 5px;
  font-size: 1.2rem;
  line-height: 1.5;
}

@media print, screen and (min-width: 768px) {
  .players-compareItem a:hover {
    opacity: 0.6;
    transition: all 0.2s;
  }
  .players-compareItem__caption {
    margin-top: 10px;
    font-size: 1.3rem;
  }
}
.pageHeader-product {
  padding-top: 18px;
  padding-bottom: 19px;
  background-color: #fe4191;
  font-size: 22px;
  color: #fff;
  letter-spacing: 0.02em;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .pageHeader-product {
    margin-top: 144px;
    padding-top: 37px;
    padding-bottom: 38px;
    font-size: 32px;
    letter-spacing: 0.05em;
  }
}

.product-panel {
  display: flex;
  flex-direction: column;
  gap: 36px;
}
@media print, screen and (min-width: 768px) {
  .product-panel {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 40px 32px;
  }
}

@media print, screen and (min-width: 768px) {
  .product-panel__cnt {
    flex-basis: calc(50% - 16px);
  }
}

.product-card:hover img {
  transform: scale(1.1);
  opacity: 0.8;
}

.product-card__img {
  overflow: hidden;
  aspect-ratio: 484/242;
}
.product-card__img img {
  transition: all 0.3s;
}

.product-card-ttl {
  margin-top: 10px;
  font-size: 16px;
  color: #3d3d3d;
}
@media print, screen and (min-width: 768px) {
  .product-card-ttl {
    margin-top: 16px;
  }
}

/*----------------------------------------*/
/*  製品
/*----------------------------------------*/
.productsMenu {
  font-size: 0;
  margin: 0 -5px;
  text-align: center;
}

.spNav .productsMenu {
  margin-bottom: 16px;
}

.productsMenu_item {
  font-size: 1.4rem;
  display: inline-block;
  width: 33.3%;
  padding: 5px;
}

.productsMenu_item a {
  display: block;
  border-radius: 50%;
  background-color: #fff;
  transition: opacity 0.3s linear;
}

.spNav .productsMenu_item a {
  background-color: #fff;
}

.productsMenu_item i {
  font-size: 10rem;
}

.productsMenu_item img {
  width: 100%;
}

.productsMenu_item-more {
  display: none;
}

@media print, screen and (min-width: 512px) {
  .productsMenu {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 10px;
  }
  .productsMenu_item {
    position: relative;
    width: 20%;
    padding: 0 10px;
  }
  .productsMenu_item img {
    width: 100%;
  }
  .productsMenu_item:nth-child(-n+5) {
    top: 5px;
  }
  .productsMenu_item:nth-child(n+6) {
    top: -5px;
  }
}
@media print, screen and (min-width: 512px) {
  .productsMenu_item a:hover {
    opacity: 0.7;
    transition: 0.3s linear;
  }
  .bg-brand .productsMenu_item a:hover {
    opacity: 0.7;
    background-color: #fff;
    transition: 0.3s linear;
  }
}
.productsMenu-home {
  margin-bottom: 20px;
}

@media print, screen and (min-width: 512px) {
  .productsMenu-home .productsMenu_item > a {
    background-color: #fff;
  }
}
@media print, screen and (min-width: 768px) {
  .productsMenu-home {
    margin-bottom: 30px;
  }
  .productsMenu-home .productsMenu_item > a {
    transition: opacity 0.3s linear;
  }
  .productsMenu-home .productsMenu_item > a:hover {
    transition: opacity 0.3s linear;
  }
}
@media print, screen and (min-width: 1020px) {
  .productsMenu-home {
    margin-bottom: 40px;
  }
}
.productDetail .productDetail_sec {
  border-bottom: 1px solid #e5e5e5;
}

.productDetail-specTable span {
  display: inline-block;
}

.productDetail-specTable span:not(:last-child):after {
  content: "縲?";
}

@media print, screen and (max-width: 767px) {
  .productDetail-apparel.l-sec {
    padding: 0;
  }
  .productDetail-apparel .acc_close {
    margin-top: 20px;
    border-top: 1px solid #d5d5d5;
  }
  .productDetail-apparel_table {
    margin-top: 25px;
    margin-right: -15px;
  }
  .productDetail-apparel_table_inner {
    overflow-x: auto;
    min-width: 100%;
    padding-right: 15px;
    -webkit-overflow-scrolling: touch;
  }
  .productDetail-apparel_table_inner table {
    display: inline-table;
    width: auto;
    min-width: 100%;
  }
  .productDetail-apparel_table_inner table th, .productDetail-apparel_table_inner table td {
    white-space: nowrap;
    vertical-align: middle;
  }
}
.mainSlider_item {
  max-width: 1280px;
}

.mainSlider_item-detail {
  max-width: 500px;
}

.compareList {
  margin: 0 auto;
}

.compareList-1col {
  max-width: 250px;
}

.compareList-2col {
  max-width: 500px;
}

.compareList-3col {
  max-width: 750px;
}

.compareList-4col {
  max-width: 1000px;
}

.compareList_item {
  padding: 15px 0;
  border-bottom: 1px solid #e5e5e5;
}

@media screen and (min-width: 768px) {
  .compareList_item {
    padding: 20px 0;
  }
}
.compareList_head {
  font-weight: bold;
  margin-bottom: 8px;
}

.compareList_row {
  display: flex;
  justify-content: space-between;
}

.compareList_col {
  word-wrap: break-word;
  word-break: break-all;
  overflow-wrap: break-word;
}

.compareList_col span {
  display: inline-block;
}

.compareList_col span:not(:last-child):after {
  content: "縲?";
}

.compareList-1col .compareList_col {
  flex-basis: 100%;
}

.compareList-2col .compareList_col {
  flex-basis: 46%;
}

.compareList-3col .compareList_col {
  flex-basis: 31%;
}

.compareList-4col .compareList_col {
  flex-basis: 23%;
}

.fixedArea {
  position: fixed;
  z-index: 1100;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px 0;
  text-align: center;
  background: rgba(66, 66, 66, 0.9);
}

@media print, screen and (max-width: 767px) {
  .spCateNav_trg {
    position: relative;
    display: block;
    padding: 20px 0;
    text-align: center;
    color: #3d3d3d;
    background: #e5e5e5;
  }
  .spCateNav_trg:before, .spCateNav_trg:after {
    position: absolute;
    top: 50%;
    right: 20px;
    display: block;
    width: 14px;
    height: 2px;
    margin-top: -1px;
    content: "";
    background-color: #3d3d3d;
  }
  .spCateNav_trg:before {
    transform: rotate(90deg);
  }
  .spCateNav_cnt {
    position: fixed;
    z-index: 999;
    z-index: 1100;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: transform 0.4s cubic-bezier(0.65, 0.01, 0.45, 1);
    transform: translate3d(100%, 0, 0);
  }
  .spCateNav_cnt.is-open {
    transform: translate3d(0, 0, 0);
  }
  .spCateNav-parent {
    position: absolute;
    top: 0;
    left: 0;
    overflow-y: auto;
    width: 40%;
    height: 100%;
    padding-bottom: 60px;
    background: #e5e5e5;
    -webkit-overflow-scrolling: touch;
  }
  .spCateNav-parent_item {
    font-weight: bold;
    display: block;
    padding: 15px;
    text-align: center;
    color: #3d3d3d;
    background: #e5e5e5;
    border-bottom: 1px solid #d5d5d5;
  }
  .spCateNav-parent_item.is-current {
    color: #ff4291;
    background: #eee;
  }
  .spCateNav-children {
    position: absolute;
    top: 0;
    left: 40%;
    overflow-y: auto;
    width: 60%;
    height: 100%;
    padding-bottom: 60px;
    background: #eee;
    -webkit-overflow-scrolling: touch;
  }
  .spCateNav-children a {
    color: #3d3d3d;
  }
  .spCateNav-children > ul {
    border-bottom: 1px solid #d5d5d5;
  }
  .spCateNav-children_item {
    display: block;
    padding: 15px 20px;
    border-top: 1px solid #d5d5d5;
  }
  .spCateNav-children_2nd {
    padding-left: 30px;
  }
  .spCateNav-children_2nd .spCateNav-children_item {
    padding-left: 5px;
  }
  .spCateNav_close {
    font-size: 1.5rem;
    line-height: 60px;
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 60px;
    text-align: center;
    background: #fff;
  }
  .spCateNav_close i {
    position: relative;
    top: -2px;
  }
}
@media print, screen and (min-width: 768px) {
  .spCateNav, .spCateNav_trg {
    display: none;
  }
}
.grid-product:not(:last-child) {
  margin-top: 45px;
}

.grid-product .l-grid_col {
  margin-bottom: 30px;
  padding-right: 0;
  padding-left: 0;
  border-right: 8px solid #fff;
  border-left: 8px solid #fff;
}

@media print, screen and (min-width: 768px) {
  .grid-product .l-grid_col {
    margin-bottom: 20px;
    border-right: 12px solid #fff;
    border-left: 12px solid #fff;
  }
}
img.is-loading {
  width: 32px !important;
  height: 32px !important;
}

.productsBox {
  overflow: hidden;
}

.productsBox_img {
  float: left;
  width: 50%;
  padding-right: 10px;
}

.productsBox_cnt {
  float: right;
  width: 50%;
  padding-left: 10px;
}

@media screen and (max-width: 1019px) {
  .productsBox_btn {
    clear: both;
    width: 70%;
    margin-right: auto;
    margin-left: auto;
    padding-top: 20px;
    padding-bottom: 10px;
  }
}
@media print, screen and (min-width: 1020px) {
  .productsBox_btn {
    float: right;
    width: 50%;
    padding-left: 10px;
  }
}
.productsRubber-wrap {
  padding: 0 5px;
}

@media print, screen and (min-width: 768px) {
  .productsRubber-wrap {
    margin-top: 20px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
  }
}
.productsRubber-section:not(:last-child) {
  margin-bottom: 100px;
}

@media print, screen and (min-width: 768px) {
  .productsRubber-section {
    width: calc(50% - 20px);
  }
  .productsRubber-section:not(:last-child) {
    margin-bottom: 0;
  }
  .productsRubber-section:nth-child(odd) {
    margin-right: 40px;
  }
  .productsRubber-section:nth-child(n+3) {
    margin-top: 70px;
  }
}
.productsRubber-ttl {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}

@media print, screen and (min-width: 768px) {
  .productsRubber-ttl {
    margin-bottom: 40px;
  }
}
.productsRubber-ttl_text {
  font-size: 2.2rem;
  line-height: 1.3;
  flex: 1 1 auto;
}

@media print, screen and (min-width: 768px) {
  .productsRubber-ttl_text {
    font-size: 2.6rem;
  }
}
@media print, screen and (min-width: 1020px) {
  .productsRubber-ttl_hiddenTab {
    display: none;
  }
}
.productsRubber-ttl_img {
  position: absolute;
  right: 0;
  top: 0;
  flex: 0 0 auto;
}

.productsRubber-ttl_img img {
  height: 80px;
  width: auto;
}

.productsRubber-subsection:not(:last-child) {
  margin-bottom: 35px;
}

.productsRubber-subttl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 5px;
}

.productsRubber-subttl_text {
  flex: 1 1 auto;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: bold;
}

@media print, screen and (min-width: 768px) {
  .productsRubber-subttl_text {
    font-size: 1.5rem;
  }
}
.productsRubber-subttl_img {
  flex: 0 0 auto;
}

.productsRubber-subttl_img img {
  height: 40px;
  width: auto;
}

.productsRubber-text {
  font-size: 1.4rem;
  line-height: 1.8;
}

@media print, screen and (min-width: 768px) {
  .productsRubber-text {
    font-size: 1.5rem;
  }
}

#high_tension,
#ricosheet,
#micro_layer,
#spring_sponge,
#spring_sponge_x,
#absorber_sponge {
  display: none;
}

.modaal-container {
  max-width: 1000px;
}

.modaal-container img {
  margin: 0 auto;
  display: block;
}

.modaal-close:after,
.modaal-close:before {
  background-color: #FF4291 !important;
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
  background-color: #000000 !important;
}

.technology .flex {
  display: flex;
  flex-wrap: wrap;
}

.technology .item {
  width: 50%;
  padding: 10px 5px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .technology img {
    max-width: 300px;
  }
  .modaal-container img {
    max-width: 600px;
  }
}
.spec table {
  margin: 0px auto 40px;
  font-size: 1.2rem;
}

@media screen and (min-width: 768px) {
  .spec table {
    max-width: 600px;
    font-size: 1.4rem;
  }
}
.spec img {
  max-width: 125px;
}

.spec td {
  text-align: center;
  table-layout: fixed;
}

.spec td.right {
  text-align: right;
  padding-right: 20px;
}

.spec td.left {
  text-align: left;
  padding-left: 20px;
}

.performance_icon p {
  padding-left: 2.5em;
}

.performance .ttl-lg {
  padding-left: 0.1em;
}

.performance .icon_speed {
  display: inline-block;
  width: 32px;
  height: 24px;
  background: url(/assets/images/products/rubber-performance-icon-speed.svg) no-repeat;
  vertical-align: -7px;
}

.performance .icon_spin {
  display: inline-block;
  width: 32px;
  height: 24px;
  background: url(/assets/images/products/rubber-performance-icon-spin.svg) no-repeat;
  vertical-align: -7px;
}

.performance .icon_arc {
  display: inline-block;
  width: 32px;
  height: 24px;
  background: url(/assets/images/products/rubber-performance-icon-arc.svg) no-repeat;
  vertical-align: -7px;
}

.performance .icon_variation {
  display: inline-block;
  width: 32px;
  height: 24px;
  background: url(/assets/images/products/rubber-performance-icon-variation.svg) no-repeat;
  vertical-align: -7px;
}

.performance .icon_stability {
  display: inline-block;
  width: 32px;
  height: 24px;
  background: url(/assets/images/products/rubber-performance-icon-stability.svg) no-repeat;
  vertical-align: -7px;
}

@media print, screen and (min-width: 768px) {
  .performance p {
    padding-left: 3em;
  }
  .performance .ttl-lg {
    padding-left: 0.2em;
  }
  .performance .icon_speed {
    display: inline-block;
    width: 40px;
    height: 30px;
    vertical-align: -12px;
  }
  .performance .icon_spin {
    display: inline-block;
    width: 40px;
    height: 30px;
    vertical-align: -12px;
  }
  .performance .icon_arc {
    display: inline-block;
    width: 40px;
    height: 30px;
    vertical-align: -12px;
  }
  .performance .icon_variation {
    display: inline-block;
    width: 40px;
    height: 30px;
    vertical-align: -12px;
  }
  .performance .icon_stability {
    display: inline-block;
    width: 40px;
    height: 30px;
    vertical-align: -12px;
  }
}
/*----------------------------------------*/
/*  ストーリー
/*----------------------------------------*/
.caution {
  font-size: 1.1rem;
}

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

.media_img {
  margin-bottom: 15px;
  text-align: center;
}

.media_text p:not(:last-child) {
  margin-bottom: 15px;
}

@media screen and (max-width: 768px) {
  .media {
    display: flex;
    flex-direction: column;
  }
  .media_text {
    order: 1;
    padding: 0 0 50px;
  }
  .media_img {
    order: 2;
  }
}
@media print, screen and (min-width: 768px) {
  .media {
    overflow: hidden;
  }
  .media_img {
    margin-bottom: 0;
    text-align: center;
  }
  .media_img-l {
    float: left;
    margin-right: 30px;
  }
  .media_img-r {
    float: right;
    margin-left: 30px;
  }
  .media_text p:not(:last-child) {
    margin-bottom: 15px;
  }
}
@media print, screen and (min-width: 512px) {
  .caution {
    font-size: 1.2rem;
  }
  .media_text.text01 {
    overflow: auto;
  }
}
/* story 用具の歴史 */
.historyContents--story .historyDigest__subttl {
  display: none;
}

.historyContents--story .historyDigest__list:nth-child(1) .historyDigest__img {
  background-image: url(/assets/images/story/history_of_products/History-rubber-sp.jpg);
}

.historyContents--story .historyDigest__list:nth-child(2) .historyDigest__img {
  background-image: url(/assets/images/story/history_of_products/History-shake-sp.jpg);
}

.historyContents--story .historyDigest__list:nth-child(3) .historyDigest__img {
  background-image: url(/assets/images/story/history_of_products/History-pen-sp.jpg);
}

@media screen and (min-width: 768px) {
  .historyContents--story .historyDigest__text {
    padding-top: 70px;
    padding-bottom: 40px;
  }
  .historyContents--story .historyDigest__subttl {
    display: block;
    font-family: "NotoSans CondensedSemiBold", sans-serif;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.02em;
    margin-bottom: 5px;
  }
  .historyContents--story .historyDigest__ttl {
    font-size: 2.8rem;
  }
  .historyContents--story .historyDigest__year {
    font-size: 1.5rem;
    margin-bottom: 80px;
  }
  .historyContents--story .historyDigest__list:nth-child(odd) {
    flex-direction: row;
  }
  .historyContents--story .historyDigest__list:nth-child(even) {
    flex-direction: row-reverse;
  }
  .historyContents--story .historyDigest__list:nth-child(odd) .historyDigest__text {
    transform-origin: right center;
  }
  .historyContents--story .historyDigest__list:nth-child(even) .historyDigest__text {
    transform-origin: left center;
  }
  .historyContents--story .historyDigest__list:nth-child(1) {
    background-image: url(/assets/images/story/history_of_products/History-rubber-pc.jpg);
  }
  .historyContents--story .historyDigest__list:nth-child(2) {
    background-image: url(/assets/images/story/history_of_products/History-shake-pc.jpg);
  }
  .historyContents--story .historyDigest__list:nth-child(3) {
    background-image: url(/assets/images/story/history_of_products/History-pen-pc.jpg);
  }
}
.historyDigest__nolink {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  position: relative;
  display: inline-block;
  color: #fff;
}

/*----------------------------------------*/
/*  サポート
/*----------------------------------------*/
.supportCall_number {
  font-size: 1.8rem;
  line-height: 40px;
  position: relative;
  display: block;
  margin-bottom: 10px;
  padding: 5px 0;
  text-align: center;
  color: #fff;
  background: #ff4291;
}

.supportCall_number:after {
  font-family: "icon";
  line-height: 1;
  position: absolute;
  z-index: 1;
  right: 5px;
  bottom: 0;
  content: "\ea0a";
}

.supportCall_number img {
  width: auto;
  height: 24px;
  margin-top: 8px;
  margin-right: 4px;
}

.supportCall_note {
  text-align: center;
  font-size: 1.2rem;
}

.supportCall_txt {
  margin: 8px 0 0 0;
}

@media screen and (min-width: 768px) {
  .supportCall_number {
    font-size: 3rem;
    line-height: 30px;
    display: inline-block;
    margin: 0 10px 8px 0;
    padding: 0;
    text-align: left;
    vertical-align: top;
    pointer-events: none;
    background: none;
    color: #3d3d3d;
    white-space: nowrap;
    vertical-align: middle;
    font-weight: 700;
  }
  .supportCall_number:after {
    display: none;
  }
  .supportCall_number img {
    height: 30px;
    margin-top: 0;
    margin-right: 6px;
  }
  .supportCall_note {
    display: inline-block;
    margin-bottom: 8px;
    white-space: nowrap;
    text-align: left;
    vertical-align: middle;
  }
}
/*----------------------------------------*/
/*  サイトマップ
/*----------------------------------------*/
.sitemapNav {
  padding: 30px 0 40px;
}

.sitemapNav_inner {
  padding-right: 15px;
  padding-left: 15px;
}

.sitemapNav_body {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6%;
}

.sitemapNav_item {
  width: 47%;
  min-height: 52px;
  font-size: 1.4rem;
  line-height: 1.5;
}
.sitemapNav_item a {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 10px 15px 10px 0;
  border-bottom: solid 1px #ccc;
  color: #3d3d3d;
}
.sitemapNav_item i {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #ccc;
  font-weight: bold;
  transition: color 0.3s;
}

@media print, screen and (min-width: 768px) {
  .sitemapNav {
    padding: 60px 0 50px;
  }
  .sitemapNav_inner {
    padding-right: 20px;
    padding-left: 20px;
    padding-bottom: 60px;
    border-bottom: solid 1px #e5e5e5;
  }
  .sitemapNav_body {
    justify-content: center;
    gap: 20px 2%;
  }
  .sitemapNav_item {
    width: auto;
    min-height: inherit;
    padding-right: 18px;
    border-right: solid 1px #e5e5e5;
  }
  .sitemapNav_item a {
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 25px 0 0;
    border-bottom: none;
    color: #3d3d3d;
    transition: color 0.3s;
  }
  .sitemapNav_item a:hover {
    color: #ff4291;
  }
  .sitemapNav_item a:hover i {
    color: #ff4291;
  }
}
.sitemapSec {
  padding: 0;
}

.sitemapSec_inner {
  padding: 30px 15px 50px;
}
.sitemapSec_inner.-noBody {
  padding: 30px 15px 0;
}

.sitemapSec_heading {
  background: #eee;
  font-size: 1.7rem;
  font-weight: 700;
}
.sitemapSec_heading a,
.sitemapSec_heading span {
  display: block;
  padding: 12px 15px;
  color: #3d3d3d;
  line-height: 1.5;
}
.sitemapSec_heading i {
  width: 14px;
  height: 14px;
  margin: 0 0 2px 0.5rem;
  color: #3d3d3d;
  font-weight: bold;
  vertical-align: middle;
  font-size: 1.4rem;
}

.sitemapSec_subHeading {
  margin-bottom: 2rem;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 400;
}

.sitemapSec_body:not(:last-child) {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: solid 1px #eee;
}

.sitemapSec_item {
  font-size: 1.4rem;
  line-height: 1.5;
}
.sitemapSec_item:not(:last-child) {
  margin-bottom: 2rem;
}
.sitemapSec_item a {
  position: relative;
  display: inline-block;
  padding-left: 19px;
  color: #3d3d3d;
}
.sitemapSec_item a::before {
  content: "▶";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  color: #ff4291;
  font-size: 1.2rem;
}

@media print, screen and (min-width: 768px) {
  .sitemapSec {
    padding: 0 0 50px 0;
  }
  .sitemapSec:not(:last-child) .sitemapSec_inner {
    border-bottom: solid 1px #e5e5e5;
  }
  .sitemapSec_inner {
    padding: 30px 20px 50px;
  }
  .sitemapSec_inner.-noBody {
    padding: 30px 20px;
  }
  .sitemapSec_heading {
    background: none;
    font-size: 2rem;
  }
  .sitemapSec_heading a {
    max-width: 1040px;
    margin: 0 auto;
    padding: 0 20px;
    transition: color 0.3s;
  }
  .sitemapSec_heading a:hover {
    color: #ff4291;
  }
  .sitemapSec_heading a:hover i {
    color: #ff4291;
  }
  .sitemapSec_heading i {
    width: 18px;
    height: 18px;
    margin: 0 0 2px 1rem;
    font-size: 1.8rem;
    transition: color 0.3s;
  }
  .sitemapSec_heading span {
    max-width: 1040px;
    margin: 0 auto;
    padding: 0 20px;
  }
  .sitemapSec_subHeading {
    margin-bottom: 1.8rem;
  }
  .sitemapSec_body {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    gap: 1.2rem 2%;
    align-items: top;
  }
  .sitemapSec_body:not(:last-child) {
    margin-bottom: 40px;
    padding-bottom: 0;
    border-bottom: none;
  }
  .sitemapSec_item {
    width: 32%;
    margin-bottom: 0;
  }
  .sitemapSec_item:not(:last-child) {
    margin-bottom: 0;
  }
  .sitemapSec_item a {
    transition: color 0.3s;
  }
  .sitemapSec_item a:hover {
    color: #ff4291;
  }
}
/*--------------------------------------
  その他汎用スタイル
---------------------------------------*/
.link_text {
  display: inline-block;
  padding: 10px 0;
  color: #ff4291;
  transition: color 0.2s;
}
.l-grid .link_text {
  padding: 15px 0;
}
.link_text::before {
  display: inline-block;
  margin-right: 5px;
  font-family: "icon";
  content: "\ea04";
  color: #ff4291;
  font-weight: bold;
  vertical-align: middle;
  position: relative;
  top: -1px;
}
.link_text:hover {
  color: #ff4291;
  text-decoration: underline;
}

@media print, screen and (min-width: 768px) {
  .link_text {
    padding: 5px 0;
  }
  .l-grid .link_text {
    padding: 10px 0;
  }
}
.txtLeading {
  line-height: 2.2;
}
.txtLeading p:not(:last-child) {
  margin-bottom: 20px;
}
@media print, screen and (min-width: 768px) {
  .txtLeading p:not(:last-child) {
    margin-bottom: 30px;
  }
}

.txtArea {
  line-height: 1.8;
}
.txtArea p:not(:last-child), .txtArea_item:not(:last-child) {
  margin-bottom: 30px;
}

.txt-caption {
  font-size: 1.1rem;
}
@media screen and (min-width: 768px) {
  .txt-caption {
    font-size: 1.3rem;
  }
}

.txt-link {
  text-decoration: underline;
}
.txt-link:hover {
  text-decoration: none;
}

.txt-md {
  font-size: 1.6rem;
}

.txt-lg {
  font-size: 2.1rem;
}

.txt-xl {
  font-size: 3rem;
}

@media screen and (min-width: 768px) {
  .txt-md {
    font-size: 1.8rem;
  }
  .txt-lg {
    font-size: 2.7rem;
  }
  .txt-xl {
    font-size: 4rem;
  }
}
@media screen and (min-width: 1020px) {
  .txt-md {
    font-size: 2rem;
  }
  .txt-lg {
    font-size: 3rem;
  }
  .txt-xl {
    font-size: 4.4rem;
  }
}
.txt-c-black {
  color: #3d3d3d;
}

.txt-c-brand {
  color: #ff4291;
}

.lh-1_1 {
  line-height: 1.1;
}

.box {
  padding: 30px;
}

@media screen and (min-width: 768px) {
  .box {
    padding: 40px;
  }
}
.clear {
  clear: both;
}

.cf:before, .cf:after {
  content: " ";
  display: table;
}

.cf:after {
  clear: both;
}

.cf {
  *zoom: 1;
}

.fl-l {
  float: left;
}

.fl-r {
  float: right;
}

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

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

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

.bold {
  font-weight: bold;
}

.ib {
  display: inline-block;
}

.db {
  display: block;
}

.hidden {
  display: none;
}

@media screen and (max-width: 511px) {
  .hidden-u-sm {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .hidden-u-md,
  .hidden-sp {
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  .hidden-u-lg {
    display: none;
  }
}
@media print, screen and (min-width: 512px) {
  .hidden-o-sm {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .hidden-o-md,
  .hidden-pc {
    display: none;
  }
}
@media print, screen and (min-width: 1024px) {
  .hidden-o-lg {
    display: none;
  }
}
.fs-lg {
  font-size: 120%;
}

@media print, screen and (min-width: 768px) {
  .hover {
    transition: opacity 0.3s;
  }
  .hover:hover {
    opacity: 0.6;
  }
}
.iframe,
.movie {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 56.25% 0 0 0;
}

.iframe iframe,
.movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.list-ul {
  margin-left: 1.2em;
}
.list-ul > li {
  list-style: disc;
}
.list-ul > li:not(:last-child) {
  margin-bottom: 4px;
}

.color {
  color: #ff4291;
}

.img-org p {
  text-align: center;
}

.img-org p.pc {
  display: none;
}

.border {
  text-align: left;
  border-bottom: 1px solid #d5d5d5;
}

a.link {
  text-decoration: underline;
}

a.link:hover {
  text-decoration: none;
}

@media print, screen and (min-width: 512px) {
  .text-foryou {
    width: 580px;
    height: 66px;
    margin: 0 auto 64px;
    background: url(../images/about/index-img07.png) 0 0 no-repeat;
  }
  .text-foryou img {
    display: none;
  }
  .img-org p {
    display: none;
    text-align: center;
  }
  .img-org p.pc {
    display: block;
  }
}
@media print, screen and (min-width: 768px) {
  .border02 {
    width: 100%;
    margin-bottom: 40px;
    border-bottom: 1px solid #d5d5d5;
  }
}
.color1 {
  color: #e4007f;
}

.color2 {
  color: #009ce2;
}

.color3 {
  color: #00913a;
}

.color4 {
  color: #727171;
}

.color5 {
  color: #1d95d4;
}

.color6 {
  color: #d7770d;
}

.color7 {
  color: #d21277;
}

.color8 {
  color: #6c609a;
}

.color9 {
  color: #0e8a3b;
}

.list li {
  margin-left: 15px;
  list-style: outside disc;
}

.col-mini:first-child {
  margin-bottom: 20px;
}

img.img01 {
  width: 50%;
  margin: 0 25%;
  text-align: center;
}

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

.w04 {
  width: 33%;
}

.bnr.bnr01 {
  height: auto;
}

@media screen and (max-width: 767px) {
  .table01 {
    table-layout: fixed;
  }
  .table01 th, .table01 td {
    padding: 5px 2px;
    vertical-align: middle;
  }
  .table01 .w01 {
    width: 40%;
  }
  .table01 .w02 {
    width: 55%;
  }
  .table01 .w03 {
    width: 30%;
  }
}
@media print, screen and (min-width: 512px) {
  .col-mini-box::after {
    display: block;
    clear: both;
    content: "";
  }
  .col-mini {
    float: left;
    width: 48%;
    /* IE8莉･荳九→Android4.3莉･荳狗畑繝輔か繝ｼ繝ｫ繝舌ャ繧ｯ */
    width: calc(50% - 10px);
  }
  .col-mini:first-child {
    margin-right: 20px;
    margin-bottom: 0;
  }
  img.img01 {
    width: 100%;
    margin: 0;
    text-align: center;
  }
  .sp-ta-center {
    text-align: left;
  }
}
/*----------------------------------------*/
/*  汎用マージン
/*----------------------------------------*/
.mb-xs {
  margin-bottom: 5px !important;
}

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

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

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

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

@media print, screen and (min-width: 768px) {
  .mb-xs {
    margin-bottom: 10px !important;
  }
  .mb-sm {
    margin-bottom: 20px !important;
  }
  .mb-md {
    margin-bottom: 30px !important;
  }
  .mb-lg {
    margin-bottom: 40px !important;
  }
  .mb-xl {
    margin-bottom: 50px !important;
  }
}
.mt-xs {
  margin-top: 5px !important;
}

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

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

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

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

@media print, screen and (min-width: 768px) {
  .mt-xs {
    margin-top: 10px !important;
  }
  .mt-sm {
    margin-top: 20px !important;
  }
  .mt-md {
    margin-top: 30px !important;
  }
  .mt-lg {
    margin-top: 40px !important;
  }
  .mt-xl {
    margin-top: 50px !important;
  }
}
/*--------------------------------------
  汎用スタイル追加
---------------------------------------*/
@media print, screen and (min-width: 768px) {
  .u-hiddenPc {
    display: none;
  }
}
@media print, screen and (max-width: 767px) {
  .u-hiddenSp {
    display: none;
  }
}
@media print, screen and (min-width: 580px) {
  .u-hidden580Pc {
    display: none;
  }
}
@media print, screen and (max-width: 579px) {
  .u-hidden580Sp {
    display: none;
  }
}
.u-noAction {
  pointer-events: none;
}

.u-txtWhite {
  color: #fff;
}

.u-txtBase {
  color: #3d3d3d;
}

.u-btGray {
  border-top: 1px solid #e5e5e5;
}

.u-bbGray {
  border-bottom: 1px solid #e5e5e5;
}

.u-fzSmall {
  font-size: 86.666%;
}

/* shop/index */
.prefList:last-child {
  margin-bottom: 30px;
}
.prefList:nth-child(odd) {
  background: #eee;
}
.prefList-inner {
  width: 100%;
}
.prefList-title {
  padding: 15px 20px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
}
.prefList-title.is-open .icon-arrow-down:before {
  content: "\ea05";
}
@media screen and (max-width: 767px) {
  .prefList-title.is-acc-trg {
    background: #e5e5e5;
    border-bottom: 1px solid #626262;
  }
}
.prefList .l-grid .prefList-link {
  color: #3d3d3d;
  display: block;
  padding: 15px 20px;
  border-bottom: 1px solid #fff;
}
.prefList-close {
  padding: 15px;
}
.prefList .sp-bg-gray {
  background: #e5e5e5;
  border-top: 1px solid #fff;
}

@media screen and (max-width: 767px) {
  .prefList-inner {
    background: #eee;
  }
}
@media print, screen and (min-width: 768px) {
  .prefList:last-child {
    margin-bottom: 0px;
  }
  .prefList-inner {
    max-width: 1020px;
    margin-right: auto;
    margin-left: auto;
    padding: 50px 20px 30px;
  }
  .prefList-title {
    padding: 0;
    margin-bottom: 30px;
    cursor: default;
  }
  .prefList .l-grid .prefList-link {
    color: #3d3d3d;
    display: inline-block;
    padding: 0 0 20px 0;
    border-bottom: none;
  }
  .prefList-close {
    display: none;
  }
  .prefList .sp-bg-gray {
    background: none;
    border: none;
  }
}
@media print, screen and (min-width: 1020px) {
  .prefList-inner {
    max-width: 1020px;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .prefList .link_text:before {
    display: none;
  }
}
/* shop/list */
.l-sec_shoplist {
  padding: 30px 0 60px;
}

@media print, screen and (min-width: 768px) {
  .l-sec_shoplist {
    padding: 50px 0 90px;
  }
}
.shopList-article {
  padding: 20px 20px 0;
  border-bottom: 1px solid #e5e5e5;
}
.shopList-article:first-child {
  border-top: 1px solid #e5e5e5;
}
.shopList-article a {
  color: #3d3d3d;
}
.shopList_btn {
  margin: 15px -5px 10px;
  font-size: 0;
}
@media print, screen and (min-width: 768px) {
  .shopList_btn {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
}
.shopList_btn a {
  color: #ff4291;
}
.shopList_btn_item {
  display: inline-block;
  width: 50%;
  padding-left: 5px;
  padding-right: 5px;
}
@media screen and (max-width: 767px) {
  .shopList_btn_item-detail {
    width: 100%;
    margin-bottom: 10px;
  }
  .shopList_btn_item-detail .btn {
    max-width: 100%;
  }
}
@media print, screen and (min-width: 768px) {
  .shopList_btn_item-tel {
    display: none;
  }
}

@media print, screen and (min-width: 768px) {
  .shopList-wrap {
    padding-top: 40px;
  }
}
@media print, screen and (min-width: 1020px) {
  .shopList {
    max-width: 800px;
    margin: 0 auto;
  }
  .shopList-wrap {
    padding-top: 50px;
  }
}
.shopDetail_img {
  text-align: center;
}
.shopDetail_img img {
  width: auto;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media print, screen and (min-width: 1025px) {
  a:hover .btn {
    color: #fff;
  }
  a:hover .btn:before {
    width: 100%;
  }
  a:hover .btn:after {
    color: #fff;
  }
}
.ttl-sm {
  font-size: 1.3rem;
  font-weight: normal;
  margin-bottom: 5px;
  line-height: 1.3;
}
.ttl-sm.bold {
  font-weight: bold;
}

@media print, screen and (min-width: 768px) {
  .ttl-sm {
    font-size: 1.8rem;
  }
  .flex-center {
    padding-top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
/* shop/detail */
.l-sec_shopdetail {
  padding: 15px 0 60px;
}

@media print, screen and (min-width: 768px) {
  .l-sec_shopdetail {
    padding: 50px 0 70px;
  }
}
.p-shop-detail__googleMap {
  position: relative;
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  padding-top: 100%;
}

.p-shop-detail__googleMap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media print, screen and (min-width: 768px) {
  .p-shop-detail__googleMap {
    padding-top: 56.25%;
  }
}
#js-map {
  position: relative;
  width: 100%;
  height: 280px;
  max-width: 980px;
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  #js-map {
    height: 490px;
  }
}
.bnr-fill {
  background: #ff4291;
}

.bnr-map {
  height: auto;
  max-width: 100%;
  padding: 10px 5px;
  color: #fff;
}

@media print, screen and (min-width: 768px) {
  .bnr-map {
    height: auto;
    max-width: 400px;
    padding: 18px 5px;
  }
}
.icon-map {
  background: url("../images/shop/icn-map.svg") no-repeat;
  width: 22px;
  height: 30px;
}

.table-shop {
  margin-bottom: 40px;
}
.table-shop th {
  padding: 15px 20px 15px 10px;
}
.table-shop td {
  padding: 15px 10px;
  word-break: break-all;
}

@media print, screen and (min-width: 768px) {
  .table-shop {
    margin-bottom: 0;
  }
  .table-shop th {
    padding: 15px 10px;
  }
  .table-shop td {
    padding: 15px 40px;
  }
}
.l-block-xxl {
  margin-bottom: 60px;
}

@media print, screen and (min-width: 768px) {
  .l-block-xxl {
    margin-bottom: 70px;
  }
}
.link-disable {
  cursor: default;
  text-decoration: none !important;
  color: #3d3d3d;
}

.btn.btn-back:after {
  left: 5px;
  right: auto;
  transform: scale(-1, 1);
}

@media print, screen and (min-width: 768px) {
  .btn.btn-back:after {
    left: 5px;
    right: auto;
    transform: scale(-1, 1);
  }
}
/* list/index */
.learning-wrap {
  margin-bottom: 30px;
}

@media print, screen and (min-width: 768px) {
  .learning-wrap {
    margin-bottom: 80px;
  }
}
/* learning/list */
.ttl-lg-bd {
  padding-bottom: 20px;
  border-bottom: 1px solid #e5e5e5;
}

@media screen and (max-width: 767px) {
  .ttl-lg-bd {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #e5e5e5;
  }
}
.bd-gray {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #e5e5e5;
}

.ttl-md span {
  font-size: 1.3rem;
  display: inline-block;
  margin-left: 5px;
  vertical-align: middle;
}

.btn.btn-full {
  max-width: 100%;
  width: 100%;
}

.grid-btn.l-block-xs + .grid-btn {
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .ttl-lg-bd {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #e5e5e5;
  }
}
/* learning/detail */
.learning-detail .l-sec:nth-child(even) {
  background-color: #eee;
}

.l-sec_learning-detail {
  padding: 15px 0 60px;
}

.l-sec_selection-detail {
  padding: 0;
}

@media print, screen and (min-width: 768px) {
  .l-sec_learning-detail {
    padding: 50px 0 70px;
  }
  .l-sec_selection-detail {
    padding: 70px 0;
  }
}
.l-inner-selection {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .l-inner-selection {
    padding-right: 20px;
    padding-left: 20px;
  }
}
@media print, screen and (min-width: 1020px) {
  .l-inner-selection {
    max-width: 1020px;
    margin-right: auto;
    margin-left: auto;
  }
}
.combinationList-inner {
  width: 100%;
}
.combinationList-title {
  padding: 15px 20px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
}
.combinationList-title.is-open .icon-arrow-down:before {
  content: "\ea05";
}
.combinationList-lead {
  padding: 20px 20px 0;
}
.combinationList-close {
  padding: 15px;
}
.combinationList .sp-bg-gray {
  background: #e5e5e5;
}

@media screen and (max-width: 767px) {
  .combinationList-body {
    border-top: 1px solid #fff;
  }
  .combinationList .l-grid .combinationList-link {
    color: #3d3d3d;
    display: block;
    padding: 15px 20px;
    border-bottom: 1px solid #fff;
  }
  .combinationList-link {
    background: none;
    border: 0;
    border-bottom: 1px solid #fff;
    text-align: left;
  }
  .combinationList-link.btn:after {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .combinationList:last-child {
    margin-bottom: 0px;
  }
  .combinationList-inner {
    max-width: 1020px;
    margin-right: auto;
    margin-left: auto;
  }
  .combinationList-title {
    padding: 0;
    margin-bottom: 30px;
    cursor: default;
  }
  .combinationList-lead {
    padding: 0;
  }
  .combinationList-article {
    margin-bottom: 15px;
  }
  .combinationList .l-grid .prefList-link {
    color: #3d3d3d;
    display: inline-block;
    padding: 0 0 20px 0;
    border-bottom: none;
  }
  .combinationList-close {
    display: none;
  }
  .combinationList .sp-bg-gray {
    background: none;
    border: none;
  }
}
@media print, screen and (min-width: 1020px) {
  .combinationList-inner {
    max-width: 1020px;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .combinationList .link_text:before {
    display: none;
  }
}
.bg-lgray {
  background: #3d3d3d;
}

.combination-detail {
  text-align: center;
  padding: 40px 0;
}
.combination-detail .combination-article {
  display: inline-block;
  max-width: 180px;
  margin-right: 40px;
  text-align: left;
  vertical-align: top;
}
.combination-detail .combination-article:last-child {
  margin-right: 0;
}
.combination-detail .combination-article a {
  color: #3d3d3d;
}

@media screen and (max-width: 767px) {
  .combination-detail {
    width: 100%;
    padding: 10px;
  }
  .combination-detail .combination-article {
    width: 31%;
    margin-right: 1%;
  }
  .combination-detail .combination-article img {
    width: 100%;
  }
  .combination-detail .combination-article:last-child {
    margin-right: 0;
  }
  .combination-detail figcaption {
    font-size: 1rem;
  }
}
figure img {
  display: block;
  margin: 0 auto;
}

figcaption {
  text-align: center;
  line-height: 1.4;
  font-size: 1.2rem;
}

@media print, screen and (min-width: 768px) {
  figcaption {
    text-align: center;
    line-height: 1.4;
    font-size: 1.4rem;
  }
}