@charset "UTF-8";
/* @include _mixin.scss */
/* responsive */
/* kv calc */
/* @include _breakpoints.scss */
/* break point media query */
/*pc sp tb　出し分け*/
@media screen and (max-width: 767.9px) {
  .pc {
    /*SP*/
    display: none !important;
  }
}

.pc_i {
  display: inline;
  /*PC*/
}

@media screen and (max-width: 767.9px) {
  .pc_i {
    /*SP*/
    display: none;
  }
}

.pc_ib {
  display: inline-block;
  /*PC*/
}

@media screen and (max-width: 767.9px) {
  .pc_ib {
    /*SP*/
    display: none;
  }
}

.sp {
  display: none !important;
  /*PC*/
}

@media screen and (max-width: 767.9px) {
  .sp {
    /*SP*/
    display: block !important;
  }
}

.sp_i {
  display: none;
  /*PC*/
}

@media screen and (max-width: 767.9px) {
  .sp_i {
    /*SP*/
    display: inline;
  }
}

.sp_ib {
  display: none;
  /*PC*/
}

@media screen and (max-width: 767.9px) {
  .sp_ib {
    /*SP*/
    display: inline-block;
  }
}

.tb {
  display: none;
  /*PC*/
}

@media screen and (max-width: 767.9px) {
  .tb {
    /*SP*/
    display: none;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024.9px) {
  .tb {
    /*tabletOnly*/
    display: block;
  }
}

.tb_i {
  display: none;
  /*PC*/
}

@media screen and (max-width: 767.9px) {
  .tb_i {
    /*SP*/
    display: none;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024.9px) {
  .tb_i {
    /*tabletOnly*/
    display: inline;
  }
}

.tb_ib {
  display: none;
  /*PC*/
}

@media screen and (max-width: 767.9px) {
  .tb_ib {
    /*SP*/
    display: none;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024.9px) {
  .tb_ib {
    /*tabletOnly*/
    display: inline-block;
  }
}

/* @include _breakpoints.scss */
#loading {
  position: fixed;
  width: 100%;
  height: 100vh;
  background: white;
  z-index: 150;
  transition: .5s;
}

#loading.hidden {
  visibility: hidden;
  opacity: 0;
  transition: .5s;
}

#loading .loading_cont {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

#loading .loading_cont p {
  margin-bottom: 10px;
  font-weight: bold;
  text-align: center;
}

#loading .loading_cont .loading {
  display: block;
  width: 50px;
  height: 50px;
  background-repeat: no-repeat;
  background-image: radial-gradient(4px 4px at 10% 50%, #999, #999 95%, transparent), radial-gradient(4px 4px at 50% 10%, #999, #999 95%, transparent), radial-gradient(4px 4px at 90% 50%, #999, #999 95%, transparent), radial-gradient(4px 4px at 50% 90%, #999, #999 95%, transparent);
  text-align: center;
  position: relative;
  margin: 0 10px;
  vertical-align: middle;
  -webkit-animation: loadingAnim 2s linear infinite;
  animation: loadingAnim 2s linear infinite;
}

#loading .loading_cont .loading:after {
  display: inline-block;
  width: 50px;
  height: 50px;
  background-repeat: no-repeat;
  background-image: radial-gradient(4px 4px at 10% 50%, #999, #999 95%, transparent), radial-gradient(4px 4px at 50% 10%, #999, #999 95%, transparent), radial-gradient(4px 4px at 90% 50%, #999, #999 95%, transparent), radial-gradient(4px 4px at 50% 90%, #999, #999 95%, transparent);
  position: absolute;
  content: " ";
  left: 0;
  top: 0;
  margin: 0;
  transform: rotate(45deg);
}

.js-loading_contents {
  visibility: hidden;
  opacity: 0;
}

.js-loading_contents--open {
  visibility: visible;
  opacity: 1;
}

@-webkit-keyframes loadingAnim {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}

@keyframes loadingAnim {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/*icebox*/
#icebox {
  width: 100%;
  overflow: hidden;
  /* kv ウィンドウサイズがデザインの比率より横長の場合 */
  /* kv ウィンドウサイズがデザインの比率より縦長の場合 */
}

#icebox a {
  transition: opacity .5s;
}

#icebox a:hover {
  opacity: 0.7;
  transition: opacity .5s;
}

#icebox img {
  width: 100%;
}

#icebox h1,
#icebox h2,
#icebox h3,
#icebox h4,
#icebox h5,
#icebox h6,
#icebox ul,
#icebox ol,
#icebox dl,
#icebox li,
#icebox dt,
#icebox dd,
#icebox p,
#icebox header,
#icebox section,
#icebox article,
#icebox aside,
#icebox footer,
#icebox figure,
#icebox figcaption,
#icebox nav {
  font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", 'Hiragino Kaku Gothic ProN', 'HiraKakuProN-W3', sans-serif;
  font-weight: 600;
  color: #003483;
}

#icebox h1.font2,
#icebox h2.font2,
#icebox h3.font2,
#icebox h4.font2,
#icebox h5.font2,
#icebox h6.font2,
#icebox ul.font2,
#icebox ol.font2,
#icebox dl.font2,
#icebox li.font2,
#icebox dt.font2,
#icebox dd.font2,
#icebox p.font2,
#icebox header.font2,
#icebox section.font2,
#icebox article.font2,
#icebox aside.font2,
#icebox footer.font2,
#icebox figure.font2,
#icebox figcaption.font2,
#icebox nav.font2,
#icebox a.font2 {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
}

#icebox .black {
  color: #000;
}

#icebox .particle {
  pointer-events: none;
}

#icebox header {
  position: absolute;
  display: block;
  width: 100%;
  height: 8.53659vh;
  background: #003483;
  z-index: 10;
}

@media screen and (max-width: 767.9px) {
  #icebox header {
    /*SP*/
    background: none;
    height: 9.33333vw;
  }
}

#icebox header h1 {
  position: absolute;
  width: 25.60976vh;
  height: 11.58537vh;
  padding: 1.82927vh 0 0 4.5122vh;
  margin-left: 6.09756vh;
  background: #fff;
  box-sizing: border-box;
}

@media screen and (max-width: 767.9px) {
  #icebox header h1 {
    /*SP*/
    width: 28vw;
    height: 12.66667vw;
    padding: 1.6vw 0 0 3.33333vw;
    margin-left: 0;
    background: none;
  }
}

#icebox header h1 img {
  display: block;
  width: 16.58537vh;
}

@media screen and (max-width: 767.9px) {
  #icebox header h1 img {
    /*SP*/
    width: 18.13333vw;
  }
}

#icebox header .inner {
  position: relative;
  width: 117.07317vh;
  margin: auto;
  text-align: right;
}

@media screen and (max-width: 767.9px) {
  #icebox header .inner {
    /*SP*/
    height: 1px;
    width: 100%;
  }
}

#icebox header .inner #spBtn {
  display: none;
}

@media screen and (max-width: 767.9px) {
  #icebox header .inner #spBtn {
    display: block;
    position: absolute;
    top: 3.33333vw;
    right: 3.6vw;
    width: 8vw;
    height: 5.86667vw;
    cursor: pointer;
    z-index: 101;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox header .inner #spBtn span {
    position: absolute;
    width: 100%;
    height: 1.06667vw;
    background: #003483;
    transition: .5s;
  }
  #icebox header .inner #spBtn span:first-child {
    top: 0;
  }
  #icebox header .inner #spBtn span:nth-child(2) {
    top: 50%;
    margin-top: -0.53333vw;
  }
  #icebox header .inner #spBtn span:last-child {
    bottom: 0;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox header .inner #spBtn.active span {
    background: #fff;
  }
  #icebox header .inner #spBtn.active span:first-child {
    top: 50%;
    transform: rotate(-45deg);
    margin-top: -0.53333vw;
  }
  #icebox header .inner #spBtn.active span:nth-child(2) {
    transform: translate(-10px, 0);
    opacity: 0;
    transition: .5s;
  }
  #icebox header .inner #spBtn.active span:last-child {
    bottom: 50%;
    transform: rotate(45deg);
    margin-bottom: -0.53333vw;
  }
}

#icebox header .inner nav {
  display: inline-block;
  width: 70.2439vh;
}

@media screen and (max-width: 767.9px) {
  #icebox header .inner nav {
    /*SP*/
    visibility: hidden;
    opacity: 0;
    width: 100vw;
    margin-top: 0;
    padding: 12.19512vh 6.70732vh;
    background: #003483;
    box-sizing: border-box;
    pointer-events: none;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox header .inner nav.open {
    /*SP*/
    position: absolute;
    z-index: 100;
    top: 0;
    display: block;
    visibility: visible;
    opacity: 1;
    width: 100%;
    margin-top: 0;
    pointer-events: inherit;
  }
}

#icebox header .inner nav ul {
  display: flex;
  width: 100%;
  justify-content: space-between;
}

@media screen and (max-width: 767.9px) {
  #icebox header .inner nav ul {
    /*SP*/
    display: block;
  }
}

#icebox header .inner nav ul li {
  display: inline-block;
  vertical-align: middle;
  margin-top: 3.04878vh;
}

@media screen and (max-width: 767.9px) {
  #icebox header .inner nav ul li {
    /*SP*/
    position: relative;
    display: block;
    text-align: left;
    padding-left: 3.33333vw;
    margin-top: 0;
    margin-bottom: 6.66667vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox header .inner nav ul li:before {
    /*SP*/
    position: absolute;
    top: 50%;
    left: 0;
    content: '';
    display: inline-block;
    width: 2.13333vw;
    height: 2.13333vw;
    margin-top: -1.06667vw;
    background: url(../img/right_arrow_white.svg) top center/contain no-repeat;
  }
}

#icebox header .inner nav ul li a {
  font-size: 2.19512vh;
  font-weight: 700;
  color: #fff;
  line-height: 1;
}

@media screen and (max-width: 767.9px) {
  #icebox header .inner nav ul li a {
    /*SP*/
    font-size: 4.26667vw;
  }
}

#icebox header .inner nav ul li:last-child {
  padding-right: 0.5em;
}

@media screen and (max-width: 767.9px) {
  #icebox header .inner nav ul li:last-child {
    /*SP*/
    padding-right: 0;
  }
}

#icebox header .inner nav ul li.link_ice_no_kuni {
  margin-top: 0.97561vh;
  width: 12.80488vh;
}

@media screen and (max-width: 767.9px) {
  #icebox header .inner nav ul li.link_ice_no_kuni {
    /*SP*/
    width: 43.73333vw;
  }
}

#icebox header .inner nav ul li.link_ice_no_kuni a {
  width: 12.80488vh;
}

@media screen and (max-width: 767.9px) {
  #icebox header .inner nav ul li.link_ice_no_kuni a {
    /*SP*/
    width: 43.73333vw;
  }
}

#icebox #kv {
  padding-top: 8.53659vh;
}

@media screen and (max-width: 767.9px) {
  #icebox #kv {
    /*SP*/
    padding-top: 0;
  }
}

#icebox #kv .inner {
  position: relative;
  width: 100%;
  height: 121.46341vh;
  margin: auto;
}

@media screen and (max-width: 767.9px) {
  #icebox #kv .inner {
    /*SP*/
    height: 151.73333vw;
  }
}

#icebox #kv .inner .slider {
  position: relative;
  width: 100%;
  height: 121.46341vh;
}

@media screen and (max-width: 767.9px) {
  #icebox #kv .inner .slider {
    /*SP*/
    height: 151.73333vw;
  }
}

#icebox #kv .inner .slider-item {
  position: relative;
  width: 100%;
  height: 121.46341vh;
}

@media screen and (max-width: 767.9px) {
  #icebox #kv .inner .slider-item {
    /*SP*/
    height: 151.73333vw;
  }
}

#icebox #kv .inner .slider-item01 {
  background: url(../img/kv01.png) top center/auto 100% no-repeat;
}

@media screen and (max-width: 767.9px) {
  #icebox #kv .inner .slider-item01 {
    /*SP*/
    background: url(../img/kv01_sp.png) top center/100% auto no-repeat;
  }
}

#icebox #kv .inner .slider-item01-text {
  position: absolute;
  top: 0;
  left: 50%;
  width: 156.09756vh;
  height: 100%;
  margin-left: -78.04878vh;
}

@media screen and (max-width: 767.9px) {
  #icebox #kv .inner .slider-item01-text {
    /*SP*/
    left: 0;
    width: 100vw;
    margin-left: 0;
  }
}

#icebox #kv .inner .slider-item01-text .text01 {
  position: absolute;
  top: 13.90244vh;
  left: 16.95122vh;
  display: block;
  width: 14.39024vh;
  height: 71.09756vh;
  opacity: 0;
  background: url(../img/kv_bg_text01.svg) top center/contain no-repeat;
}

@media screen and (max-width: 767.9px) {
  #icebox #kv .inner .slider-item01-text .text01 {
    /*SP*/
    top: 29.2vw;
    left: 1.6vw;
    width: 21.2vw;
    height: 69.6vw;
  }
}

#icebox #kv .inner .slider-item01-text .text01 img {
  position: absolute;
  top: 5.4878vh;
  left: 4.14634vh;
  width: 18.78049vh;
  opacity: 0;
}

@media screen and (max-width: 767.9px) {
  #icebox #kv .inner .slider-item01-text .text01 img {
    /*SP*/
    top: 6.26667vw;
    left: 4.53333vw;
    width: 20.53333vw;
  }
}

#icebox #kv .inner .slider-item01-text .text02 {
  position: absolute;
  top: 27.56098vh;
  left: 100vh;
  display: block;
  width: 17.19512vh;
  height: 47.68293vh;
  background: url(../img/kv_bg_text02.svg) top center/contain no-repeat;
  opacity: 0;
}

@media screen and (max-width: 767.9px) {
  #icebox #kv .inner .slider-item01-text .text02 {
    /*SP*/
    top: 60vw;
    left: 54.13333vw;
    width: 18.8vw;
    height: 52.13333vw;
  }
}

#icebox #kv .inner .slider-item01-text .text02 img {
  position: absolute;
  top: 9.5122vh;
  left: 3.41463vh;
  width: 9.14634vh;
  opacity: 0;
}

@media screen and (max-width: 767.9px) {
  #icebox #kv .inner .slider-item01-text .text02 img {
    /*SP*/
    top: 10.13333vw;
    left: 5.2vw;
    width: 9.73333vw;
  }
}

#icebox #kv .inner .slider-item01-text .text03 {
  position: relative;
  display: block;
  top: 6.95122vh;
  left: 116.34146vh;
  width: 24.63415vh;
  height: 50vh;
  background: url(../img/kv_bg_text03.svg) top center/contain no-repeat;
  opacity: 0;
}

@media screen and (max-width: 767.9px) {
  #icebox #kv .inner .slider-item01-text .text03 {
    /*SP*/
    top: 18.53333vw;
    left: 71.73333vw;
    width: 26.93333vw;
    height: 54.66667vw;
  }
}

#icebox #kv .inner .slider-item01-text .text03 img {
  position: absolute;
  top: 6.34146vh;
  left: 6.09756vh;
  width: 14.39024vh;
  opacity: 0;
}

@media screen and (max-width: 767.9px) {
  #icebox #kv .inner .slider-item01-text .text03 img {
    /*SP*/
    top: 6.66667vw;
    left: 6.66667vw;
    width: 15.73333vw;
  }
}

#icebox #kv .inner .slider-item02 {
  position: relative;
  background: #e1f9ff;
  height: auto;
}

@media screen and (max-width: 767.9px) {
  #icebox #kv .inner .slider-item02 {
    /*SP*/
    background: none;
  }
}

#icebox #kv .inner .slider-item02 img {
  width: 100%;
  max-height: 90vh;
  -o-object-fit: contain;
     object-fit: contain;
  margin: auto;
}

#icebox #kv .inner .slider-item02 .slider-inner {
  position: absolute;
  left: 50%;
  width: 156.09756vh;
  height: 100%;
  margin-left: -78.04878vh;
}

@media screen and (max-width: 767.9px) {
  #icebox #kv .inner .slider-item02 .slider-inner {
    /*SP*/
    left: 0;
    width: 100%;
    margin-left: 0vw;
  }
}

#icebox #kv .inner .slider-item02 a:hover {
  opacity: 0.7;
  transition: .5s;
}

#icebox #kv .inner .slider-item03 {
  position: relative;
  background: #e1f9ff;
  height: auto;
}

@media screen and (max-width: 767.9px) {
  #icebox #kv .inner .slider-item03 {
    /*SP*/
    background: none;
  }
}

#icebox #kv .inner .slider-item03 img {
  width: 100%;
  max-height: 90vh;
  -o-object-fit: contain;
     object-fit: contain;
  margin: auto;
}

#icebox #kv .inner .slider-item03 .slider-inner {
  position: absolute;
  left: 50%;
  width: 156.09756vh;
  height: 100%;
  margin-left: -78.04878vh;
}

@media screen and (max-width: 767.9px) {
  #icebox #kv .inner .slider-item03 .slider-inner {
    /*SP*/
    left: 0;
    width: 100%;
    margin-left: 0vw;
  }
}

#icebox #kv .inner .slider-item03 a:hover {
  opacity: 0.7;
  transition: .5s;
}

#icebox #kv .inner .slider-item a {
  position: relative;
}

#icebox #kv .inner .slider-item a:hover {
  opacity: 1;
}

#icebox #kv .inner .slider-item a img {
  position: relative;
  z-index: 2;
}

#icebox #kv .inner .slider-item a:before {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 1;
}

#icebox #kv .inner .slider .slick-dots {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin-top: 85.36585vh;
  text-align: center;
}

@media screen and (max-width: 767.9px) {
  #icebox #kv .inner .slider .slick-dots {
    margin-top: 149.33333vw;
  }
}

#icebox #kv .inner .slider .slick-dots li {
  display: inline-block;
  margin-right: 4.02439vh;
}

@media screen and (max-width: 767.9px) {
  #icebox #kv .inner .slider .slick-dots li {
    /*SP*/
    margin-right: 3.73333vw;
  }
}

#icebox #kv .inner .slider .slick-dots li:last-child {
  margin-right: 0;
}

#icebox #kv .inner .slider .slick-dots li button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 1.82927vh;
  height: 1.82927vh;
  background: #C9CACA;
  box-sizing: border-box;
  border-radius: 10px;
  opacity: 1;
  font-size: 0;
  line-height: 0;
}

@media screen and (max-width: 767.9px) {
  #icebox #kv .inner .slider .slick-dots li button {
    /*SP*/
    width: 1.73333vw;
    height: 1.73333vw;
  }
}

#icebox #kv .inner .slider .slick-dots li button:hover {
  transition: .5s;
  opacity: 1;
}

#icebox #kv .inner .slider .slick-dots li.slick-active button {
  opacity: 1;
  background: #004294;
}

#icebox #pickup {
  margin: -28.41463vh auto 0;
}

@media screen and (max-width: 767.9px) {
  #icebox #pickup {
    /*SP*/
    margin: 13.33333vw auto 0;
  }
}

#icebox.js-ratio_portrait header {
  position: absolute;
  height: 5.46875vw;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait header {
    /*SP*/
    background: none;
    height: 9.33333vw;
  }
}

#icebox.js-ratio_portrait header h1 {
  width: 16.40625vw;
  height: 7.42188vw;
  padding: 1.17188vw 0 0 2.89063vw;
  margin-left: 3.90625vw;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait header h1 {
    /*SP*/
    width: 28vw;
    height: 12.66667vw;
    padding: 2vw 0 0 3.33333vw;
    margin-left: 0;
  }
}

#icebox.js-ratio_portrait header h1 img {
  width: 10.625vw;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait header h1 img {
    /*SP*/
    width: 18.13333vw;
  }
}

#icebox.js-ratio_portrait header .inner {
  width: 75vw;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait header .inner {
    /*SP*/
    width: 100vw;
    max-width: 100vw;
  }
}

#icebox.js-ratio_portrait header .inner #spBtn {
  display: none;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait header .inner #spBtn {
    display: block;
    position: absolute;
    top: 3.33333vw;
    right: 3.6vw;
    width: 8vw;
    height: 5.86667vw;
    cursor: pointer;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait header .inner #spBtn span {
    position: absolute;
    width: 100%;
    height: 1.06667vw;
    background: #003483;
    transition: .5s;
  }
  #icebox.js-ratio_portrait header .inner #spBtn span:first-child {
    top: 0;
  }
  #icebox.js-ratio_portrait header .inner #spBtn span:nth-child(2) {
    top: 50%;
    margin-top: -0.53333vw;
  }
  #icebox.js-ratio_portrait header .inner #spBtn span:last-child {
    bottom: 0;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait header .inner #spBtn.active span {
    background: #fff;
  }
  #icebox.js-ratio_portrait header .inner #spBtn.active span:first-child {
    top: 50%;
    transform: rotate(-45deg);
    margin-top: -0.53333vw;
  }
  #icebox.js-ratio_portrait header .inner #spBtn.active span:nth-child(2) {
    transform: translate(-10px, 0);
    opacity: 0;
    transition: .5s;
  }
  #icebox.js-ratio_portrait header .inner #spBtn.active span:last-child {
    bottom: 50%;
    transform: rotate(45deg);
    margin-bottom: -0.53333vw;
  }
}

#icebox.js-ratio_portrait header .inner nav {
  width: 45vw;
  margin-top: 0;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait header .inner nav {
    /*SP*/
    visibility: hidden;
    opacity: 0;
    width: 100vw;
    margin-top: 0;
    background: #003483;
    display: none;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait header .inner nav.open {
    /*SP*/
    position: fixed;
    z-index: 100;
    top: 0;
    display: block;
    visibility: visible;
    opacity: 1;
    width: 100%;
    margin-top: 0;
    pointer-events: inherit;
  }
}

#icebox.js-ratio_portrait header .inner nav ul li {
  margin-top: 1.95313vw;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait header .inner nav ul li {
    /*SP*/
    position: relative;
    line-height: 1;
    margin-top: 0;
    margin-bottom: 6.66667vw;
  }
}

#icebox.js-ratio_portrait header .inner nav ul li a {
  line-height: 1;
  font-size: 1.40625vw;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait header .inner nav ul li a {
    /*SP*/
    font-size: 4.26667vw;
  }
}

#icebox.js-ratio_portrait header .inner nav ul li.link_ice_no_kuni {
  margin-top: 0.625vw;
  width: 8.20313vw;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait header .inner nav ul li.link_ice_no_kuni {
    /*SP*/
    display: block;
    width: sizeS2(328);
  }
}

#icebox.js-ratio_portrait header .inner nav ul li.link_ice_no_kuni a {
  display: block;
  width: 8.20313vw;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait header .inner nav ul li.link_ice_no_kuni a {
    /*SP*/
    width: 43.73333vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait header.menu-open .inner {
    /*SP*/
    pointer-events: inherit;
  }
}

#icebox.js-ratio_portrait #kv {
  padding-top: 5.46875vw;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait #kv {
    /*SP*/
    padding-top: 0;
  }
}

#icebox.js-ratio_portrait #kv .inner {
  width: 100%;
  height: 77.8125vw;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait #kv .inner {
    /*SP*/
    height: 151.73333vw;
  }
}

#icebox.js-ratio_portrait #kv .inner .slider {
  width: 100%;
  height: 77.8125vw;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait #kv .inner .slider {
    /*SP*/
    height: 151.73333vw;
  }
}

#icebox.js-ratio_portrait #kv .inner .slider-item {
  position: relative;
  width: 100%;
  height: 77.8125vw;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait #kv .inner .slider-item {
    /*SP*/
    height: 200vw;
  }
}

#icebox.js-ratio_portrait #kv .inner .slider-item01 {
  background: url(../img/kv01.png) top center/auto 100% no-repeat;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait #kv .inner .slider-item01 {
    /*SP*/
    background: url(../img/kv01_sp.png) top center/100% auto no-repeat;
  }
}

#icebox.js-ratio_portrait #kv .inner .slider-item01-text {
  width: 100vw;
  margin-left: -50vw;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait #kv .inner .slider-item01-text {
    /*SP*/
    width: 100vw;
    margin-left: 0;
  }
}

#icebox.js-ratio_portrait #kv .inner .slider-item01-text .text01 {
  top: 8.90625vw;
  left: 10.85938vw;
  width: 9.21875vw;
  height: 45.54688vw;
  opacity: 0;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait #kv .inner .slider-item01-text .text01 {
    /*SP*/
    top: 38.66667vw;
    left: 1.6vw;
    width: 21.2vw;
    height: 69.6vw;
  }
}

#icebox.js-ratio_portrait #kv .inner .slider-item01-text .text01 img {
  top: 3.51563vw;
  left: 2.65625vw;
  width: 12.03125vw;
  opacity: 0;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait #kv .inner .slider-item01-text .text01 img {
    /*SP*/
    top: 6.26667vw;
    left: 4.53333vw;
    width: 20.53333vw;
  }
}

#icebox.js-ratio_portrait #kv .inner .slider-item01-text .text02 {
  top: 17.65625vw;
  left: 64.0625vw;
  width: 11.01563vw;
  height: 30.54688vw;
  opacity: 0;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait #kv .inner .slider-item01-text .text02 {
    /*SP*/
    top: 69.33333vw;
    left: 54.13333vw;
    width: 18.8vw;
    height: 52.13333vw;
  }
}

#icebox.js-ratio_portrait #kv .inner .slider-item01-text .text02 img {
  top: 6.09375vw;
  left: 2.1875vw;
  width: 5.85938vw;
  opacity: 0;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait #kv .inner .slider-item01-text .text02 img {
    /*SP*/
    top: 10.13333vw;
    left: 4vw;
    width: 9.73333vw;
  }
}

#icebox.js-ratio_portrait #kv .inner .slider-item01-text .text03 {
  top: 4.45313vw;
  left: 74.53125vw;
  width: 15.78125vw;
  height: 32.03125vw;
  opacity: 0;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait #kv .inner .slider-item01-text .text03 {
    /*SP*/
    top: 26.66667vw;
    left: 71.73333vw;
    width: 26.93333vw;
    height: 54.66667vw;
  }
}

#icebox.js-ratio_portrait #kv .inner .slider-item01-text .text03 img {
  top: 4.0625vw;
  left: 3.90625vw;
  width: 9.21875vw;
  opacity: 0;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait #kv .inner .slider-item01-text .text03 img {
    /*SP*/
    top: 6.66667vw;
    left: 6.66667vw;
    width: 15.73333vw;
  }
}

#icebox.js-ratio_portrait #kv .inner .slider-item02 {
  position: relative;
  height: auto;
}

#icebox.js-ratio_portrait #kv .inner .slider-item02 .slider-inner {
  width: 100%;
  margin-left: -50%;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait #kv .inner .slider-item02 .slider-inner {
    /*SP*/
    width: 100%;
    margin-left: 0;
  }
}

#icebox.js-ratio_portrait #kv .inner .slider-item03 {
  position: relative;
  height: auto;
}

#icebox.js-ratio_portrait #kv .inner .slider-item03 .slider-inner {
  width: 100%;
  margin-left: -50%;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait #kv .inner .slider-item03 .slider-inner {
    /*SP*/
    width: 100%;
    margin-left: 0;
  }
}

#icebox.js-ratio_portrait #kv .inner .slider .slick-dots {
  margin-top: 54.6875vw;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait #kv .inner .slider .slick-dots {
    margin-top: 149.33333vw;
  }
}

#icebox.js-ratio_portrait #kv .inner .slider .slick-dots li {
  margin-right: 2.57813vw;
  line-height: 1;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait #kv .inner .slider .slick-dots li {
    /*SP*/
    margin-right: 3.73333vw;
  }
}

#icebox.js-ratio_portrait #kv .inner .slider .slick-dots li:last-child {
  margin-right: 0;
}

#icebox.js-ratio_portrait #kv .inner .slider .slick-dots li button {
  width: 1.17188vw;
  height: 1.17188vw;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait #kv .inner .slider .slick-dots li button {
    width: 1.73333vw;
    height: 1.73333vw;
  }
}

#icebox.js-ratio_portrait #pickup {
  margin: -18.20313vw auto 0;
}

@media screen and (max-width: 767.9px) {
  #icebox.js-ratio_portrait #pickup {
    margin: 13.33333vw auto 0;
  }
}

#icebox #container {
  width: 100%;
  position: relative;
}

#icebox #container #pickup {
  position: relative;
  left: 0;
  width: 100%;
  top: 0;
  text-align: center;
  z-index: 2;
}

@media screen and (max-width: 767.9px) {
  #icebox #container #pickup {
    position: relative;
  }
}

#icebox #container #pickup h3 {
  width: 180px;
  margin: 0 auto 25px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #pickup h3 {
    width: 16.66667vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #pickup h3 {
    width: 24vw;
    margin: 0 auto 3.33333vw;
  }
}

#icebox #container #pickup ul {
  display: flex;
  width: 960px;
  margin: auto;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #pickup ul {
    width: 88.88889vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #pickup ul {
    width: 85.33333vw;
  }
}

#icebox #container #pickup ul li a {
  display: block;
  width: 300px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #pickup ul li a {
    width: 27.77778vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #pickup ul li a {
    width: 40vw;
  }
}

#icebox #container #pickup ul.one {
  display: block;
  margin: auto;
}

#icebox #container #pickup ul.one li {
  display: inline-block;
  margin: auto;
}

#icebox #container #pickup ul.two {
  margin: auto;
  width: 650px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #pickup ul.two {
    width: 60.18519vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #pickup ul.two {
    width: 86.66667vw;
  }
}

#icebox #container #intro {
  position: relative;
  padding: 130px 0 240px;
  margin-top: 0;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #intro {
    /*margin-top: sizeM(-300);*/
    padding: 12.03704vw 0 22.22222vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #intro {
    padding: 17.33333vw 0 32vw;
  }
}

#icebox #container #intro .inner {
  position: relative;
  z-index: 5;
}

#icebox #container #intro .particle01 {
  position: absolute;
  top: 66px;
  left: 50%;
  width: 1035px;
  margin-left: -480px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #intro .particle01 {
    top: 6.11111vw;
    width: 95.83333vw;
    margin-left: -44.44444vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #intro .particle01 {
    top: 10vw;
    width: 82vw;
    margin-left: -39.33333vw;
  }
}

#icebox #container #intro .particle01 img {
  width: 100%;
}

#icebox #container #intro p {
  width: 554px;
  margin: 0 auto 90px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #intro p {
    width: 51.2963vw;
    margin: 0 auto 8.33333vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #intro p {
    width: 73.86667vw;
    margin: 0 auto 12vw;
  }
}

#icebox #container #intro .logo {
  width: 303px;
  margin: auto;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #intro .logo {
    width: 28.05556vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #intro .logo {
    width: 40.4vw;
  }
}

#icebox #container #product {
  background: url(../img/bg_info01.png) top center/100% auto no-repeat;
}

@media screen and (max-width: 767.9px) {
  #icebox #container #product {
    background: url(../img/bg_info01_sp.png) top center/166.4vw auto no-repeat;
  }
}

#icebox #container #product .inner {
  position: relative;
  width: 75vw;
  height: auto;
  margin: auto;
  padding: 0;
}

@media screen and (max-width: 767.9px) {
  #icebox #container #product .inner {
    width: 85.33333vw;
  }
}

#icebox #container #product .inner .img_sizuru {
  margin: auto;
  position: absolute;
  left: -35.15625vw;
  top: -42.65625vw;
  width: 63.98438vw;
  z-index: 4;
}

@media screen and (max-width: 767.9px) {
  #icebox #container #product .inner .img_sizuru {
    left: -34.66667vw;
    top: -46.8vw;
    width: 69.33333vw;
  }
}

#icebox #container #product .inner .img_product {
  margin: auto;
  position: absolute;
  left: -15.625vw;
  top: -15.625vw;
  width: 45.3125vw;
  z-index: 3;
}

@media screen and (max-width: 767.9px) {
  #icebox #container #product .inner .img_product {
    left: -16.66667vw;
    top: -16.66667vw;
    width: 58.66667vw;
  }
}

#icebox #container #product .inner .box {
  position: relative;
  margin-left: 21.09375vw;
  width: 53.67188vw;
  height: 46.875vw;
  padding-top: 9.76563vw;
}

@media screen and (max-width: 767.9px) {
  #icebox #container #product .inner .box {
    width: 73.06667vw;
    margin-left: 12vw;
    height: 93.33333vw;
    padding-top: 13.33333vw;
  }
}

#icebox #container #product .inner .box .bg {
  position: absolute;
  top: 0;
  left: -16.40625vw;
  width: 82.8125vw;
  height: 62.89063vw;
  background: url(../img/bg_info02.svg) top center/100% auto no-repeat;
  z-index: 1;
}

@media screen and (max-width: 767.9px) {
  #icebox #container #product .inner .box .bg {
    width: 141.33333vw;
    margin-left: -2.66667vw;
    height: 113.46667vw;
    background: url(../img/bg_info02_sp.svg) top center/100% auto no-repeat;
  }
}

#icebox #container #product .inner .box dl {
  position: relative;
  z-index: 2;
}

#icebox #container #product .inner .box dl dt {
  border-bottom: solid 1px #FFF100;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #product .inner .box dl dt {
    padding-bottom: 1.5625vw;
    margin-bottom: 1.5625vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #product .inner .box dl dt {
    line-height: 1.5;
    padding-left: 16vw;
    padding-bottom: 2.66667vw;
    margin-bottom: 3.33333vw;
  }
}

#icebox #container #product .inner .box dl dt h3 {
  font-size: 31px;
  font-weight: 900;
  color: #FFF100;
}

@media screen and (max-width: 1200px) {
  #icebox #container #product .inner .box dl dt h3 {
    font-size: 2.42188vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #product .inner .box dl dt h3 {
    margin-bottom: 2.66667vw;
    font-size: 4.13333vw;
  }
}

#icebox #container #product .inner .box dl dt p {
  font-size: 25px;
  color: #FFF100;
  font-weight: 500;
  line-height: 1.5;
}

@media screen and (max-width: 1200px) {
  #icebox #container #product .inner .box dl dt p {
    font-size: 1.95313vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #product .inner .box dl dt p {
    font-size: 2.66667vw;
    line-height: 1.8;
  }
}

#icebox #container #product .inner .box dl dd p {
  color: #fff;
  font-size: 16px;
  font-weight: 500;
}

@media screen and (max-width: 1200px) {
  #icebox #container #product .inner .box dl dd p {
    font-size: 1.25vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #product .inner .box dl dd p {
    font-size: 2.13333vw;
  }
}

#icebox #container #point {
  position: relative;
  padding: 13.28125vw 0 0;
  background: #FFF100;
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point {
    padding: 20vw 0 0;
  }
}

#icebox #container #point .box_deco {
  position: relative;
}

#icebox #container #point .box_deco:before {
  position: absolute;
  right: 100%;
  bottom: 100%;
  content: '';
  width: 49px;
  height: 37px;
  margin-right: -12px;
  background: url(../img/deco_box.svg) top center/contain no-repeat;
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .box_deco:before {
    width: 6.66667vw;
    height: 4.93333vw;
    margin-right: -1.6vw;
  }
}

#icebox #container #point .particle02 {
  position: absolute;
  top: 450px;
  left: 50%;
  width: 1003px;
  margin-left: -564px;
  z-index: 3;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .particle02 {
    top: 35.15625vw;
    width: 78.35938vw;
    margin-left: -44.0625vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .particle02 {
    top: 5.33333vw;
    width: 89.86667vw;
    margin-left: -44vw;
  }
}

#icebox #container #point .particle02 img {
  width: 100%;
}

#icebox #container #point .particle03 {
  position: absolute;
  top: 1300px;
  left: 50%;
  width: 969;
  margin-left: -590px;
  z-index: 3;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .particle03 {
    top: 101.5625vw;
    width: 75.70313vw;
    margin-left: -46.09375vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .particle03 {
    top: 186.66667vw;
    width: 80.13333vw;
    margin-left: -44.26667vw;
  }
}

#icebox #container #point .particle03 img {
  width: 100%;
}

#icebox #container #point .particle04 {
  position: absolute;
  top: 2500px;
  left: 50%;
  width: 1020px;
  margin-left: -580px;
  z-index: 3;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .particle04 {
    top: 195.3125vw;
    left: 50%;
    width: 79.6875vw;
    margin-left: -45.3125vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .particle04 {
    top: 330.66667vw;
    width: 80.13333vw;
    margin-left: -46.66667vw;
  }
}

#icebox #container #point .particle04 img {
  width: 100%;
}

#icebox #container #point .inner {
  position: relative;
  width: 958px;
  margin: auto;
  padding-bottom: 206px;
  z-index: 4;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner {
    width: 74.84375vw;
    padding-bottom: 16.09375vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner {
    width: 100%;
    padding-bottom: 27.46667vw;
  }
}

#icebox #container #point .inner:before {
  position: absolute;
  top: 0;
  right: -25px;
  content: '';
  background: #fff;
  width: 100vw;
  height: 100%;
  z-index: 1;
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner:before {
    right: 0;
  }
}

#icebox #container #point .inner .cont {
  position: relative;
  z-index: 5;
  padding: 90px 0 0;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont {
    padding: 7.03125vw 0 0;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont {
    padding: 12.66667vw 0 0;
  }
}

#icebox #container #point .inner .cont > div {
  position: relative;
  z-index: 5;
}

#icebox #container #point .inner .cont h3 {
  position: absolute;
  right: -35px;
  top: -30px;
  width: 535px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont h3 {
    right: -2.73438vw;
    top: -2.34375vw;
    width: 41.79688vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont h3 {
    right: 2.66667vw;
    top: -2.66667vw;
    width: 62.66667vw;
  }
}

#icebox #container #point .inner .cont .text01 {
  width: 860px;
  margin-bottom: 60px;
  font-size: 25px;
  text-align: center;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .text01 {
    margin-bottom: 4.6875vw;
    width: 67.1875vw;
    font-size: 1.95313vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .text01 {
    margin-bottom: 9.33333vw;
    font-size: 3.06667vw;
    width: 100%;
  }
}

#icebox #container #point .inner .cont .point01 h4 {
  position: relative;
  width: 100%;
  height: 234px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point01 h4 {
    height: 18.28125vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point01 h4 {
    height: auto;
    margin-bottom: 5.33333vw;
  }
}

#icebox #container #point .inner .cont .point01 h4 img {
  width: 425px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point01 h4 img {
    width: 33.20313vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point01 h4 img {
    width: 100vw;
  }
}

#icebox #container #point .inner .cont .point01 h4:before {
  content: '';
  width: 103.82813vw;
  height: 234px;
  position: absolute;
  top: 0;
  right: 0;
  margin-top: -40px;
  margin-right: -9.76563vw;
  background: url(../img/bg_point01_tit.png) top right/100% 100% no-repeat;
  z-index: 1;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point01 h4:before {
    height: 18.28125vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point01 h4:before {
    display: none;
  }
}

#icebox #container #point .inner .cont .point01 h4 span {
  position: relative;
  z-index: 2;
}

#icebox #container #point .inner .cont .point01 .text_cooldown {
  display: block;
  width: 835px;
  margin-bottom: 60px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point01 .text_cooldown {
    width: 65.23438vw;
    margin-bottom: 4.6875vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point01 .text_cooldown {
    width: 76.13333vw;
    margin: 0 auto 5.33333vw;
  }
}

#icebox #container #point .inner .cont .point01 .img_comparison {
  position: relative;
  width: 844px;
  margin: 0 0 5px -30px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point01 .img_comparison {
    width: 65.9375vw;
    margin: 0 0 0.39063vw -2.34375vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point01 .img_comparison {
    padding-right: 3.6vw;
    width: 92.93333vw;
    margin: 0 auto 2.66667vw;
  }
}

#icebox #container #point .inner .cont .point01 .text02 {
  margin: 0 0 60px -23px;
  font-size: 28px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point01 .text02 {
    margin: 0 0 4.6875vw -1.79687vw;
    font-size: 2.1875vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point01 .text02 {
    /*SP*/
    font-size: 3.33333vw;
    margin-bottom: 8vw;
    text-align: center;
  }
}

#icebox #container #point .inner .cont .point01 .icon_check {
  display: inline-block;
  width: 72px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point01 .icon_check {
    width: 5.625vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point01 .icon_check {
    /*SP*/
    width: 9.6vw;
  }
}

#icebox #container #point .inner .cont .point01 .sp_area {
  display: inline-block;
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point01 .sp_area {
    /*SP*/
    width: 4.13333vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point02 {
    margin-bottom: 6vw;
  }
}

#icebox #container #point .inner .cont .point02 h4 {
  position: relative;
  width: 100%;
  height: 191px;
  text-align: right;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point02 h4 {
    height: 14.92188vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point02 h4 {
    height: auto;
    margin-bottom: 5.33333vw;
  }
}

#icebox #container #point .inner .cont .point02 h4 img {
  width: 549px;
  margin-right: 80px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point02 h4 img {
    width: 33.20313vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point02 h4 img {
    width: 100vw;
  }
}

#icebox #container #point .inner .cont .point02 h4:before {
  content: '';
  width: 100vw;
  height: 191px;
  position: absolute;
  top: 0;
  left: 0;
  margin-top: -100px;
  margin-left: -8.20313vw;
  background: url(../img/bg_point02_tit.png) top right/100% 100% no-repeat;
  z-index: 1;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point02 h4:before {
    margin-top: -50px;
    height: 14.92188vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point02 h4:before {
    display: none;
  }
}

#icebox #container #point .inner .cont .point02 h4 span {
  position: relative;
  z-index: 2;
}

#icebox #container #point .inner .cont .point02 .text_hypotonic {
  width: 864px;
  margin: 0 0 56px -40px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point02 .text_hypotonic {
    margin: 0 0 4.375vw -3.125vw;
    width: 67.5vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point02 .text_hypotonic {
    width: 59.06667vw;
    margin: 0 auto 8vw;
  }
}

#icebox #container #point .inner .cont .point02 .whats {
  position: relative;
  width: 810px;
  padding: 20px 0 30px;
  text-align: center;
  border: solid 3px #FFF100;
  margin-bottom: 20px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point02 .whats {
    padding: 1.5625vw 0 2.34375vw;
    width: 63.28125vw;
    margin-bottom: 1.5625vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point02 .whats {
    width: 89.33333vw;
    border: solid 2px #FFF100;
    margin: 0 auto 8vw;
    margin-bottom: 3.33333vw;
  }
}

#icebox #container #point .inner .cont .point02 .whats .question {
  list-style: 2;
  font-size: 30px;
  font-weight: 900;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point02 .whats .question {
    font-size: 2.34375vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point02 .whats .question {
    font-size: 4vw;
  }
}

#icebox #container #point .inner .cont .point02 .whats .answer {
  font-size: 20px;
  font-weight: 500;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point02 .whats .answer {
    font-size: 1.5625vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point02 .whats .answer {
    font-size: 2.66667vw;
  }
}

#icebox #container #point .inner .cont .point02 .wrapper {
  width: 1064px;
  margin-left: -110px;
  margin-bottom: 30px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point02 .wrapper {
    width: 83.125vw;
    margin-left: -8.59375vw;
    margin-bottom: 2.34375vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point02 .wrapper {
    overflow-x: scroll;
    width: 100vw;
    margin: auto;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point02 .wrapper .wrapper-inner {
    width: 141.86667vw;
  }
}

#icebox #container #point .inner .cont .point03 {
  margin-bottom: 80px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point03 {
    margin-bottom: 6.25vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point03 {
    margin-bottom: 16vw;
  }
}

#icebox #container #point .inner .cont .point03 h4 {
  position: relative;
  width: 100%;
  height: 129px;
  margin-bottom: 50px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point03 h4 {
    height: 10.07813vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point03 h4 {
    height: auto;
    margin-bottom: 5.33333vw;
  }
}

#icebox #container #point .inner .cont .point03 h4 img {
  width: 815px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point03 h4 img {
    width: 63.67188vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point03 h4 img {
    width: 100vw;
  }
}

#icebox #container #point .inner .cont .point03 h4:before {
  content: '';
  width: 103.82813vw;
  height: 234px;
  position: absolute;
  top: 0;
  right: 0;
  margin-top: -60px;
  margin-right: -9.76563vw;
  background: url(../img/bg_point01_tit.png) top right/100% 100% no-repeat;
  z-index: 1;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point03 h4:before {
    height: 18.28125vw;
    margin-top: -4.6875vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point03 h4:before {
    display: none;
  }
}

#icebox #container #point .inner .cont .point03 h4 span {
  position: relative;
  z-index: 2;
}

#icebox #container #point .inner .cont .point03 .natrium {
  position: relative;
  width: 810px;
  padding: 35px 0 35px;
  text-align: center;
  border: solid 3px #FFF100;
  margin-bottom: 20px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point03 .natrium {
    padding: 2.73438vw 0 2.73438vw;
    width: 63.28125vw;
    margin-bottom: 1.5625vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point03 .natrium {
    width: 89.33333vw;
    border: solid 2px #FFF100;
    padding: 4.66667vw 0 4.66667vw;
    margin: 0 auto 8vw;
    margin-bottom: 3.33333vw;
  }
}

#icebox #container #point .inner .cont .point03 .natrium .text_natrium01 {
  line-height: 1;
  margin-bottom: 30px;
  font-size: 30px;
  font-weight: 900;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point03 .natrium .text_natrium01 {
    margin-bottom: 2.34375vw;
    font-size: 2.34375vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point03 .natrium .text_natrium01 {
    font-size: 4vw;
  }
}

#icebox #container #point .inner .cont .point03 .natrium .text_natrium02 {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point03 .natrium .text_natrium02 {
    font-size: 1.5625vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point03 .natrium .text_natrium02 {
    font-size: 2.66667vw;
  }
}

#icebox #container #point .inner .cont .point03 .natrium .text_natrium02 .num {
  font-size: 30px;
  font-weight: 700;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point03 .natrium .text_natrium02 .num {
    font-size: 2.34375vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point03 .natrium .text_natrium02 .num {
    font-size: 4vw;
  }
}

#icebox #container #point .inner .cont .point03 .natrium .bg_yellow {
  position: relative;
  display: inline-block;
}

#icebox #container #point .inner .cont .point03 .natrium .bg_yellow:before {
  content: '';
  display: block;
  width: 100%;
  height: 0.5em;
  position: absolute;
  top: 50%;
  background: #FFF100;
  z-index: -1;
}

#icebox #container #point .inner .cont .point03 .natrium .m-bottom0 {
  margin-bottom: 0;
}

#icebox #container #point .inner .cont .point03 .natrium .img_bitamin_icebox {
  position: absolute;
  top: -85px;
  right: -50px;
  width: 245px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point03 .natrium .img_bitamin_icebox {
    top: -6.64063vw;
    right: -3.90625vw;
    width: 19.14063vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point03 .natrium .img_bitamin_icebox {
    top: -13.33333vw;
    right: -9.33333vw;
    width: 28vw;
  }
}

#icebox #container #point .inner .cont .point04 h4 {
  position: relative;
  width: 100%;
  height: 90px;
  text-align: right;
  margin-bottom: 60px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point04 h4 {
    height: 7.03125vw;
    margin-bottom: 4.6875vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point04 h4 {
    height: auto;
    margin-bottom: 5.33333vw;
  }
}

#icebox #container #point .inner .cont .point04 h4 img {
  width: 885px;
  margin-right: 80px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point04 h4 img {
    width: 69.14063vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point04 h4 img {
    width: 100vw;
  }
}

#icebox #container #point .inner .cont .point04 h4:before {
  content: '';
  width: 100vw;
  height: 191px;
  position: absolute;
  top: 0;
  left: 0;
  margin-top: -100px;
  margin-left: -8.20313vw;
  background: url(../img/bg_point02_tit.png) top right/100% 100% no-repeat;
  z-index: 1;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point04 h4:before {
    margin-top: -50px;
    height: 14.92188vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point04 h4:before {
    display: none;
  }
}

#icebox #container #point .inner .cont .point04 h4 span {
  position: relative;
  z-index: 2;
}

#icebox #container #point .inner .cont .point04 .timing {
  width: 880px;
  margin-left: -40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point04 .timing {
    width: 68.75vw;
    margin-left: -3.125vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point04 .timing {
    display: block;
    width: 100vw;
    margin: auto;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point04 .timing li {
    margin: auto;
  }
}

#icebox #container #point .inner .cont .point04 .timing li:first-child {
  width: 415px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point04 .timing li:first-child {
    width: 32.42188vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point04 .timing li:first-child {
    margin-bottom: 6.66667vw;
    width: 60vw;
  }
}

#icebox #container #point .inner .cont .point04 .timing li:last-child {
  width: 410px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #point .inner .cont .point04 .timing li:last-child {
    width: 32.03125vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #point .inner .cont .point04 .timing li:last-child {
    width: 54.66667vw;
  }
}

#icebox #container #contents {
  position: relative;
  padding: 93px 150px;
  background: #FFF100;
  z-index: 5;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #contents {
    padding: 7.26563vw 11.71875vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #contents {
    padding: 4.13333vw 0 12vw;
  }
}

#icebox #container #contents:before {
  position: absolute;
  left: 0;
  content: '';
  display: block;
  width: 100%;
  height: 140px;
  margin-top: -140px;
  background: #FFF100;
  transform: skew(0, 3deg);
  z-index: 1;
  transform-origin: top center;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #contents:before {
    height: 10.9375vw;
    margin-top: -10.9375vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #contents:before {
    width: 100vw;
    height: 18.66667vw;
    transform: skew(0, 5deg);
    margin-top: -13.33333vw;
    transform-origin: top right;
  }
}

#icebox #container #contents .inner {
  position: relative;
  width: 960px;
  margin: auto;
  z-index: 2;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #contents .inner {
    width: 75vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #contents .inner {
    width: 85.33333vw;
  }
}

#icebox #container #contents .inner h3 {
  position: absolute;
  left: 0;
  top: 0;
  width: 43px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #contents .inner h3 {
    width: 3.35938vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #contents .inner h3 {
    top: -3.33333vw;
    width: 5.73333vw;
  }
}

#icebox #container #contents .inner dl {
  display: block;
  width: 615px;
  margin: 0 auto 70px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #contents .inner dl {
    width: 48.04688vw;
    margin: 0 auto 5.46875vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #contents .inner dl {
    width: 76vw;
    margin: 0 0 5.46875vw auto;
  }
}

#icebox #container #contents .inner dl dt p:last-of-type {
  margin-bottom: 15px;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #contents .inner dl dt p:last-of-type {
    margin: 0 auto 1.17188vw;
  }
}

#icebox #container #contents .inner dl dt p.tit {
  font-size: 20px;
  font-weight: 900;
  font-style: oblique;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #contents .inner dl dt p.tit {
    font-size: 1.5625vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #contents .inner dl dt p.tit {
    font-size: 2.66667vw;
  }
}

#icebox #container #contents .inner dl dt p.text {
  font-size: 16px;
  font-weight: 500;
}

@media screen and (max-width: 1080.9px) {
  #icebox #container #contents .inner dl dt p.text {
    font-size: 1.25vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #contents .inner dl dt p.text {
    font-size: 2.13333vw;
  }
}

@media screen and (max-width: 767.9px) {
  #icebox #container #contents .inner dl dd {
    width: 66.66667vw;
  }
}
