@charset "UTF-8";

body {
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

img[src$=".svg"] {
  width: 100%;
  height: auto;
}

pre {
  white-space: pre;
}

h1 {
  margin: 0;
}

h2 {
  margin: 0;
}

h3 {
  margin: 0;
}

h4 {
  margin: 0;
}

ol,
ul,
dl {
  margin: 0;
}

.pc {
  display: inline-block;
}

@media (max-width: 767px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}

@media (max-width: 767px) {
  .sp {
    display: inline-block;
  }
}

.tC {
  text-align: center;
}

.tR {
  text-align: right;
}

.tL {
  text-align: left;
}

.red {
  color: #f00;
}

.color_pink {
  color: #a5165e;
}

.clearfix:before {
  content: "";
  display: block;
  clear: both;
}

.zdo_drawer_menu {
  display: none;
}

@media (max-width: 767px) {
  .zdo_drawer_menu {
    display: block;
  }
}

body {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  font-size: 0.833vw;
  font-weight: 500;
  color: #000;
  line-height: 1.6;
  -webkit-font-smoothing: subpixel-antialiased;
  text-align: justify;
  text-justify: inter-ideograph;
}

a {
  color: #000;
  text-decoration: none;
  transition: all .2s;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a img {
  transition: all .2s;
}

a:hover {
  color: #999;
}

a:hover img {
  opacity: .6;
}

p {
  color: #000;
}

@media (max-width: 767px) {
  p {
    font-size: 3.467vw;
  }
}

@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none !important;
  }
}

@media (max-width: 767px) {
  a[href^="tel:"] {
    text-decoration: underline !important;
  }
}

.link {
  text-decoration: underline;
}

.link:hover {
  text-decoration: none;
}

/********************************************
* Common
********************************************/
/* PC header
********************************************/
.header {
  width: 100%;
  padding: 23px 40px 15px;
  background-color: #fff;
}

.header .header_inner {
  display: flex;
  justify-content: space-between;
}

@media (min-width: 768px) {
  .header .logo_haijelly img {
    width: 260px;
    height: 50px;
  }

  .header .gnav ul {
    display: flex;
    justify-content: space-between;
    padding: 19px 0 2px;
  }

  .header .gnav ul li {
    min-width: 120px;
    font-size: 18px;
    text-align: center;
    border-left: 1px solid #aaaaaa;
  }

  .header .gnav ul li:last-child {
    border-right: 1px solid #aaaaaa;
  }

  .header .gnav ul li a {
    padding: 0 15px;
  }

  .header .logo_zeria img {
    width: 154px;
    height: 49px;
    margin-top: 1px;
  }

  .header #menu_toggle {
    display: none;
  }

  .header .menu_toggle_wrap {
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 1400px) {
  .header {
    padding: 1.643vw 2.857vw 1.071vw;
  }

  .header .logo_haijelly img {
    width: 18.571vw;
    height: 3.571vw;
  }

  .header .gnav ul {
    padding: 1.357vw 0 0.143vw;
  }

  .header .gnav ul li {
    min-width: 8.571vw;
    font-size: 1.286vw;
  }

  .header .gnav ul a {
    padding: 0 1.071vw;
  }

  .header .logo_zeria img {
    width: 11vw;
    height: 3.5vw;
    margin-top: 0.071vw;
  }
}

@media (max-width: 767px) {
  .header {
    padding: 10px 0 11px;
  }

  .header .header_inner {
    display: block;
  }

  .header .logo_haijelly {
    padding: 0 4vw;
  }

  .header .logo_haijelly img {
    width: auto;
    height: 25px;
  }

  .header .logo_zeria {
    display: none;
  }

  .header #menu_toggle {
    position: absolute;
    z-index: -9999;
  }

  .gnav {
    position: absolute;
    z-index: 2;
    top: 0;
    overflow: hidden;
    text-align: center;
    width: 100%;
    height: 100%;
    padding: 70px 4vw 0;
    transition: opacity 0.3s ease-in, visibility 0.3s ease-in 0.3s;
    visibility: hidden;
    opacity: 0;
    background-color: rgba(255, 255, 255, 0.85);
  }

  .gnav .title {
    line-height: 1;
    margin-bottom: 35px;
  }

  .gnav .title img {
    width: 66px;
    height: 14.5px;
  }

  .gnav li {
    text-align: center;
    margin-bottom: 10px;
  }

  .gnav li:last-child {
    margin-bottom: 0;
  }

  .menu_toggle_wrap {
    display: block;
    z-index: 10;
    position: absolute;
    top: 0;
    right: 4vw;
    height: 46px;
  }

  .menu_icon {
    display: block;
    position: relative;
    width: 30px;
    height: 100%;
    cursor: pointer;
    margin-left: auto;
    transition: transform .3s ease-in;
  }

  .menu_icon>span {
    display: block;
    position: absolute;
    top: 55%;
    margin-top: -0.3em;
    width: 100%;
    height: 1px;
    font-size: 16px;
    background-color: #000000;
    transition: transform .3s ease-in;
    z-index: 2;
  }

  .menu_icon>span.menu_bar:before,
  .menu_icon>span.menu_bar:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #000000;
    transition: transform .3s ease;
  }

  .menu_border {
    position: absolute;
    top: 7px;
    right: -1px;
    width: 30px;
    height: 30px;
    border: 1px solid #B00214;
    background-color: transparent;
    z-index: 1;
    transition: opacity 0.3s ease-in, visibility 0.3s ease-in 0.3s;
    visibility: hidden;
    opacity: 0;
  }

  .menu_icon>span.menu_bar:before {
    transform: translateY(-0.6em);
  }

  .menu_icon>span.menu_bar:after {
    transform: translateY(0.6em);
  }

  #menu_toggle:checked+.menu_toggle_wrap .menu_icon {
    transform: rotate(45deg);
  }

  #menu_toggle:checked+.menu_toggle_wrap span.menu_bar {
    background-color: #B00214;
    left: 18%;
    width: 70%;
  }

  #menu_toggle:checked+.menu_toggle_wrap span.menu_bar:before,
  #menu_toggle:checked+.menu_toggle_wrap span.menu_bar:after {
    transform: rotate(90deg);
    background-color: #B00214;
  }

  #menu_toggle:checked~.menu_toggle_wrap .menu_border {
    visibility: visible;
    opacity: 1;
    transition-delay: 0s;
  }

  #menu_toggle:checked~.gnav {
    visibility: visible;
    opacity: 1;
    transition-delay: 0s;
  }
}

/* SP header
********************************************/
/* footer
********************************************/
.footer {
  text-align: center;
  padding: 150px 0 0;
}

.footer .sec_inner {
  max-width: 1000px;
  margin-bottom: 80px;
}

.footer .item {
  margin-bottom: 25px;
}

.footer .item img {
  /* width: 865px; */
  /* height: 222px; */
  width: 100%;
  max-width: 865px;
  height: auto;
}

.footer .logo_haijelly img {
  width: 220.05px;
  height: 45px;
}

.footer .note {
  font-size: 12px;
  margin-top: 15px;
}

.footer .copy {
  padding: 18px 0;
  background-color: #B00214;
}

.footer .copy p {
  color: #fff;
  font-size: 14px;
  line-height: 1;
}

@media (max-width: 767px) {
  .footer {
    padding: 16.667vw 0 0;
  }

  .footer .sec_inner {
    margin-bottom: 8.267vw;
  }

  .footer .item {
    margin-bottom: 3.467vw;
  }

  .footer .item img {
    width: 71.333vw;
    height: auto;
  }

  .footer .logo_haijelly img {
    width: 29.333vw;
    height: auto;
  }

  .footer .note {
    font-size: 3.233vw;
  }

  .footer .copy {
    padding: 2.667vw 0;
  }

  .footer .copy p {
    color: #fff;
    font-size: 1.467vw;
  }
}

/*
@include for-sp {
  .footer {
    padding: 200px 0 0;
    .sec_inner {  
      margin-bottom: 62px;
    }
    .item {
      margin-bottom: 26px;
      img {
        width: 535px;
        height: auto;
      }
    }
    .logo_haijelly {
      img {
        width: 220px;
        height: auto;
      }
    }
    .copy {
      padding: 20px 0;
      p {
        color: #fff;
        font-size: 11px;
      }
    }
  }
}
*/
/* Wrap
********************************************/
.sec_inner {
  position: relative;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .sec_inner {
    width: 100%;
    padding-left: 4vw;
    padding-right: 4vw;
  }
}

.col2 {
  display: flex;
  justify-content: space-between;
}

@media (max-width: 767px) {
  .col2 {
    display: block;
  }
}

/* Table
********************************************/
.table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

.table th {
  vertical-align: middle;
  width: 240px;
  font-size: 16px;
  padding: 10px 30px;
  border-bottom: 20px solid #fff;
  background-color: #f1f1f1;
}

.table td {
  font-size: 16px;
  padding: 10px 30px 10px 0;
  border-bottom: 20px solid #fff;
  vertical-align: middle;
  background-color: #f1f1f1;
}

.table tr:last-child th,
.table tr:last-child td {
  border-bottom: none;
}

@media (max-width: 767px) {
  .table th {
    display: block;
    width: 100%;
    font-size: 12px;
    text-align: center;
    padding: 20px 0 5px;
    border: none;
    background-color: transparent;
  }

  .table td {
    display: block;
    width: 100%;
    font-size: 12px;
    text-align: center;
    padding: 8px 0;
    border: none;
  }

  .table tr:first-child th {
    padding-top: 0;
  }
}

/* btn
********************************************/
.more_btn {
  text-align: center;
  margin: 80px auto 0;
}

.more_btn a {
  position: relative;
  display: inline-block;
  min-width: 400px;
  height: 80px;
  line-height: 80px;
  color: #fff;
  letter-spacing: 0.1em;
  background: #dc0000;
  border-radius: 5px;
}

.more_btn a:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 60px;
  height: 1px;
  right: 0;
  background-color: #fff;
  transition: .3s;
}

.more_btn a:hover {
  background-color: #5D4545;
}

.more_btn a:hover:after {
  width: 40px;
}

@media (max-width: 767px) {
  .more_btn {
    height: 60px;
    margin-top: 40px;
  }

  .more_btn a {
    min-width: 75%;
    max-width: 400px;
    font-size: 12px;
    height: 60px;
    line-height: 60px;
    text-align: center;
  }
}

/* page_top_btn
********************************************/
.page_top {
  /* display: none; */
  position: fixed;
  height: 70px;
  width: 60px;
  z-index: 500;
  right: 40px;
  bottom: 40px;
}

.page_top a {
}

.page_top a img {
}

.page_top a:hover {
}

@media (max-width: 767px) {
  .page_top {
    height: 50px;
    width: 45px;
    right: 15px;
    bottom: 15px;
  }
}

/* bread
********************************************/
.content_bread {
  padding: 10px 50px;
}

.content_bread .sec_inner {
  max-width: 1460px;
}

.content_bread .sec_inner span,
.content_bread .sec_inner a {
  font-size: 14px;
}

@media (max-width: 767px) {
  .content_bread {
    padding: 7px 0;
  }

  .content_bread .sec_inner {
    width: initial;
  }

  .content_bread .sec_inner span,
  .content_bread .sec_inner a {
    font-size: 12px;
  }
}

/* ttl
********************************************/
.sec_ttl_wrapper {
  text-align: center;
  margin-bottom: 80px;
}

.sec_ttl_wrapper .sec_ttl {
  position: relative;
  display: inline-block;
  font-size: 40px;
  font-weight: bold;
}

.sec_ttl_wrapper .sec_ttl img {
  position: absolute;
  bottom: 15px;
}

@media (max-width: 767px) {
  .sec_ttl_wrapper {
    margin-bottom: 40px;
  }

  .sec_ttl_wrapper .sec_ttl {
    font-size: 20px;
  }

  .sec_ttl_wrapper .sec_ttl img {
    bottom: 7px;
  }
}

/* Effect
********************************************/
.effect-fade {
  opacity: 0;
  -webkit-transform: translate(0, 45px);
  -ms-transform: translate(0, 45px);
  transform: translate(0, 45px);
  -webkit-transition: 0.5s ease-out;
  -o-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.effect-fade.effect-scroll {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
}

.effect-fade:nth-of-type(1) {
  -webkit-transition-delay: 100ms;
  -o-transition-delay: 100ms;
  transition-delay: 100ms;
}

.effect-fade:nth-of-type(2) {
  -webkit-transition-delay: 200ms;
  -o-transition-delay: 200ms;
  transition-delay: 200ms;
}

.effect-fade:nth-of-type(3) {
  -webkit-transition-delay: 300ms;
  -o-transition-delay: 300ms;
  transition-delay: 300ms;
}

.effect-fade:nth-of-type(4) {
  -webkit-transition-delay: 400ms;
  -o-transition-delay: 400ms;
  transition-delay: 400ms;
}

.effect-fade:nth-of-type(5) {
  -webkit-transition-delay: 500ms;
  -o-transition-delay: 500ms;
  transition-delay: 500ms;
}

.effect-fade:nth-of-type(6) {
  -webkit-transition-delay: 600ms;
  -o-transition-delay: 600ms;
  transition-delay: 600ms;
}

.effect-fade:nth-of-type(7) {
  -webkit-transition-delay: 700ms;
  -o-transition-delay: 700ms;
  transition-delay: 700ms;
}

.effect-fade:nth-of-type(8) {
  -webkit-transition-delay: 800ms;
  -o-transition-delay: 800ms;
  transition-delay: 800ms;
}

@media (max-width: 767px) {
  .effect-fade {
    opacity: 0 !important;
    transform: translate(0, 45px) !important;
  }

  .effect-fade.effect-scroll {
    opacity: 1 !important;
    transform: translate(0, 0) !important;
  }
}

/********************************************
* Top Page
********************************************/
/* common
********************************************/
.main {
  position: relative;
}

.l-inner {
  width: 100%;
  max-width: 1440px;
  padding-right: 20px;
  padding-left: 20px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.l-inner.l-inner--sm {
  max-width: 1040px;
}
.l-inner.l-inner--lg {
  max-width: 1500px;
}

@media (max-width: 1023px) {
  .l-inner,
  .l-inner.l-inner--sm,
  .l-inner.l-inner--lg {
    max-width: 950px;
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media (max-width: 767px) {
  .l-inner,
  .l-inner.l-inner--sm,
  .l-inner.l-inner--lg {
    max-width: 570px;
    padding-right: 15px;
    padding-left: 15px;
  }
}

.heading {
  display: inline-block;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  color: #65313D;
  /* font-size: 50px; */
  font-size: min(3.45vw,45px);
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.15em;
}

@media (max-width: 767px) {
  .heading {
    font-size: 24px;
  }
}

.c-text {
  /* font-size: 20px; */
  font-size: min(1.4vw,20px);
  line-height: 2;
  letter-spacing: 0.09em;
}

@media (max-width: 1023px) {
  .c-text {
    font-size:max(1.4vw,16px);
  }
}

@media (max-width: 767px) {
  .c-text {
    font-size: 16px;
  }
}

.btn a,
.btn img {
  display: inline-block;
  width: 100%;
  /* max-width: 320px; */
  max-width: min(22.23vw,320px);
}

@media (max-width: 767px) {
  .btn a,
  .btn img {
    max-width: 225px;
  }
}

/* top_main
********************************************/
.top_main {
  height: 39.583vw;
}

.top_main .slider_wrap {
}

.top_main .slider_wrap .slider {
  width: 100%;
  height: 100%;
}

.top_main .slider_wrap .slider img {
  width: 100%;
  height: 100%;
}

@media (max-width: 767px) {
  .top_main {
    height: auto;
  }
}

/* top_growing
********************************************/
.top_growing {
  position: relative;
  margin-top: -5px;
  padding-top: 100px;
  padding-bottom: 150px;
  background: url(../../../images/index/growing_bg.jpg) no-repeat center center / cover;
}
@media (max-width: 767px) {
  .top_growing {
    margin-top: -35px;
    padding-top: 50px;
    padding-bottom: 80px;
    background: url(../../../images/index/growing_bg.jpg) no-repeat center center / cover;
  }
}
.top_growing .p-block__title {
  font-size: 2.2rem;
}
@media (max-width: 767px) {
  .top_growing .p-block__title {
    font-size: 1.4rem;
  }
}
/* top_catch
********************************************/
.top_catch {
  position: relative;
  margin-top: -5px;
  padding-top: 100px;
  padding-bottom: 150px;
  background: url(../../../images/index/catch_bg.jpg) no-repeat center center / cover;
}

@media (max-width: 767px) {
  .top_catch {
    margin-top: -35px;
    padding-top: 50px;
    padding-bottom: 50px;
    background: url(../../../images/index/sp/sp_catch_bg.jpg) no-repeat center center / cover;
  }
}

.top_catch::after {
  display: block;
  content: "";
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  width: 148px;
  height: 80px;
  background: url(../../../images/index/catch_icon.png) no-repeat center center / contain;
}

@media (max-width: 767px) {
  .top_catch::after {
    bottom: -20px;
    width: 74px;
    height: 40px;
  }
  
}

.top_catch .img {
  /* margin-top: 30px; */
  margin-top: 60px;
}

@media (max-width: 767px) {
  .top_catch .img {
    /* margin-top: 16px; */
    margin-top: 24px;
  }
}


/* top_suggestion
********************************************/
.top_suggestion {
  position: relative;
  padding-top: 100px;
  padding-bottom: 100px;
  background: url(../../../images/index/suggestion_bg.jpg) no-repeat center center / cover;
}

@media (max-width: 767px) {
  .top_suggestion {
    padding-top: 60px;
    padding-bottom: 30px;
    background: url(../../../images/index/sp/sp_suggestion_bg.jpg) no-repeat center center / cover;
  }
}

.top_suggestion .lead {
  padding-bottom: 15px;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  color: #65313D;
  /* font-size: 30px; */
  font-size: min(2.1vw,30px);
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.15em;
}

@media (max-width: 767px) {
  .top_suggestion .lead {
    padding-bottom: 24px;
    font-size: 18px;
  }
}

.top_suggestion .c-text {
  margin-top: 60px;
}

@media (max-width: 767px) {
  .top_suggestion .c-text {
    margin-top: 30px;
  }
  
}

.top_suggestion .img {
  margin-top: 60px;
}

@media (max-width: 767px) {
  .top_suggestion .img {
    margin-top: 30px;
  }
}

/* top_know
********************************************/
.top_know {
  position: relative;
  padding-top: 100px;
  padding-bottom: 100px;
  background: url(../../../images/index/know_bg.jpg) no-repeat center center / cover;
}

@media (max-width: 767px) {
  .top_know {
    padding-top: 0;
    padding-bottom: 60px;
    background: url(../../../images/index/sp/sp_know_bg.jpg) no-repeat center center / cover;
  }
}

.top_know .block {
  margin-top: 60px;
}
.top_know .block + .block {
  margin-top: 90px;
}

@media (max-width: 767px) {
  .top_know .block {
    margin-top: 30px;
  }
  .top_know .block + .block {
    margin-top: 50px;
  }
}

.top_know .c-text {
  width: 100%;
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}

.top_know .img {
  margin-top: 50px;
}

@media (max-width: 767px) {
  .top_know .img {
    margin-top: 30px;
  }
}

.top_know .btn {
  margin-top: 60px;
  width: 50%;
  margin-left: auto;
}
.top_know .btn a{
  max-width: 90%;
}
.top_know .btn a img{
  width: auto;
  max-width: 100%;
}

@media (max-width: 767px) {
  .top_know .btn {
    width: 100%;
    margin-top: 30px;
  }
}

/* top_history
********************************************/
.top_history {
  position: relative;
  padding-top: 100px;
  padding-bottom: 100px;
  background: url(../../../images/index/history_bg.jpg) no-repeat center center / cover;
}

@media (max-width: 767px) {
  .top_history {
    padding-top: 60px;
    padding-bottom: 60px;
    background: url(../../../images/index/sp/sp_history_bg.jpg) no-repeat center center / cover;
  }
}

.top_history .wrap {
  display: flex;
  margin-top: 60px;
}

@media (max-width: 767px) {
  .top_history .wrap {
    display: block;
    margin-top: 30px;
  }
}

.top_history .box {
  width: calc(980 / 1460 * 100%);
}

.top_history .img {
  width: calc(420 / 1460 * 100%);
  margin-left: calc(60 / 1460 * 100%);
}

@media (max-width: 767px) {
  .top_history .box {
    width: 100%;
  }
  .top_history .img {
    width: 100%;
    margin-top: 30px;
    margin-left: 0;
  }
}

.top_history .c-text {
  text-align: left;
}

.top_history .items {
  display: flex;
  justify-content: center;
  margin-top: 50px;
}

@media (max-width: 767px) {
  .top_history .items {
    display: block;
    margin-top: 30px;
  }
}

.top_history .item {
  width: 100%;
  /* max-width: 320px; */
  max-width: min(22.23vw,320px);
}

.top_history .item + .item {
  margin-left: 50px;
}

@media (max-width: 767px) {
  .top_history .item {
    max-width: 240px;
    margin-right: auto;
    margin-left: auto;
  }
  .top_history .item + .item {
    margin-top: 30px;
    margin-left: auto;
  }
}
.top_history .btn a {
  max-width: 50%;
  margin-top: 60px;  
}
.top_history .btn a img {
  width: auto;
  max-width: 100%;
}
@media (max-width: 767px) {
  .top_history .btn a {
    max-width: 100%;
    margin-top: 30px;
  }
}
/* top_product
********************************************/
.top_product {
  position: relative;
  padding-top: 100px;
  padding-bottom: 100px;
  background: url(../../../images/index/product_bg.jpg) no-repeat center center / cover;
}

@media (max-width: 767px) {
  .top_product {
    padding-top: 30px;
    padding-bottom: 60px;
    background: url(../../../images/index/sp/sp_product_bg.jpg) no-repeat center center / cover;
  }
}

.top_product .wrap {
  display: flex;
}

@media (max-width: 767px) {
  .top_product .wrap {
    display: block;
  }
}

.top_product .img {
  width: calc(380 / 1000 * 100%);
}

.top_product .box {
  width: calc(560 / 1000 * 100%);
  margin-left: calc(60 / 1000 * 100%);
}

@media (max-width: 767px) {
  .top_product .img {
    width: 100%;
  }
  .top_product .box {
    width: 100%;
    margin-top: 25px;
    margin-left: 0;
  }
}

.top_product .lead {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 28px;
  line-height: 1.3;
  font-weight: bold;
  text-align: left;
}

@media (max-width: 767px) {
  .top_product .lead {
    font-size: 22px;
    line-height: 1.6;
    text-align: center;
  }
}

.top_product .lead span {
  display: block;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.4;
}

@media (max-width: 767px) {
  .top_product .lead span {
    padding-bottom: 10px;
    font-size: 18px;
  }
}

.top_product .lead .small {
  padding-left: 30px;
  font-size: 14px;
}

.top_product .lead span small {
  font-size: 0.65em;
  vertical-align: top;
}

.top_product .logo {
  width: 100%;
  max-width: 280px;
  margin-top: 5px;
}

@media (max-width: 767px) {
  .top_product .logo {
    max-width: 252px;
    margin-top: 25px;
    margin-right: auto;
    margin-left: auto;
  }
}

.top_product .list {
  margin-top: 30px;
  text-align: left;
}

.top_product .items {
  display: flex;
  justify-content: center;
  margin-top: 50px;
}

.top_product .item + .item {
  margin-left: 80px;
}

@media (max-width: 767px) {
  .top_product .items {
    display: block;
    margin-top: 30px;
  }
  .top_product .item + .item {
    margin-top: 30px;
    margin-left: 0;
  }
}


/********************************************
* page
********************************************/
.content_header {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 310px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.content_header .sec_inner {
  margin: 0;
}

.content_header .title {
  display: inline-block;
}

@media (max-width: 767px) {
  .content_header {
    height: 180px;
  }
}

.content_main {
  padding: 100px 0 140px;
}

@media (max-width: 767px) {
  .content_main {
    padding: 35px 0 75px;
  }
}

/* page about
********************************************/
.p_about .content_header {
  background-image: url(../../../images/about/content_header_bg.jpg);
}

.p_about .content_header .title {
  width: 358px;
  height: 140px;
}

.p_about .sec_title {
  text-align: center;
}

.p_about .sec_inner {
  max-width: 1460px;
  z-index: 1;
}

.p_about .col2 {
  position: relative;
  z-index: 1;
}

.p_about .col2 .col_left,
.p_about .col2 .col_right {
  width: 50%;
}

.p_about .text {
  font-size: 18px;
  line-height: 2;
}

@media (min-width: 768px) and (max-width: 1460px) {
  .p_about .text {
    font-size: 1.396vw;
  }
}

@media (max-width: 767px) {
  .p_about .content_header {
    background-image: url(../../../images/about/sp/sp_content_header_bg.jpg);
  }

  .p_about .content_header .title {
    width: 57.067vw;
    height: auto;
  }

  .p_about .sec_inner {
    max-width: initial;
  }

  .p_about .col2 .col_left,
  .p_about .col2 .col_right {
    width: 100%;
  }

  .p_about .text {
    font-size: 3.733vw;
  }
}

.p_about .sec1 {
  position: relative;
  padding: 90px 0 75px;
  background: linear-gradient(180deg, #f8f6ef 0%, #f8f6ef 21%, #fff 21%, #fff 100%);
}

.p_about .sec1:after {
  content: "";
  position: absolute;
  top: 90px;
  left: 3.438vw;
  width: 685px;
  height: 754px;
  background-image: url(../../../images/about/sec_bg.png);
  background-size: 685px 754px;
  background-repeat: no-repeat;
  z-index: 0;
}

.p_about .sec1 .sec_title {
  margin-bottom: 30px;
}

.p_about .sec1 .sec_title img {
  width: 291px;
  height: 90px;
}

.p_about .sec1 .col2 {
  margin-bottom: 40px;
}

.p_about .sec1 .point1 {
  margin-bottom: 72px;
}

.p_about .sec1 .point1 .col_left {
  padding: 0 100px 0 230px;
}

.p_about .sec1 .point1 .col_right {
  margin-top: 70px;
}

.p_about .sec1 .point1 .col_right .img img {
  width: 730px;
  height: 351px;
}

.p_about .sec1 .point1 .point_title {
  width: 339px;
  height: 130px;
  margin-bottom: 40px;
}

.p_about .sec1 .point1 .img2 {
  text-align: center;
  position: relative;
  z-index: 1;
}

.p_about .sec1 .point1 .img2 img {
  width: 1001px;
  height: 381px;
}

.p_about .sec1 .point2 .col_left {
  order: 2;
  padding: 0 230px 0 100px;
}

.p_about .sec1 .point2 .col_right {
  order: 1;
  margin-top: 40px;
}

.p_about .sec1 .point2 .point_title {
  width: 352px;
  height: 128px;
  margin-bottom: 40px;
}

.p_about .sec1 .point2 .img2 {
  text-align: center;
  position: relative;
  z-index: 1;
}

.p_about .sec1 .point2 .img2 img {
  width: 1001px;
  height: 475px;
}

@media (min-width: 768px) and (max-width: 1460px) {
  .p_about .sec1 {
    padding: 6.164vw 0 5.137vw;
  }

  .p_about .sec1:after {
    top: 6.164vw;
    left: 3.438vw;
    width: 46.918vw;
    height: 51.644vw;
    background-size: 46.918vw 51.644vw;
  }

  .p_about .sec1 .sec_title {
    margin-bottom: 2.055vw;
  }

  .p_about .sec1 .sec_title img {
    width: 19.932vw;
    height: 6.164vw;
  }

  .p_about .sec1 .col2 {
    margin-bottom: 2.74vw;
  }

  .p_about .sec1 .point1 {
    margin-bottom: 4.932vw;
  }

  .p_about .sec1 .point1 .col_left {
    padding: 0 6.849vw 0 15.753vw;
  }

  .p_about .sec1 .point1 .col_right {
    margin-top: 4.795vw;
  }

  .p_about .sec1 .point1 .col_right .img img {
    width: 50vw;
    height: 24.041vw;
  }

  .p_about .sec1 .point1 .point_title {
    width: 23.219vw;
    height: 8.904vw;
    margin-bottom: 2.74vw;
  }

  .p_about .sec1 .point1 .img2 img {
    width: 68.562vw;
    height: 26.096vw;
  }

  .p_about .sec1 .point2 .col_left {
    order: 2;
    padding: 0 15.753vw 0 6.849vw;
  }

  .p_about .sec1 .point2 .col_right {
    order: 1;
    margin-top: 2.74vw;
  }

  .p_about .sec1 .point2 .point_title {
    width: 24.11vw;
    height: 8.767vw;
    margin-bottom: 2.74vw;
  }

  .p_about .sec1 .point2 .img2 img {
    width: 68.562vw;
    height: 32.534vw;
  }
}

@media (max-width: 767px) {
  .p_about .sec1 {
    position: relative;
    padding: 10.667vw 0;
  }

  .p_about .sec1:after {
    top: 4vw;
    left: -21.333vw;
    width: 90.667vw;
    height: 100vw;
    background-size: 90.667vw 100vw;
  }

  .p_about .sec1 .sec_inner {
    padding: 0;
  }

  .p_about .sec1 .sec_title {
    margin-bottom: 7.333vw;
  }

  .p_about .sec1 .sec_title img {
    width: 52.133vw;
    height: auto;
  }

  .p_about .sec1 .col2 {
    margin-bottom: 5.333vw;
  }

  .p_about .sec1 .point1 {
    margin-bottom: 0;
  }

  .p_about .sec1 .point1 .col_left {
    padding: 0 4vw;
  }

  .p_about .sec1 .point1 .col_right {
    padding: 0 4vw;
    margin-top: 5.333vw;
  }

  .p_about .sec1 .point1 .col_right .img img {
    width: 100%;
    height: auto;
  }

  .p_about .sec1 .point1 .point_title {
    width: 77.733vw;
    height: auto;
    margin: 0 auto 8vw;
  }

  .p_about .sec1 .point1 .img2 img {
    width: 100%;
    height: auto;
  }

  .p_about .sec1 .point2 {
    position: relative;
    padding-top: 10.667vw;
  }

  .p_about .sec1 .point2:after {
    content: "";
    position: absolute;
    top: 4vw;
    right: -21.333vw;
    width: 90.667vw;
    height: 100vw;
    background-size: 90.667vw 100vw;
    background-image: url(../../../images/about/sec_bg.png);
    z-index: 0;
  }

  .p_about .sec1 .point2 .col_left {
    order: 1;
    padding: 0 4vw;
  }

  .p_about .sec1 .point2 .col_right {
    order: 2;
    padding: 0 4vw;
    margin-top: 5.333vw;
  }

  .p_about .sec1 .point2 .point_title {
    width: 80.667vw;
    height: auto;
    margin: 0 auto 8vw;
  }

  .p_about .sec1 .point2 .img2 img {
    width: 100%;
    height: auto;
  }
}

/*
@include for-sp {
  .p_about {
    .sec1 {
      position: relative;
      padding: 80px 0 0;
      &:after {
        top: 30px;
        left: -160px;
        width: 680px;
        height: 750px;
        background-size: 680px 750px;
      }
      .sec_inner {
        padding: 0;
      }
      .sec_title {
        margin-bottom: 55px;
        img {
          width: 391px;
          height: auto;
        }
      }
      .col2 {
        margin-bottom: 40px;
      }
      .point1 {
        margin-bottom: 0;
        .col_left {
          padding: 0 4vw;
        }
        .col_right {
          padding: 0 4vw;
          margin-top: 40px;
          .img {
            img {
              width: 100%;
              height: auto;
            }
          }
        }
        .point_title {
          width: 583px;
          height: auto;
          margin: 0 auto 60px;
        }
        .img2 {
          img {
            width: 100%;
            height: auto;
          }
        }
      }
      .point2 {
        padding-top: 80px;
        .col_left {
          order: 1;
          padding: 0 4vw;
        }
        .col_right {
          order: 2;
          padding: 0 4vw;
          margin-top: 40px;
        }
        .point_title {
          width: 605px;
          height: auto;
          margin: 0 auto 60px;
        }
        .img2 {
          img {
            width: 100%;
            height: auto;
          }
        }
      }
      .text {
        font-size: 14px;
      }
    }
  }
}
*/
.p_about .sec2 {
  position: relative;
  padding: 100px 0 143px;
  background: linear-gradient(180deg, #f8f6ef 0%, #f8f6ef 30.3%, #fff 30.3%, #fff 100%);
}

.p_about .sec2:after {
  content: "";
  position: absolute;
  top: 100px;
  left: 3.438vw;
  width: 685px;
  height: 754px;
  background-image: url(../../../images/about/sec_bg.png);
  background-size: 685px 754px;
  background-repeat: no-repeat;
  z-index: 0;
}

.p_about .sec2 .sec_title {
  margin-bottom: 60px;
}

.p_about .sec2 .sec_title img {
  width: 309px;
  height: 90px;
}

.p_about .sec2 .col2 {
  margin-bottom: 40px;
}

.p_about .sec2 .col_left {
  padding: 0 100px 0 230px;
}

.p_about .sec2 .col_right .img img {
  width: 730px;
  height: 351px;
}

.p_about .sec2 .title_sub {
  margin-bottom: 40px;
}

.p_about .sec2 .title_sub img {
  width: 390px;
  height: 59px;
}

.p_about .sec2 .img2 {
  text-align: center;
  position: relative;
  z-index: 1;
  margin-bottom: 40px;
}

.p_about .sec2 .img2 img {
  width: 1000px;
  height: 330px;
}

.p_about .sec2 .img3 {
  text-align: center;
  position: relative;
  z-index: 1;
}

.p_about .sec2 .img3 img {
  width: 1001px;
  height: 356px;
}

@media (min-width: 768px) and (max-width: 1460px) {
  .p_about .sec2 {
    padding: 6.849vw 0 9.795vw;
  }

  .p_about .sec2:after {
    top: 6.849vw;
    left: 3.438vw;
    width: 46.918vw;
    height: 51.644vw;
    background-size: 46.918vw 51.644vw;
  }

  .p_about .sec2 .sec_title {
    margin-bottom: 4.11vw;
  }

  .p_about .sec2 .sec_title img {
    width: 21.164vw;
    height: 6.164vw;
  }

  .p_about .sec2 .col2 {
    margin-bottom: 2.74vw;
  }

  .p_about .sec2 .col_left {
    padding: 0 6.849vw 0 15.753vw;
  }

  .p_about .sec2 .col_right .img img {
    width: 50vw;
    height: 24.041vw;
  }

  .p_about .sec2 .title_sub {
    margin-bottom: 2.74vw;
  }

  .p_about .sec2 .title_sub img {
    width: 26.712vw;
    height: 4.041vw;
  }

  .p_about .sec2 .img2 {
    margin-bottom: 2.74vw;
  }

  .p_about .sec2 .img2 img {
    width: 68.493vw;
    height: 22.603vw;
  }

  .p_about .sec2 .img3 img {
    width: 68.562vw;
    height: 24.384vw;
  }
}

@media (max-width: 767px) {
  .p_about .sec2 {
    position: relative;
    padding: 10.667vw 0 5.333vw;
    background: linear-gradient(180deg, #f8f6ef 0%, #f8f6ef 29.1%, #fff 29.1%, #fff 100%);
  }

  .p_about .sec2:after {
    top: 4vw;
    left: -21.333vw;
    width: 90.667vw;
    height: 100vw;
    background-size: 90.667vw 100vw;
  }

  .p_about .sec2 .sec_inner {
    padding: 0;
  }

  .p_about .sec2 .sec_title {
    margin-bottom: 8vw;
  }

  .p_about .sec2 .sec_title img {
    width: 58.667vw;
    height: auto;
  }

  .p_about .sec2 .col2 {
    margin-bottom: 8vw;
  }

  .p_about .sec2 .col_left {
    padding: 0 4vw;
  }

  .p_about .sec2 .col_right {
    padding: 0 4vw;
    margin-top: 8vw;
  }

  .p_about .sec2 .col_right .img img {
    width: 100%;
    height: auto;
  }

  .p_about .sec2 .title_sub {
    text-align: center;
    margin-bottom: 8vw;
  }

  .p_about .sec2 .title_sub img {
    width: 89.333vw;
    height: auto;
  }

  .p_about .sec2 .img2 {
    margin-bottom: 5.333vw;
  }

  .p_about .sec2 .img2 img {
    width: 100%;
    height: auto;
  }

  .p_about .sec2 .img3 img {
    width: 100%;
    height: auto;
  }
}

/*
@include for-sp {
  .p_about {
    .sec2 {
      position: relative;
      padding: 40px 0 20px;
      background: linear-gradient(180deg,#f8f6ef 0%,#f8f6ef 29.1%,#fff 29.1%,#fff 100%);
      &:after {
        top: 4vw;
        left: -21.333vw;
        width: 90.667vw;
        height: 100vw;
        background-size: 90.667vw 100vw;
      }
      .sec_inner {
        padding: 0;
      }
      .sec_title {
        margin-bottom: 30px;
        img {
          width: 220px;
          height: auto;
        }
      }
      .col2 {
        margin-bottom: 30px;
      }
      .col_left {
        padding: 0 4vw;
      }
      .col_right {
        padding: 0 4vw;
        margin-top: 30px;
        .img {
          img {
            width: 100%;
            height: auto;
          }
        }
      }
      .title_sub {
        width: 335px;
        height: auto;
        margin-bottom: 30px;
      }
      .img2 {
        margin-bottom: 20px;
        img {
          width: 100%;
          height: auto;
        }
      }
      .img3 {
        img {
          width: 100%;
          height: auto;
        }
      }
    }
  }
}
*/
.p_about .sec3 {
  position: relative;
  padding: 110px 0 0;
  background: linear-gradient(180deg, #f8f6ef 0%, #f8f6ef 45.7%, #fff 45.7%, #fff 100%);
}

.p_about .sec3:after {
  content: "";
  position: absolute;
  top: 60px;
  right: 3.438vw;
  width: 685px;
  height: 754px;
  background-image: url(../../../images/about/sec_bg.png);
  background-size: 685px 754px;
  background-repeat: no-repeat;
  z-index: 0;
}

.p_about .sec3 .sec_title {
  margin-bottom: 60px;
}

.p_about .sec3 .sec_title img {
  width: 297px;
  height: 90px;
}

.p_about .sec3 .col2 {
  margin-bottom: 55px;
}

.p_about .sec3 .col_left {
  order: 2;
  padding: 0 230px 0 100px;
}

.p_about .sec3 .col_right {
  order: 1;
}

.p_about .sec3 .col_right .img {
  width: 730px;
  height: 351px;
}

.p_about .sec3 .title_sub {
  margin-bottom: 40px;
  width: 387px;
  height: 112px;
}

.p_about .sec3 .box {
  width: 1000px;
  padding: 45px 50px 50px;
  margin: 0 auto 30px;
  border-radius: 15px;
  background-color: #f8f6ef;
}

.p_about .sec3 .box .inner {
  display: flex;
  justify-content: space-between;
}

.p_about .sec3 .box .desc {
  flex: 1;
  margin-right: 50px;
}

.p_about .sec3 .box .desc .title_box {
  margin-bottom: 10px;
  font-size: 22px;
  color: #B9A55F;
  font-weight: bold;
}

.p_about .sec3 .box .desc .title_box img {
  width: 612px;
  height: 22px;
}

.p_about .sec3 .box .img {
  width: 230px;
}

.p_about .sec3 .img2 {
  text-align: center;
  position: relative;
  z-index: 1;
  margin-bottom: 40px;
}

.p_about .sec3 .img2 img {
  width: 1000px;
  height: 330px;
}

@media (min-width: 768px) and (max-width: 1460px) {
  .p_about .sec3:after {
    top: 4.11vw;
    right: 3.438vw;
    width: 46.918vw;
    height: 51.644vw;
    background-size: 46.918vw 51.644vw;
  }

  .p_about .sec3 .sec_title {
    margin-bottom: 4.11vw;
  }

  .p_about .sec3 .sec_title img {
    width: 20.342vw;
    height: 6.164vw;
  }

  .p_about .sec3 .col2 {
    margin-bottom: 3.767vw;
  }

  .p_about .sec3 .col_left {
    padding: 0 15.753vw 0 6.849vw;
  }

  .p_about .sec3 .col_right .img {
    width: 50vw;
    height: 24.041vw;
  }

  .p_about .sec3 .title_sub {
    margin-bottom: 2.74vw;
    width: 27.397vw;
    height: 6.507vw;
  }

  .p_about .sec3 .box {
    width: 68.493vw;
    padding: 3.082vw 3.425vw 3.425vw;
    border-radius: 1.027vw;
  }

  .p_about .sec3 .box .desc {
    margin-right: 3.425vw;
  }

  .p_about .sec3 .box .desc .title_box {
    margin-bottom: 1.255vw;
    font-size: 1.696vw;
  }

  .p_about .sec3 .box .desc .title_box img {
    width: 41.918vw;
    height: 1.507vw;
  }

  .p_about .sec3 .box .img {
    width: 15.753vw;
  }

  .p_about .sec3 .img2 {
    margin-bottom: 2.74vw;
  }

  .p_about .sec3 .img2 img {
    width: 68.493vw;
    height: 22.603vw;
  }
}

@media (max-width: 767px) {
  .p_about .sec3 {
    position: relative;
    padding: 40px 0 0;
    background: linear-gradient(180deg, #f8f6ef 0%, #f8f6ef 58.36%, #fff 58.36%, #fff 100%);
  }

  .p_about .sec3:after {
    top: 4vw;
    right: -21.333vw;
    width: 90.667vw;
    height: 100vw;
    background-size: 90.667vw 100vw;
  }

  .p_about .sec3 .sec_inner {
    padding: 0;
  }

  .p_about .sec3 .sec_title {
    margin-bottom: 30px;
  }

  .p_about .sec3 .sec_title img {
    width: 210px;
    height: auto;
  }

  .p_about .sec3 .col2 {
    margin-bottom: 20px;
  }

  .p_about .sec3 .col_left {
    order: 1;
    padding: 0 4vw;
  }

  .p_about .sec3 .col_right {
    order: 2;
    padding: 0 4vw;
    margin-top: 30px;
  }

  .p_about .sec3 .col_right .img {
    width: 100%;
    height: auto;
  }

  .p_about .sec3 .title_sub {
    width: 291px;
    height: auto;
    margin: 0 auto 30px;
  }

  .p_about .sec3 .box {
    width: 100%;
    padding: 30px 4vw 70px;
    border-radius: 0;
  }

  .p_about .sec3 .box .title_box {
    margin-bottom: 15px;
    font-size: 18px;
    color: #B9A55F;
    font-weight: bold;
  }

  .p_about .sec3 .box .desc {
    margin-right: 4vw;
  }

  .p_about .sec3 .box .desc .title_box {
    display: none;
  }

  .p_about .sec3 .box .desc .text {
    font-size: 14px;
    line-height: 1.6;
  }

  .p_about .sec3 .box .img {
    width: 179px;
  }

  .p_about .sec3 .img2 {
    text-align: center;
    position: relative;
    z-index: 1;
    margin-bottom: 40px;
  }

  .p_about .sec3 .img2 img {
    width: 1000px;
    height: 330px;
  }
}

/* page product
********************************************/
.p_product {
  background-image: url(../../../images/product/product_bg.jpg);
  background-repeat: repeat-y;
  background-size: cover;
  background-position: center center;
}

.p_product .content_header {
  height: 16.146vw;
  background-image: url(../../../images/product/content_header_bg.jpg);
}

.p_product .content_header .title {
  width: 13.958vw;
  height: 4.635vw;
}

.p_product .content_main {
  padding: 90px 0 0;
}

.p_product .content_main .sec_inner {
  max-width: 1560px;
  padding: 0 50px;
  z-index: 1;
}

/*
.p_product {
  .content_header {
    background-image: url(../../../images/product/content_header_bg.jpg);
    .title {
      width: 268px;
      height: 89px;
    }
  }
}
*/
@media (min-width: 768px) and (max-width: 1560px) {
  .p_product .content_main .sec_inner {
    padding: 0 3.205vw;
  }
}

@media (max-width: 767px) {
  .p_product {
    background-image: url(../../../images/product/sp/sp_product_bg.jpg);
  }

  .p_product .content_header {
    height: 180px;
    align-items: flex-start;
    background-image: url(../../../images/product/sp/sp_content_header_bg.jpg);
  }

  .p_product .content_header .title {
    width: 28vw;
    height: auto;
    margin-top: 9.333vw;
  }

  .p_product .content_main {
    padding: 25px 0 0;
  }

  .p_product .content_main .sec_inner {
    max-width: initial;
    padding: 0 4vw;
  }

  .p_product .col2 .col_left,
  .p_product .col2 .col_right {
    width: 100%;
  }

  .p_product .text {
    font-size: 3.733vw;
  }
}

.product_list {
  flex-wrap: wrap;
}

.product_list .block {
  position: relative;
  width: 710px;
  padding: 53px 50px 50px;
  margin-top: 40px;
  background: linear-gradient(180deg, #f0f3f4 0%, #fff 100%);
}

.product_list .block:nth-child(-n+2) {
  margin-top: 0;
}

.product_list .block:before {
  content: "";
  display: block;
  position: absolute;
  top: -11px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 710px;
  height: 20px;
  background-size: 710px 20px;
  background-repeat: no-repeat;
  background-image: url(../../../images/product/product_line.png);
}

.product_list .block .info {
  position: relative;
  margin-bottom: 40px;
  min-height: 290px;
}

.product_list .block .title {
  margin-bottom: 30px;
}

.product_list .block .img {
  position: absolute;
  bottom: 3.5vw;
  right: 0;
}

.product_list .block .note {
  font-size: 12px;
}

.product_list .block .desc {
  position: relative;
  width: 46%;
  margin-bottom: 25px;
  /*padding-bottom: 40px;*/
}

.product_list .block .desc .desc_list li {
  display: inline-block;
  position: relative;
  list-style-type: none;
  font-size: 14px;
  padding-left: 16px;
  margin-bottom: 5px;
}

.product_list .block .desc .desc_list li:before {
  content: '○';
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto 0;
}

.product_list .block .desc .line {
  position: absolute;
  top: 0;
  left: 0;
  width: 278px;
  height: 78px;
  background: linear-gradient(to left top, transparent 51%, #000 51%, #000 51%, transparent 52%);
}

.product_list .block .price .price_title {
  font-size: 14px;
  margin-bottom: 3px;
}

.product_list .block .price .price_value {
  font-size: 20px;
  line-height: 1.3;
}

.product_list .block .price .price_value .small {
  display: inline-block;
  font-size: 16px;
}

.product_list .block .price .price_value .small:first-child {
  margin-right: 4px;
}

.product_list .block .btn {
  text-align: center;
}
.product_list .block .btn.mb15 {
  margin-bottom: 15px;
}
.product_list .block .btn img {
  width: 296px;
  height: 57px;
}

.product_list .block.product1 {
  opacity: 1;
  transform: translate(0, 0);
}

.product_list .block.product1 .title {
  width: 299px;
  height: 99px;
}

.product_list .block.product1 .img {
  width: 310px;
  height: 172px;
}

.product_list .block.product2 {
  opacity: 1;
  transform: translate(0, 0);
}

.product_list .block.product2 .title {
  width: 233px;
  height: 99px;
}

.product_list .block.product2 .img {
  width: 305px;
  height: 226px;
}

.product_list .block.product3 .title {
  width: 326px;
  height: 99px;
}

.product_list .block.product3 .img {
  width: 299px;
  height: 186px;
}

.product_list .block.product4 .title {
  width: 185px;
  height: 99px;
}

.product_list .block.product4 .img {
  width: 327px;
  height: 221px;
}

.product_list .block.product5 .title {
  width: 351px;
  height: 99px;
}

.product_list .block.product5 .img {
  width: 320px;
  height: 166px;
}

.product_list .block.product6 .title {
  width: 307px;
  height: 99px;
}

.product_list .block.product6 .img {
  width: 316px;
  height: 141px;
}

.product_list .block.product7 .title {
  width: 405px;
  height: 121px;
}

.product_list .block.product7 .img {
  width: 312px;
  height:202px;
}

@media (min-width: 768px) and (max-width: 1560px) {
  .product_list {
    flex-wrap: wrap;
  }

  .product_list .block {
    position: relative;
    width: 45.513vw;
    padding: 2.803vw 2.205vw 2.505vw;
    margin-top: 2.564vw;
    background: linear-gradient(180deg, #f0f3f4 0%, #fff 100%);
  }

  .product_list .block:nth-child(-n+2) {
    margin-top: 0;
  }

  .product_list .block:before {
    content: "";
    display: block;
    position: absolute;
    top: -0.705vw;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 45.513vw;
    height: 1.282vw;
    background-size: 45.513vw 1.282vw;
    background-image: url(../../../images/product/product_line.png);
  }

  .product_list .block .info {
    position: relative;
    margin-bottom: 2.564vw;
    min-height: 26vw;
  }

  .product_list .block .title {
    margin-bottom: 1.923vw;
  }

  .product_list .block .img {
    position: absolute;
    bottom: 7vw;
    right: 0;
  }

  .product_list .block.block.product7 .img {
    bottom: 9vw;
  }

  .product_list .block .note {
    font-size: 1.15vw;
  }

  .product_list .block .desc {
    position: relative;
    margin-bottom: 1.244vw;
    padding-bottom: 0;
  }

  .product_list .block .desc .desc_list li {
    font-size: 1.35vw;
    padding-left: 1.426vw;
    margin-bottom: 0.321vw;
    line-height: 1.8vw;
  }

  .product_list .block .desc .line {
    position: absolute;
    top: 0;
    left: 0;
    width: 17.821vw;
    height: 5vw;
    background: linear-gradient(to left top, transparent 51%, #000 51%, #000 51%, transparent 52%);
  }

  .product_list .block .price .price_title {
    font-size: 0.897vw;
    margin-bottom: 0.192vw;
  }

  .product_list .block .price .price_value {
    font-size: 1.282vw;
    line-height: 1.3;
  }

  .product_list .block .price .price_value .small {
    display: inline-block;
    font-size: 1.026vw;
  }

  .product_list .block .btn {
    text-align: center;
  }

  .product_list .block .btn img {
    width: 18.974vw;
    height: 3.654vw;
  }

  .product_list .block.product1 .title {
    width: 19.167vw;
    height: 6.346vw;
  }

  .product_list .block.product1 .img {
    width: 21vw;
    height: 11.026vw;
  }

  .product_list .block.product2 .title {
    width: 14.936vw;
    height: 6.346vw;
  }

  .product_list .block.product2 .img {
    width: 19.551vw;
    height: 14.487vw;
  }

  .product_list .block.product3 .title {
    width: 20.897vw;
    height: 6.346vw;
  }

  .product_list .block.product3 .img {
    width: 19.167vw;
    height: 11.923vw;
  }

  .product_list .block.product4 .title {
    width: 11.859vw;
    height: 6.346vw;
  }

  .product_list .block.product4 .img {
    width: 20.962vw;
    height: 14.167vw;
  }

  .product_list .block.product5 .title {
    width: 22.5vw;
    height: 6.346vw;
  }

  .product_list .block.product5 .img {
    width: 22vw;
    height: 10.641vw;
  }

  .product_list .block.product6 .title {
    width: 19.679vw;
    height: 6.346vw;
  }

  .product_list .block.product6 .img {
    width: 21vw;
    height: 9.038vw;
  }

  .product_list .block.product7 .title {
    width: 28vw;
    height: 8.41vw;
  }

  .product_list .block.product7 .img {
    width: 21.6vw;
    height: 11.026vw;
  }
}

@media (max-width: 767px) {
  .product_list .block {
    text-align: center;
    width: 100%;
    padding: 28px 4vw 40px;
    margin-top: 4vw;
  }

  .product_list .block:nth-child(-n+2) {
    margin-top: 4vw;
  }

  .product_list .block:first-child {
    margin-top: 0;
  }

  .product_list .block:before {
    top: -1.333vw;
    width: auto;
    height: 2.667vw;
    background-size: auto 2.667vw;
    background-image: url(../../../images/product/sp/sp_product_line.png);
  }

  .product_list .block .info {
    position: relative;
    margin-bottom: 8vw;
  }

  .product_list .block .title {
    margin: 0 auto 25px;
  }

  .product_list .block .img {
    position: static;
    margin: 0 auto 30px;
  }

  .product_list .block .note {
    font-size: 3.233vw;
    text-align: left;
  }

  .product_list .block .desc {
    width: 100%;
    margin-bottom: 5.333vw;
    padding-bottom: 0;
  }

  .product_list .block .desc .desc_list {
    text-align: left;
  }

  .product_list .block .desc .desc_list li {
    font-size: 3.733vw;
    padding-left: 3.967vw;
    margin-bottom: 0.667vw;
  }

  .product_list .block .desc .line {
    right: 0;
    margin: 0 auto;
    width: 74.133vw;
    height: 18.133vw;
  }

  .product_list .block .price .price_title {
    font-size: 3.733vw;
    margin-bottom: 0.8vw;
  }

  .product_list .block .price .price_value {
    font-size: 4.8vw;
  }

  .product_list .block .price .price_value .small {
    font-size: 3.733vw;
  }

  .product_list .block .btn img {
    width: 56.667vw;
    height: auto;
  }

  .product_list .block.product1 {
    opacity: 1 !important;
    transform: translate(0, 0) !important;
  }

  .product_list .block.product1 .title {
    width: 57.467vw;
    height: auto;
  }

  .product_list .block.product1 .img {
    width: 57.733vw;
    height: auto;
  }

  .product_list .block.product2 .title {
    width: 48.133vw;
    height: auto;
  }

  .product_list .block.product2 .img {
    width: 42.933vw;
    height: auto;
  }

  .product_list .block.product3 .title {
    width: 67.467vw;
    height: auto;
  }

  .product_list .block.product3 .img {
    width: 47.733vw;
    height: auto;
  }

  .product_list .block.product4 .title {
    width: 39.733vw;
    height: auto;
  }

  .product_list .block.product4 .img {
    width: 45.067vw;
    height: auto;
  }

  .product_list .block.product5 .title {
    width: 72.8vw;
    height: auto;
  }

  .product_list .block.product5 .img {
    width: 66.267vw;
    height: auto;
  }

  .product_list .block.product6 .title {
    width: 63.6vw;
    height: auto;
  }

  .product_list .block.product6 .img {
    width: 65.6vw;
    height: auto;
  }

  .product_list .block.product6 .title {
    width: 57.467vw;
    height: auto;
  }

  .product_list .block.product6 .img {
    width: 57.733vw;
    height: auto;
  }

  .product_list .block.product7 .title {
    width: 45.467vw;
    height: auto;
  }

  .product_list .block.product7 .img {
    width: 57.733vw;
    height: auto;
  }
}

/*
@include for-sp {
  .product_list {
    .block {
      text-align: center;
      width: 100%;
      padding: 28px 4vw 40px;
      margin-top: 15px;
      &:nth-child(-n+2) {
        margin-top: 15px;
      }
      &:first-child {
        margin-top: 0;
      }
      &:before {
        top: -5px;
        width: auto;
        height: 10px;
        background-size: auto 10px;
        background-image: url(../../../images/product/sp/sp_product_line.png);
      }
      .info {
        position: relative;
        margin-bottom: 30px;
      }
      .title {
        margin: 0 auto 25px;
      }
      .img {
        position: static;
        margin: 0 auto 30px;
      }
      .desc {
        margin-bottom: 20px;
        .text {
          font-size: 14px;
        }
        .line {
          right: 0;
          margin: 0 auto;
          width: 278px;
          height: 68px;
        }
      }
      .price {
        .price_title {
          font-size: 14px;
          margin-bottom: 3px;
        }
        .price_value {
          font-size: 18px;
          .small {
            font-size: 14px;
          }
        }
      }
      .btn {
        img {
          width: 212.5px;
          height: auto;
        }
      }
      &.product1 {
        .title {
          width: 215.5px;
          height: auto;
        }
        .img {
          width: 216.5px;
          height: auto;
        }
      }
      &.product2 {
        .title {
          width: 180.5px;
          height: auto;
        }
        .img {
          width: 161px;
          height: auto;
        }
      }
      &.product3 {
        .title {
          width: 253px;
          height: auto;
        }
        .img {
          width: 179px;
          height: auto;
        }
      }
      &.product4 {
        .title {
          width: 149px;
          height: auto;
        }
        .img {
          width: 169px;
          height: auto;
        }
      }
      &.product5 {
        .title {
          width: 273px;
          height: auto;
        }
        .img {
          width: 248.5px;
          height: auto;
        }
      }
      &.product6 {
        .title {
          width: 238.5px;
          height: auto;
        }
        .img {
          width: 246px;
          height: auto;
        }
      }
    }
  }
}
*/
/* product_modal
********************************************/
.modaal-overlay {
  opacity: .6;
}

.modaal-wrapper {
  top: 50px;
}

.modaal-inner-wrapper {
  padding-bottom: 120px;
}

.modaal-container {
  width: 1000px;
  background-color: transparent;
  box-shadow: none;
}

.modaal-content-container {
  padding: 0;
}

.product_modal_wrap {
  display: none;
}

.product_modal {
  position: relative;
  padding: 65px 0;
  background-color: transparent;
}

.product_modal .inner {
  position: relative;
  padding: 0 145px;
  background-color: #f7f5ed;
}

.product_modal .inner:before,
.product_modal .inner:after {
  position: absolute;
  z-index: 4;
  left: 0;
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 65px;
  content: '';
  background-size: 1000px 65px;
  background-repeat: no-repeat;
}

.product_modal .inner:before {
  top: -65px;
  background-image: url(../../../images/product/modal_radius_t.png);
}

.product_modal .inner:after {
  bottom: -65px;
  background-image: url(../../../images/product/modal_radius_b.png);
}

.product_modal .img {
  padding-top: 80px;
  margin-bottom: 30px;
}

.product_modal .img.img--sm {
  padding-right: 137px;
  padding-left: 137px;
}

.product_modal .img:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 710px;
  height: 20px;
  background-size: 710px 20px;
  background-repeat: no-repeat;
  background-image: url(../../../images/product/product_line.png);
}

.product_modal .price_modal {
  text-align: center;
  width: 100%;
  padding-bottom: 35px;
  border-bottom: 1px solid #b9a55f;
  margin-bottom: 35px;
}

.product_modal .price_modal .price_modal_title {
  font-size: 16px;
  margin-bottom: 5px;
}

.product_modal .price_modal .price_modal_value {
  font-size: 18px;
}

.product_modal .desc_modal_list {
  padding: 0 81px 35px;
  border-bottom: 1px solid #b9a55f;
  margin-bottom: 35px;
}

.product_modal .desc_modal_list li {
  position: relative;
  list-style-type: none;
  font-size: 16px;
  padding-left: 15px;
}

.product_modal .desc_modal_list li:before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 9px;
  left: 0;
  margin: auto 0;
  width: 9px;
  height: 9px;
  border-radius: 100%;
  background: #b9a55f;
}

.product_modal .feature_list {
  padding: 0 81px 35px;
  border-bottom: 1px solid #b9a55f;
  margin-bottom: 35px;
}

.product_modal .feature_list li {
  margin-top: 30px;
}

.product_modal .feature_list li:first-child {
  margin-top: 0;
}

.product_modal .feature_list li .title {
  line-height: 1;
  margin-bottom: 10px;
}

.product_modal .feature_list li .feature1 {
  width: 99px;
  height: 20px;
}

.product_modal .feature_list li .feature2 {
  width: 98px;
  height: 20px;
}

.product_modal .feature_list li .feature3 {
  width: 187px;
  height: 20px;
}

.product_modal .feature_list li .feature3.p2 {
  width: 99px;
  height: 21px;
}

.product_modal .feature_list li .feature3.p5 {
  width: 228px;
  height: 19px;
}

.product_modal .feature_list li .feature3.p6 {
  width: 234px;
  height: 19px;
}

.product_modal .feature_list li .text {
  font-size: 16px;
}

.product_modal .feature_list .desc_modal_list {
  padding: 0;
  margin: 0;
  border: none;
}

.product_modal .feature_list .desc_modal_list li {
  margin-top: 0;
}

.product_modal .btn {
  text-align: center;
  width: 296px;
  height: 57px;
  margin: 0 auto;
  cursor: pointer;
  transition: all .2s;
}

.product_modal .btn:hover {
  opacity: .6;
}

.modaal-close {
  position: fixed;
  right: 20px;
  top: 20px;
  color: #fff;
  cursor: pointer;
  opacity: 1;
  width: 90px;
  height: 90px;
  background-color: rgba(0, 0, 0, 0);
  border-radius: 0;
  border: 1px solid #fff !important;
}

.modaal-close:after,
.modaal-close:before {
  top: 22px;
  left: 43px;
  width: 2px;
  height: 45px;
  border-radius: 0;
  background: #fff;
}

.modaal-close:focus,
.modaal-close:hover {
  background-color: #fff;
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
  background: #000;
}

@media (min-width: 768px) and (max-width: 1100px) {
  .modaal-overlay {
    opacity: .6;
  }

  .modaal-wrapper {
    top: 4.545vw;
  }

  .modaal-container {
    width: 90.909vw;
    background-color: transparent;
    box-shadow: none;
  }

  .modaal-content-container {
    padding: 0;
  }

  .product_modal_wrap {
    display: none;
  }

  .product_modal {
    position: relative;
    padding: 5.909vw 0;
    background-color: transparent;
  }

  .product_modal .inner {
    position: relative;
    padding: 0 13.182vw;
    background-color: #f7f5ed;
  }

  .product_modal .inner:before,
  .product_modal .inner:after {
    position: absolute;
    z-index: 4;
    left: 0;
    display: block;
    width: 100%;
    height: 0;
    padding-bottom: 5.909vw;
    content: '';
    background-size: 90.909vw 5.909vw;
    background-repeat: no-repeat;
  }

  .product_modal .inner:before {
    top: -5.909vw;
    background-image: url(../../../images/product/modal_radius_t.png);
  }

  .product_modal .inner:after {
    bottom: -5.909vw;
    background-image: url(../../../images/product/modal_radius_b.png);
  }

  .product_modal .img {
    padding-top: 7.273vw;
    margin-bottom: 2.727vw;
  }

  .product_modal .img:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 64.545vw;
    height: 1.818vw;
    background-size: 64.545vw 1.818vw;
    background-repeat: no-repeat;
    background-image: url(../../../images/product/product_line.png);
  }

  .product_modal .price_modal {
    text-align: center;
    width: 100%;
    padding-bottom: 3.182vw;
    border-bottom: 1px solid #b9a55f;
    margin-bottom: 3.182vw;
  }

  .product_modal .price_modal .price_modal_title {
    font-size: 1.455vw;
    margin-bottom: 0.455vw;
  }

  .product_modal .price_modal .price_modal_value {
    font-size: 1.636vw;
  }

  .product_modal .desc_modal_list {
    padding: 0 7.364vw 3.182vw;
    border-bottom: 1px solid #b9a55f;
    margin-bottom: 3.182vw;
  }

  .product_modal .desc_modal_list li {
    position: relative;
    list-style-type: none;
    font-size: 1.455vw;
    padding-left: 1.364vw;
  }

  .product_modal .desc_modal_list li:before {
    content: '';
    display: inline-block;
    position: absolute;
    top: 0.818vw;
    left: 0;
    margin: auto 0;
    width: 0.818vw;
    height: 0.818vw;
    border-radius: 100%;
    background: #b9a55f;
  }

  .product_modal .feature_list {
    padding: 0 7.364vw 3.182vw;
    border-bottom: 1px solid #b9a55f;
    margin-bottom: 3.182vw;
  }

  .product_modal .feature_list li {
    margin-top: 2.727vw;
  }

  .product_modal .feature_list li:first-child {
    margin-top: 0;
  }

  .product_modal .feature_list li .title {
    line-height: 1;
    margin-bottom: 0.909vw;
  }

  .product_modal .feature_list li .feature1 {
    width: 9vw;
    height: 1.818vw;
  }

  .product_modal .feature_list li .feature2 {
    width: 8.909vw;
    height: 1.818vw;
  }

  .product_modal .feature_list li .feature3 {
    width: 17vw;
    height: 1.818vw;
  }

  .product_modal .feature_list li .feature3.p2 {
    width: 9vw;
    height: 1.909vw;
  }

  .product_modal .feature_list li .feature3.p5 {
    width: 20.727vw;
    height: 1.727vw;
  }

  .product_modal .feature_list li .feature3.p6 {
    width: 21.273vw;
    height: 1.727vw;
  }

  .product_modal .feature_list li .text {
    font-size: 1.455vw;
  }

  .product_modal .btn {
    text-align: center;
    width: 26.909vw;
    height: 5.182vw;
    margin: 0 auto;
    cursor: pointer;
    transition: all .2s;
    position: relative;
    z-index: 1000;
  }

  .product_modal .btn:hover {
    opacity: .6;
  }

  .modaal-close {
    position: fixed;
    right: 1.667vw;
    top: 1.667vw;
    color: #fff;
    cursor: pointer;
    opacity: 1;
    width: 7.5vw;
    height: 7.5vw;
    background: rgba(0, 0, 0, 0);
    border-radius: 0;
    border: 1px solid #fff !important;
  }

  .modaal-close:after,
  .modaal-close:before {
    top: 1.833vw;
    left: 3.583vw;
    width: 0.167vw;
    height: 3.75vw;
    border-radius: 0;
    background: #fff;
  }

  .modaal-close:focus,
  .modaal-close:hover {
    background-color: #fff;
  }

  .modaal-close:focus:after,
  .modaal-close:focus:before,
  .modaal-close:hover:after,
  .modaal-close:hover:before {
    background: #000;
  }
}

@media (max-width: 767px) {
  .modaal-wrapper {
    top: 17.333vw;
  }

  .modaal-container {
    width: 100%;
  }

  .product_modal {
    padding: 6.133vw 0 8.533vw;
  }

  .product_modal .inner {
    padding: 0 6.6666vw;
  }

  .product_modal .inner:before,
  .product_modal .inner:after {
    padding-bottom: 6.133vw;
    background-size: 100% 6.133vw;
  }

  .product_modal .inner:before {
    top: -6.133vw;
    background-image: url(../../../images/product/sp/sp_modal_radius_t.png);
  }

  .product_modal .inner:after {
    bottom: -6.133vw;
    background-image: url(../../../images/product/sp/sp_modal_radius_b.png);
  }

  .product_modal .img {
    padding-top: 9.333vw;
    margin-bottom: 5.333vw;
  }

  .product_modal .img.img--sm {
    padding-right: 0;
    padding-left: 0;
  }

  .product_modal .img:before {
    width: 78.667vw;
    height: 2.533vw;
    background-size: 78.667vw 2.533vw;
    background-image: url(../../../images/product/sp/sp_product_line.png);
  }

  .product_modal .price_modal {
    text-align: center;
    width: 100%;
    padding-bottom: 6.667vw;
    margin-bottom: 6.667vw;
  }

  .product_modal .price_modal .price_modal_title {
    font-size: 3.733vw;
    margin-bottom: 0;
  }

  .product_modal .price_modal .price_modal_value {
    font-size: 4.267vw;
    text-align: left;
  }

  .product_modal .case {
    padding-bottom: 6.667vw;
    border-bottom: 1px solid #b9a55f;
    margin-bottom: 6.667vw;
  }

  .product_modal .desc_modal_list {
    padding: 0 0 6.667vw;
    margin-bottom: 6.667vw;
  }

  .product_modal .desc_modal_list li {
    font-size: 3.733vw;
    padding-left: 3.467vw;
  }

  .product_modal .desc_modal_list li:before {
    top: 2.133vw;
    width: 2.133vw;
    height: 2.133vw;
  }

  .product_modal .feature_list {
    padding: 0 0 6.667vw;
    margin-bottom: 6.667vw;
  }

  .product_modal .feature_list li .feature1 {
    width: 20.933vw;
    height: auto;
  }

  .product_modal .feature_list li .feature2 {
    width: 20.667vw;
    height: auto;
  }

  .product_modal .feature_list li .feature3 {
    width: 42.4vw;
    height: auto;
  }

  .product_modal .feature_list li .feature3.p2 {
    width: 22.133vw;
    height: auto;
  }

  .product_modal .feature_list li .feature3.p5 {
    width: 52.267vw;
    height: auto;
  }

  .product_modal .feature_list li .feature3.p6 {
    width: 53.6vw;
    height: auto;
  }

  .product_modal .feature_list li .text {
    font-size: 3.733vw;
  }

  .product_modal .btn {
    width: 56.533vw;
    height: auto;
  }

  .modaal-close {
    right: 3.2vw;
    top: 3.2vw;
    width: 12vw;
    height: 12vw;
  }

  .modaal-close:after,
  .modaal-close:before {
    top: 2.933vw;
    left: 5.733vw;
    width: 0.267vw;
    height: 6vw;
  }
}

/*
@include for-sp {
  .modaal-wrapper {
    top: 65px;
  }
  .modaal-container{
    width: 100%;
  }
  .product_modal {
    padding: 23px 0 32px;
    .inner {
      padding: 0 6.6666vw;
      &:before,
      &:after {
        padding-bottom: 23px;
        background-size: 345px 23px;
      }
      &:before {
        top: -23px;
        background-image: url(../../../images/product/sp/sp_modal_radius_t.png);
      }
      &:after {
        bottom: -23px;
        background-image: url(../../../images/product/sp/sp_modal_radius_b.png);
      }
    }
    .img {
      padding-top: 35px;
      margin-bottom: 20px;
      &:before {
        width: 295px;
        height: 9.5px;
        background-size: 295px 9.5px;
        background-image: url(../../../images/product/sp/sp_product_line.png);
      }
    }
    .price_modal {
      text-align: center;
      width: 100%;
      padding-bottom: 25px;
      margin-bottom: 25px;
      .price_modal_title {
        font-size: 14px;
        margin-bottom: 0;
      }
      .price_modal_value {
        font-size: 16px;
      }
    }
    .case {
      padding-bottom: 25px;
      border-bottom: 1px solid #b9a55f;
      margin-bottom: 25px;
    }
    .desc_modal_list {
      padding: 0 0 25px;
      margin-bottom: 25px;
      li {
        font-size: 14px;
        padding-left: 13px;
        &:before {
          top: 8px;
          width: 8px;
          height: 8px;
        }
      }
    }
    .feature_list {
      padding: 0 0 25px;
      margin-bottom: 25px;
      li {
        .feature1 {
          width: 78.5px;
          height: auto;
        }
        .feature2 {
          width: 77.5px;
          height: auto;
        }
        .feature3 {
          width: 159px;
          height: auto;
          &.p2 {
            width: 83px;
            height: auto;
          }
          &.p5 {
            width: 196px;
            height: auto;
          }
          &.p6 {
            width: 201px;
            height: auto;
          }
        }
        .text {
          font-size: 14px;
        }
      }
    }
    .btn {
      width: 212px;
      height: auto;
    }
  }
  .modaal-close {
    right: 12px;
    top: 12px;
    width: 45px;
    height: 45px;
  }
  .modaal-close:after, .modaal-close:before {
    top: 11px;
    left: 21.5px;
    width: 1px;
    height: 22.5px;
  }
}
*/
/* img-modaal-close
********************************************/
.img-modaal-close {
  position: static;
  right: auto;
  top: auto;
  opacity: 1;
  background-color: transparent;
  text-align: center;
  width: 100%;
  height: auto;
  border: none !important;
}

/* リキッドレイアウト対応
********************************************/
html {
  font-size: 16px;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.095890411vw;
  }
}
@media (min-width: 1460px) {
  html {
    font-size: 16px;
  }
}

/* l-section
********************************************/
.l-section.l-section--01 {
  padding-top: 60px;
  padding-top: 3.75rem;
  padding-bottom: 50px;
  padding-bottom: 3.125rem;
  background: url(../../../images/index/sp/bg_01.jpg) no-repeat center center/cover;
}
@media screen and (min-width: 768px) {
  .l-section.l-section--01 {
    padding-top: 8.125rem;
    padding-bottom: 13.125rem;
    background: url(../../../images/index/bg_01.jpg) no-repeat center center/cover;
  }
}

.l-section.l-section--02 {
  padding-top: 60px;
  padding-top: 3.75rem;
  padding-bottom: 50px;
  padding-bottom: 3.125rem;
  background: url(../../../images/index/bg_04.jpg) no-repeat center center/cover;
}
@media screen and (min-width: 768px) {
  .l-section.l-section--02 {
    padding-top: 8.375rem;
    padding-bottom: 10.3125rem;
    padding-bottom: 145px;
  }
}

.l-section.l-section--03 {
  padding-top: 85px;
  padding-top: 2.3125rem;
  padding-bottom: 105px;
  padding-bottom: 6.5625rem;
  background: url(../../../images/index/sp/bg_02.jpg) no-repeat center center/cover;
}
@media screen and (min-width: 768px) {
  .l-section.l-section--03 {
    padding-top: 8.75rem;
    padding-bottom: 10rem;
    background: url(../../../images/index/bg_05.jpg) no-repeat center bottom/cover;
  }
}

.l-section.l-section--04 {
  padding-top: 60px;
  padding-top: 3.75rem;
  padding-bottom: 50px;
  padding-bottom: 3.125rem;
  background: url(../../../images/index/sp/bg_03.jpg) no-repeat center center/cover;
}
@media screen and (min-width: 768px) {
  .l-section.l-section--04 {
    padding-top: 4.375rem;
    padding-bottom: 5rem;
    background: url(../../../images/index/bg_03.jpg) no-repeat center center/cover;
  }
}

.l-section.l-section--05 {
  padding-top: 70px;
  padding-top: 4.375rem;
  padding-bottom: 30px;
  padding-bottom: 1.875rem;
}
@media screen and (min-width: 768px) {
  .l-section.l-section--05 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

/* p-block
********************************************/
.p-block {
  text-align: center;
}

.p-block + .p-block {
  margin-top: 45px;
  margin-top: 2.8125rem;
}
@media screen and (min-width: 768px) {
  .p-block + .p-block {
    margin-top: 8.75rem;
  }
}

.p-block__title {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  color: #65313D;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.15em;
}
@media screen and (min-width: 768px) {
  .p-block__title {
    font-size: 3.125rem;
    line-height: 1.4;
  }
}

.p-block.p-block--white .p-block__title {
  color: #fff;
}

@media screen and (min-width: 768px) {
  .p-block__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 4.0625rem;
  }
}

@media screen and (min-width: 768px) {
  .p-block__text-box {
    width: 64.2465753425%;
  }
}

.p-block__img-box {
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-block__img-box {
    width: 31.2328767123%;
    margin-top: 0;
    margin-top: initial;
    margin-left: 4.5205479452%;
  }
}

.p-block__text {
  margin-top: 20px;
  margin-top: 1.25rem;
  font-size: 1rem;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-block__text {
    margin-top: 3.4375rem;
    font-size: 1.25rem;
  }
}

.p-block.p-block--white .p-block__text {
  color: #fff;
}

@media screen and (min-width: 768px) {
  .p-block__text-box .p-block__text {
    margin-top: 0;
    margin-top: initial;
    text-align: left;
    text-align: initial;
  }
}

.p-block__text.p-block__text--initial {
  text-align: left;
  text-align: initial;
}
.p-block__growing {
  width: 80%;
  margin: 2.5rem auto;
  display: flex;
  justify-content: space-between;
}
.p-block__growing li {
  width: 30%;
}
.p-block__growing li span {
  display: block;
  font-size: 1rem;
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-block__growing {
    width: 100%;
  }
  .p-block__growing li {
    width: 32%;
  }  
  .p-block__growing li span {
    display: block;
    font-size: 0.8rem;
    margin-top: 0.5rem;
  }  
}
.p-block__img {
  margin-top: 25px;
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .p-block__img {
    padding-right: 30px;
    padding-left: 30px;
    margin-top: 1.875rem;
  }
}

.p-block__items {
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-block__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 3.125rem;
  }
}

.p-block__item {
  display: inline-block;
  width: 100%;
  max-width: 239px;
}
@media screen and (min-width: 768px) {
  .p-block__item {
    max-width: 327px;
  }
}

.p-block__item + .p-block__item {
  margin-top: 10px;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-block__item + .p-block__item {
    margin-top: 0;
    margin-left: 3.125rem;
  }
}

.p-block__lists {
  padding: 40px 50px;
  padding: 2rem;
  margin-top: 20px;
  margin-top: 1.25rem;
  background: #fff;
  border: 1px solid #65313D;
  border-radius: 20px;
}

.p-block__list dt {
  color: #65313D;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.5;
}

.p-block__list dd {
  font-size: 1rem;
  line-height: 1.875;
}
@media screen and (min-width: 768px) {
  .p-block__lists {
    padding: 2.5rem 3.125rem;
  }
}

.p-block__list + .p-block__list {
  margin-top: 25px;
  margin-top: 1.5625rem;
}

.p-block__figure {
  margin-top: 0.625rem;
  margin-bottom: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-block__figure {
    margin-top: 1rem;
    margin-bottom: 5rem;
  }
}

.p-block__figure img {
  display: inline-block;
  width: 100%;
  /* max-width: 300px; */
}
@media screen and (min-width: 768px) {
  .p-block__figure img {
    max-width: 45rem;
  }
}

.p-block__more-btn {
  margin-top: 2.188rem;
}
@media screen and (min-width: 768px) {
  .p-block__more-btn {
    margin-top: 3.125rem;
  }
}

.p-block__more-btn img {
  display: inline-block;
  width: 100%;
  max-width: 20.313rem;
}
@media screen and (min-width: 768px) {
  .p-block__more-btn img {
    max-width: 45rem;
  }
}

.p-block__more-btn span {
  display: inline-block;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-block__more-btn span {
  }
}
.p-block__more-btn span::after {
  display: block;
  content: "";
  position: absolute;
  top: 1.25rem;
  right: 1.563rem;
  width: 1.188rem;
  height: 1.188rem;
  background: url(../../../images/index/more-icon.png) no-repeat center center/contain;
  transition: all 0.3s ease 0s;
}
@media screen and (min-width: 768px) {
  .p-block__more-btn span::after {
    top: 40%;
    transform: translateY(-50%);
  }
}
.p-block__more-btn span.is-open::after {
  transform: rotate(45deg);
}
@media screen and (min-width: 768px) {
  .p-block__more-btn span.is-open::after {
    transform: translateY(-50%) rotate(45deg);
  }
}

.p-block__more-items {
  display: none;
  margin-top: 2.188rem;
}
@media screen and (min-width: 768px) {
  .p-block__more-items {
    margin-top: 5.313rem;
  }
}

.p-block__more-item + .p-block__more-item {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-block__more-item + .p-block__more-item {
    margin-top: 5.313rem;
  }
}

.p-block__content {
  margin-top: 50px;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-block__content {
    margin-top: 3.25rem;
  }
}

.p-block__content .p-block__text {
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-block__content .p-block__text {
    margin-top: 0.9375rem;
  }
}

.p-block__heading {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  color: #65313D;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: bold;
  letter-spacing: 0.03em;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-block__heading {
    font-size: 2.1875rem;
  }
}

.p-block.p-block--white .p-block__heading {
  color: #fff;
}

.p-block__heading:nth-child(n+2) {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .p-block__heading:nth-child(n+2) {
  }
}

.p-block__gif {
  width: 100%;
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-block__gif {
    max-width: 45.25rem;
    margin-right: auto;
    margin-left: auto;
  }
}

.p-block__box {
  margin-top: 30px;
  margin-top: 1.875rem;
  padding: 18px 20px;
  padding: 1.125rem 1.25rem;
  background: #fff;
  border: 1px solid #65313D;
  border-radius: 20px;
}
@media screen and (min-width: 768px) {
  .p-block__box {
    margin-top: 3.75rem;
  }
}

.p-block__points {
  display: inline-block;
  text-align: left;
}

.p-block__point {
  position: relative;
  padding-top: 10px;
  padding-top: 0.625rem;
  padding-bottom: 10px;
  padding-bottom: 0.625rem;
  padding-left: 55px;
  padding-left: 3.4375rem;
  color: #65313D;
}
@media screen and (min-width: 768px) {
  .p-block__point {
    font-size: 1.25rem;
  }
}

.p-block__point + .p-block__point {
  border-top: 1px solid #65313D;
}

.p-block__point::before {
  display: block;
  content: "";
  position: absolute;
  top: 10px;
  top: 0.625rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 8px;
  left: 0.5rem;
  width: 28px;
  width: 1.75rem;
  height: 35px;
  height: 2.1875rem;
}

.p-block__point:nth-child(1):before {
  background: url(../../../images/index/no_01.png) no-repeat center center/contain;
}

.p-block__point:nth-child(2):before {
  background: url(../../../images/index/no_02.png) no-repeat center center/contain;
}

/* p-movie
********************************************/
.p_movie {
  background-image: url(../../../images/product/product_bg.jpg);
  background-repeat: repeat-y;
  background-size: cover;
  background-position: center center;
}

.p_movie .content_header {
  height: 16.146vw;
  background-image: url(../../../images/movie/content_header_bg.jpg);
}

.p_movie .content_header .title {
  width: 13.958vw;
  height: 4.635vw;
}

.p_movie .content_main {
  padding: 90px 0 0;
}

.p_movie .content_main .sec_inner {
  max-width: 1560px;
  padding: 0 50px;
  z-index: 1;
}
.p_movie .movie-box{
  max-width: 800px;
  margin: 0 auto;
}
.p_movie .movie-box .movie-h2 {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  color: #65313D;
  font-size: 35px; 
  font-size: min(4.45vw,35px);
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.15em;
  margin-bottom: 15px;
  text-align: center;
}
.p_movie .movie-box .movie-inner{
  margin-bottom: 80px;
  position: relative;
}
.p_movie .movie-box .movie-inner span{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10%;  
}
@media (min-width: 768px) and (max-width: 1560px) {
  .p_movie .content_main .sec_inner {
    padding: 0 3.205vw;
  }
}

@media (max-width: 767px) {
  .p_movie {
    background-image: url(../../../images/product/sp/sp_product_bg.jpg);
  }

  .p_movie .content_header {
    height: 180px;
    align-items: flex-start;
    background-image: url(../../../images/movie/sp/sp_content_header_bg.jpg);
  }

  .p_movie .content_header .title {
    width: 28vw;
    height: auto;
    margin-top: 9.333vw;
  }

  .p_movie .content_main {
    padding: 25px 0 0;
  }

  .p_movie .content_main .sec_inner {
    max-width: initial;
    padding: 0 4vw;
  }
  
  .p_movie .movie-box .movie-h2 {
    margin-bottom: 8px;
  }
  .p_movie .movie-box .movie-inner{
    margin-bottom: 40px;
  }  
}


/* slick-dots
********************************************/
.slick-dots {
  z-index: 10;
}

.slick-dots li button:before {
  font-size: 12px !important;
}

.slick-dots li.slick-active button:before {
  color: #A52722 !important;
}