@charset "UTF-8";
.body-home .wrapper.wrapper--column-2 .__inner .aside {  display: none; }
.body-home .wrapper .__inner { max-width: unset; }
.body-home .wrapper.wrapper--column-2 .__inner .main { width: 100%; padding-top: 0; padding-left: 0; padding-bottom: 0; }
.body-home .footer { margin-top: 0; }

.wrapper .__narrow { max-width: 1020px; margin: auto; }

/* __slide */
a.button-radius { display: block; line-height: 3rem; border-radius: 2rem; }
.main.main--home .__narrow { position: relative; z-index: 1; }

/* __block--category------------------------------- */
.main.main--home .__block--category { padding: clamp(2.333rem, calc(2rem + 3.333vw), 4.667rem) 0 0; position: relative; }
.main.main--home .__block--category::before { content: ''; width: 100%; height: auto; aspect-ratio: 16/9; background: url(../img/common/category-bg.png) no-repeat center/ cover; position: absolute; z-index: 0; opacity: 0.8; }
/* liが2つの時 */
.main.main--home .__block--category .__inner:has(.__product > li:nth-child(2)):not(:has(.__product > li:nth-child(3))) { max-width: 1020px; margin: auto; }
/* liが3つ以上の時 */
.main.main--home .__block--category .__inner:has(.__product > li:nth-child(3)) { max-width: 1280px; margin: auto; }

.main.main--home .__block--category .__product { max-width: 1280px; margin: auto; display: grid; grid-template-columns: repeat(2,1fr); gap: clamp(0.7rem, calc(-1.467rem + 5.167vw), 2.667rem); }
.main.main--home .__block--category .c-heading-main { margin-bottom: clamp(1.56rem, calc(0rem + 3.333vw), 2.667rem); }
.main.main--home .__block--category .__product .__item { padding: clamp(0.8rem, calc(-0.333rem + 2.5vw), 1.667rem); border: 1px solid var(--border-color); background-color: var(--white); position: relative; }
.main.main--home .__block--category .__product .__item .__title { margin-bottom: 5px; font-size: clamp(1.3rem, calc(0.6rem + 1.333vw), 1.667rem); }
.main.main--home .__block--category .__product .__item a { display: grid; grid-template-rows: auto auto 1fr; height: 100%; }
.main.main--home .__block--category .__product .__item .__description { display: flex; align-items: flex-end; }
.main.main--home .__block--category .__product .__item .__description p { margin: 0; text-align: justify; }
.main.main--home .__block--category .__product .__item .__description .circle-button { display: inline-block; width: clamp(2rem, calc(1rem + 1.667vw), 2.333rem); height: clamp(2rem, calc(1rem + 1.667vw), 2.333rem); border-radius: 2rem; background-image: var(--gradation-color); position: relative; }
.main.main--home .__block--category .__product .__item .__description .circle-button::before { content: ''; position: absolute; transform: translate(-50%,-50%); top: 52%; left: 54%; background: url(../img/common/icon-arrow.svg) no-repeat center right /cover; width: clamp(0.8rem, calc(0.267rem + 1vw), 1.067rem); height: clamp(0.8rem, calc(0.267rem + 1vw), 1.067rem); }
.main.main--home .__block--category .__product .__photo { width: 100%; }
.main.main--home .__block--category .__product .__photo img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }

/* __block--category-keyword */
.main.main--home .__block--category-keyword { display: flex; justify-content: center; flex-wrap: wrap; gap: clamp(0.38rem, calc(-0.333rem + 1.667vw), 1rem); margin: clamp(2rem, calc(0rem + 5vw), 4rem) auto 0; position: relative; }
.main.main--home .__block--category-keyword a { display: inline-block; min-height: 2rem; padding: 0 1.16rem; text-align: center; color: var(--text-sub); background-color: #ECEFF1; line-height: 1.2; display: flex;  align-items: center; justify-content: center; }

/* __block--anchor------------------------------- */
.main.main--home .__category-target { scroll-margin-top: 60px; }
.main.main--home .__category-anchor { background: none; padding: clamp(32px, 5vw, 70px) 0 0; position: relative; }
.main.main--home .__category-anchor::before { content: ''; width: 150%; height: auto; aspect-ratio: 16/9; background: url(../img/common/category-bg.png) no-repeat center/ cover; position: absolute; z-index: 0; opacity: 0.8; top: 0; }
.main.main--home .__category-anchor .__inner { max-width: 1020px; position: relative; z-index: 1; }
/* .main.main--home .__category-anchor .__inner { display: block; width: 100%; max-width: 1280px; margin: 0 auto; padding: 0; } */
.main.main--home .__category-anchor .__category-groups { display: grid; grid-template-columns: 1fr; gap: 1.333em; }
.main.main--home .__category-anchor .__category-group { min-width: 0; display: flex; flex-direction: column; }
.main.main--home .__category-anchor .__category-group-title { padding: 0 0 0.65em; border-bottom: 4px solid var(--border-color-dark); font-weight: 500; text-align: center; }
.main.main--home .__category-anchor .__category-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8em; margin: 0; padding: 0; list-style: none; flex: 1; }
.main.main--home .__category-anchor .__category-group--hlb .__category-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.main.main--home .__category-anchor .__category-links > li { min-width: 0; margin: 0; padding: 0; }
.main.main--home .__category-anchor a.__category-link { display: flex; flex-direction: column; align-items: center; box-sizing: border-box; height: 100%; padding: 1.4em 0.8em 1.2em; border: 2px solid var(--border-color); border-radius: 1.62rem; background: #fff; color: #2e5f7f; text-align: center; font-size: 0.91em; font-feature-settings: 'palt'; }
.main.main--home .__category-anchor .__category-link img { display: block; width: 100%; max-width: 25vw; height: auto; aspect-ratio: 3 / 2; object-fit: contain; margin: 0 0 14px; }
.main.main--home .__category-anchor .__category-label { flex: 1; font-weight: 600; }
.main.main--home .__category-anchor .__category-arrow { width: 9px; height: 9px; margin: 20px 0 3px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.main.main--home .__category-anchor a.__category-link:hover { opacity: 1; border-color: var(--primary-color); }

/* __block--lineup */
.main.main--home .__block--lineup { margin: clamp(2.333rem, calc(-0.884rem + 8.292vw), 6.667rem) 0; }
.main.main--home .__block--lineup .__inner { max-width: 1020px; }
.main.main--home .__block--lineup .c-heading-main { margin-bottom: clamp(1.56rem, calc(0rem + 3.333vw), 2.667rem); }
.main.main--home .__block--lineup .__lineup-title { margin: 0 0 1rem; }
.main.main--home .__block--lineup .__lineup-table-wrap + .__lineup-title { margin-top: clamp(2rem, 5vw, 4rem); }
/* scroll-hint */
.scroll-hint-icon-wrap { z-index: 1; }
/* scroll */
.main.main--home .__block--lineup .__lineup-table-wrap { height: auto; overflow: auto; z-index: 2; position: relative; }
.main.main--home .__block--lineup .__lineup-table thead tr:nth-child(1) th { top: 0; }
.main.main--home .__block--lineup .__lineup-table thead tr:nth-child(2) th { top: 46px; }
.main.main--home .__block--lineup .__lineup-table thead tr:nth-child(3) th { top: 92px; }
.main.main--home .__block--lineup .__lineup-table thead tr th:nth-of-type(1) { left: 0; z-index: 6; }
.main.main--home .__block--lineup .__lineup-table thead tr:not(:first-child) th:nth-of-type(2) { left: 85px; z-index: 5; }
.main.main--home .__block--lineup .__lineup-table tbody th { position: sticky; z-index: 1; }
.main.main--home .__block--lineup .__lineup-table tbody tr th.__lineup-product-name{ left: 0; }
/* table */
.main.main--home .__block--lineup .__lineup-table { border-spacing: 0; border-collapse: separate; table-layout: fixed; }
.main.main--home .__block--lineup .__lineup-table .__lineup-col-name { width: 85px; }
.main.main--home .__block--lineup .__lineup-table th,
.main.main--home .__block--lineup .__lineup-table td { border-right: 1px solid var(--border-color-dark); border-top: 1px solid var(--border-color-dark); text-align: center; }
.main.main--home .__block--lineup .__lineup-table thead tr th:last-of-type,
.main.main--home .__block--lineup .__lineup-table tbody tr td:last-of-type { border-right: none; }
/* thead */
.main.main--home .__block--lineup .__lineup-table thead th { position: sticky; z-index: 4; height: 46px; color: #fff; background-color: #5278C5;  font-weight: 400; line-height: 1.2; }
.main.main--home .__block--lineup .__lineup-table thead th span { display: block; font-size: 0.8em; }
.main.main--home .__block--lineup .__lineup-table thead tr:last-of-type > * { border-bottom: 1px solid var(--border-color-dark); }
.main.main--home .__block--lineup .__lineup-table thead tr:not(:first-of-type) .__lineup-corner { border-top: none; }
/* tbody */
.main.main--home .__block--lineup .__lineup-table tbody tr:first-of-type * { border-top: none; }
.main.main--home .__block--lineup .__lineup-table tbody tr:last-of-type th,
.main.main--home .__block--lineup .__lineup-table tbody tr:last-of-type td { border-bottom: 1px solid var(--border-color-dark); }
.main.main--home .__block--lineup .__lineup-table th.__lineup-product-name { padding: 1em; background-color: #D4E0F9; text-align: left; line-height: 1.2; }
.main.main--home .__block--lineup .__lineup-table th.__lineup-product-name b { display: block; color: var(--primary-color); font-size: 1.066em; }
.main.main--home .__block--lineup .__lineup-table th.__lineup-product-name span { font-size: 0.8em; font-weight: 500; }
.main.main--home .__block--lineup .__lineup-table thead th.__lineup-corner-header span { font-size: 1em; }
.main.main--home .__block--lineup .__lineup-table .__lineup-product-cell { padding: 1em; background-color: #fff; vertical-align: top; }
.main.main--home .__block--lineup .__lineup-table .__lineup-product-cell.__lineup-empty { color: #666; background-color: #F7F7F7; vertical-align: middle; font-size: 0.8em; }
.main.main--home .__block--lineup .__lineup-table .__lineup-product-card { display: flex; flex-direction: column; align-items: center; gap: 0.9333em; }
.main.main--home .__block--lineup .__lineup-table .__lineup-product-card img { max-width: 130px; }
.main.main--home .__block--lineup .__lineup-table .__lineup-sizes { display: flex; flex-wrap: wrap; justify-content: start; gap: 0.5em 0.357em; }
.main.main--home .__block--lineup .__lineup-sizes a { display: inline-flex; min-width: 3.93em; align-items: center; justify-content: center; padding: 0.357em 0 0.357em 0.6286em; color: #fff; background-color: var(--accent-color); border-radius: 50px; font-size: 0.9333em; line-height: 1.05; }
.main.main--home .__block--lineup .__lineup-sizes a:hover { background-color: var(--primary-color); opacity: 1; }
.main.main--home .__block--lineup .__lineup-table .__lineup-product-card a:hover + div a { background-color: var(--primary-color); }
.main.main--home .__block--lineup .__lineup-sizes a:after { display: inline-block; margin-top: 1px; margin-left: -4px; font-family: 'Material Symbols Outlined'; font-weight: 400;  content: '\e5cc'; font-size: 1.3em;   }
@media (prefers-reduced-motion: no-preference) {
  .main.main--home .__block--lineup .__lineup-table-wrap { scroll-behavior: smooth; }
}






/* __top--banner------------------------------- */
.main.main--home .__top--banner { margin: 0 auto clamp(4.6rem, calc(2.667rem + 3.333vw), 5.333rem); text-align: center; position: relative; }
.main.main--home .__top--banner a { display: inline-block; width: 77.33%; max-width: 600px; }
.main.main--home .__top--banner a::after { content: none; }
/* __block--about------------------------------- */
/* bg */
.main.main--home .__block--about { position: relative; }
.main.main--home .__block--about::before { content: ''; background-image: linear-gradient(180deg, var(--white), #62C2FA); width: 100%; height: 100%; display: block; z-index: 0; position: absolute; opacity: 0.2; left: 0; top: 0; }
.main.main--home .__block--about::after { content: ''; background: url(../img/common/about-bg.svg) right bottom / cover no-repeat; display: block; position: absolute; width: 43.73%; max-width: 335px; aspect-ratio: 335/492; height: auto; right: 0; bottom: 0; z-index: 0; }
/* __block--about-text */
.main.main--home .__block--about .__narrow .__block--about-text p { line-height: 2; letter-spacing: 0.07em; text-align: justify; }

/* __block--problems------------------------------- */
.main.main--home section.__block:not(:last-child) { margin-bottom: 0; }
/* bg */
.main.main--home .__block--problems { position: relative; padding: clamp(2.333rem, calc(2rem + 3.333vw), 4.667rem) 0 clamp(3.333rem, calc(0rem + 8.333vw), 6.667rem); }
.main.main--home .__block--problems::before { content: ''; background-image: linear-gradient(180deg, var(--primary-color), var(--accent-color)); width: 100%; height: 100%;
    display: block; z-index: 0; position: absolute; opacity: 0.8; left: 0; top: 0; }
.main.main--home .__block--problems::after { content: ''; background: url(../img/common/problems-bg.svg) center/cover; display: block; position: absolute; width: 100%; height: 100%; left: 0; top: 0; z-index: 0; }
/* c-heading-main */
.main.main--home .__block--problems .__narrow .c-heading-main { margin-bottom: 2.666rem; color: var(--white); }
.main.main--home .__block--problems .__narrow .c-heading-main .__en { -webkit-text-fill-color: unset; text-fill-color: unset; background-image: unset; border-image: unset; border-color: #fff; }
/* __problems--list */
.main.main--home .__block--problems .__narrow .__problems--list { gap: 2rem; text-align: center; }
.main.main--home .__block--problems .__narrow .__problems--list li { padding: clamp(1rem, calc(0.667rem + 0.833vw), 1.333rem); background-color: var(--white); border-radius: clamp(1.62rem, calc(0.8rem + 1.5vw), 2rem) clamp(1.62rem, calc(0.8rem + 1.5vw), 2rem) clamp(1.62rem, calc(0.8rem + 1.5vw), 2rem) 0; }
.main.main--home .__block--problems .__narrow .__problems--list li .__problems--list-img { padding: 0.8rem; }
.main.main--home .__block--problems .__narrow .__problems--list li .__problems--list-title { margin-top: 0; font-size: clamp(1.15rem, calc(0.667rem + 0.833vw), 1.333rem); color: var(--text-sub); }
.main.main--home .__block--problems .__narrow .__problems--list li a.button-radius { max-width: 140px; margin: auto; color: var(--white); background-image: var(--gradation-color); }
/* .main.main--home .__block--problems .__narrow .__problems--list li a .button-icon-right { position: relative; padding-right: 1.2rem; } */
/* .main.main--home .__block--problems .__narrow .__problems--list li a .button-icon-right::before { content: ''; position: absolute; transform: translateY(-50%); top: 52%; right: 0; background: url(../img/common/icon-arrow.svg) no-repeat center right /cover; width: 0.8rem; height: 0.8rem; } */

/* __news------------------------------- */
.main.main--home section.__block.__block--news { max-width: 1020px; margin: auto; padding: clamp(2.333rem, calc(1.333rem + 2.5vw), 3.333rem) 0 clamp(3.333rem, calc(2rem + 3.333vw), 4.667rem); background-color: var(--bg-gray); position: relative; }
.main.main--home section.__block.__block--news::before { position: absolute; content: ''; background: var(--bg-gray); width: 100%; top: 0; left: -50%; height: 100%; z-index: -1; }
.main.main--home section.__block.__block--news::after { position: absolute; content: ''; background: var(--bg-gray); width: 100%; top: 0; right: -50%; height: 100%; z-index: -1; }
.main.main--home section.__block.__block--news .__body ul li { display: block; }
.main.main--home section.__block.__block--news .__body ul li { padding: 0.5rem 0; border-bottom: 1px solid var(--border-color); }
.main.main--home section.__block.__block--news .__body ul li > a:hover,
.main.main--news-list section.__news ul li > a:hover span.__title { text-underline-offset: 3px; }
.main.main--home section.__block.__block--news .__body ul li > a span.__date, .main.main--home section.__block.__block--news .__body ul li > span span.__date,
.main.main--news-list section.__news ul li > a span.__date, .main.main--news-list section.__news ul li > span span.__date { font-family: var(--font-en); font-size: 1rem; }
.main.main--home section.__block.__block--news .__body ul li > a span.__date, .main.main--home section.__block.__block--news .__body ul li > a span.__title, .main.main--home section.__block.__block--news .__body ul li > span span.__date, .main.main--home section.__block.__block--news .__body ul li > span span.__title { border-bottom: none; }

/* @media screen and (max-width: 1240px) {
    .body-home .wrapper .__narrow,
    .main.main--home .__block--category .__inner,
    .main.main--home .__category-anchor .__inner,
    .main.main--home section.__block.__block--news { width: 92%; margin-right: 4%; margin-left: 4%; }
} */

@media screen and (max-width: 1100px) {
    .body-home .wrapper .__narrow,
    .main.main--home .__block--category .__inner,
    .main.main--home .__category-anchor .__inner,
    .main.main--home section.__block.__block--news,
    .main.main--home .__block--lineup .__inner { width: 92%; margin-right: 4%; margin-left: 4%; }
}


@media screen and (max-width: 959px) {
    .body-home .wrapper .__inner .__content-home-top { margin-bottom: 0; }
    /* __block--lineup */
    .main.main--home .__block--lineup .__lineup-table { width: 800px; }
    .main.main--home .__block--lineup .__lineup-table-wrap { max-height: calc(90vh - 70px); }

    /* __block--problems */
    .main.main--home .__block--problems .__narrow .__problems--list { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }
    .main.main--home .__block--problems .__narrow .__problems--list li:first-of-type { flex-basis: calc(100% / 2); }
    .main.main--home .__block--problems .__narrow .__problems--list li { width: calc((100% - 1rem) / 2); }
}

@media (max-width: 767px) {
    /* __category-anchor */
  .main.main--home .__category-anchor .__category-groups { gap: 28px; }
  .main.main--home .__category-anchor .__category-links { gap: 8px; }
  .main.main--home .__category-anchor a.__category-link { padding: 12px 7px 14px; border-radius: 12px; }
  .main.main--home .__category-anchor .__category-link img { margin-bottom: 10px; }
  .main.main--home .__category-anchor .__category-arrow { margin-top: 16px; }
  .main.main--home .__category-anchor .__category-group-title span { font-size: 1rem; }
}

@media screen and (max-width: 599px) {
/* __block--category  */
.main.main--home .__block--category::before { width: 140%; top: -1.5rem; }
.main.main--home .__block--category .__product .__item .__title { margin-top: 0.8rem; }
.main.main--home .__block--category .__product .__item .__description { flex-direction: column; }
.main.main--home .__block--category .__product .__item .__description p { flex-grow: 1; font-size: 0.85rem; }
/* __block--category-keyword  */
.main.main--home .__block--category-keyword a { font-size: 0.85rem; }
/* __category-anchor */
.main.main--home .__category-anchor .__category-group-title span { font-size: inherit; }
/* __block--lineup */
/* scroll */
.main.main--home .__block--lineup .__lineup-table-wrap { max-height: 600px; }

.main.main--home .__block--lineup .__lineup-table thead tr:nth-child(1) th { top: 0; }
.main.main--home .__block--lineup .__lineup-table thead tr:nth-child(2) th { top: 34px; }
.main.main--home .__block--lineup .__lineup-table thead tr:nth-child(3) th { top: 68px; }
.main.main--home .__block--lineup .__lineup-table thead tr:not(:first-child) th:nth-of-type(2) { left: 56px;}
.main.main--home .__block--lineup .__lineup-table thead th { height: 34px; font-size: 0.9em; }
.main.main--home .__block--lineup .__lineup-table thead th.__lineup-corner-header { text-align-last: left; }
.main.main--home .__block--lineup .__lineup-table thead th.__lineup-corner-header span { left: 180px; display: inline-block !important;  position: sticky; }
.main.main--home .__block--lineup .__lineup-table tbody tr th.__lineup-product-name{ left: 0; letter-spacing: 0; }
.main.main--home .__block--lineup .__lineup-table .__lineup-col-name { width: 56px; }
.main.main--home .__block--lineup .__lineup-table .__lineup-product-card img { max-width: 70px; }
.main.main--home .__block--lineup .__lineup-sizes a:after { margin-left: -2px; }
.main.main--home .__block--lineup .__lineup-table {  width: 670px; }
/* __block--about */
.main.main--home .__block--about .__block--about-text { padding: 2.333rem 0; }
/* __block--problems */
.main.main--home .__block--problems .__narrow .__problems--list li { display: flex; flex-direction: column; align-items: center; }
.main.main--home .__block--problems .__narrow .__problems--list li .__problems--list-img { padding: 0.5rem; width: 4.2rem; height: 4.2rem; }
.main.main--home .__block--problems .__narrow .__problems--list li .__problems--list-title { margin-bottom: 0.8rem; }
.main.main--home .__block--problems .__narrow .__problems--list li a.button-radius { width: 100%; margin-bottom: 0; }
.main.main--home .__block--problems .__narrow .__problems--list li a .button-icon-right { font-size: 0.93rem; }
/* __block--news */
.main.main--home section.__block.__block--news .__body ul li { padding: 1rem 0; }
.main.main--home section.__block.__block--news .__body ul li:last-child { border-bottom: 1px solid var(--border-color); }

}




@media screen and (min-width: 600px) {
    /* TOPページ　KVサイズ調整 */
    .wrapper .__inner .__content-home-top { background-color: #5278c5;  }
    .__content-home-top .__sp-none { width: 100%; max-width: 1280px; margin: auto; }
    /* __block--category */
    /* 3列以上の時 */
    .main.main--home .__block--category .__product:has(> li:nth-child(3)) { grid-template-columns: repeat(3, 1fr);}

     .main.main--home .__block--category-keyword a { min-height: 3.5rem; line-height: 1.5; padding: 0 2.5rem; }
    .main.main--home .__block--category .__product .__item .__description { gap: 1rem; }
    .main.main--home .__block--category .__product .__item .__description p { flex: 1; align-self: start; }

    /* __category-anchor */
    .main.main--home .__category-anchor::before { width: 100%; }
    .main.main--home .__category-anchor .__category-group-title { font-size: 1.2rem; }
    .main.main--home .__category-anchor .__category-groups { grid-template-columns: 2fr 3fr; }
    .main.main--home .__category-anchor .__category-link img { max-width: 130px; }

    /* __block--lineup */
    .main.main--home .__block--lineup .__lineup-title { font-size: 1.333rem; }
    .main.main--home .__block--lineup .__lineup-table th.__lineup-product-name { padding: 1.5em; }
    .main.main--home .__block--lineup .__lineup-table th.__lineup-product-name span { white-space: nowrap; }

    /* __block--about-text */
    .main.main--home .__block--about .__narrow { display: flex; align-items: center; gap: 3rem; padding: 3.33rem 0; }
    .main.main--home .__block--about .__narrow .__block--about-img { width: 45.58%; max-width: 465px; flex-shrink: 0; }

    .main.main--home .__block--problems .__narrow .__problems--list li a.button-radius { max-width: 220px; }
}

/* @media screen and (min-width: 768px) {
} */

@media (min-width: 960px) {
 .main.main--home .__block--lineup .__lineup-table { width: 100%; }
.main.main--home .__block--problems .__narrow .__problems--list { display: grid; grid-template-columns: repeat(3,1fr); }
}

/* @media screen and (min-width: 1280px) {
.main.main--home .__block--category-keyword { width: 80%; }     
} */