:root {
  --l-content: 100%; }
  @media (min-width: 768px) {
    :root {
      --l-content: calc(768px - 32px); } }
  @media (min-width: 960px) {
    :root {
      --l-content: calc(960px - 32px); } }
  @media (min-width: 1200px) {
    :root {
      --l-content: calc(1212px - 32px); } }
  @media (max-width: 767px) {
    :root {
      --l-content: calc(100% - 32px); } }

@media (min-width: 960px) {
  .l-header .header-cta__item {
    height: calc(86px + 60px + 20px); } }
.l-header .header-cta .u-row {
  align-items: flex-start; }

#contents {
  position: relative; }

@media (min-width: 768px) {
  .article-header-full-width {
    height: 250px !important; } }
@media (max-width: 767px) {
  .article-header-full-width {
    height: auto !important; } }
.article-header-full-width::before {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: calc(50% - (var(--l-content) / 2));
  height: 50%;
  background-color: #baac95;
  content: ""; }
.article-header-full-width .u-background-cover {
  position: relative;
  height: 100%; }
  @media (min-width: 768px) {
    .article-header-full-width .u-background-cover {
      width: calc(var(--l-content) + 50% - (var(--l-content) / 2));
      height: 250px; } }
  @media (max-width: 767px) {
    .article-header-full-width .u-background-cover {
      aspect-ratio: 97 / 21; } }
.article-header-full-width__thumbnail {
  /*overflow: hidden;
  picture{
  	height: 100%;
  	img{
  		max-width: initial;
  		height: 100%;
  		object-fit: cover;
  	}
  }*/ }
@media (min-width: 768px) {
  .article-header-full-width__thumbnail,
  .article-header-full-width .u-background-cover::after {
    border-radius: 0 20px 20px 0; } }
.article-header-full-width__inner {
  height: 100%; }
  .article-header-full-width__inner .l-content {
    position: absolute;
    display: flex;
    flex-direction: column-reverse;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: flex-end;
    width: fit-content !important;
    margin-right: 0; }
    @media (min-width: 768px) {
      .article-header-full-width__inner .l-content {
        top: 50%;
        transform: translateY(-50%);
        right: calc(-1 * calc(50% - (var(--l-content) / 2))); } }
    @media (max-width: 767px) {
      .article-header-full-width__inner .l-content {
        bottom: 0;
        transform: translateY(50%); } }
  @media (min-width: 768px) {
    .article-header-full-width__inner .article-title {
      font-size: 16px; } }
  @media (max-width: 767px) {
    .article-header-full-width__inner .article-title {
      font-size: max(3vw, 14px); } }
  .article-header-full-width__inner .article-title__sub {
    margin-top: 0;
    line-height: 1; }
    @media (min-width: 768px) {
      .article-header-full-width__inner .article-title__sub {
        font-size: 700%; } }
    @media (max-width: 767px) {
      .article-header-full-width__inner .article-title__sub {
        font-size: max(10vw, 50px); } }

#contents .l-content,
#contents .l-content__main {
  width: 100% !important; }

.article-body {
  padding-left: 0 !important;
  padding-right: 0 !important; }

.breadcrumb,
.sec_inner {
  margin-left: auto;
  margin-right: auto; }

.breadcrumb {
  width: var(--l-content); }

.sec_inner {
  padding-top: calc(8px * 8);
  padding-bottom: calc(8px * 8); }
  @media (min-width: 768px) {
    .sec_inner {
      width: var(--l-content); } }
  @media (max-width: 767px) {
    .sec_inner {
      padding: 1em; } }

#intro h2 {
  margin-bottom: 1em;
  font-size: 32px;
  font-weight: 300;
  text-align: center; }
#intro p {
  width: 100%;
  margin-left: auto;
  margin-right: auto; }
  @media (min-width: 768px) {
    #intro p {
      max-width: 800px; } }

h3 {
  text-align: center; }
  @media (max-width: 767px) {
    h3 {
      font-size: 140%; } }
  @media (min-width: 768px) {
    h3 {
      font-size: 28px; } }

section.point .sec_inner:nth-of-type(odd) {
  background-color: #baac95; }

#weekday_sale {
  display: block;
  background-color: #e2dcd2;
  color: black;
  border-radius: 80px; }
  @media (min-width: 768px) {
    #weekday_sale {
      padding: 50px 90px; } }
  @media (max-width: 767px) {
    #weekday_sale {
      padding: 30px 30px; } }
  #weekday_sale .title {
    font-size: min(8vw, 40px);
    font-weight: 600;
    text-align: center; }
  #weekday_sale .price {
    margin-bottom: 40px; }
    @media (min-width: 768px) {
      #weekday_sale .price {
        display: flex;
        justify-content: center;
        align-items: center; } }
    #weekday_sale .price p {
      font-size: 30px;
      font-weight: 500; }
      @media (max-width: 767px) {
        #weekday_sale .price p {
          width: 100%; } }
    #weekday_sale .price img {
      width: 300px;
      height: auto; }
  #weekday_sale .rice {
    text-align: justify; }

.point {
  counter-reset: sec_counter 0; }
  @media (min-width: 768px) {
    .point .ncH3 {
      font-size: 28px; } }
  @media (max-width: 767px) {
    .point .ncH3 {
      font-size: 140%; } }
  .point .sec_inner {
    width: 100%; }
    .point .sec_inner:nth-of-type(odd) {
      background-color: #baac95; }
    .point .sec_inner:nth-of-type(odd) picture::before {
      right: 8px; }
    .point .sec_inner:nth-of-type(even) picture::before {
      left: 8px; }
    @media (min-width: 768px) {
      .point .sec_inner .ncColumns {
        width: var(--l-content);
        margin: auto; } }
    .point .sec_inner .ncColumns picture {
      position: relative; }
      .point .sec_inner .ncColumns picture::before {
        position: absolute;
        top: calc(-1 * calc(8px * 4));
        z-index: 101;
        counter-increment: sec_counter 1;
        content: counter(sec_counter) " ";
        font-size: 500%;
        font-weight: bold;
        line-height: 1; }
      .point .sec_inner .ncColumns picture::after {
        position: absolute;
        top: 0;
        z-index: 100;
        display: block;
        width: 100%;
        background-color: rgba(255, 255, 255, 0.3);
        content: "";
        height: 3rem; }

.flow {
  counter-reset: flow 0; }
  @media (min-width: 768px) {
    .flow {
      width: var(--l-content);
      margin: auto; } }
  .flow h3.-flow-title {
    position: relative;
    width: 100%;
    margin-top: calc(8px * 9) !important;
    margin-bottom: calc(8px * 8) !important;
    text-align: center; }
    @media (min-width: 768px) {
      .flow h3.-flow-title {
        font-size: 200%; } }
    .flow h3.-flow-title::before {
      position: absolute;
      z-index: 0;
      top: 50%;
      transform: translateY(-50%);
      display: block;
      content: "";
      width: 100%;
      border: 1px solid #333; }
    .flow h3.-flow-title span {
      position: relative;
      z-index: 10;
      display: block;
      width: fit-content;
      margin: auto; }
      @media (min-width: 768px) {
        .flow h3.-flow-title span {
          padding-left: 5em;
          padding-right: 5em; } }
      @media (max-width: 767px) {
        .flow h3.-flow-title span {
          padding-left: 1em;
          padding-right: 1em; } }
  .flow .ncRows {
    display: flex !important; }
    .flow .ncRows_image {
      order: 1;
      aspect-ratio: 4 / 3;
      margin-bottom: 2em; }
      .flow .ncRows_image picture, .flow .ncRows_image img {
        width: 100%;
        height: 100%; }
        .flow .ncRows_image picture img, .flow .ncRows_image img img {
          object-fit: cover; }
    .flow .ncRows_title {
      order: 2;
      text-align: justify; }
    .flow .ncRows_text {
      order: 3; }
  .flow .ncRows_image {
    position: relative; }
    .flow .ncRows_image::before {
      position: absolute;
      bottom: calc(-1 * calc(8px * 2));
      left: 8px;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 55px;
      height: 55px;
      background-color: #fff;
      font-size: 48px;
      font-weight: bold;
      line-height: 1;
      counter-increment: flow 1;
      content: counter(flow) " "; }

.slick-prev, .slick-next {
  top: 30%; }

#use-machine {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #231815;
  color: #E2DCD2;
  font-weight: normal; }
  @media (max-width: 767px) {
    #use-machine {
      padding: 80px 0; } }
  #use-machine .machine {
    max-width: calc(100% - 440px);
    margin: 0 auto 110px; }
    @media (max-width: 767px) {
      #use-machine .machine {
        max-width: calc(100% - 60px); } }
    #use-machine .machine:last-child {
      margin-bottom: unset; }
    #use-machine .machine h3 {
      text-align: center;
      margin-bottom: 30px;
      font-weight: 300; }
    #use-machine .machine p {
      text-align: center;
      font-size: 16px;
      margin-bottom: 60px;
      font-weight: 500; }
      @media (max-width: 767px) {
        #use-machine .machine p {
          text-align: left; } }
    #use-machine .machine .movie {
      max-width: 740px;
      width: 100%;
      margin: 50px auto 0 auto; }
      #use-machine .machine .movie iframe {
        width: 100%;
        height: auto;
        aspect-ratio: 16/9; }

.page-link {
  width: 100%;
  background-color: #231815;
  text-align: center; }
  .page-link_btn {
    display: block;
    padding: 1.5em 0; }
    .page-link_btn span {
      display: inline-block;
      border-bottom: 1px solid #fff;
      font-size: 28px;
      color: #fff; }
