@charset "UTF-8";
/* calc スタイル
======================================================================================== */
/* html {
  background: #f5f0e1;
} */

#GPH260107MorningBear {
  --font-credit: "heebo", sans-serif;
  --font-fw-light: 300;
  --font-fw-regular: 400;
  --font-fw-medium: 500;
  --font-fw-bold: 600;
  --color-brown: #77611b;
  --color-brown2: #81611b;
  --color-green: #a3c7b6;
  --color-navy: #152643;
  --color-navy2: #414f83;
  --color-gray: #646665;
  --color-pink: #e0b8b9;
  --color-white: #fff;

  --pc-width: 1280;
  --sp-width: 650;
  --pc-artboard-width: 650;
  --sp-artboard-width: 650;
  --formula: calc(var(--variable) * var(--ratio)); /*SP→PC 可変設定*/
  --formula_pc: calc(var(--variable) * 1); /*PC 1400以上は固定*/

  position: relative;
  z-index: 1;
  font-style: normal;
  width: 100%;
}

@media screen and (min-width: 650px) {
  #GPH260107MorningBear {
    --ratio: calc(var(--pc-artboard-width) / var(--sp-artboard-width)); 
    --variable: 1px;
  }

  :root {
    --lpSetSize: calc(1px * calc(650 / 650));
  }
}

/* SP画面幅 649px以下 可変 */
@media screen and (max-width: 649px) {
  #GPH260107MorningBear {
    --reference-value: .1rem;
    --dsesktop-rate: calc(100vw / 1920);
    --rate: calc(100cqi / 650);
    opacity: 1;
  }

  :root {
    --lpSetSize: (100vw / 650);
  }
}


/* ベーススタイル
======================================================================================== */

.main-area * {
  box-sizing: border-box;
}
.main-area img {
  height: auto;
  opacity: 1;
  width: 100%;
}
.main-area a {
  display: inline-block;
  pointer-events: all;
  text-decoration: none;
}
.main-area picture {
  display: block;
}
.main-area p, .main-area ul, .main-area ol, .main-area dl {
  list-style: none;
}

#GPH260107MorningBear {
  font-feature-settings: "palt";
}


#Foot,
#style-archive.style-archive{
  background-color: #fff;
}

a:hover{
  opacity: 1;
}

.credit-item a:hover{
  opacity: 1;
}

@media (min-width: 650px) and (max-width: 1400px) {
  .contents_area{
    max-width: calc(650 * var(--lpSetSize));
  }
}

@media screen and (min-width: 650px) {
  .spOnly {
    display: none;
  }

  .pcOnly {
    display: block;
  }

  /* #Foot{
    position: relative;
    background: #fff;
    pointer-events: none;
    z-index: 1001;
  }
  #footer{
    pointer-events: all;
  }
  .modal.hide{
    pointer-events: none;
  }
  .modal.hide.open.show{
    pointer-events: all;
  }
  #Header{
    z-index: 999;
  } */
}

@media screen and (max-width: 649px) {
  #GPH260107MorningBear{
    overflow-x: clip;
  }

  .spOnly {
    display: block;
  }

  .pcOnly {
    display: none;
  }

  /* Chrome, Safari, EdgeなどのWebKit系ブラウザ */
  ::-webkit-scrollbar {
    display: none;
  }

  /* Firefox */
  html {
    scrollbar-width: none;
    overflow-x: clip;
  }

  /* IE、Edge */
  body {
    -ms-overflow-style: none;
  }

  .contents_area{
    transform: translateZ(0);
    backface-visibility: hidden;
    will-change: transform;
  }
}

/* ==============================
  PC レイアウト
============================== */

@media screen and (min-width: 650px) {

  #GPH260107MorningBear{
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    position: relative;
    overflow-y: clip;
    height: 100%;
  }

  .contents_area{
    position: relative;
    z-index: 10;
    z-index: 1;
    width: 100%;
    margin: auto;
    /* overflow-x: clip; */
    width: calc(650 * var(--lpSetSize));
    max-width: 650px;
    grid-column: 2;
    border-right: var(--color-brown2) solid 2px;
    border-left: var(--color-brown2) solid 2px;
  }

  .pc_left{
    position: sticky;
    top: 0;
    height: 100vh;
    grid-column: 1;
    place-content: center;
    width: 100%;
    z-index: 1;
    margin-top: calc(var(--headerHeight) * -1);
  }

  .pc_right{
    position: sticky;
    top: 0;
    height: 100vh;
    grid-column: 3;
    place-content: center;
    z-index: 1;
    margin-top: calc(var(--headerHeight) * -1);
  }

  .pc_left .left-ttl{
    position: absolute;
    width: calc(194.24 * var(--lpSetSize));
    /* top: 42%; */
    top: 49vh;
    left: 48.5%;
    transform: translate(-50%, -50%);
  }

  .pc_left .left-bear{
    position: absolute;
    width: calc(255.84 * var(--lpSetSize));
    bottom: 0;
    left: 46.4%;
    transform: translateX(-50%);
  }

  .pc_right .right-ttl{
    position: absolute;
    width: calc(220 * var(--lpSetSize));
    /* top: 43.5%; */
    top: 50.5vh;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .pc_right .right-bear{
    position: absolute;
    width: calc(186.42 * var(--lpSetSize));
    bottom: 0;
    left: 54%;
    transform: translateX(-50%);
  }

}

@media (min-width: 650px) and (max-width: 1200px) {
  .pc_right .right-ttl,
  .pc_right .right-bear,
  .pc_left .left-ttl,
  .pc_left .left-bear{
    display: none;
  }
}

/* ==============================
  mv
============================== */
.mv{
  position: relative;
  width: 100%;
  height: 100%;
  background-color: var(--color-pink);
  border-bottom: var(--color-brown2) 2px solid;
  overflow: clip;
}

.mv .mv-bear{
  position: relative;
  /* bottom: calc(-8 * var(--lpSetSize)); */
  width: calc(634.1463 * var(--lpSetSize));
  padding-top: calc(270 * var(--lpSetSize));
  /* margin: 0 auto; */
  left: 51%;
  transform: translateX(-50%);
}

.mv .mv-ttl{
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(415.2871 * var(--lpSetSize));
  margin-top: calc(21 * var(--lpSetSize));
}

.mv .be-warm{
  position: absolute;
  z-index: 1;
  bottom: 38.4%;
  transform: translateY(-50%);
  left: calc(31.6 * var(--lpSetSize));
  width: calc(142.9023 * var(--lpSetSize));
}

.mv .be-bear{
  position: absolute;
  z-index: 1;
  bottom: 38.4%;
  transform: translateY(-50%);
  right: calc(28.8 * var(--lpSetSize));
  width: calc(122.3924 * var(--lpSetSize));
}

/* ==============================
  共通
============================== */
.section-img__container{
  position: relative;
  width: calc(550 * var(--lpSetSize));
  /* width: calc(544 * v÷ar(--lpSetSize)); */
  margin: 0 auto;
}

.section-img__container .section-img{
  overflow: clip;
}

.section-img__container:nth-child(even) .section-img {
  position: relative;
}

.section-img__container:nth-child(even)::after{
  content: "";
  position: absolute;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  top: 0;
  left: 0;
  border: solid 2px var(--color-navy2);
  pointer-events: none;
}

.section-img__container:nth-child(odd) .section-img {
  position: relative;
}

.section-img__container:nth-child(odd)::after{
  content: "";
  position: absolute;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  top: 0;
  left: 0;
  border: solid 2px var(--color-brown2);
  pointer-events: none;
}

@media screen and (min-width: 650px) {
  .section-img__container:nth-child(even)::after,
  .section-img__container:nth-child(odd)::after{
    width: 100%;
    height: 100%;
  }
}

.section-img__container .creditLinks__cont{
  position: absolute;
  z-index: 1;
}

.section-img__container .creditLinks__cont::before{
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0;
  right: 0;
  width: calc(150 * var(--lpSetSize));
  height: calc(150 * var(--lpSetSize));
}

.credit-item a{
  font-size: calc(18 * var(--lpSetSize));
  font-family: var(--font-credit);
  font-weight: var(--font-fw-light);
  color: var(--color-white);
  letter-spacing: 0.05em;
  line-height: 1.5;
}

.section-img__container:nth-child(odd) .credit-item{
  text-align: right;
}


/* ==============================
  section01
============================== */
.section01{
  background-color: var(--color-green);
  overflow-x: clip;
  padding-top: calc(72 * var(--lpSetSize));
  padding-bottom: calc(48 * var(--lpSetSize));
}

.section01 .section-img__container.--01{
  margin-bottom: calc(80 * var(--lpSetSize));
}

.section01-img01-dec{
  position: absolute;
  width: calc(355 * var(--lpSetSize));
  bottom: calc(-50.4 * var(--lpSetSize));
  left: calc(-4.5 * var(--lpSetSize));
}

.section01-img04-dec{
  position: absolute;
  width: calc(279.67 * var(--lpSetSize));
  bottom: calc(21.6 * var(--lpSetSize));
  right: calc(-26.5 * var(--lpSetSize));
}

.section01 .section-img__container.--02{
  margin-bottom: calc(53 * var(--lpSetSize));
}

.section01 .section-img__container.--03{
  width: 100%;
  margin: calc(21 * var(--lpSetSize)) auto calc(30 * var(--lpSetSize));
  border-top: var(--color-brown2) solid 2px;
  border-bottom: var(--color-brown2) solid 2px;
}

.section01 .section-img__container.--03::after{
  border: none;
}

.section01 .slider-txt__wrapper .js-slider-set2_item{
  width: calc(1001.8252 * var(--lpSetSize));
  margin-right: calc(10 * var(--lpSetSize));
}

.section01 .section-img__container.--04{
  margin-top: calc(40 * var(--lpSetSize));
}

.section01 .section-img__container.--01 .creditLinks__cont{
  right: 0;
  bottom: 0;
  padding-right: calc(19.3 * var(--lpSetSize));
  padding-bottom: calc(15.2 * var(--lpSetSize));
}

.section01 .section-img__container.--02 .creditLinks__cont{
  left: 0;
  top: 0;
  padding-left: calc(21.9 * var(--lpSetSize));
  padding-top: calc(14.4 * var(--lpSetSize));
}

.section01 .section-img__container.--03 .creditLinks__cont{
  right: 0;
  bottom: 0;
  padding-right: calc(18.3 * var(--lpSetSize));
  padding-bottom: calc(13.2 * var(--lpSetSize));
}


.section01 .section-img__container.--04 .creditLinks__cont{
  left: 0;
  top: 0;
  padding-left: calc(18.3 * var(--lpSetSize));
  padding-top: calc(15 * var(--lpSetSize));
}

.section01 .js-slider-repeat{
  width: calc(997.69 * var(--formula));
}

.section01 .section-img__container.--01 .creditLinks__cont::before,
.section01 .section-img__container.--03 .creditLinks__cont::before{
  right: 0;
  bottom: 0;
    background: linear-gradient(
    to bottom right,
    transparent 50%,
    var(--color-brown2) 50%
  );
}

.section01 .section-img__container.--03 .creditLinks__cont::before{
  width: calc(200 * var(--lpSetSize));
  height: calc(200 * var(--lpSetSize));
}

.section01 .section-img__container.--03 .creditLinks__cont .credit-item{
  text-align: right;
}

.section01 .section-img__container.--02 .creditLinks__cont::before,
.section01 .section-img__container.--04 .creditLinks__cont::before{
  left: 0;
  top: 0;
    background: linear-gradient(
    to top left,
    transparent 50%,
    var(--color-navy2) 50%
  );
}

/* ==============================
  section02
============================== */
.section02{
  background-color: var(--color-pink);
  overflow-x: clip;
  padding-top: calc(46 * var(--lpSetSize));
  padding-bottom: calc(84 * var(--lpSetSize));
}

.section02 .section-img__container.--01{
  position: relative;
  z-index: 2;
  margin: 0 auto calc(78.3 * var(--lpSetSize)) 0;
}

.section02 .section-img__container.--02{
  position: relative;
  z-index: 1;
  margin: calc(-153 * var(--lpSetSize)) 0 calc(72 * var(--lpSetSize)) auto;
}

@media screen and (min-width: 650px) {
  .section02 .section-img__container:nth-of-type(1):after{
    border-left: none;
    border-top: var(--color-brown2) 2px solid;
    border-right: var(--color-brown2) 2px solid;
    border-bottom: var(--color-brown2) 2px solid;
    /* transform: translateX(-2px); */
  }

  .section02 .section-img__container:nth-of-type(2):after{
    border-right: none;
    border-top: var(--color-navy2) 2px solid;
    border-left: var(--color-navy2) 2px solid;
    border-bottom: var(--color-navy2) 2px solid;
    /* transform: translateX(3px); */
  }
}

.section02 .section-img__container.--02 .section-slide{
  width: calc(550 * var(--lpSetSize));
}


.section02 .section-img__container.--02 .slick-slider .slick-list{
  padding: 0px!important;
}

.section02 .section-img__container.--03{
  position: relative;
  margin-bottom: calc(159 * var(--lpSetSize));
}

.section02 .section-img__container.--03 .section02-img02-dec {
  position: absolute;
  z-index: 2;
  width: calc(371.48 * var(--lpSetSize));
  top: calc(-66 * var(--lpSetSize));
  left: calc(25 * var(--lpSetSize));
}

.section02 .section-img__container.--04{
  position: relative;
}

.section02 .section02-img04-dec{
  position: absolute;
  z-index: 2;
  top: calc(-94 * var(--lpSetSize));
  left: 50%;
  transform: translateX(-50%);
  width: calc(408.2 * var(--lpSetSize));
  pointer-events: none;
}

.section02 .section-img__container.--01 .creditLinks__cont{
  right: 0;
  top: 0;
  padding-right: calc(18.4 * var(--lpSetSize));
  padding-top: calc(13.7 * var(--lpSetSize));
}

.section02 .section-img__container.--02 .creditLinks__cont{
  left: 0;
  bottom: 0;
  padding-left: calc(20.9 * var(--lpSetSize));
  padding-bottom: calc(14.9 * var(--lpSetSize));
}

.section02 .section-img__container.--03 .creditLinks__cont{
  right: 0;
  bottom: 0;
  padding-right: calc(18.1 * var(--lpSetSize));
  padding-bottom: calc(8.4 * var(--lpSetSize));
}

.section02 .section-img__container.--04 .creditLinks__cont{
  left: 0;
  bottom: 0;
  padding-left: calc(21 * var(--lpSetSize));
  padding-bottom: calc(14.4 * var(--lpSetSize));
}

.section02 .section-img__container.--01 .creditLinks__cont::before{
  right: 0;
  top: 0;
    background: linear-gradient(
    to top right,
    transparent 50%,
    var(--color-brown) 50%
  );
  width: calc(200 * var(--lpSetSize));
  height: calc(200 * var(--lpSetSize));
}

.section02 .section-img__container.--02 .creditLinks__cont::before{
  left: 0;
  bottom: 0;
  background: linear-gradient(
    to bottom left,
    transparent 50%,
    var(--color-navy2) 50%
  );
}

.section02 .section-img__container.--03 .creditLinks__cont::before{
  right: 0;
  bottom: 0;
    background: linear-gradient(
    to bottom right,
    transparent 50%,
    var(--color-brown) 50%
  );
}

.section02 .section-img__container.--04 .creditLinks__cont::before{
  left: 0;
  bottom: 0;
    background: linear-gradient(
    to bottom left,
    transparent 50%,
    var(--color-navy2) 50%
  );
}

/* ==============================
  cai_btn
============================== */
.cai_btn__wrapper{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background-color: var(--color-pink);
  padding-bottom: calc(80 * var(--lpSetSize))
}
.cai_btn{
  position: relative;
  width: calc(469 * var(--lpSetSize));
  /* margin: 0 auto calc(79.3 * var(--lpSetSize)); */
  z-index: 10;
}

.cai_btn a{
  width: 100%;
  padding: calc(18 * var(--lpSetSize)) 0 calc(17.2 * var(--lpSetSize));
}

.cai_btn::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(0 * var(--lpSetSize));
  right: calc(0 * var(--lpSetSize));
  margin: auto;
  width: calc(0 * var(--lpSetSize));
  height: 2px;
  background-color: var(--color-brown2);
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: 2s;
  transition: 2s;
}
.cai_btn.view::after {
  width: calc(469 * var(--lpSetSize));
  -webkit-transform: scale(1);
          transform: scale(1);
}

.cai_btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(0 * var(--lpSetSize));
  right: calc(0 * var(--lpSetSize));
  margin: auto;
  width: calc(0 * var(--lpSetSize));
  height: 2px;
  background-color: var(--color-brown2);
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: 2s;
  transition: 2s;
}
.cai_btn.view::before {
  width: calc(469 * var(--lpSetSize));
  -webkit-transform: scale(1);
          transform: scale(1);
}

/* ==============================
  animatiion
============================== */
.background-change-element{
  transition: all 0.4s;
}

/* animation_delay ___________________________*/
.animation_delay01{
  transition-delay: 0.5s;
}

.animation_delay02{
  transition-delay: 1s;
}

.animation_delay03{
  transition-delay: 1.5s;
}

/* fadeIn ___________________________*/
.js-show.fadeIn{
  opacity: 0;
}

.js-show.fadeIn.view{
  transition-property: opacity, transform;
  transition-duration: 0.5s;
  opacity: 1;
}

/* zoomOut ___________________________*/
.js-show.zoomOut img{
  opacity: 0;
  transition: 1.25s;
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  transform: scale(1.1);
}

.js-show.zoomOut.view img{
  opacity: 1;
  transform: none;
}

/* slideIn ___________________________*/
.slide-wrap {
  overflow: hidden;
  z-index: 2;
}

.js-show.slideIn {
  opacity: 0;
  /* --char-index: 0 */
  /* transform: translateX(-20px);  */

  -webkit-mask-image: linear-gradient(to right, #000 0%, #000 33%, transparent 66%, transparent 100%);
  mask-image: linear-gradient(to right, #000 0%, #000 33%, transparent 66%, transparent 100%);
  -webkit-mask-size: 300% 100%;
  mask-size: 300% 100%;
  -webkit-mask-position: 100% 0;
  mask-position: 100% 0;

  transition: 
      opacity 1.6s cubic-bezier(0.77, 0, 0.175, 1),
      transform 1.6s cubic-bezier(0.77, 0, 0.175, 1),
      mask-position 2.4s cubic-bezier(0.77, 0, 0.175, 1),
      -webkit-mask-position 2.4s cubic-bezier(0.77, 0, 0.175, 1);
  /* transition-delay: calc(0.2s * var(--char-index, 0)); */

  z-index: 2;
}

.js-show.slideIn.view {
    opacity: 1;
    transform: translateX(0);
    -webkit-mask-position: 0% 0;
    mask-position: 0% 0;
}

.js-show.slideIn img {
    width: 100%;
    height: auto;
    display: block;
}

/* .js-show.slideIn{
  z-index: 2;
  opacity: 0;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(
    90deg,
    #000 0%,
    #000 96%,
    transparent 94%,
    transparent 100%
  );
  mask-image: linear-gradient(
    90deg,
    #000 0%,
    #000 96%,
    transparent 94%,
    transparent 100%
  );
  -webkit-mask-size: 200% 100%;
  mask-size: 200% 100%;
  -webkit-mask-position: 100% 0;
  mask-position: 100% 0;
  transition:
    opacity 1.1s ease-out,
    mask-position 6s steps(22),
    transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.js-show.slideIn.view {
  opacity: 1;
  transform: translateX(0);

  -webkit-mask-position: 0% 0;
  mask-position: 0% 0;

  pointer-events: none;
} */


/* 背景の固定コンテナ ___________________________*/
@media screen and (min-width: 650px) {
  .bg-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    display: flex;
    z-index: -1;
    overflow: hidden;
  }

  /* 左側の背景パネル */
  .bg-panel-left {
    width: 50%;
    height: 100%;
    background-color: #414F83;
    transition: background-color 0.4s ease;
  }
  
  /* 右側の背景パネル */
  .bg-panel-right {
    width: 50%;
    height: 100%;
    background-color: #646665;
    transition: background-color 0.4s ease;
  }
  .content-box {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    padding: 2rem;
    border-radius: 1rem;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
    text-align: center;
    max-width: 80%;
  }

  /* 判定ラインの視覚化（デバッグ・デモ用） */
  /* .debug-line {
      position: fixed;
      top: 20%;
      left: 0;
      width: 100%;
      height: 2px;
      background: rgba(255, 0, 0, 0.3);
      z-index: 100;
      pointer-events: none;
  }
  .debug-line::after {
      content: '背景切り替えライン (上から20%)';
      position: absolute;
      right: 10px;
      top: -20px;
      font-size: 10px;
      color: red;
  } */
}

@media screen and (max-width: 649px) {
  .bg-container{
    display: none;
  }
}

@media screen and (min-width: 1201px) {
  #main-container .cateList{
    margin: 0 auto;
    padding: 13rem 0 4rem;
  }
}

@media screen and (min-width: 561px) and (max-width: 1200px){
#main-container .cateList{
    padding-top: 13rem;
    padding-bottom: 4rem;
    padding-right: 4rem;
    margin: 0 auto;
  }
}