:root {
  --color-main: #ca2420;
  --color-bg: #F5F5F5;
  --color-txt: #333;
  --color-border: #CCC;
  --color-wh: #fff;
  --font-base: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Noto Serif JP", serif;
  --font-num:"Times New Roman", Times, serif;
  --lineHeight-xs: 1.2;
  --lineHeight-s: 1.4;
  --lineHeight-m: 1.6;
  --lineHeight-l: 1.75;
  --lineHeight-xl: 2;
  --trans-min03: all .3s ease-in-out;
  --headerHeight-pc: 74px;
  --headerHeight-sp: 66px;
}

html {    
    scrollbar-gutter: stable;
    scroll-behavior: smooth;
    scroll-padding-top: var(--headerHeight-pc);
}
body {
  width: 100%;
  margin: 0 auto;
  font-size: 18px;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  color: var(--color-txt);
  font-family: var(--font-base);
  font-weight: 400;
  line-height: 1.6;
  overflow-x: clip;  
  word-break: break-word;
   /* load用 */
  position: fixed;
  top: 0;
}
*,*::before,*::after {
  box-sizing: border-box;
}
main {
  display: block;
  padding-top: var(--headerHeight-pc);
  overflow: clip;
}
img {
  vertical-align: top;
  max-width: 100%;
}
sub, sup {
  font-size: 60%;
}
.hp_brSp, .hp_spOnly {
  display: none;
}
.hp_ls_s {
  letter-spacing: -0.05em;
}
.ly_wrap_m {
  width: calc(100% - 40px);
  max-width: 1220px;
  margin: 0 auto;
}
.ly_wrap_s {
  width: calc(100% - 30px);
  max-width: 970px;
  margin: 0 auto;
}
#header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1000;
  box-sizing: border-box;
  background-color: #c00;
  width: 100%;
  padding: 26px 0;
}
#header .header_flex {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}
#header .header_flex .logoArea img {
  width: 100%;
  height: auto;
}
#header .header_flex .logoArea img.l-logo_image {
  width: 139px;
  height: 38px;
}
.ta_c {
  text-align: center;
}
.cmn_title {
    text-align: center;
}
.cmn_link {
    color: var(--color-main);  
    background: linear-gradient(var(--color-main), var(--color-main)) 100% 100% / 0 1px no-repeat;
    transition: background-size 0.3s;
    padding-bottom: 1px;
}
.cmn_link:hover {
    background-position: 0 100%;
    background-size: 100% 1px;
}
.cmn_note {
  font-size: 13px;
  text-indent: -1em;
  padding-left: 1em;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.conseptlogo {
  font-size: 15px;
  border: 1px solid #333;
  font-family: "Zen Kaku Gothic New", sans-serif;
  text-align: center;
  margin-top: 40px;
  padding: 10px;
  max-width: 850px;
  margin-inline: auto;
}
.js-inview {
    opacity: 0;
    transition: opacity .4s linear;
}
.js-inview.is-show {
    opacity: 1;
}
@keyframes fadein {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes slidein {
    0% {
        clip-path: inset(0 100% 0 0);
    }
    100% {
        clip-path: inset(0 0 0 0);
    }
}
/* kv */
.kv {
    opacity: 1;
    animation: fadein .6s linear forwards;
}
.kv_top {
    padding-top: 70px;
    padding-bottom: 30px;
    position: relative;
    height: calc(100vh - var(--headerHeight-pc));
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.kv_top_bg {
    position: absolute;
    top: 0;
    width: 100%;
    height: calc(100vh - var(--headerHeight-pc));
    top: -70px;
    /* max-width: 2000px; */
}
.kv_top::after {
    content: "";
    width: 100%;
    height: 130px;
    background: linear-gradient(to top, #fff, transparent);
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}
.kv_top_bg_left {
  position: absolute;
  top: 0;
  left: 0;
}
.kv_top_bg_rightTop {
  position: absolute;
  top: 0;
  right: 0;
}
.kv_top_bg_rightBottom {
  position: absolute;
  bottom: -58px;
  right: -34px;
}
.kv_top_parts {
  position: absolute;
  top: 0;
  width: 100%;
  height: calc(100vh - var(--headerHeight-pc));
  top: -70px;
}
.kv_top_parts_top {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  clip-path: inset(0 100% 0 0);
  transition: all 0.6s ease-out 2s;
}
body.is-kvshow .kv_top_parts_top {
  opacity: 1;
  clip-path: inset(0 0 0 0);
}
.kv_top_parts_bottom {
  position: absolute;
right: 0;
bottom: -90px;
  opacity: 0;
  clip-path: inset(0 0 0 100%);
  transition: all 0.6s ease-out 2s;
}
body.is-kvshow .kv_top_parts_bottom {
  opacity: 1;
  clip-path: inset(0 0 0 0);
}
.kv_top_inner{
    position: relative;
    z-index: 1;
}
.kv_title {
    text-align: center;
    margin-bottom:70px;
    opacity: 0;
    position: relative;
    width: fit-content;
    margin-inline: auto;
}
.kv_title::before {
  content: "";
  width: 98%;
  height: 9%;
  background: url(../img/kv_logo_shape.svg) no-repeat top center / contain;
  display: block;
  position: absolute;
  top: 15%;
  left: 0;
  clip-path: inset(0 100% 0 0);
}
body.is-kvshow .kv_title::before {
  animation: slidein .8s cubic-bezier(0.15, 0.47, 0.34, 0.99) 2.8s forwards;
}
.kv_sub {
    text-align: center;
    opacity: 0;
}
body.is-kvshow {
    position: static;
}
body.is-kvshow .kv_title {
    animation: fadein .7s .5s ease-in forwards;
}
body.is-kvshow .kv_sub {
    animation: fadein .7s 1.2s ease-in forwards;
}

.kv_sub_ja {
    font-size: 30px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.2em;
    font-feature-settings: "palt";
    transform: translateX(0.4em);
}
.kv_sub_ja::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: url(../img/line_kv.svg) no-repeat center / contain;
    margin: 12px 0 29px;
}
.kv_bottom {
    background: url(../img/bg_parts_01.png) no-repeat;
    background-position: left -80px bottom;
    padding-bottom: 162px;
    padding-top: 30px;
}
.kv_lead {
    line-height: 2.66;
    font-feature-settings: "palt";
    font-size: 18px;
    font-weight: 500;
    letter-spacing: .2em;
    text-align: center;
}
.kv_lead + .kv_lead {
    margin-top: 30px;
}
.kv_catch {
  font-weight: 500;
  font-size: 24px;
  line-height: 2;
  font-feature-settings: "palt";
  letter-spacing: .25em;
  text-align: center;
  margin-bottom: 40px;
}
.kv_feature {
  font-weight: 600;
  font-size: 24px;
  line-height: 2.1;
  font-feature-settings: "palt";
  letter-spacing: .26em;
  text-align: center;
  margin-top: 75px;
}
.kv_feature rt {
  letter-spacing: 0.15em;
  margin-bottom: 2px;
  font-size: 11px;
  font-weight: 400;
}
.kv_feature strong {
  color: #ca2420;
}
.kv_feature::after {
  content: "";
  display: block;
  width: 100%;
  max-width: 850px;
  height: 2px;
  background: url(../img/line_kv.svg) no-repeat center;
  background-size: 100% ;
  margin: 11px auto 0;
}

/* history */
.history {
    padding-top: 76px;
    position: relative;
    padding-bottom: 220px;
    z-index: 1;
}
.history::after {
    content: "";
    width: 100%;
    height: 400px;
    background: url(../img/bg_history_bottom.svg) no-repeat bottom center / cover;
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}
.history_top {
    padding-bottom: 77px;
    position: relative;
}
.history_top::after {
    content: "";
    display: block;
    width: 768px;
    height: 781px;
    background: url(../img/bg_parts_02.png) no-repeat center / contain;
    position: absolute;
    right: -80px;
    top: -147px;
}
.history_title {
    text-align: center;
}
.history_body {
    position: relative;
    z-index: 1;
}
.history_more {
  transition: var(--trans-min03);
  height: 26px;
  display: block;
  width: fit-content;
}
.history_more:hover {
  opacity: .6;
}
.history_body::before {
    content: "";
    display: block;
    width: 105%;
    height: 100%;
    background: url(../img/bg_parts_03.png) no-repeat top 100px left 0 / contain;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    pointer-events: none;
}
.historyTableTop {
    margin-bottom: 15px;
    text-align: center;
    position: relative;
}
.historyTableTop .history_more {
  position: absolute;
  bottom: 4px;
  left: calc(50% + 40px);
}
.historyTableTop_year {
    color: var(--color-main);
    font-family: var(--font-num);
    font-size: 50px;
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: 0.3rem;
}
.historyTableTop_text {
    font-size: 24px;
    line-height: 1.5;
    letter-spacing: .15em;
}
.historyTable {
    position: relative;
    padding-top: 36px;
    padding-bottom: 60px;
}
.historyTable .history_more {
  margin-top: 8px;
}
.historyTable::before {
    content: "";
    width: 15px;
    height: 100%;
    background: url(../img/line_history.svg) no-repeat top center / cover;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin-inline: auto;
}
.historyTable::after {
    content: "";
    height: 100px;
    width: 20px;
    display: block;
    background: linear-gradient(to top, #fff, transparent);
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin-inline: auto;
}
.historyTable_block {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    position: relative;
}
.historyTable_block + .historyTable_block {
    margin-top: 120px;
}
.historyTable_main {
    width: calc(50% + 120px);
    flex-shrink: 0;
    opacity: 0;
    transition: opacity .4s .0s linear;
}
.historyTable_img {
    position: absolute;
    top: 0;
    left: calc(50% + 200px);
    height: fit-content;
    width: fit-content;
    opacity: 0;
    transition: opacity .4s .5s linear;
}
.historyTable_img--vc {
    bottom: 0;
    margin-block: auto;
}
.historyTable_img img {
    width: auto;
    max-width: none;
}
.historyTable_main_item {
    display: flex;
    flex-direction: row-reverse;
    gap: 40px;
}
.historyTable_main_item + .historyTable_main_item{
    margin-top: 27px;
}
/* .historyTable_main_item + .historyTable_main_item:has(dt:empty) {
    margin-top: 16px;
} */
.historyTable_main_item > dt {
    width: 100px;
    font-family: var(--font-num);
    font-size: 28px;
    font-weight: 400;
    letter-spacing: .1em;
    line-height: 1.3;
    flex-shrink: 0;
}
.historyTable_main_item > dd {
    max-width: 470px;
    font-size: 18px;
    line-height: var(--lineHeight-l);
    letter-spacing: 0.13em;
    font-feature-settings: "palt";
    text-align: right;
    position: relative;
}
.historyTable_main_item > dd a {
    color: var(--color-main);
}
.historyTable_main_item--lg > dt {
    font-size: 40px;
}
.historyTable_main_item--lg > dd {
    font-size: 26px;
}
.historyTable_main_item--l > dt {
    font-size: 40px;
}
.historyTable_main_item--l > dd {
    font-size: 24px;
}
dd.historyTable_text_l {
    font-size: 24px;
}
dd.historyTable_text_s {
    font-size: 18px;
}
.historyTable_main_item--md > dd {
    font-size: 20px;
}
dt.historyTable_year_lg {
    font-size: 40px;
}
.historyTable_block--reverse .historyTable_img {
    left: auto;
    right: calc(50% + 200px);
}

.historyTable_icon {
    --progress: 0;
    position: absolute;
    top: 0;
    left: 0;    
}
.historyTable_icon img {
  position: relative;
  z-index: 1;
}
.historyTable_icon svg {
  transform:rotate(-90deg);
  position: absolute;
  top: 0;
  left: 0;
}
.historyTable_icon svg .circle {
  stroke: #ca2420;
  stroke-width: 1px;
  fill: transparent;
  stroke-dasharray: 205px;
  stroke-dashoffset: 205px;
  opacity: 0;
}
.is-show .historyTable_icon svg .circle {
  animation: circleAnim .8s ease-out forwards ;
}
@keyframes circleAnim {
  to {
    stroke-dashoffset: 0;
    opacity: 1;
  }
}
.historyTable_icon--t {
    transform: translateY(-22px);
}
.historyTable_icon--out {
  right: 100%;
  left: auto;
}
.historyTable_block--reverse .historyTable_icon--out {
  left: 100%;
  right: auto;
}
.historyTable_main_item > dd:has(.historyTable_icon--vc),
.historyTable_main_item > dd:has(.historyTable_icon--vt) {
    padding-left:82px;
    width: fit-content;
    flex: unset;
}
.historyTable_icon--vc {
    top: 50%;
    transform: translateY(-50%);
}
.historyTable_icon--vt {
    top: -10%;
}
.historyTable_block--reverse .historyTable_icon {
    right: 0;
    left: auto;
}
dd.historyTable_text_space {
    letter-spacing: 0.08em; 
}
.historyTable_block--parts01::after {
    content: "";
    width: 375px;
    height: 188px;
    display: block;
    background: url(../img/bg_text_10billion.svg) no-repeat center / contain;
    position: absolute;
    bottom: -86px;
    left: -187px;
    z-index: -1;
}
.historyTable_block--parts02::before,
.historyTable_block--parts02::after {
    content: "";
    display: block;
    position: absolute;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 190px;
    height: 192px;
}
.historyTable_block--parts02::before {
    background-image: url(../img/bg_text_25.svg);
    top: -120px;
    right: -190px;
}
.historyTable_block--parts02::after {
    background-image: url(../img/bg_text_50.svg);
    bottom: -160px;
    left: -190px;
}
.historyTable_block--parts03::after {
    content: "";
    width: 187px;
    height: 190px;
    display: block;
    background: url(../img/bg_text_75.svg) no-repeat center / contain;
    position: absolute;
    bottom: 42px;
    right: -229px;
}
.historyTableBottom {
    text-align: center;
    margin-top: 37px;
    position: relative;
    margin-bottom: 130px;
}
.historyTableBottom_text {
    font-size: 24px;
    font-weight: 500;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    height: fit-content;
    margin: auto;
    letter-spacing: .14em;
}
.historyTable_block.is-show .historyTable_main,
.historyTable_block.is-show .historyTable_img {
    opacity: 1;
}
.history_modal {
  position: fixed;
  top:  var(--headerHeight-pc);
  left: 0;
  width: 100%;
  height: calc(100% - var(--headerHeight-pc));
  background: rgba(0, 0, 0, 0.5);
  z-index: 99;
  opacity: 0;
  pointer-events: none;
  transition: var(--trans-min03);
}
.history_modal.is-open {
  opacity: 1;
  pointer-events: all;
}
.history_modal_main {
  background: #fff;
  max-width: 800px;
  width: calc(100% - 40px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: relative;
}
.history_modal_inner {
  padding: 68px 108px 112px 112px;
  overflow-y: scroll;
  max-height: 80vh;
  margin-right: 2px;
}
.history_modal_inner::-webkit-scrollbar{
  width: 5px;
}
.history_modal_inner::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 5px;
}
.history_modal_inner::-webkit-scrollbar-track {
  background: transparent;
}

.history_modal_close {
  position: absolute;
  top: -16px;
  right: -16px;
}
.history_modal_year {
  font-family: var(--font-num);
  color: #b4b4b4;
  font-size: 80px;
  line-height: 1;
  letter-spacing: .1em;
  margin-bottom: 4px;
}
.history_modal_title {
  font-size: 20px;
  padding-bottom: 18px;
  border-bottom: #ca2420 1px solid;
  margin-bottom: 18px;
  letter-spacing: .15em;
  font-weight: 500;
}
.history_modal_text {
  line-height: 2;
  letter-spacing: .15em;
  font-weight: 500;
  font-size: 16px;
}
.history_modal_text + .history_modal_text {
  margin-top: 2em;
}
.history_modal_text a,
.history_modal_title a {
  color: var(--color-main);
  background: linear-gradient(var(--color-main), var(--color-main)) 100% 100% / 0 1px no-repeat;
  transition: background-size 0.3s;
  padding-bottom: 1px;
}
.history_modal_text a:hover,
.history_modal_title a:hover {
  background-position: 0 100%;
  background-size: 100% 1px;
}

/* no1 */
.no1 {
    margin-top: -255px;
    padding-top: 425px;
    background: linear-gradient(to top, #a42420, #b72420 25%, #ca2420 50%, #e4918f 89%, #ffffff 100%);
    position: relative;
}
.no1_parts {
    z-index: 2;
    position: absolute;
    top: 170px;
    left: 50%;
    width: 100%;
    transform: translateX(-50%);    
    min-width: 1400px;
    clip-path: inset(0 100% 0 0);
    opacity: 0;
    transition: clip-path 0.7s linear, opacity .5s linear;
}
.no1_parts.is-show {
    clip-path: inset(0 0 0 0);
    opacity: 1;
}
.no1_parts img {
    width: 100%;
    min-height: 96px;
    max-height: 110px;
}
.no1_title {
    margin-bottom: 60px;
}
.no1_panel {
    display: flex;
    justify-content: center;
    gap: 25px;
    flex-wrap: wrap;
}
.no1_panel + .no1_panel {
    margin-top: 25px;
}
.no1_panel_item {
    width: 390px;
    border: 1px solid #fff;
    padding: 42px 17px 45px;
    min-height: 350px;
    color: #fff;
    opacity: 0;
    transition: opacity .3s linear;
}
.no1_main.is-show .no1_panel_item {
  opacity: 1;
}
.no1_panel_title {
    text-align: center;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-size: 20px;
    margin-bottom: 30px;
    letter-spacing: .03em;
}
.no1_panel_graph {
    text-align: center;
}
.no1_panel_cup {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 15px;
}
.no1_panel_cup_img {
    width: 139px;
    flex-shrink: 0;
    margin-top: 33px;
}
.no1_panel_cup_text {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 18px;
    font-weight: 400;
    font-feature-settings: "palt";
    letter-spacing: 0em;
}
.no1_panel_cup_serif {
    margin-top: 5px;
    font-weight: 400;
    font-size: 24px;
    line-height: 1.375;
    letter-spacing: .05em;
}
.no1_panel_cup_caption {
    font-size: 13px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    margin-top: 10px;
}
.no1_caption {
    margin-top: 20px;
    font-size: 13px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    color: #fff;
    font-weight: 400;
    max-width: 900px;
    margin-inline: auto;
}
.no1_beyond {
    margin-top: 280px;
    padding-bottom: 290px;
    text-align: center;
    color: #fff;
}
.no1_beyond_cnt {
    position: relative;
}
.no1_beyond_bg {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 680px;
    height: 506px;
}
.no1_beyond_text {
    line-height: 2.5;
    font-size: 20px;
    font-weight: 500;
    position: relative;
    z-index: 1;
    letter-spacing: 0.11em;
    transition: opacity 0.4s .2s linear;
    opacity: 0;
}
.is-show > .no1_beyond_text {
    opacity: 1;
}
.no1_beyond_text + .no1_beyond_text {
    margin-top: 2.5em;
}
.no1_beyond_graph {
    position: absolute;
    margin-left: calc(50% - 50vw);
    bottom: 120px;
    right: 7vw;
    width: min(95vw, 1800px);
    clip-path: inset(0 100% 0 0);
    transition: clip-path 2s cubic-bezier(0, 0, 0.75, 0.93);
}
.no1_beyond_graph img {
    width: 100%;
    max-width: none;
}
.no1_beyond_graph.is-show {
    clip-path: inset(0 0 0 0);
}
.no1_note {
  color: #fff;
  text-align: center;
  font-weight: 400;
  padding-block: 40px 30px;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

/* reference */
.reference {
    padding: 80px 0 60px;
}
.reference_title {
    font-weight: 500;
    font-size: 24px;
    line-height: var(--lineHeight-l);
    letter-spacing: .1em;
    margin-bottom: 20px;
    position: relative;
}
.reference_title::after {
    content: "";
    width: 100%;
    height: 1px;
    background: #333333;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 0;
    z-index: -1;
}
.reference_title > span {
    background: #fff;
    display: block;
    width: fit-content;
}
.reference_slider {
    overflow: visible;
    clip-path: inset(0 calc(50% - 50vw) 0 0);
}
.reference_slider_ctrl {
    display: flex;
    justify-content: flex-end;
    gap: 20px;
    margin-bottom: 26px;
}
.reference_slider_ctrl .swiper-pagination-bullets {
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 11px;
}
.reference_slider_ctrl .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0;
    opacity: 1;
    background: #b4b4b4;
    width: 7px;
    height: 7px;
}
.reference_slider_ctrl .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: var(--color-main);
}
.reference_link_label {
    text-align: center;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 18px;
    line-height: 1.44;
    margin-top: 23px;
    font-weight: 500;
    transition: color .3s ease;
}
.reference_link_img {
    overflow: hidden;
}
.reference_link_img img {
    width: 100%;
    transition: transform .3s ease;
}
.js-slider-prev,
.js-slider-next {
    width: 18px;
    height: 16px;
    background: #6e6e6e;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    cursor: pointer;
    transition: all .3s ease;
}
.js-slider-prev {
    transform: rotate(180deg);
}
.js-slider-prev:hover,
.js-slider-next:hover {
  background: var(--color-main);
}

.disclaimer {
  padding-bottom: 95px;
  font-size: 14px;
  line-height: 2;
  font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    letter-spacing: 0.03em;
    font-weight: 500;
}
.disclaimer_cnt +.disclaimer_cnt {
  margin-top: 30px;
}
.disclaimer_list li {
  text-indent: -1em;
  padding-left: 1em;
}
.disclaimer_toTop {
  display: block;
  width: fit-content;
  margin-left: auto;
  margin-right: -90px;
  position: relative;
  margin-bottom: 40px;
}

  .historyTable_img--mt35 {
    margin-top: 35%;
  }

/* PCのみ */
@media only screen and (max-width: 1450px)  {
  .disclaimer_toTop {
    margin-right: 0px;
  }    
}
@media only screen and (min-width: 1024px) and (max-width: 1390px)  {
   .historyTable_block--parts02::before,
   .historyTable_block--parts03::after {
    right: -30px;
   }
   .historyTable_block--parts02::before {
    top: -200px;
   }
   .historyTable_block--parts01::after,
   .historyTable_block--parts02::after {
    left: -30px;
   }
}
@media only screen and (min-width: 1025px) {
    .historyTable_icon--out img {
      max-width: none;
    }
}
@media only screen and (min-width: 768px) {
    .sp {
        display:none
    }
    #header {
      height: 74px;
    }
    #header .header_flex .logoArea {
      height: 22px;
      padding-left: 40px;
      margin-right: 40px;
    }
    #header .header_flex .logoArea img.l-logo_image {
      height: 22px;
      width: 328px;
    }
    .historyTable_block--reverse {
        flex-direction: row-reverse;
    }
    .historyTable_block--reverse .historyTable_main_item {
    flex-direction: row;
    }
    .historyTable_block--reverse .historyTable_main_item > dt {
        text-align: right;
    }
    .historyTable_block--reverse .historyTable_main_item > dd {
        text-align: left;
    }
    .historyTable_block--reverse .historyTable_main_item > dd:has(.historyTable_icon--vc),
    .historyTable_block--reverse .historyTable_main_item > dd:has(.historyTable_icon--vt) {
        padding-right: 82px;
        padding-left: 0;
    }
    .historyTable_block--reverse .historyTable_main_item > dd:has(.historyTable_icon--vt) {
      padding-right: 65px;
    }
    .reference_link:hover {
        color: var(--color-main);
    }
    .reference_link:hover .reference_link_img img {
        transform: scale(1.05);
    }
    .no1_main .no1_panel:nth-of-type(1) .no1_panel_item:nth-of-type(2){
      transition-delay: .3s;
    }
    .no1_main .no1_panel:nth-of-type(1) .no1_panel_item:nth-of-type(3){
      transition-delay: .6s;
    }
    .no1_main .no1_panel:nth-of-type(2) .no1_panel_item:nth-of-type(1){
      transition-delay: .9s;
    }
    .no1_main .no1_panel:nth-of-type(2) .no1_panel_item:nth-of-type(2){
      transition-delay: 1.2s;
    }
    .historyTable_block:not(.historyTable_block--reverse) .history_more {
      margin-right: 0;
      margin-left: auto;
    }
}
/* TB */
@media only screen and  (max-width: 1024px) {
    .cmn_title {
        height: 70px;
    }
    .cmn_title > img{
        max-height: 100%;
    }
    
    .kv_top_parts {
      top: 0;
      width: 100%;
      height: calc(100vh - var(--headerHeight-pc));
      top: -70px;
    }
    .kv_top_bg_left {
      top: -20px;
      left: -20px;
      transform: scale(0.9);
      transform-origin: left top;
    }
    .kv_top_parts_top {
      top: -20px;
      left: -20px;
      transform: scale(0.9);
      transform-origin: left top;
    }

    .kv_top_bg_rightTop {
      top: 0;
      right: -90px;
      transform: scale(0.9);
      transform-origin: right top;
    }
    .kv_top_bg_rightBottom {
      bottom: -153px;
      right: 0px;
      
      transform: scale(0.9);
      transform-origin: right bottom;
    }
    .kv_top_parts_bottom {
      right: 0;
      bottom: -200px;
      transform: scale(0.9);
      transform-origin: right bottom;
    }


    .kv_bottom {
        margin-top: 50px;
        background-position: left -170px bottom;
    }
    .kv_lead {
        font-size: 17px;
        letter-spacing: .16em;
    }
    .history_top::after {
        right: -170px;
        top: -180px;
    }
    .history_body::before {
        background-position: top 20% center
    }
    .historyTable_main_item > dt {
        font-size: 26px;
        letter-spacing: 0.08em;
    }
    .historyTable_main_item > dd {
        letter-spacing: 0.05em;
        font-size: 17px;
    }
    .historyTable_main_item--lg > dt,
    .historyTable_main_item--l > dt,
    dt.historyTable_year_lg {
        font-size: 36px;
    }
    .historyTable_main_item--lg > dd,
    .historyTable_main_item--l > dd {
        font-size: 22px;
        letter-spacing: 0.08em;
    }
    dd.historyTable_text_l {
        font-size: 22px;
    }
    dd.historyTable_text_s {
        font-size: 17px;
    }
    .historyTable_icon {
        width: 50px;
        height: 50px;
    }
    .historyTable_icon--t {
        transform: translateY(-14px);
    }
    .historyTable_main_item > dd:has(.historyTable_icon--vc),
    .historyTable_main_item > dd:has(.historyTable_icon--vt) {
        padding-left: 54px;
    }
    .historyTable_block--reverse .historyTable_main_item > dd:has(.historyTable_icon--vc),
    .historyTable_block--reverse .historyTable_main_item > dd:has(.historyTable_icon--vt) {
        padding-right: 54px;
    }
    .historyTable_block--reverse .historyTable_main_item > dd:has(.historyTable_icon--vt) {
      padding-right: 40px;
    }
    dd.historyTable_text_space {
        letter-spacing: 0.03em;
    }
    .historyTable_img {
        position: static;
    }
    .historyTable_block--parts01::after {    
        transform: scale(0.8);
        bottom: -86px;
        left: -70px;
    }
    .historyTable_block--parts02::before {    
        transform: scale(0.7);
        top: -200px;
        right: -30px;
    }
    .historyTable_block--parts02::after {    
        transform: scale(0.7);
        left: -30px;
        bottom: -110px;
    }
    .historyTable_block--parts03::after {
        transform: scale(0.7);
        right: -30px;
        bottom: 122px;
    }
    .no1_beyond_graph {
        right: auto;
        left: 0;
        width: 98%;
    }
}
/* SPのみ */
@media screen and (max-width: 767px) {
  .pc {
      display:none
  }
  main {
    padding-top: var(--headerHeight-sp);
  }
  .hp_brPc {
    display: none;
  }
  .hp_brSp {
    display: inline;
  }
  .hp_pcOnly {
    display: none;
  }
  .hp_spOnly {
    display: block;
  }
  .hp_spNone {
    display: none;
  }
  .conseptlogo {
    font-size: 14px;
    margin-top: 30px;
  }
  html {
    scroll-behavior: smooth;
    scroll-padding-top: var(--headerHeight-sp);
  }
  body {
    min-width: 0;
    font-size: 16px;
  }
  #header {
    padding: 14px 0;
  }
  #header .header_flex {
    min-width: inherit;
  }
  #header .header_flex .logoArea {
    height: 38px;
    padding-left: 26px;
  }
  .scroll-top {
    width: 40px;
    height: 40px;
    right: 12px;
  }
  .scroll-top > img {
    width: 100%;
    height: auto;
  }
  .cmn_title {
    height: 50px;
  }
  .kv_title {
    width: 60%;
    max-width: 220px;
    margin-inline: auto;
    margin-bottom: 70px;
  }
  .kv_sub_ja {
    font-size: 20px;
    letter-spacing: 0.18em;
    line-height: 1.5;
    margin-left: 0.1em;
  }
  .kv_sub_ja::after {
    margin-bottom: 20px;
    max-width: 460px;
    margin-inline: auto;
    margin-top: 10px;
  }
  .kv_sub_en {
    max-width: 340px;
    margin-inline: auto;
  }
  .kv_top_parts,
  .kv_top_bg {    
    height: 100vh;
    top: -66px;
    width: 100%;
  }
  .kv_top_bg_rightTop {
    transform: scale(0.8) rotate(8deg);
    right: -160px;
  }
  .kv_top_parts_bottom {
    transform: scale(0.8);    
    bottom: -90px;
    right: -50px;
  }
  .kv_top_bg_rightBottom { 
    bottom: -95px;    
    right: -50px;
    transform: scale(0.8);
  }

  .kv_bottom {
    margin-top: 60px;
  }
  .kv_lead {
    font-size: 15px;
    line-height: 2.2;
  }
  .kv_catch {
    font-size: 18px;
    letter-spacing: .2em;
  }
  .kv_feature {
    font-size: 18px;
    margin-top: 50px;
    letter-spacing: .2em;
  }
  .kv_feature rt {
    font-size: 9px;
  }
  .kv_bottom {
    padding-bottom: 80px;
    background-position: left -240px bottom;
  }
  .history {
    background: #fff;
    padding-bottom: 5px;
  }
  .history::after {
    height: 115px;
    bottom: -100px;
  }
  .history_body::before {
    background-image: url(../img/bg_parts_03_sp.png);
    background-position: top 28% center;
  }
  .history_top::after {
    right: -220px;
    top: -220px;
  }
  .history_more {
    height: 24px;
  }
  .history_more img {
    max-height: 100%;
  }
  .historyTable {    
    max-width: 400px;
    margin-inline: auto;
  }
  .historyTable::before {
    left: 82px;
    width: 6px;
    right: auto;
  }
  .historyTable::after {
    left: 77px;
    right: auto;
  }
  .historyTableTop_year {
    font-size: 40px;
  }
  .historyTableTop_text {
    font-size: 22px;
  }
  .historyTable_block {
    display: block;
  }
  .historyTable_main {
    width: 100%;
  }
  .historyTable_main_item {
    flex-direction: row;
    gap: 32px;
  }
  .historyTable_main_item > dt {
    text-align: right;
    font-size: 17px;
    width: 70px;
  }
  .historyTable_main_item > dd {
    text-align: left;
    font-size: 14px;
    padding: 0 !important;
  }
  .historyTable_main_item--lg > dt, 
  .historyTable_main_item--l > dt, 
  dt.historyTable_year_lg {
    font-size: 28px;
  }
  .historyTable_main_item--lg > dd, 
  .historyTable_main_item--l > dd {
    font-size: 20px;
  }
  dd.historyTable_text_l {
    font-size: 20px;
  }
  dd.historyTable_text_s {
      font-size: 14px;
  }
  i.historyTable_icon {
    transform: translateY(0%);
    position: static;
    width: 44px;
    height: 44px;
    display: block;
  }
  .historyTable_main_item:has(.historyTable_icon) > dt {
    padding-top: 42px;
  }
  .historyTable_img {
    padding-left: 110px;
    margin-top: 25px;
    width: 100%;
    text-align: center;
  }
  .historyTable_img img {
    max-width: 100%;
    max-height: 100%;
  }
  .historyTable_img--s img {
    max-height: 170px;
  }
  .historyTable_img--ms img {
    max-height: 300px;
  }
  .historyTable_img--m img {
    max-height: 240px;
  }
  .historyTable_img--mt25 {
    margin-bottom: 25%;
  }  
  .historyTable_img--mb10 {
    margin-bottom: 10%;
  }
  .historyTable_img--mb18 {
    margin-bottom: 18%;
  }
  .historyTable_img--mb20 {
    margin-bottom: 20%;
  }
  .historyTable_img--mb30 {
    margin-bottom: 30%;
  }
  .historyTable_img--mb40 {
    margin-bottom: 40%;
  }

  .historyTable_main_item + .historyTable_main_item {
    margin-top: 20px;
  }
  .historyTable_block + .historyTable_block {
    margin-top: 100px;
  }
  #y1990 {
    margin-top: 150px;
  }
  .historyTable_block--parts01::after {
    transform: scale(0.75);
    bottom: -175px;
    left: auto;
    right: 0;
    width: 310px;
    transform-origin: right;
    background-image: url(../img/bg_text_10billion_sp.svg);
  }
  .historyTable_block--parts02::before {
    right: -50px;
    top: -138px;
  }
  .historyTable_block--parts02::after {
    left: auto;
    right: -50px;
    bottom: -10px;
  }
  .historyTable_block--parts03::after {
    right: -50px;
    bottom:46%;
  }
  .historyTableBottom {
    margin-bottom: 100px;
  }
  .historyTableBottom_num {
    max-width: 220px;
    margin-inline: auto;
  }
  .historyTableBottom_text {
    font-size: min(22px, 5.3vw);
  }
  .history_modal {
    top: var(--headerHeight-sp);
    height: calc(100% - var(--headerHeight-sp));
  }
  .history_modal_inner {
    overflow-y: scroll;
    max-height: 80vh;
    padding: 40px;
  }
  .history_modal_close {
    width: 42px;
    height: 42px;
    top: -12px;
    right: -12px;
  }
  .history_modal_year {
    font-size: 50px;
  }
  .history_modal_title {
    font-size: 18px;
    letter-spacing: .12em;
  }
  .history_modal_text {
    font-size: 14px;
    letter-spacing: .12em;
  }
  .no1 {
    margin-top: -112px;
    padding-top: 380px;
  }
  .no1_parts {
    min-width: 770px;
  }
  .no1_parts img {
    min-height: 0;
  }
  .no1_panel_item {
    width: 100%;
    max-width: 390px;
    min-height: 0;
  }
  .no1_panel_cup {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
  .no1_panel_cup_main {
    width: 100%;
  }
  .no1_panel_cup_img {
    width: 120px;
    margin-top: -10px;
  }
  .no1_beyond {
    margin-top: 200px;
    padding-bottom: 200px;
  }
  .no1_beyond_bg {
    height: fit-content;
    width: 80%;
  }
  .no1_beyond_text {
    font-size: 15px;
    line-height: 2.3;
  }
  .no1_beyond_graph {
    left: auto;
    right: 5%;
    width: 120%;
    transition: clip-path 1.5s cubic-bezier(0, 0, 0.75, 0.93);
    bottom: 120px;
  }
  .reference {
    padding: 60px 0 30px;
  }
  .reference_title {
    font-size: 20px;
    padding-bottom: 13px;
    margin-bottom: 28px;
  }
  .reference_title::after {
    top: auto;
  }
  .reference_link_label {
    font-size: 16px;
  }
  .disclaimer_toTop {
    margin-bottom: 20px;
  }
  .disclaimer_toTop img {
    width: 60px;
    height: 60px;
  }
}

@media screen and (max-width: 390px) {
  .historyTable_block--parts03::after {
        bottom: 51%!important;
    }
}  
