/* hover
=================================================================== */
/* ================================================ vw vh */
/* common
=================================================================== */
/* layout
=================================================================== */
/* imgCover
=================================================================== */
/* mask
=================================================================== */
/* background
=================================================================== */
/* flex
=================================================================== */
/* animation delay
=================================================================== */
/* 3d
=================================================================== */
/* font
=================================================================== */
/* textTate
=================================================================== */
/* form
=================================================================== */
/* =================================================================== hover anime */
@-webkit-keyframes pop-hover {
  0% {
    -webkit-transform: translate(0, 0) rotate(0);
            transform: translate(0, 0) rotate(0);
  }
  10% {
    -webkit-transform: translate(0, 2px) rotate(-6deg);
            transform: translate(0, 2px) rotate(-6deg);
  }
  20% {
    -webkit-transform: translate(0, -6px) rotate(0);
            transform: translate(0, -6px) rotate(0);
  }
  30% {
    -webkit-transform: translate(0, 3px) rotate(3deg);
            transform: translate(0, 3px) rotate(3deg);
  }
  40% {
    -webkit-transform: translate(0, -3px) rotate(0);
            transform: translate(0, -3px) rotate(0);
  }
  50% {
    -webkit-transform: translate(0, 0) rotate(0);
            transform: translate(0, 0) rotate(0);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(0);
            transform: translate(0, 0) rotate(0);
  }
}
@keyframes pop-hover {
  0% {
    -webkit-transform: translate(0, 0) rotate(0);
            transform: translate(0, 0) rotate(0);
  }
  10% {
    -webkit-transform: translate(0, 2px) rotate(-6deg);
            transform: translate(0, 2px) rotate(-6deg);
  }
  20% {
    -webkit-transform: translate(0, -6px) rotate(0);
            transform: translate(0, -6px) rotate(0);
  }
  30% {
    -webkit-transform: translate(0, 3px) rotate(3deg);
            transform: translate(0, 3px) rotate(3deg);
  }
  40% {
    -webkit-transform: translate(0, -3px) rotate(0);
            transform: translate(0, -3px) rotate(0);
  }
  50% {
    -webkit-transform: translate(0, 0) rotate(0);
            transform: translate(0, 0) rotate(0);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(0);
            transform: translate(0, 0) rotate(0);
  }
}
@-webkit-keyframes pop-hover-sm {
  0% {
    -webkit-transform: translate(0, 0) rotate(0);
            transform: translate(0, 0) rotate(0);
  }
  10% {
    -webkit-transform: translate(0, 2px) rotate(-1deg);
            transform: translate(0, 2px) rotate(-1deg);
  }
  20% {
    -webkit-transform: translate(0, -6px) rotate(0);
            transform: translate(0, -6px) rotate(0);
  }
  30% {
    -webkit-transform: translate(0, 3px) rotate(0.5deg);
            transform: translate(0, 3px) rotate(0.5deg);
  }
  40% {
    -webkit-transform: translate(0, -3px) rotate(0);
            transform: translate(0, -3px) rotate(0);
  }
  50% {
    -webkit-transform: translate(0, 0) rotate(0);
            transform: translate(0, 0) rotate(0);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(0);
            transform: translate(0, 0) rotate(0);
  }
}
@keyframes pop-hover-sm {
  0% {
    -webkit-transform: translate(0, 0) rotate(0);
            transform: translate(0, 0) rotate(0);
  }
  10% {
    -webkit-transform: translate(0, 2px) rotate(-1deg);
            transform: translate(0, 2px) rotate(-1deg);
  }
  20% {
    -webkit-transform: translate(0, -6px) rotate(0);
            transform: translate(0, -6px) rotate(0);
  }
  30% {
    -webkit-transform: translate(0, 3px) rotate(0.5deg);
            transform: translate(0, 3px) rotate(0.5deg);
  }
  40% {
    -webkit-transform: translate(0, -3px) rotate(0);
            transform: translate(0, -3px) rotate(0);
  }
  50% {
    -webkit-transform: translate(0, 0) rotate(0);
            transform: translate(0, 0) rotate(0);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(0);
            transform: translate(0, 0) rotate(0);
  }
}
/* =================================================================== slider anime */
@-webkit-keyframes slider-anime {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}
@keyframes slider-anime {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}
/*============================================================================================ 1285px */
@media only screen and (max-width: 767px) {
  /* ================================================ vw */
  /* ================================================ vh */
  /* ============================================================================================ conceptArticle */
  .conceptArticle {
    display: block;
  }
  .conceptSticky {
    width: 100%;
    height: auto !important;
    padding-bottom: 20px;
  }
  .conceptSection {
    width: 100%;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: rgba(var(--color-concept-border), 1);
  }
  /* ============================================================== conceptSticky */
  .conceptSticky {
    position: relative;
    top: 0;
    padding-top: 45px;
  }
  /* --------------------------------------- conceptSticky__inner */
  .conceptLeader__list {
    display: block;
    padding-top: 5.3333333333vw;
    padding-bottom: 10.6666666667vw;
  }
  /* --------------------------------------- conceptLeader__target */
  .conceptLeader__target {
    margin-bottom: 2.6666666667vw;
  }
  .conceptLeader--p {
    font-size: min(4.5333333333vw, 17px);
    letter-spacing: 0.3em;
    -webkit-writing-mode: inherit;
    -ms-writing-mode: inherit;
    writing-mode: inherit;
  }
  .conceptLeader--p > span.margin {
    left: 0.2em;
    margin-top: -0.25em;
    margin-bottom: 0.35em;
  }
  .conceptLeader--p > span.wm {
    -webkit-writing-mode: inherit;
        -ms-writing-mode: inherit;
            writing-mode: inherit;
  }
  /* --------------------------------------- conceptNav */
  .conceptSticky__inner {
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
  .conceptNav {
    width: 58.6666666667vw;
    margin-left: auto;
    margin-right: 0;
    padding: 0;
  }
  .conceptNav__title {
    font-size: 2.9333333333vw;
    margin-bottom: 5.3333333333vw;
    -webkit-transform: translate(-250%, 0);
            transform: translate(-250%, 0);
  }
  .conceptNav__list {
    position: relative;
  }
  .conceptNav__target {
    position: relative;
    padding-bottom: min(4vw, 15px);
    margin-right: min(6.6666666667vw, 25px);
    padding-right: min(6.6666666667vw, 25px);
  }
  .conceptNav__target::after {
    display: none;
  }
  .conceptNav__target:last-child {
    margin-right: 0;
  }
  .conceptNav--p {
    font-size: min(3.4666666667vw, 13px);
    padding-bottom: min(1.3333333333vw, 5px);
  }
  /* ============================================================== csBlock__grid */
  .csBlock__grid {
    padding-top: 4vw;
    padding-bottom: 4vw;
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .csBlock__gridInner {
    padding-top: 5.3333333333vw;
    padding-bottom: 8vw;
  }
  /* ============================================================== csBlock__title */
  .csBlock__grid.csBlock__title {
    padding-top: 3.2vw;
    padding-bottom: 3.2vw;
  }
  .csBlock__title--p {
    font-size: 4vw;
  }
  /* ============================================================== csBlock__text */
  .csBlock__text {
    font-size: 3.4666666667vw;
    line-height: 1.7;
    margin-bottom: 5.3333333333vw;
  }
  /* ============================================================== csBlock__bannerBox */
  .csBlock__bannerBox--flex {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .csBlock__bannerBox {
    width: calc(50% + 17.8666666667vw);
    margin-bottom: 8vw;
  }
  .csBlock__bannerBox:last-child {
    margin-bottom: 0;
  }
  /* --------------------------------------- csBlock__bannerBox p */
  .csBlock__bannerBox--p {
    font-size: 4vw;
    line-height: 1.7;
  }
  /* --------------------------------------- csBlock__bannerBox inner */
  .csBlock__bannerBox--inner {
    padding: 3.2vw 4.2666666667vw;
  }
  /* --------------------------------------- csBlock__bannerBox thum */
  .csBlock__bannerBox--thum {
    width: 19.7333333333vw;
  }
  /* --------------------------------------- csBlock__bannerBox btn */
  .csBlock__bannerBox--btn--p {
    min-width: 29.3333333333vw;
    font-size: 2.6666666667vw;
    padding: 1.3333333333vw;
  }
  .textColumn--2 {
    -webkit-column-gap: 10.6666666667vw;
       -moz-column-gap: 10.6666666667vw;
            column-gap: 10.6666666667vw;
  }
  /* ============================================================== csBlock__bannerBox about */
  .csBlock__bannerBox--about .csBlock__bannerBox--inner, .csBlock__bannerBox--message .csBlock__bannerBox--inner {
    height: 38.6666666667vw;
  }
  .csBlock__bannerBox--about {
    margin-bottom: 6.9333333333vw;
  }
  .csBlock__bannerBox--about .csBlock__bannerBox--title {
    font-size: 5.0666666667vw;
  }
  /* ============================================================== csBlock__bannerBox message */
  .csBlock__bannerBox--message .csBlock__bannerBox--title {
    font-size: 4vw;
    line-height: 1.45;
  }
  /* ============================================================== csBlock__techBanner tech */
  .csBlock__techBanner {
    width: 100%;
  }
  .csBlock__techBanner .csBlock__bannerBox--thum {
    width: 29.3333333333vw;
  }
  .csBlock__techBanner .csBlock__bannerBox--title {
    font-size: 4.5333333333vw;
    padding-left: 30.6666666667vw;
    padding-top: 2.6666666667vw;
    padding-bottom: 5.3333333333vw;
  }
  .csBlock__techBanner .csBlock__bannerBox--p {
    font-size: 2.9333333333vw;
  }
  /* ============================================================== csBlock__techBanner quality */
  .csBlock__qualityBanner, .csBlock__conceptBanner {
    width: 100%;
  }
  .csBlock__qualityBanner .csBlock__bannerBox--thum, .csBlock__conceptBanner .csBlock__bannerBox--thum {
    width: 39.2vw;
  }
  .csBlock__qualityBanner .csBlock__bannerBox--title, .csBlock__conceptBanner .csBlock__bannerBox--title {
    font-size: 4.5333333333vw;
    margin-bottom: 4vw;
  }
  .csBlock__qualityBanner .csBlock__bannerBox--inner, .csBlock__conceptBanner .csBlock__bannerBox--inner {
    padding: 3.2vw 4.2666666667vw 33vw 4.2666666667vw;
  }
  .csBlock__qualityBanner .textColumn--2, .csBlock__conceptBanner .textColumn--2 {
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1;
  }
  .csBlock__qualityBanner .csBlock__bannerBox--p, .csBlock__conceptBanner .csBlock__bannerBox--p {
    font-size: 2.9333333333vw;
    line-height: 1.8;
  }
  /* ============================================================== csBlock__techBanner taste */
  .csBlock__bannerBox--taste .csBlock__bannerBox--inner {
    display: block;
  }
  .csBlock__bannerBox--taste .csBlock__bannerBox {
    width: calc(50% + 4vw);
  }
  .csBlock__bannerBox--taste .csBlock__bannerBox--title {
    margin-bottom: 3.2vw;
  }
  .csBlock__bannerBox--taste .csBlock__bannerBox:nth-child(1) .csBlock__bannerBox--inner {
    height: 45.3333333333vw;
  }
  .csBlock__bannerBox--taste .csBlock__bannerBox:nth-child(1) .csBlock__bannerBox--title {
    font-size: 5.3333333333vw;
  }
  .csBlock__bannerBox--taste .csBlock__bannerBox:nth-child(2) {
    margin-left: auto;
  }
  .csBlock__bannerBox--taste .csBlock__bannerBox:nth-child(2) .csBlock__bannerBox--inner {
    height: 52vw;
  }
  .csBlock__bannerBox--taste .csBlock__bannerBox:nth-child(2) .csBlock__bannerBox--title {
    font-size: 4vw;
  }
  .csBlock__bannerBox--taste .csBlock__bannerBox--thum {
    width: 18.1333333333vw;
  }
  /* ============================================================== csBlock__techBanner job */
  .csBlock__bannerBox--job .csBlock__bannerBox:nth-child(1) {
    width: calc(50% + 30vw);
  }
  .csBlock__bannerBox--job .csBlock__bannerBox:nth-child(1) .csBlock__bannerBox--inner {
    height: 38.4vw;
  }
  .csBlock__bannerBox--job .csBlock__bannerBox:nth-child(1) .csBlock__bannerBox--title {
    font-size: 4.5333333333vw;
  }
  .csBlock__bannerBox--job .csBlock__bannerBox:nth-child(2) {
    width: calc(50% + 4vw);
    margin-left: auto;
  }
  .csBlock__bannerBox--job .csBlock__bannerBox:nth-child(2) .csBlock__bannerBox--inner {
    height: 45.3333333333vw;
    display: block;
  }
  .csBlock__bannerBox--job .csBlock__bannerBox:nth-child(2) .csBlock__bannerBox--title {
    font-size: 4vw;
    margin-bottom: 2.6666666667vw;
  }
  .csBlock__bannerBox--job .csBlock__bannerBox:nth-child(2) .csBlock__bannerBox--thum {
    width: 25.3333333333vw;
  }
  /* ============================================================================================ edit 202507 */
  .csBlock__techBanner .csBlock__bannerBox--title {
    min-height: 26.6666666667vw;
  }
  /* ============================================================================================ edit 20250708 */
  /* Safari */
  _::-webkit-full-page-media, _:future, :root .conceptLeader__target {
    min-width: 1.5em;
  }
  _::-webkit-full-page-media, _:future, :root .conceptLeader--p > span.wm {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  _::-webkit-full-page-media, _:future, :root .conceptLeader__target:nth-child(2) {
    margin-top: 0;
  }
  .csBlock.csBlock__tech .csBlock__bannerBox:nth-child(1) {
    width: 100%;
  }
  .csBlock.csBlock__tech .csBlock__bannerBox:nth-child(2) {
    width: 100%;
  }
}