@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300&family=Noto+Sans+JP:wght@300;400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@700&display=swap");
/* ========================================================== */
/* Reset Style */
/* ========================================================== */
*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html, body {
  height: 100%;
}

body {
  -webkit-font-smoothing: antialiased;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 16px;
  line-height: 1.8;
  text-size-adjust: none;
  color: #333333;
  overflow-scrolling: touch;
}
picture, video, canvas, svg {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
}

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

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

li, h1, h2, h3, h4, h5, h6 {
  line-height: 1.4;
}

a {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.1s;
}
a:hover {
  opacity: 0.8;
}
a:visited, a:focus, a:active {
  color: inherit;
}

ul {
  padding: 0;
  list-style: none;
}

.mincho {
  font-family: "Noto Serif JP", serif;
}

.serif {
  font-family: "Cormorant Garamond", serif;
}

@media (min-width: 769px) {
  .sp {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .pc {
    display: none !important;
  }
}
/* ========================================================== */
/* SP用スタイル */
/* ========================================================== */
@media (max-width: 768px) {
  .site_header {
    position: fixed;
    top: 0;
    left: 0;
    height: 60px;
    width: 100%;
    background: rgba(255, 255, 255, 0.9);
    z-index: 2;
  }
  .site_header.have_kv {
    background: none;
  }
  .site_header .logo {
    position: fixed;
    top: 5px;
    left: 15px;
    z-index: 2;
  }
  .site_header .menu_open {
    position: fixed;
    top: 73px;
    left: 15px;
    z-index: 2;
    cursor: pointer;
  }
  .site_header .menu_open img {
    vertical-align: top;
  }
  .all_menu {
    display: none;
    position: fixed;
    top: 60px;
    right: 0;
    z-index: 2;
    box-shadow: 0 -3px 10px rgba(0, 0, 0, 0.16);
    background: #ffffff;
    width: 100%;
  }
  .all_menu .menuclose {
    background: rgba(0, 0, 0, 0.6);
    height: 83px;
    padding: 24px 30px;
    cursor: pointer;
    text-align-last: center;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 2;
  }
  .all_menu .menu_container {
    padding: 20px 15px 70px 15px;
    overflow-y: scroll;
    height: calc(100vh - 70px);
  }
  .all_menu .menu_box {
    border-bottom: 1px solid #000000;
    margin-bottom: 15px;
  }
  .all_menu .menu_box .title_en {
    height: 26px;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
  }
  .all_menu .menu_box .title_en img {
    transform: rotate(-90deg) translate(-12px, -4px);
    transform-origin: top;
  }
  .all_menu .menu_box .title_ja {
    color: #C50030;
    font-weight: 500;
    font-size: 18px;
    line-height: 22px;
  }
  .all_menu .menu_box .title_container {
    margin-bottom: 20px;
    position: relative;
  }
  .all_menu .menu_box .title_container2 {
    margin-bottom: 20px;
    position: relative;
  }
  .all_menu .menu_box .title_container3 {
    margin-bottom: 20px;
    position: relative;
  }
  .all_menu .menu_box .title_container::before {
    content: "";
    width: 21px;
    height: 1px;
    display: block;
    background: #000000;
    position: absolute;
    top: 24px;
    right: 0;
  }
  .all_menu .menu_box .title_container::after {
    content: "";
    width: 1px;
    height: 21px;
    display: block;
    background: #000000;
    position: absolute;
    top: 14px;
    right: 10px;
    transition: 0.2s;
  }
  .all_menu .menu_box .title_container.open::after {
    transform: rotate(90deg);
  }

  .all_menu .menu_box .menu_body {
    display: none;
  }
  .all_menu .menu_box ul {
    margin-bottom: 20px;
    font-size: 16px;
  }
  .all_menu .menu_box ul li {
    line-height: 34px;
  }
  .all_menu .menu_box ul li a {
    position: relative;
  }
  .all_menu .menu_box ul li a::after {
    content: "";
    width: 0;
    height: 2px;
    border-radius: 2px;
    background: #C50030;
    display: block;
    position: absolute;
    left: 0;
    bottom: -5px;
    transition: 0.3s;
    display: none !important;
  }
  .all_menu .menu_box ul li a:hover {
    color: #000000;
    font-weight: 400;
  }
  .all_menu .menu_box ul li a:hover::after {
    width: 100%;
  }
  .all_menu .menu_box .btn {
    width: 252px;
    margin-bottom: 20px;
  }
  .all_menu .bnr_box a {
    margin-bottom: 20px;
    display: inline-block;
    width: 100%;
  }
  .all_menu .bnr_box img {
    width: 100%;
  }
  /* ========================================================== */
  /* フッター */
  /* ========================================================== */
  .site_footer {
    position: relative;
    padding: 38px 0 85px 0;
    margin: 0 15px;
  }
  .site_footer .f_top {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .site_footer .logo {
    margin-bottom: 37px;
  }
  .site_footer .sns {
    display: flex;
  }
  .site_footer .sns a {
    display: inline-block;
    margin-right: 27px;
  }
  .site_footer .f_nav {
    font-size: 13px;
  }
  .site_footer .f_nav li {
    line-height: 20px;
    margin-bottom: 17px;
    text-align-last: right;
  }
  .site_footer .f_nav li.red a {
    color: #C50030;
    font-weight: 500;
  }
  .site_footer .bnr_area img {
    width: 100%;
  }
  .site_footer .bnr_area a {
    display: inline-block;
    margin-bottom: 20px;
    width: 100%;
  }
  .site_footer .copyright {
    position: absolute;
    right: 15px;
    bottom: 35px;
    font-size: 12px;
    font-weight: 300;
    text-align-last: right;
  }
  /* ========================================================== */
  /* 共通 */
  /* ========================================================== */
  article {
    padding-top: 145px;
    overflow: hidden;
    text-align: justify;
    text-align-last: left;
  }
  article section {
    position: relative;
    padding-left: 7vw !important;
    padding-right: 7vw !important;
  }
  article .pagetitle {
    display: none;
    position: fixed;
    top: 15px;
    right: 20px;
    z-index: 2;
  }
  article .pagetitle span {
    background: #C50030;
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
    min-height: 30px;
    padding: 5px 20px;
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .pagelink {
    position: fixed;
    top: 0;
    right: 8px;
    z-index: 1;
    height: 100%;
    text-align-last: right;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
  }
  .pagelink li {
    font-weight: 700;
    margin-bottom: 20px;
  }
  .pagelink li.current a {
    background: #C50030;
  }
  .pagelink li a {
    width: 8px;
    height: 8px;
    border-radius: 4px;
    background: #000000;
    display: block;
    font-size: 0;
    transition: 0.3s;
  }
  .sp_pagenavi {
    display: none;
    position: fixed;
    left: 0;
    bottom: 83px;
    z-index: 2;
    width: 100%;
    padding: 0 16px;
    background: #ffffff;
    box-shadow: 0 -3px 10px rgba(0, 0, 0, 0.16);
  }
  .sp_pagenavi li {
    border-bottom: 1px solid #000000;
  }
  .sp_pagenavi li:last-child {
    border-bottom: none;
  }
  .sp_pagenavi li.current a {
    color: #C50030;
    font-weight: 500;
  }
  .sp_pagenavi li a {
    display: block;
    padding: 5vw 0;
    font-size: 18px;
    line-height: 26px;
  }
  .sp_pagenavi_close {
    display: none;
  }
  .sp_pagenavi_close div {
    width: 100%;
    height: 83px;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #666666;
  }
  .contents_container.border::after {
    content: "";
    border-bottom: 1px solid #707070;
    width: 86vw;
    margin: auto;
    display: block;
  }
  .contents_container section {
    position: relative;
  }
  .contents_container .ttl_abs {
    height: 13px;
    transform: translate(-5px, 0px);
    margin-bottom: 4vw;
  }
  .contents_container .ttl_abs img {
    transform: rotate(-90deg);
    transform-origin: top;
  }
  .headline {
    margin: 0 auto 11.2vw auto;
    font-size: 6.4vw;
    font-weight: 700;
    line-height: 1.6;
    font-feature-settings: "palt";
  }
  .headline.is-animated span {
    position: relative;
  }
  .headline.is-animated span::before {
    content: "";
    width: 0;
    height: 2px;
    background: #D8D8D8;
    position: absolute;
    left: 0;
    bottom: -2px;
  }
  .headline.is-animated span:first-child::before {
    animation-name: line1_1;
    animation-duration: 1s;
    animation-delay: 1s;
    animation-fill-mode: forwards;
  }
  .headline.is-animated span:nth-child(3)::before {
    animation-name: line2_1;
    animation-duration: 1s;
    animation-delay: 1.3s;
    animation-fill-mode: forwards;
  }
  .headline.is-animated span::after {
    content: "";
    width: 0;
    height: 2px;
    background: #000;
    position: absolute;
    left: 0;
    bottom: -2px;
  }
  .headline.is-animated span:first-child::after {
    animation-name: line1_2;
    animation-duration: 1s;
    animation-delay: 2s;
    animation-fill-mode: forwards;
  }
  .headline.is-animated span:nth-child(3)::after {
    animation-name: line2_2;
    animation-duration: 1s;
    animation-delay: 2.3s;
    animation-fill-mode: forwards;
  }
  @keyframes line1_1 {
    0% {
      width: 0;
    }
    100% {
      width: 100%;
    }
  }
  @keyframes line2_1 {
    0% {
      width: 0;
    }
    100% {
      width: 100%;
    }
  }
  @keyframes line1_2 {
    0% {
      width: 0;
    }
    100% {
      width: 100%;
    }
  }
  @keyframes line2_2 {
    0% {
      width: 0;
    }
    100% {
      width: 100%;
    }
  }
  .fade_text {
    max-width: 100%;
    margin: auto;
    position: relative;
  }
  .fade_text::after {
    content: "";
    display: block;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 50%;
    min-height: 150px;
    max-height: 200px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
  }
  .fade_text p {
    margin-bottom: 8vw;
    font-weight: 700;
    font-size: 4.2666vw;
    line-height: 1.9;
  }
  .fade_text .subtitle {
    font-size: 5vw;
    color: #C50030;
    line-height: 1.4286;
    margin-bottom: 5.6666vw;
  }
  .pagetop {
    position: fixed;
    bottom: 20px;
    left: 15px;
    display: none;
    z-index: 1;
  }
  .pagenav_open {
    position: fixed;
    bottom: 20px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 40px;
    height: 36px;
  }
  .first_text {
    font-size: 6.4vw;
    line-height: 1.6;
    font-weight: 700;
  }
  .second_text {
    font-size: 6vw;
    line-height: 1.3;
    font-weight: 700;
  }
  .third_text {
    font-size: 4.8vw;
    line-height: 1.4;
    font-weight: 700;
  }

  .product_himitsu .third_text {
    font-size: 3.8vw;
  }
  .fourth_text {
    font-size: 3.6vw;
    line-height: 2;
    font-weight: 700;
  }
  .body_text, p {
    font-size: 3.4vw;
    line-height: 1.8;
    font-weight: 400;
  }
  /* ========================================================== */
  /* トップページ */
  /* ========================================================== */
  .toppage {
    text-align: justify;
    text-align-last: left;
  }
  .toppage .kv {
    text-align-last: center;
    position: relative;
    z-index: -1;
    height: 143.46666vw;
    overflow: hidden;
  }
  .toppage .kv::after {
    content: "";
    width: 100%;
    height: 15vw;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 0;
  }
  .toppage .kv .kv_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .toppage .kv .vertical_text {
    color: #C50030;
    position: absolute;
    top: 2.6666vw;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 8vw;
    font-weight: 300;
    display: flex;
    flex-direction: column;
    transform: scale(0.9);
    height: 143.4666vw;
    display: flex;
    justify-content: center;
  }
  .toppage .kv .vertical_text span {
    display: block;
    height: 39px;
  }
  .toppage .kv .vertical_text img {
    vertical-align: baseline;
  }
  .toppage .kv .vertical_text img.dokuten {
    transform: translate(10px, -16px);
  }
  .toppage .kv .vertical_text .first {
    margin: 0 auto 15.3333vw auto;
  }
  .toppage .kv .vertical_text .second {
    margin: 0 auto;
  }
  .toppage .kv .holizonal_text {
    font-size: 4.8vw;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 143.46666vw;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(0.9);
  }
  .toppage .kv .holizonal_text span {
    display: inline-block;
    margin: 0 3px;
  }
  .toppage .kv .holizonal_text span img.dokuten {
    transform: translateY(6px);
  }
  .toppage .top_concept {
    padding: 16vw 0 24vw 0;
    position: relative;
    z-index: 1;
  }
  .toppage .top_concept::after {
    content: "";
    width: 100vw;
    height: 219.73333vw;
    display: block;
    background: url(../img/top/bg_concept_sp.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: -16vw;
    z-index: -1;
  }
  .toppage .top_concept .inner {
    padding: 0 8vw;
    position: relative;
  }
  .toppage .top_concept .en_title {
    margin-bottom: 4vw;
  }
  .toppage .top_concept h2 {
    margin-bottom: 8vw;
  }
  .toppage .top_concept p {
    margin-bottom: 14.6666vw;
    font-size: 4.2666vw;
  }
  .toppage .top_concept .btn {
    margin: auto;
  }
  .toppage .top_concept .para3, .toppage .top_concept .para2, .toppage .top_concept .para1 {
    display: none;
  }
  .toppage .top_news {
    overflow: hidden;
    position: relative;
    background: #F5F5F5;
    padding: 20.8vw 0;
  }
  .toppage .top_news .news_menu h2 {
    width: 19.2vw;
    margin: 0 auto 4.2666vw auto;
  }
  .toppage .top_news .news_menu ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 5.3333vw;
  }
  .toppage .top_news .news_menu ul li {
    margin: 0.8vw 1.3333vw;
  }
  .toppage .top_news .news_menu ul li a {
    display: block;
    width: 26.13333vw;
    padding: 2.4vw 0;
    border: 1px solid #000000;
    border-radius: 5vw;
    font-size: 2.6666vw;
    line-height: 1;
    text-align-last: center;
  }
  .toppage .top_news .outer {
    margin: auto;
  }
  .toppage .top_news .slick-arrow {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    margin: auto 0;
    width: 4vw;
    height: 4vw;
  }
  .toppage .top_news .prev_arrow {
    left: 1vw;
  }
  .toppage .top_news .next_arrow {
    right: 1vw;
    transform: rotate(180deg);
  }
  .toppage .top_news .news_box {
    font-size: 3.7333vw;
    line-height: 1.5;
    width: 54.4vw;
    margin: 0 0 0 8vw;
    display: block;
  }
  .toppage .top_news .news_box .thumbnail {
    margin-bottom: 2.6666vw;
  }
  .toppage .top_news .news_box .thumbnail img {
    width: 100%;
  }
  .toppage .top_news .news_box .date_cat {
    display: flex;
    justify-content: space-between;
    margin-bottom: 2.6666vw;
  }
  .toppage .top_news .news_box .category {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 5vw;
    border-radius: 2.5vw;
    border: 1px solid #000000;
    font-size: 2.1333vw;
    padding: 0 1.3333vw;
  }
  .toppage .button {
    margin: 5.3333vw auto 0 auto;
  }
  .toppage .button a {
    margin: 0 auto;
  }
  .toppage .top_business {
    margin: 20vw auto 32.8vw auto;
    position: relative;
    padding: 0 8vw;
  }
  .toppage .top_business h2 {
    margin-bottom: 3.4666vw;
  }
  .toppage .top_business p {
    line-height: 1.8889;
  }
  .toppage .top_business .text_image {
    position: relative;
  }
  .toppage .top_business .text_image h3 {
    margin-bottom: 5.8666vw;
  }
  .toppage .top_business .text_image p {
    line-height: 1.875;
  }
  .toppage .top_business .text_image.first {
    margin-top: 22.4vw;
  }
  .toppage .top_business .text_image.first .image {
    margin-top: 5.8666vw;
    width: calc(100% + 8vw);
    max-width: none;
  }
  .toppage .top_business .text_image.second {
    margin-top: 13.3333vw;
  }
  .toppage .top_business .text_image.second .btn {
    margin: 10.6666vw auto 0 auto;
  }
  .toppage .top_business .text_image.second .image {
    margin-top: 5.8666vw;
    width: calc(100% + 8vw);
    max-width: none;
    transform: translateX(-8vw);
  }
  .toppage .bg_products {
    width: 100%;
    height: 37.0666vw;
    overflow: hidden;
    margin-bottom: 37.3333vw;
  }
  .toppage .bg_products img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 0;
  }
  .toppage .top_feature {
    position: relative;
    padding: 0 8vw;
  }
  .toppage .top_feature .en_title {
    margin-bottom: 4vw;
  }
  .toppage .top_feature .en_title img {
    height: 4vw;
  }
  .toppage .top_feature h3 {
    margin-bottom: 8vw;
  }
  .toppage .top_feature h4 {
    margin-bottom: 8vw;
  }
  .toppage .top_feature p {
    margin-bottom: 8vw;
  }
  .toppage .top_feature .btn {
    grid-area: button;
    margin: auto;
  }
  .toppage .top_feature .video {
    margin-bottom: 8vw;
    position: relative;
  }
  .toppage .top_feature .video .play-btn {
    display: block;
    width: 20%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 70px;
    height: 70px;
    cursor: pointer;
  }
  .toppage .top_feature .video .play-btn.playActive {
    display: none;
  }
  .toppage .top_kodawari {
    margin: 34.6666vw auto 18.1333vw auto;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas: "title" "image" "text" "button";
    gap: 6.9333vw;
    padding: 0 8vw;
  }
  .toppage .top_kodawari h3 {
    grid-area: title;
    text-align-last: center;
  }
  .toppage .top_kodawari p {
    grid-area: text;
  }
  .toppage .top_kodawari .btn {
    grid-area: button;
    margin: auto;
  }
  .toppage .top_kodawari img {
    grid-area: image;
    width: 100%;
  }
  .toppage .top_product {
    overflow: hidden;
    position: relative;
    padding: 13.3333vw 0;
    background: #D0C8C8;
  }
  .toppage .top_product .slick-current .product_box .title {
    border-bottom: 2px solid rgb(255, 255, 255);
  }
  .toppage .top_product .slick-arrow {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    margin: auto 0;
    width: 4vw;
    height: 4vw;
  }
  .toppage .top_product .prev_arrow {
    left: 1vw;
  }
  .toppage .top_product .next_arrow {
    right: 1vw;
    transform: rotate(180deg);
  }
  .toppage .top_product .product_box {
    line-height: 1.5;
    width: 68.8vw;
    margin: 0 0 0 8vw;
    display: block;
  }
  .toppage .top_product .product_box:hover {
    opacity: 1;
  }
  .toppage .top_product .product_box .thumbnail {
    margin-bottom: 5.3333vw;
  }
  .toppage .top_product .product_box .thumbnail img {
    width: 100%;
  }
  .toppage .top_product .product_box .copy {
    font-size: 3.7333vw;
  }
  .toppage .top_product .product_box .title {
    font-size: 4.8vw;
    font-weight: 700;
    border-bottom: 2px solid rgba(255, 255, 255, 0);
    display: inline-block;
    margin-bottom: 3.2vw;
  }
  .toppage .top_product .product_box .description {
    font-size: 3.7333vw;
    line-height: 2;
  }
  .toppage .caution {
    margin: 12.8vw auto 0 auto;
    padding-bottom: 25.6vw;
    text-align-last: center;
    border-bottom: 1px solid #000000;
  }
  .toppage .caution img {
    margin-bottom: 4.5333vw;
  }
  .toppage .caution p {
    font-size: 3.7333vw;
    margin-bottom: 4.5333vw;
  }
  .toppage .caution a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 69.3333vw;
    height: 10.6666vw;
    border-radius: 5.3333vw;
    border: 1px solid #000000;
    font-size: 4.2666vw;
    margin: 0 auto;
  }
  /* .float_bnr {
    display: none;
  } */
  .float_bnr a {
    position: fixed;
    bottom: 10px;
    left: 10px;
    z-index: 99;
    width: 40%;
  }
  /* ========================================================== */
  /* 会社情報 */
  /* ========================================================== */
  .company .message {
    margin-bottom: 26.6666vw;
  }
  .company .large_img {
    width: 100%;
    position: relative;
  }
  .company .philosophy {
    position: relative;
    background: #ffffff;
    color: #000000;
    padding: 27.34375vw 0;
    overflow: hidden;
    transition: 0.3s;
  }
  .company .philosophy h3 {
    font-size: 10vw;
    text-align-last: center;
    margin-top: 6.5104vw;
  }
  .company .philosophy h3 rt {
    font-size: 3vw;
    color: #000000;
    font-weight: 300;
    transform: translateY(5px);
  }
  .company .philosophy .slide_text_sp {
    font-size: 4.6666vw;
    font-weight: 700;
    margin: 5.2083vw 0 9.1145vw 0;
    text-align-last: center;
    line-height: 1.6;
  }
  .company .philosophy .row {
    margin-bottom: 2em;
    font-size: 4.2666vw;
    line-height: 2;
    font-weight: 700;
  }/*修正230707_ap*/

  .company .philosophy.bg_change {
    background: #CBBBBB;
    color: #ffffff;
  }
  .company .philosophy.bg_change rt {
    color: #000000;
  }
  .company .profile {
    padding: 20.3125vw 0 20.3125vw 0;
  }
  .company .profile dl {
    display: flex;
    align-items: center;
    font-size: 4.2666vw;
    margin-bottom: 1.3333vw;
  }
  .company .profile dl dt {
    font-weight: 700;
    padding: 4.3333vw 2.6666vw;
    min-width: 26.6666vw;
    text-align-last: right;
  }
  .company .profile dl dd {
    padding: 4.3333vw 2.6666vw;
    border-left: 1px solid #000000;
    font-size: 3.6vw;
    line-height: 1.6;
  }
  .company .access {
    background: #F5F5F5;
    padding: 20.3125vw 0 20.3125vw 0;
  }
  .company .access dl {
    display: block;
    align-items: center;
    font-size: 4.2666vw;
    margin-bottom: 1.3333vw;
  }
  .company .access dl dt {
    font-weight: 700;
    padding: 4.3333vw 2.6666vw 1.3333vw;
    min-width: 26.6666vw;
    border-left: 1px solid #000000;
  }
  .company .access dl dd {
    padding: 1.3333vw 2.6666vw 4.3333vw;
    border-left: 1px solid #000000;
    font-size: 3.6vw;
    line-height: 1.6;
  }
  .company .access dl dd .btn {
    margin-top: 4vw;
  }
  .company .history {
    padding: 20.3125vw 0 20.3125vw 0;
  }
  .company .history h3 {
    color: #C50030;
    font-weight: 700;
    font-size: 4.8vw;
    margin: 0 auto 10.6666vw auto;
  }
  .company .history .slider_container {
    width: 100vw;
    transform: translateX(-7vw);
  }
  .company .history .history_box {
    padding: 0 8vw;
  }
  .company .history .history_box.show .year {
    color: #000000;
  }
  .company .history .history_box .history_header {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "year image" "title title";
    gap: 4vw 4.5333vw;
    margin-bottom: 2vw;
  }
  .company .history .history_box .year {
    grid-area: year;
    opacity: 0.1;
    transition: 0.3s;
    width: 65%;
  }
  .company .history .history_box .year img {
    margin-bottom: 4vw;
  }
  .company .history .history_box .image {
    grid-area: image;
  }
  .company .history .history_box h4 {
    grid-area: title;
    display: flex;
    align-items: flex-end;
    font-size: 4.2666vw;
    line-height: 1.5;
  }
  .company .history .history_box p {
    font-size: 3.6vw;
    line-height: 1.6;
  }
  .company .history .slick-current .year {
    opacity: 1;
  }
  .company .history .slider_arrow {
    width: 8vw;
    height: 8vw;
    border-radius: 4vw;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 45%;
    z-index: 1;
    cursor: pointer;
  }
  .company .history .slider_arrow svg {
    width: 3.7333vw;
  }
  .company .history .slider_arrow svg path {
    fill: #C50030;
  }
  .company .history .slider_arrow.prev_arrow {
    left: 0;
  }
  .company .history .slider_arrow.next_arrow {
    right: 0;
    transform: rotate(180deg);
  }
  .company .history .slider_arrow.slick-disabled path {
    fill: #E8E8E8;
  }
  .company .history .slick-dots {
    position: static;
    width: 86vw;
    display: flex;
    margin: 5.3333vw auto 0 auto;
  }
  .company .history .slick-dots li {
    display: block;
    width: 12.5vw;
    height: 4px;
    margin: 0;
  }
  .company .history .slick-dots li button {
    padding: 0;
    width: 100%;
    height: 4px;
    background: #D8D8D8;
  }
  .company .history .slick-dots li button::before {
    display: none;
  }
  .company .history .slick-dots li.slick-active button {
    background: #000000;
  }
  .company .history .history_slider_arrow {
    position: absolute;
    width: 44px;
    height: 44px;
    z-index: 100000;
    top: inherit;
    bottom: 10px;
  }
  .company .history .slider_prev {
    left: 20px;
    transform: none;
  }
  .company .history .slider_next {
    right: 20px;
    transform: rotate(180deg);
  }
  .company .history .slick-disabled {
    display: none !important;
  }
  /* ========================================================== */
  /* プライバシーポリシー・ソーシャルメディアポリシー */
  /* ========================================================== */
  .policy section {
    margin-bottom: 15vw;
  }
  .policy h2 {
    margin-bottom: 16vw;
  }
  .policy h3 {
    margin-bottom: 2.4vw;
  }
  .policy h4 {
    margin-bottom: 5.3333vw;
  }
  .policy p {
    margin-bottom: 1em;
  }
  .policy .sns_section {
    margin-bottom: 13.3333vw;
  }
  .policy .sns_section:last-child {
    margin-bottom: 0;
  }
  /* ========================================================== */
  /* 取り扱い商品　ものづくりへのこだわり */
  /* ========================================================== */
  .product_kodawari .feature {
    background: #F5F5F5;
    margin-top: 6.6666vw;
    padding: 20vw 0;
  }
  .product_kodawari .feature .feature_box {
    display: grid;
    grid-template-columns: 6.7vw 1fr;
    grid-template-areas: "title image" "title subtitle" "text text";
    gap: 0 6vw;
    margin-bottom: 24vw;
  }
  .product_kodawari .feature .feature_box:last-child {
    margin-bottom: 0;
  }
  .product_kodawari .feature h2 {
    grid-area: title;
    font-size: 6.7vw;
    line-height: 1;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }
  .product_kodawari .feature h2 img {
    vertical-align: baseline;
    margin: 1.8666vw 0;
  }
  .product_kodawari .feature .image {
    grid-area: image;
  }
  .product_kodawari .feature h3 {
    grid-area: subtitle;
    font-size: 5vw;
    color: #C50030;
    margin-top: 4vw;
  }
  .product_kodawari .feature .text {
    grid-area: text;
    margin-top: 4vw;
  }
  .product_kodawari .feature p {
    font-size: 4vw;
    line-height: 1.8;
  }
  .product_kodawari .kodawari {
    padding: 21.3333vw 0;
  }
  .product_kodawari .kodawari h2 {
    color: #C50030;
    font-size: 5.5vw;
    line-height: 1.4375;
    margin-bottom: 5.3333vw;
    text-align-last: center;
  }
  .product_kodawari .kodawari p {
    font-size: 4vw;
    line-height: 1.8;
    text-align-last: left;
  }
  .product_kodawari .kodawari .reviii {
    margin: 15vw 0 0 0;
    background-size: contain;
    text-align-last: center;
  }
  .product_kodawari .kodawari .reviii h3 {
    font-size: 7.4666vw;
    display: inline-block;
    padding: 0 3.7333vw;
    background: #ffffff;
    margin-bottom: 5.3333vw;
  }
  .product_kodawari .kodawari .reviii p {
    margin-bottom: 10.4vw;
  }
  .product_kodawari .kodawari .reviii dl {
    border-bottom: 1px solid #C9BFA4;
    font-weight: 700;
    text-align-last: left;
    margin-bottom: 4.2666vw;
    padding-bottom: 0.8vw;
  }
  .product_kodawari .kodawari .reviii dl:first-child {
    margin-top: 13.3333vw;
  }
  .product_kodawari .kodawari .reviii dt {
    font-size: 3.2vw;
  }
  .product_kodawari .kodawari .reviii dd {
    font-size: 4.2666vw;
  }
  /* ========================================================== */
  /* 復元商品のひ・み・つ */
  /* ========================================================== */
  .product_himitsu .energy {
    margin: 26.6666vw 0;
  }
  .product_himitsu .energy h2 {
    text-align-last: center;
    margin-bottom: 8vw;
  }
  .product_himitsu .energy .img01 {
    width: 90%;
    margin: 0 auto 10vw;
  }
  .product_himitsu .energy .img02 {
    margin-bottom: 8vw;
  }
  .product_himitsu .video {
    margin-bottom: 8vw;
    position: relative;
  }
  .product_himitsu .video video {
    margin: 0 auto 20px auto;
  }
  .product_himitsu .video .play-btn {
    display: block;
    width: 20%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 70px;
    height: 70px;
    cursor: pointer;
  }
  .product_himitsu .video .play-btn.playActive {
    display: none;
  }
  .product_himitsu .detail {
    background: #F5F5F5;
    margin-top: 6.6666vw;
    padding: 20vw 0;
  }
  .product_himitsu .detail .energy_detail {
    margin-bottom: 20vw;
    padding-bottom: 20vw;
    border-bottom: 1.3333vw solid #ffffff;
  }
  .product_himitsu .detail .energy_detail:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
  .product_himitsu .detail h2 {
    display: flex;
    align-items: center;
    margin-bottom: 8vw;
  }
  .product_himitsu .detail h2 img {
    height: 6vw;
  }
  .product_himitsu .detail h2 span {
    font-weight: 400;
    padding-left: 1em;
  }
  .product_himitsu .detail h3 {
    font-size: 5vw;
    line-height: 1.5;
    margin-bottom: 5.3333vw;
  }
  .product_himitsu .detail .item_container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4vw;
    margin-top: 4vw;
  }
  .product_himitsu .detail .item_container .item_box {
    text-align-last: center;
  }
  .product_himitsu .detail .item_container a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 8vw;
    border: 1px solid #000000;
    border-radius: 5.3333vw;
    margin: 3vw auto 0 auto;
    transition: 0.3s;
    font-size: 3vw;
  }
  .product_himitsu .detail .item_container a:hover {
    opacity: 1;
    font-weight: 500;
    border-color: #C50030;
    color: #C50030;
  }
  /* ========================================================== */
  /* コンセプト */
  /* ========================================================== */
  .concept_mv h2 {
    width: 4vw;
    transform: rotate(-90deg) translateY(17.8666vw);
    transform-origin: left;
    position: absolute;
    top: 29.3333vw;
  }
  .concept_mv h2 img {
    width: 100%;
  }
  .concept {
    padding-top: 13.3333vw;
  }
  .concept .roots {
    background: #F5F5F5;
    margin-top: 6.6666vw;
    padding: 20vw 0;
  }
  .concept .roots h2 {
    text-align-last: center;
    font-size: 6.4vw;
    line-height: 1.3;
    margin-bottom: 5.3333vw;
  }
  .concept .roots h3 {
    grid-area: subtitle;
    font-size: 5vw;
    line-height: 1;
    color: #C50030;
    margin-bottom: 5.3333vw;
    text-align-last: center;
  }
  .concept .roots .image {
    margin-bottom: 5.3333vw;
  }
  .concept .roots p {
    grid-area: text;
    margin-top: 5.3333vw;
    font-size: 4vw;
    line-height: 1.8;
  }
  .concept .philosophy {
    position: relative;
    background: #ffffff;
    color: #000000;
    padding: 27.34375vw 0;
    overflow: hidden;
    transition: 0.3s;
  }
  .concept .philosophy h2 {
    font-size: 10vw;
    text-align-last: center;
    margin-top: 6.5104vw;
    font-feature-settings: "palt";
  }
  .concept .philosophy h3 {
    font-size: 4.6666vw;
    font-weight: 700;
    margin: 5.2083vw 0 9.1145vw 0;
    text-align-last: center;
    color: #C50030;
  }

  .concept .philosophy .row {
    font-size: 4.2666vw;
    font-weight: 700;
    line-height: 1.9;
    margin-bottom: 2em;
  }/*修正230707_ap*/
  .concept .philosophy.bg_change {
    background: #CBBBBB;
    color: #ffffff;
  }
  .concept .contents {
    padding: 20vw 0;
  }
  .concept .contents .c_box {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 16vw;
  }
  .concept .contents .c_box:last-child {
    margin-bottom: 0;
  }
  .concept .contents .c_box .image {
    order: 2;
    width: 100%;
    margin-bottom: 5.3333vw;
  }
  .concept .contents .c_box .image img {
    width: 100%;
  }
  .concept .contents .c_box h2 {
    order: 1;
    width: 100%;
    font-size: 5vw;
    line-height: 1.5833;
    margin-bottom: 5.3333vw;
    text-align-last: center;
  }
  .concept .contents .c_box .text {
    order: 3;
    width: 100%;
    margin-bottom: 5.3333vw;
    font-size: 4vw;
    line-height: 1.8;
  }
  .concept .contents .c_box .button {
    order: 4;
    width: 100%;
    display: flex;
    justify-content: center;
  }
  /* ========================================================== */
  /* 最新情報　詳細 */
  /* ========================================================== */
  .news_detail .article_header {
    border-bottom: 1px solid #000000;
    padding-bottom: 6.6666vw;
    margin-bottom: 6.6666vw;
  }
  .news_detail .en_text {
    transform: rotate(-90deg) translateY(6.6666vw);
    transform-origin: left;
  }
  .news_detail .date_category {
    grid-area: datecat;
    display: flex;
    align-items: center;
    margin-bottom: 3vw;
  }
  .news_detail .date_category .date {
    font-size: 3.7333vw;
    font-weight: 700;
    margin-right: 6.6666vw;
  }
  .news_detail .date_category .category span {
    border: 1px solid #000000;
    border-radius: 4vw;
    padding: 0 4vw;
    font-size: 3.7333vw;
  }
  .news_detail h1 {
    grid-area: title;
    font-size: 6.4vw;
    font-weight: 500;
    line-height: 1.5;
  }
  .news_detail .article_body {
    font-size: 4.2666vw;
    line-height: 1.875;
    padding-bottom: 50px;
    border-bottom: 1px solid #000000;
  }
  .news_detail .article_body p {
    margin-bottom: 1.875em;
  }
  .news_detail .article_body h2 {
    font-size: 5.3333vw;
    font-weight: 700;
    line-height: 1.5;
    border-left: 5px solid #000000;
    padding-left: 10px;
    margin: 8vw 0 5.3333vw 0;
  }
  .news_detail .article_body h3 {
    font-size: 4.8vw;
    font-weight: 700;
    line-height: 1.5;
    margin: 8vw 0 5.3333vw 0;
  }
  .news_detail .article_nav {
    display: flex;
    justify-content: space-between;
    padding: 10.6666vw 0 21.3333vw 0;
  }
  .news_detail .article_nav a, .news_detail .article_nav div {
    display: flex;
    align-items: center;
    transition: 0.3s;
    font-size: 3.2vw;
    line-height: 1;
  }
  .news_detail .article_nav a img, .news_detail .article_nav div img {
    width: 3.2vw;
    height: 3.2vw;
  }
  .news_detail .article_nav a.prev, .news_detail .article_nav div.prev {
    width: 18vw;
  }
  .news_detail .article_nav a.prev img, .news_detail .article_nav div.prev img {
    transform: rotate(180deg);
    margin-right: 2vw;
  }
  .news_detail .article_nav a.list img, .news_detail .article_nav div.list img {
    transform: rotate(-90deg);
    margin-left: 2vw;
  }
  .news_detail .article_nav a.next, .news_detail .article_nav div.next {
    width: 18vw;
  }
  .news_detail .article_nav a.next img, .news_detail .article_nav div.next img {
    margin-left: 2vw;
  }
  .news_detail .article_nav a:hover, .news_detail .article_nav div:hover {
    opacity: 1;
    color: #C50030;
  }
  /* ========================================================== */
  /* 最新情報　一覧 */
  /* ========================================================== */
  .news_list {
    position: relative;
  }
  .news_list .en_text {
    transform: rotate(-90deg) translateY(25px);
    transform-origin: left;
  }
  .news_list .scroll_container {
    overflow-x: scroll;
    margin-bottom: 13.3333vw;
  }
  .news_list .category_container {
    display: flex;
    align-items: center;
    width: 1000px;
  }
  .news_list .category_container a {
    width: 140px;
    height: 30px;
    border: 1px solid #000000;
    border-radius: 15px;
    font-size: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 5px;
    transition: 0.3s;
  }
  .news_list .category_container a:hover {
    font-weight: 500;
    border-color: #C50030;
    color: #C50030;
    opacity: 1;
  }
  .news_list .category_container a.current {
    background: #C50030;
    color: #ffffff;
    border-color: #C50030;
    font-weight: 400 !important;
  }
  .news_list .list_container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8vw 8vw;
    margin-bottom: 8vw;
  }
  .news_list .news_box {
    font-size: 3.7333vw;
    line-height: 1.5;
  }
  .news_list .news_box .thumbnail {
    margin-bottom: 2vw;
  }
  .news_list .news_box .date_cat {
    margin-bottom: 2vw;
  }
  .news_list .news_box .date {
    margin-bottom: 2vw;
  }
  .news_list .news_box .category {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 5vw;
    border-radius: 2.5vw;
    border: 1px solid #000000;
    font-size: 3.2vw;
  }
  .news_list .pagenation,
  .news_list .wp-pagenavi {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 15vw;
  }
  .news_list .pagenation span, .news_list .pagenation a,
  .news_list .wp-pagenavi span,
  .news_list .wp-pagenavi a {
    width: 25px;
    height: 25px;
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    line-height: 1;
    margin: 0 7px;
  }
  .news_list .pagenation span.previouspostslink, .news_list .pagenation a.previouspostslink,
  .news_list .wp-pagenavi span.previouspostslink,
  .news_list .wp-pagenavi a.previouspostslink {
    background: url(../img/news/ico_arrow_newsnav.svg) no-repeat;
    background-size: contain;
    transform: rotate(180deg);
    text-indent: -99999vw;
  }
  .news_list .pagenation span.nextpostslink, .news_list .pagenation a.nextpostslink,
  .news_list .wp-pagenavi span.nextpostslink,
  .news_list .wp-pagenavi a.nextpostslink {
    background: url(../img/news/ico_arrow_newsnav.svg) no-repeat;
    background-size: contain;
    text-indent: -99999vw;
  }
  .news_list .pagenation span,
  .news_list .wp-pagenavi span {
    background: #000000;
    color: #ffffff;
  }
  .news_list .pagenation img,
  .news_list .wp-pagenavi img {
    width: 25px;
    height: 25px;
  }
  /* ========================================================== */
  /* 事業・サービス　ペット */
  /* ========================================================== */
  .service_pet .headline small {
    display: block;
  }
  .service_pet .headline img {
    margin-bottom: 10px;
  }
  .service_pet .dryer {
    margin: 18.6666vw 0 13.3333vw 0;
  }
  .service_pet .dryer h2 {
    font-size: 6.4vw;
    line-height: 1.5833;
    margin-bottom: 5.3333vw;
  }
  .service_pet .dryer h2 br {
    display: none;
  }
  .service_pet .dryer .image {
    margin-bottom: 5.3333vw;
  }
  .service_pet .dryer p {
    grid-area: text;
    font-size: 4.2666vw;
    line-height: 2;
  }
  .service_pet .dryer .button .btn {
    height: 70px;
    margin: 5vw auto 0 auto;
  }
  .service_pet .develop {
    background: #F5F5F5;
    margin-top: 6.6666vw;
    padding: 20vw 0;
  }
  .service_pet .develop h2 {
    font-size: 6.4vw;
    line-height: 1.5833;
    margin-bottom: 5.3333vw;
  }
  .service_pet .develop h2 br {
    display: none;
  }
  .service_pet .develop .image {
    margin-bottom: 5.3333vw;
  }
  .service_pet .develop p {
    grid-area: text;
    font-size: 4.2666vw;
    line-height: 2;
  }
  /* ========================================================== */
  /* 取り扱い希望の店舗様 */
  /* ========================================================== */
  .contact_new {
    /* チェックボックスデザイン */
  }
  .contact_new .message {
    margin-bottom: 13.3333vw;
  }
  .contact_new .message h3 {
    margin-bottom: 6.6666vw;
  }
  .contact_new .message h4 {
    color: #C50030;
    margin-bottom: 4vw;
  }
  .contact_new .message p {
    margin-bottom: 6.6666vw;
  }
  .contact_new .taisho {
    border: 1px solid #000000;
    border-radius: 6.6666vw;
    margin: 0 7vw 13.3333vw 7vw;
  }
  .contact_new .taisho h2 {
    font-size: 4.2666vw;
    text-align-last: center;
    transform: translateY(-3.2333vw);
    margin-bottom: 2.6666vw;
  }
  .contact_new .taisho h2 span {
    background: #ffffff;
    padding: 0.2666vw 4.2666vw;
  }
  .contact_new .taisho .shop_container {
    margin-bottom: 16vw;
  }
  .contact_new .taisho .shop_container li {
    font-size: 4.2666vw;
    font-weight: 500;
    line-height: 1.4;
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: 2vw;
  }
  .contact_new .taisho .note {
    padding: 0 0 8vw 0;
  }
  .contact_new .taisho .note h3 {
    font-size: 4.2666vw;
    text-align-last: center;
    margin-bottom: 3vw;
  }
  .contact_new .taisho .note .atehamaru {
    font-size: 4vw;
    line-height: 1.8;
    margin-bottom: 30px;
  }
  /* .contact_new .taisho .note .atehamaru::after {
    content: "";
    display: block;
    width: 50px;
    height: 1px;
    background: #000000;
    margin: 30px auto;
  } */
  .contact_new .taisho .note p {
    font-size: 3.6vw;
    line-height: 1.6;
    text-align-last: left;
  }
  .contact_new .flow {
    padding-bottom: 13.3333vw;
  }
  .contact_new .flow h2 {
    text-align-last: center;
    color: #C50030;
    font-size: 5vw;
    margin-bottom: 6.6666vw;
  }
  .contact_new .flow .flow_container {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 13.3333vw 0;
    margin-bottom: 12vw;
  }
  .contact_new .flow .flow_container .box {
    border-radius: 16vw;
    background: #CBBBBB;
    padding: 6.6666vw 6.6666vw 13.3333vw 6.6666vw;
    position: relative;
  }
  .contact_new .flow .flow_container .box::after {
    content: "";
    width: 11px;
    height: 11px;
    border-radius: 6px;
    display: block;
    background: #CBBBBB;
    position: absolute;
    bottom: -5.6666vw;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .contact_new .flow .flow_container .box:last-child::after {
    display: none;
  }
  .contact_new .flow .flow_container .box::before {
    content: "";
    width: 11px;
    height: 11px;
    border-radius: 6px;
    display: block;
    background: #CBBBBB;
    position: absolute;
    top: -5.6666vw;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .contact_new .flow .flow_container .box:first-child::before {
    display: none;
  }
  .contact_new .flow .flow_container h3 {
    width: 72vw;
    height: 20vw;
    background: #ffffff;
    border-radius: 15vw;
    margin: 0px auto 5.4666vw auto;
    text-align-last: center;
    font-size: 5vw;
    color: #C50030;
    padding-top: 2vw;
  }
  .contact_new .flow .flow_container h3 span {
    font-size: 5.3333vw;
    font-weight: 500;
    display: block;
    color: #333333;
  }
  .contact_new .flow .flow_container p {
    font-size: 4vw;
    line-height: 1.8;
  }
  .contact_new .flow .showroom {
    font-size: 4vw;
    font-weight: 400;
    text-align-last: center;
    margin-top: 8vw;
  }
  .contact_new .flow .btn {
    margin: 0 auto;
  }
  .contact_new .moushikomi {
    background: #F5F5F5;
    padding: 80px 0;
    text-align-last: center;
  }
  .contact_new .moushikomi h2 {
    font-size: 4.2666vw;
    margin-bottom: 3.4666vw;
  }
  .contact_new .moushikomi p {
    font-size: 4vw;
    line-height: 1.8;
    margin-bottom: 6.6666vw;
  }
  .contact_new .moushikomi p.small {
    font-size: 3.6vw;
    line-height: 1.6;
    margin-bottom: 4vw;
  }
  .contact_new .moushikomi .button {
    margin-top: 11.7333vw;
  }
  .contact_new .moushikomi .button .btn {
    margin: 0 auto;
  }
  .contact_new .moushikomi label {
    cursor: pointer;
    font-size: 4vw;
  }
  .contact_new input[type=checkbox] {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  .contact_new input[type=checkbox] {
    cursor: pointer;
    padding-left: 8vw; /*label手前にチェックボックス用の余白を開ける*/
    vertical-align: middle;
    position: relative;
  }
  .contact_new input[type=checkbox]::before,
  .contact_new input[type=checkbox]::after {
    content: "";
    display: block;
    position: absolute;
  }
  .contact_new input[type=checkbox]::before {
    background-color: #fff;
    border-radius: 0%;
    border: 1px solid #666464;
    width: 5.3333vw; /*チェックボックスの横幅*/
    height: 5.3333vw; /*チェックボックスの縦幅*/
    transform: translateY(-50%);
    top: 50%;
    left: 1.3333vw;
  }
  .contact_new input[type=checkbox]::after {
    border-bottom: 0.5333vw solid #666464; /*チェックの太さ*/
    border-left: 0.5333vw solid #666464; /*チェックの太さ*/
    opacity: 0; /*チェック前は非表示*/
    height: 2.1333vw; /*チェックの高さ*/
    width: 3.2vw; /*チェックの横幅*/
    transform: rotate(-45deg);
    top: -1.6vw; /*チェック時の位置調整*/
    left: 2.4vw; /*チェック時の位置調整*/
  }
  .contact_new input[type=checkbox]:checked::after {
    opacity: 1; /*チェック後表示*/
  }
  /* ========================================================== */
  /* 取り扱い商品詳細 */
  /* ========================================================== */
  .product_item {
    text-align-last: auto;
  }
  .product_item .item_contents {
    padding: 0 !important;
  }
  .product_item .wp-block-group {
    padding: 20vw 0 10vw;
  }
  .product_item .wp-block-group.gray {
    background: #F5F5F5;
  }
  .product_item .wp-block-group .wp-block-group__inner-container {
    padding: 0 7vw;
  }
  .product_item .wp-block-group h2 {
    font-size: 6vw;
    line-height: 1.3;
    margin-bottom: 6.6666vw;
  }
  .product_item .wp-block-group h3 {
    font-size: 4.8vw;
    line-height: 1.4;
    margin-bottom: 6.6666vw;
  }
  .product_item .wp-block-group p {
    font-size: 3.4vw;
    line-height: 1.8;
    margin-bottom: 6.6666vw;
  }
  .product_item .wp-block-group .wp-block-columns p {
    grid-area: text;
    font-size: 3.4vw;
    line-height: 1.8;
  }
  .product_item .wp-block-group .btn {
    margin: 0 auto 6.6666vw auto;
  }
  .product_item .vertical_title {
    max-width: 1000px;
    margin: auto;
    position: relative;
    margin-bottom: -81px;
    padding: 0 7vw;
  }
  .product_item .vertical_title + .wp-block-group {
    padding-top: 0;
  }
  .product_item .item_name {
    font-size: 6vw;
    line-height: 1.3;
    margin: 0 auto 9.3333vw auto;
    position: relative;
    padding: 0 14vw;
  }
  .product_item .item_title {
    font-size: 6vw;
    line-height: 1.3;
    margin: 0 auto 9.3333vw auto;
    position: relative;
    padding: 0 7vw;
  }
  .product_item .item_kv,
  .product_item .wp-block-image {
    margin-bottom: 9.3333vw;
  }
  .product_item .text_button_photo {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-template-areas: "photo" "text" "button";
    gap: 6.6666vw;
    margin-bottom: 13.3333vw;
    padding: 0 7vw;
  }
  .product_item .text_button_photo .text {
    grid-area: text;
  }
  .product_item .text_button_photo .text .data {
    font-size: 4.2vw;
    line-height: 1.875;
    margin-bottom: 10vw;
  }
  .product_item .text_button_photo .text .description {
    font-size: 4.2vw;
    line-height: 1.875;
  }
  .product_item .text_button_photo .button {
    grid-area: button;
  }
  .product_item .text_button_photo .button .btn {
    margin: auto;
  }
  .product_item .text_button_photo .photo {
    grid-area: photo;
  }
  .product_item .text_button_photo .photo img {
    width: 100%;
  }
  .product_item .block_item_image {
    margin: 0 auto 20vw auto;
    padding: 0 7vw;
  }
  .product_item .block_item_image img {
    width: 100%;
  }
  .product_item .block_row_contents {
    padding: 20vw 0;
  }
  .product_item .block_row_contents .inner {
    padding: 0 7vw;
  }
  .product_item .block_row_contents h2 {
    font-size: 6vw;
    line-height: 1.3;
    margin-bottom: 6.6666vw;
  }
  .product_item .block_row_contents h3 {
    font-size: 4.8vw;
    line-height: 1.4;
    margin-bottom: 6.6666vw;
  }
  .product_item .block_row_contents p {
    font-size: 3.4vw;
    line-height: 1.8;
    margin-bottom: 6.6666vw;
  }
  .product_item .post_body .white {
    padding: 0 8vw;
  }
  .product_item .post_body .gray {
    background: #F5F5F5;
    padding: 13vw 8vw;
  }
  .product_item .post_body h2 {
    font-size: 8vw;
    line-height: 1.6;
    margin-bottom: 8vw;
  }
  .product_item .post_body h3 {
    font-size: 6.4vw;
    line-height: 1.7;
    margin-bottom: 3vw;
  }
  .product_item .post_body h4 {
    font-size: 5.3vw;
    line-height: 2;
    margin-bottom: 3vw;
    color: #C50030;
  }
  .product_item .post_body p {
    font-size: 4.2vw;
    line-height: 1.8;
    margin-bottom: 1.8em;
  }
  .product_item .post_body p:last-child {
    margin-bottom: 0;
  }
  /* ========================================================== */
  /* サポート・お問い合わせ */
  /* ========================================================== */
  .support h2 img {
    display: block;
    margin-top: 1.8666vw;
  }
  .support .shipping_container {
    margin-bottom: 20vw;
  }
  .support .shipping_container h3 {
    color: #C50030;
    text-align-last: center;
    line-height: 1;
    margin: 20vw 0 3vw 0;
  }
  .support .shipping_container .btn {
    margin: -4vw auto 0 auto;
    line-height: 1.4;
  }
  .support .item_box {
    border-bottom: 1px solid #CBBBBB;
    padding-bottom: 12vw;
    margin-bottom: 12vw;
  }
  .support .item_box .thumbnail {
    text-align-last: center;
  }
  .support .item_box .text {
    padding: 4vw 0;
  }
  .support .item_box h4 {
    font-size: 4vw;
    margin-bottom: 1.8vw;
  }
  .support .item_box h4 span {
    font-size: 4vw;
    font-weight: 400;
    margin-left: 1.6vw;
  }
  .support .item_box .model_number {
    font-size: 4vw;
    line-height: 1.5556;
    margin-bottom: 1.6vw;
  }
  .support .item_box a {
    width: 100%;
    height: 10.6666vw;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5.3333vw;
    border: 1px solid #000000;
    font-size: 3.8vw;
  }
  .support .faq {
    margin-bottom: 20vw;
  }
  .support .faq h2 {
    margin-bottom: 20vw;
  }
  .support .faq h3 {
    text-align-last: center;
    line-height: 1;
    margin-bottom: 8vw;
  }
  .support .faq .btn {
    margin: 0 auto;
  }
  .support .faq .qa_container {
    border: 1px solid #CBB0A2;
    margin-bottom: 8vw;
  }
  .support .faq .qa_container dl {
    border-bottom: 1px solid #CBB0A2;
  }
  .support .faq .qa_container dl:last-child {
    border-bottom: none;
  }
  .support .faq .qa_container dt {
    font-size: 4vw;
    line-height: 1.4444;
    padding: 4vw 10vw 4vw 2vw;
    position: relative;
    cursor: pointer;
  }
  .support .faq .qa_container dt::after {
    content: "";
    width: 2.6666vw;
    height: 2.6666vw;
    background: url(../img/support/ico_faq_arrow.svg) no-repeat;
    background-size: contain;
    display: block;
    position: absolute;
    top: 0;
    right: 4vw;
    bottom: 0;
    margin: auto 0;
  }
  .support .faq .qa_container dd {
    padding: 4vw;
    background: rgba(200, 200, 200, 0.15);
    display: none;
  }
  .support .faq .qa_container dd p {
    margin-bottom: 1.8em;
  }
  .support .faq .qa_container dd p:last-child {
    margin-bottom: 0;
  }
  .support .faq .qa_container dd a {
    text-decoration: underline;
  }
  .support .inquiry {
    margin-bottom: 13.3333vw;
  }
  .support .inquiry h3 {
    text-align-last: center;
    font-size: 5vw;
    line-height: 1;
    margin-bottom: 8vw;
  }
  .support .inquiry ul .btn {
    margin: 4vw auto;
  }
  .support .repaire {
    margin-bottom: 13vw;
  }
  .support .repaire .btn {
    margin: 8vw auto 0 auto;
  }
  /* ========================================================== */
  /* お問い合わせフォーム */
  /* ========================================================== */
  .contact_form h2 {
    margin-bottom: 20vw;
  }
  .contact_form h2 img {
    display: block;
    margin-top: 1.8666vw;
  }
  .contact_form .malfunction {
    font-size: 4vw;
    line-height: 1.8889;
    text-align-last: center;
    padding: 8vw 0;
    border-top: 1px solid #CBB0A2;
    border-bottom: 1px solid #CBB0A2;
    margin-bottom: 13.3333vw;
  }
  .contact_form .malfunction a {
    width: 100%;
    height: 10.6666vw;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5.3333vw;
    border: 1px solid #000000;
    font-size: 3.5vw;
    margin: 26px auto 0 auto;
  }
  .contact_form h3 {
    text-align-last: center;
    line-height: 1;
    margin-bottom: 8vw;
  }
  .contact_form h4 {
    text-align-last: center;
    color: #C50030;
    margin-bottom: 4vw;
  }
  .contact_form .preparation dl {
    padding: 8vw 0;
    border-top: 1px solid #CBB0A2;
  }
  .contact_form .preparation dl:first-child {
    border-top: none;
  }
  .contact_form .preparation dt {
    color: #C50030;
    font-size: 4.5vw;
    font-weight: 700;
    line-height: 1.25;
    text-align-last: center;
    margin-bottom: 4vw;
    display: flex;
    align-items: center;
  }
  .contact_form .preparation dt img {
    transform: translateY(1.6vw);
    margin-right: 2.6666vw;
    width: 6vw;
  }
  .contact_form .preparation dd {
    font-size: 4vw;
    line-height: 1.8888;
  }
  .contact_form .dot {
    text-align-last: center;
    margin-bottom: 16vw;
  }
  .contact_form .dot img {
    width: 2vw;
  }
  .contact_form .form_container {
    margin: 0 auto 20vw auto;
  }
  .contact_form .form_container .alert {
    color: #C50030;
  }
  .contact_form .form_row {
    margin-bottom: 12vw;
    border-bottom: 1px solid #CBB0A2;
    padding-bottom: 12vw;
  }
  .contact_form .form_row .input_item {
    font-size: 4vw;
    font-weight: 500;
    position: relative;
    margin-bottom: 2vw;
  }
  .contact_form .form_row .input_item.required::after {
    content: "必須";
    color: #C50030;
    margin-left: 1em;
  }
  .contact_form .form_row .input_item.no-padding {
    padding-top: 0;
  }
  .contact_form .form_row .input_item span {
    font-size: 3.5vw;
  }
  .contact_form .form_row .input_area {
    font-size: 4vw;
  }
  .contact_form .form_row .input_area .select {
    position: relative;
  }
  .contact_form .form_row .input_area .select::before {
    position: absolute;
    top: 1.4em;
    right: 0.9em;
    width: 0;
    height: 0;
    padding: 0;
    content: "";
    border-left: 1.6vw solid transparent;
    border-right: 1.6vw solid transparent;
    border-top: 1.6vw solid #999999;
    pointer-events: none;
  }
  .contact_form .form_row .input_area .select.todofuken {
    width: 50%;
  }
  .contact_form .form_row .input_area .multi_input {
    margin: 7.4666vw 0;
  }
  .contact_form .form_row .input_area .note {
    margin-top: 5.3333vw;
    font-size: 3.7333vw;
    line-height: 1.7143;
    color: #333333;
  }
  .contact_form .form_row .input_area .note span {
    color: #C50030;
  }
  .contact_form .form_row .input_area .note a {
    text-decoration: underline;
  }
  .contact_form .form_row .input_area .note.first {
    margin: 0 0 5.3333vw 0;
  }
  .contact_form input[type=text],
  .contact_form input[type=email],
  .contact_form input[type=tel],
  .contact_form input[type=password],
  .contact_form input[type=date] {
    -webkit-appearance: none;
    appearance: none;
    border: 1px solid #CBB0A2;
    width: 100%;
    height: 16vw;
    font-size: 4vw;
    padding: 0 2.4vw;
  }
  .contact_form textarea {
    -webkit-appearance: none;
    appearance: none;
    border: 1px solid #CBB0A2;
    width: 100%;
    height: 50vw;
    font-size: 4vw;
    padding: 2.4vw;
  }
  .contact_form select {
    -webkit-appearance: none;
    appearance: none;
    border: 1px solid #CBB0A2;
    width: 100%;
    height: 16vw;
    font-size: 4vw;
    padding: 0 2.4vw;
  }
  .contact_form .alert-warning input[type=text],
  .contact_form .alert-warning input[type=email],
  .contact_form .alert-warning input[type=tel],
  .contact_form .alert-warning input[type=password],
  .contact_form .alert-warning input[type=date],
  .contact_form .alert-warning textarea,
  .contact_form .alert-warning select {
    background: #faddd9;
  }
  .contact_form .radio-input,
  .contact_form .check-input {
    display: none;
  }
  .contact_form .radio-input + label {
    padding-left: 6.4vw;
    position: relative;
    margin-right: 0px;
    margin-left: 0px;
    margin-bottom: 2.6666vw;
    font-size: 4vw;
  }
  .contact_form .radio-input + label::before {
    content: "";
    display: block;
    position: absolute;
    top: 1.0666vw;
    left: 0.5333vw;
    width: 4.2666vw;
    height: 4.2666vw;
    border: 1px solid #aaa;
    border-radius: 50%;
  }
  .contact_form .radio-input:checked + label {
    color: #d01137;
  }
  .contact_form .radio-input:checked + label::after {
    content: "";
    display: block;
    position: absolute;
    top: 1.8666vw;
    left: 1.3333vw;
    width: 2.6666vw;
    height: 2.6666vw;
    background: #d01137;
    border-radius: 50%;
  }
  .contact_form .check-input + label {
    padding-left: 6.4vw;
    position: relative;
    margin-right: 0px;
    margin-left: 0px;
    margin-bottom: 2.6666vw;
  }
  .contact_form .check-input + label::before {
    content: "";
    display: block;
    position: absolute;
    top: 1.0666vw;
    left: 0.5333vw;
    width: 4.2666vw;
    height: 4.2666vw;
    border: 1px solid #aaa;
  }
  .contact_form .check-input:checked + label {
    color: #d01137;
  }
  .contact_form .check-input:checked + label::after {
    content: "";
    display: block;
    position: absolute;
    top: 1.3333vw;
    left: 1.6vw;
    width: 2.1333vw;
    height: 2.9333vw;
    border-right: 2px solid #d01137;
    border-bottom: 2px solid #d01137;
    transform: rotate(40deg);
  }
  .contact_form .for_rep {
    padding: 0 0 12vw 0;
    border-bottom: 1px solid #CBB0A2;
    margin-bottom: 30px;
  }
  .contact_form .for_rep h4 {
    font-size: 4vw;
    text-align-last: left;
  }
  .contact_form .for_rep p {
    font-size: 4vw;
  }
  .contact_form .for_policy p {
    margin-bottom: 1.8em;
    font-size: 4vw;
  }
  .contact_form .for_policy a {
    text-decoration: underline;
  }
  .contact_form .submit {
    margin: 20vw auto 0 auto;
    cursor: pointer;
  }
  .contact_form .agree label {
    color: #333333;
  }
  .contact_form.confirm_form .form_row {
    margin-bottom: 2vw;
    padding-bottom: 2vw;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2vw;
  }
  /* ========================================================== */
  /* LOUVREDO商品の購入について */
  /* ========================================================== */
  .twoway .btn {
    margin: auto;
  }
  .twoway .twoway_header {
    text-align-last: center;
  }
  .twoway .twoway_header h2 {
    font-weight: bold;
    color: #C50030;
    position: relative;
    display: inline-block;
    padding: 0 55px;
    margin-bottom: 60px;
    font-size: 2.5rem;
    line-height: 3.25rem;
  }
  .twoway .twoway_header h2:before,
  .twoway .twoway_header h2:after {
    content: "";
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 50px;
    height: 1px;
    background-color: #C50030;
  }
  .twoway .twoway_header h2:before {
    left: -10px;
  }
  .twoway .twoway_header h2:after {
    right: -10px;
  }
  .twoway_lead {
    font-size: 1.7rem;
    text-align-last: center;
    color: #000;
    font-weight: 500;
    margin-bottom: 100px;
  }
  .twoway_lead span {
    position: relative;
    padding-top: 0.2em;
  }
  .twoway_lead span::before {
    position: absolute;
    content: "";
    width: 0.2em;
    height: 0.2em;
    border-radius: 50%;
    background-color: #000;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
  }
  .only_pro {
    font-size: 1.7rem;
    text-align-last: center;
    color: #C50030;
    font-weight: 700;
    margin-bottom: 100px;
  }
  .twoway_flex {
    display: flex;
    max-width: 1200px;
    margin: 0 auto 100px auto;
    align-items: flex-start;
  }
  .twoway_number {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .twoway_left {
    max-width: 50%;
    min-width: 50%;
    border-right: #000 1px solid;
  }
  .twoway_right {
    width: 53%;
  }
  .twoway_number {
    margin: 0 auto 40px;
  }
  .twoway_left .twoway_number {
    max-width: 530px;
    position: relative;
  }
  /* Firefox */
  @-moz-document url-prefix() {
    .twoway_left .twoway_number {
      left: 0;
    }
  }
  .twoway_right .twoway_number {
    max-width: 530px;
  }
  .twoway_number > div:first-child {
    font-size: 2.4rem;
    color: #C50030;
    width: 70px;
    line-height: 0;
    padding: 30px 0 35px;
    border: #C50030 1px solid;
    text-align-last: center;
    margin-right: 10px;
  }
  .twoway_number > div:nth-child(2) {
    font-size: 1.4rem;
    color: #000;
    font-weight: 500;
  }
  .twoway_number > div:nth-child(2) img {
    width: 54%;
    margin-right: 5px;
    vertical-align: baseline;
  }
  .twoway_box {
    max-width: 385px;
    margin: 0 auto;
  }
  .twoway_txt,
  .twoway_txt2 {
    font-size: 1rem;
    color: #000;
    font-weight: 300;
    line-height: 1.8;
  }
  .twoway_left .twoway_txt {
    display: inline-block;
  }
  .twoway_left .twoway_txt .twoway_uline {
    border-bottom: #000 1px solid;
  }
  .twoway_left .twoway_txt .twoway_red {
    color: #C50030;
    font-weight: 600;
  }
  .twoway_txt {
    margin-bottom: 40px;
  }
  .twoway_right .twoway_txt {
    text-align-last: center;
  }
  .twoway_left .twoway_txt2 {
    font-weight: 600;
    line-height: 1.6;
    text-align-last: center;
    margin-bottom: 20px;
  }
  .twoway_right .twoway_txt2 {
    max-width: 440px;
    line-height: 1.6;
    text-align: justify;
    margin: 0 auto 20px;
  }
  .twoway_right .twoway_txt3 {
    max-width: 440px;
    line-height: 1.6;
    text-align: justify;
    font-size: 0.8rem;
    margin: 0 auto;
  }
  .twoway_btn1 {
    margin-bottom: 50px;
  }
  .twoway .twoway_header h2 {
    font-size: 8vw;
    padding: 0 7vw;
    line-height: 1.2;
  }
  .twoway .twoway_header h2:before,
  .twoway .twoway_header h2:after {
    width: 7vw;
  }
  .twoway .twoway_header h2:before {
    left: -2vw;
  }
  .twoway .twoway_header h2:after {
    right: -2vw;
  }
  .twoway_lead {
    font-size: 6vw;
    line-height: 1.6;
    margin-bottom: 10vw;
  }
  .only_pro {
    font-size: 6vw;
    line-height: 1.6;
    margin-bottom: 10vw;
  }
  .twoway_flex {
    width: 100%;
    flex-direction: column;
  }
  .twoway_left {
    width: 100%;
    border: 0;
    margin-bottom: 15vw;
    max-width: none;
    min-width: auto;
  }
  .twoway_right {
    width: 100%;
  }
  .twoway_number {
    flex-direction: column;
    margin: 0 auto 10vw;
  }
  .twoway_number > div:first-child {
    font-size: 6vw;
    width: 90%;
    padding: 5vw 0 5.5vw;
    margin: 0 0 3vw;
  }
  .twoway_number > div:nth-child(2) {
    font-size: 5vw;
    line-height: 1.2;
  }
  .twoway_number > div:nth-child(2) img {
    width: 50vw;
    margin-right: 1vw;
  }
  .twoway_box {
    width: 90%;
  }
  .twoway_txt,
  .twoway_txt2 {
    font-size: 3.8vw;
  }
  .twoway_txt {
    margin-bottom: 10vw;
  }
  .twoway_left .twoway_txt2 {
    margin-bottom: 4vw;
  }
  .twoway_right .twoway_txt2 {
    margin: 0 auto 4vw;
    width: 80%;
  }
  .twoway_right .twoway_txt3 {
    font-size: 3vw;
    width: 80%;
  }
  .twoway_btn1 {
    margin-bottom: 8vw;
  }
  /* ========================================================== */
  /* 復元ドライヤー導入ホテル一覧 */
  /* ========================================================== */
  .hotel {
    position: relative;
  }
  .hotel .en_title {
    transform: rotate(-90deg) translateY(25px);
    transform-origin: left;
  }
  .hotel h2 {
    margin-bottom: 13.3333vw;
  }
  .hotel .chihou_select {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3vw;
    margin-bottom: 10.6666vw;
    flex-wrap: wrap;
  }
  .hotel .chihou_select a {
    width: 100%;
    height: 8vw;
    border: 1px solid #000000;
    border-radius: 4vw;
    font-size: 3.4vw;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.3s;
  }
  .hotel .chihou_select a:hover {
    font-weight: 500;
    border-color: #C50030;
    color: #C50030;
    opacity: 1;
  }
  .hotel .chihou_select a.current {
    background: #C50030;
    color: #ffffff;
    border-color: #C50030;
    font-weight: 400 !important;
  }
  .hotel .chihou_box {
    margin-bottom: 20vw;
  }
  .hotel .chihou_box h3 {
    margin-bottom: 5.3333vw;
  }
  .hotel .chihou_box dl {
    margin-bottom: 5.3333vw;
  }
  .hotel .chihou_box dt {
    border-bottom: 1px solid #000000;
    font-weight: 700;
    line-height: 1.8;
    padding-bottom: 1.3333vw;
    margin-bottom: 1.3333vw;
  }
  /* ========================================================== */
  /* Green Heart 365 */
  /* ========================================================== */
  .green_heart .video {
    margin: 14.6666vw auto;
  }
  .green_heart .video iframe {
    display: block;
    width: 100%;
    aspect-ratio: 16/9;
  }
  .green_heart .gh_cont {
    margin-bottom: 13.3333vw;
  }
  .green_heart .gh_cont h3 {
    margin-bottom: 2.6666vw;
  }
  .green_heart .gh_cont .graph img {
    width: 100%;
    margin-top: 4vw;
  }
  .green_heart .kaizen {
    margin-bottom: 12vw;
  }
  .green_heart .kaizen .text dl {
    border: 1px solid #000000;
    border-radius: 2.6666vw;
    text-align-last: center;
    margin-bottom: 5.3333vw;
    position: relative;
    padding: 2.6666vw 4vw;
  }
  .green_heart .kaizen .text dt {
    width: 25.6666vw;
    text-align-last: center;
    background: #ffffff;
    display: inline-block;
    transform: translateY(-3vw);
    font-weight: 700;
    color: #0D9260;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    margin: auto;
  }
  .green_heart .kaizen .text dd {
    text-align-last: left;
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
  }
  .green_heart .kaizen .text dd .icon {
    text-align-last: center;
    width: 21.3333vw;
  }
  .green_heart .kaizen .text dd .detail {
    padding-left: 5.3333vw;
  }
  .green_heart .kaizen .photo {
    text-align-last: center;
  }
  .green_heart .kaizen .photo img {
    width: 70%;
  }
  .green_heart .kaizen .photo p {
    margin-top: 1.8666vw;
  }
  .green_heart .logo {
    text-align-last: center;
    margin: 16vw;
  }
  /* ========================================================== */
  /* どんな会社？ */
  /* ========================================================== */
  .about .first_text {
    margin-bottom: 16vw;
  }
  .about .index {
    padding-bottom: 13.3333vw;
  }
  .about .index .second_text {
    margin-bottom: 2.6666vw;
  }
  .about .link li {
    line-height: 2.5;
    font-weight: 700;
    display: flex;
    align-items: center;
  }
  .about .link li::before {
    content: "";
    width: 3vw;
    height: 3vw;
    background: url(../img/ico_arrow_red.svg) no-repeat;
    background-size: contain;
    display: block;
    margin-right: 1.3333vw;
  }
  .about .index .link li::before {
    background: url(../img/ico_arrow_blk.svg) no-repeat;
  }/*修正230707_ap*/
  .about .about_contents {
    background: #F5F5F5;
    padding-top: 14.6666vw;
  }
  .about .about_contents .third_text {
    color: #C50030;
    margin-bottom: 3.2vw;
  }
  .about .about_contents p {
    margin-bottom: 5.0666vw;
  }
  .about .about_contents section {
    border-bottom: 2px solid #ffffff;
    padding-bottom: 8vw;
    margin-bottom: 10.6666vw;
  }
  .about .about_contents section:last-child {
    border-bottom: none;
  }
  /* ========================================================== */
  /* 事業・サービス */
  /* ========================================================== */
  .work_service .fade_text {
    margin-bottom: 13.3333vw;
  }
  .work_service .row {
    margin-bottom: 25vw;
  }
  .work_service .row .third_text {
    margin-bottom: 12vw;
  }
  .work_service .title_image .headline {
    margin-bottom: 8vw;
  }
  .work_service .title_image .image {
    margin-bottom: 8vw;
  }
  .work_service .soujou {
    margin: -18vw 0 25vw 0;
  }
  .work_service .fukugenshi {
    background: #F5F5F5;
    padding: 21.3333vw 0;
  }
  .work_service .fukugenshi h2 {
    text-align-last: center;
    font-size: 4.5vw;
    margin-bottom: 8vw;
  }
  .work_service .fukugenshi h2 div {
    margin-bottom: 3.7333vw;
    color: #C50030;
  }
  .work_service .fukugenshi h2 strong {
    font-size: 5vw;
  }
  .work_service .fukugenshi h2 img {
    transform: translateY(-1.5vw);
    width: 12vw;
  }
  .work_service .fukugenshi .button1 .btn {
    margin: 8vw auto 0 auto;
  }
  .work_service .fukugenshi .bold_text p {
    font-weight: 700;
  }
  .work_service .fukugenshi .chie {
    margin: 25vw 0;
  }
  .work_service .fukugenshi .chie h3 {
    text-align-last: center;
    font-size: 4.5vw;
    margin-bottom: 8vw;
  }
  .work_service .fukugenshi .chie h3 div {
    margin-bottom: 3.7333vw;
  }
  .work_service .fukugenshi .chie h3 strong {
    font-size: 12vw;
  }
  .work_service .fukugenshi .chie h3 strong small {
    font-size: 7vw;
  }
  .work_service .fukugenshi .chie h3 img {
    transform: translateY(-2.6666vw);
    width: 15vw;
  }
  .work_service .fukugenshi .chie h3 rt {
    font-size: 2vw;
  }
  .work_service .fukugenshi .chie .button1 .btn {
    margin: 8vw auto 0 auto;
  }
  .work_service .fukugenshi .other .title_group {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 12vw;
    margin-bottom: 12vw;
  }
  .work_service .fukugenshi .other h4 {
    text-align-last: center;
    font-size: 4.5vw;
  }
  .work_service .fukugenshi .other h4.active strong {
    border-bottom: 3px solid #C50030;
  }
  .work_service .fukugenshi .other h4 .flex {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 1.3333vw;
    line-height: 1.2;
  }
  .work_service .fukugenshi .other h4 strong {
    font-size: 11vw;
    display: flex;
    align-items: center;
    border-bottom: 3px solid #333333;
  }
  .work_service .fukugenshi .other h4 strong small {
    font-size: 6vw;
  }
  .work_service .fukugenshi .other h4 img {
    transform: translate(2.6666vw, 1.3333vw);
    width: 15vw;
  }
  .work_service .fukugenshi .other h4 rt {
    font-size: 2vw;
  }
  .work_service .fukugenshi .other .text {
    height: 46.6666vw;
    position: relative;
  }
  .work_service .fukugenshi .other .button2 {
    margin: 16vw auto 0 auto;
  }
  .work_service .fukugenshi .other .button2 .btn {
    margin: 0 auto 4vw auto;
  }
  .work_service .fukugenshi .other .js-text-kami,
  .work_service .fukugenshi .other .js-text-hada,
  .work_service .fukugenshi .other .js-text-karada {
    position: absolute;
  }
  .work_service .fukugenshi .other .js-text-kami,
  .work_service .fukugenshi .other .js-text-karada {
    display: none;
  }
  .work_service .other_service {
    padding: 24vw 0 0 0;
  }
  .work_service .other_service h2 {
    font-size: 6.4vw;
    line-height: 1.6;
    text-align-last: center;
    margin-bottom: 8vw;
  }
  .work_service .other_service .content_box {
    margin-bottom: 16vw;
  }
  .work_service .other_service .content_box .title_group {
    display: grid;
    grid-template-columns: auto 20vw;
    grid-template-areas: "title image" "catch image";
    gap: 0 8vw;
    margin-bottom: 2.6666vw;
  }
  .work_service .other_service .content_box h3 {
    grid-area: title;
    font-size: 4.5vw;
    margin-bottom: 6.1333vw;
  }
  .work_service .other_service .content_box .catch {
    grid-area: catch;
    font-size: 4vw;
    font-weight: 700;
    color: #C50030;
    line-height: 1.4;
  }
  .work_service .other_service .content_box .image {
    grid-area: image;
  }
  .work_service .other_service .content_box .btn {
    margin: 5.3333vw auto 0 auto;
  }
  /* ========================================================== */
  /* 復元士 */
  /* ========================================================== */
  .fukugen .first_text {
    margin-bottom: 6.6666vw;
    display: flex;
    align-items: center;
  }
  .fukugen .first_text strong {
    white-space: nowrap;
  }
  .fukugen .first_text rt {
    font-size: 3vw;
  }
  .fukugen .first_text img {
    width: 12vw;
    margin-left: 2vw;
  }
  .fukugen #fukugenshi small {
    font-size: 4vw;
  }
  .fukugen .fade_text::after {
    display: none !important;
  }
  .fukugen .start {
    color: #C50030;
    margin-bottom: 0;/*修正230707_ap*/
    font-size: 4.8vw;
    font-weight: bold;
    line-height: 1.4;/*修正230707_ap*/
  }
  .fukugen .second_text {
    color: #C50030;
    margin-bottom: 10.6666vw;
  }
  .fukugen .row {
    margin-bottom: 21.3333vw;
  }
  .fukugen .row p {
    margin-bottom: 2em;
  }
  .fukugen .red_title {
    font-size: 5.3vw;
    text-align-last: center;
    color: #C50030;
    margin-bottom: 5.3vw;
  }
  .fukugen .red_title + .row {
    margin-bottom: 0;
  }
  .fukugen .brain {
    border: 1px solid #000000;
    border-radius: 3vw;
    padding: 10vw 5vw 5vw 5vw;
    position: relative;
    margin: 20vw 0;
  }
  .fukugen .brain h4 {
    text-align-last: center;
    position: absolute;
    font-size: 5.3vw;
    top: -3vw;
    left: 0;
    right: 0;
  }
  .fukugen .brain h4 span {
    background: #ffffff;
    padding: 0 5px;
    display: inline-block;
  }
  .fukugen .brain .row {
    grid-template-columns: 30% 1fr;
    margin-bottom: 3vw;
  }
  .fukugen .brain .row .image {
    margin-bottom: 4vw;
  }
  .fukugen .brain .row .image img {
    width: 100%;
  }/*修正230707_ap*/
  .fukugen .brain dl {
    border-top: 1px dashed #000000;
    position: relative;
  }
  .fukugen .brain dt {
    text-align-last: center;
    font-size: 4.8vw;
    position: absolute;
    top: -4.7vw;
    left: 0;
    right: 0;
  }
  .fukugen .brain dt span {
    padding: 0 10px;
    background: #ffffff;
  }
  .fukugen .brain dd {
    display: block;
    font-size: 4.8vw;
    font-weight: bold;
    margin-top: 4vw;
  }
  .fukugen .brain dd li {
    line-height: 2;
  }
  .fukugen .brain small {
    display: block;
    text-align-last: center;
    font-size: 4vw;
  }
  .fukugen .reason {
    margin-bottom: 13.3333vw;
  }
  .fukugen .reason h3 {
    margin-bottom: 5.3333vw;
    text-align-last: center;
  }
  .fukugen .reason .reason_box {
    border: 1px solid #CBB0A2;
    margin-bottom: 5.3333vw;
    padding: 4vw;
  }
  .fukugen .reason .reason_box h4 {
    margin-bottom: 4vw;
  }
  .fukugen .reason .reason_box .image {
    margin-bottom: 4vw;
  }
  .fukugen .reason .reason_box .image img {
    width: 100%;
  }
  .fukugen .reason .btn {
    margin: auto;
  }
  .fukugen .kami_hada_karada {
    background: #F5F5F5;
    padding: 18.6666vw 0;
  }
  .fukugen .kami_hada_karada h2 {
    text-align-last: center;
  }
  .fukugen .kami_hada_karada h2::after {
    content: "";
    width: 50px;
    height: 1px;
    background: #000;
    margin: 30px auto;
    display: block;
  }
  .fukugen .kami_hada_karada .bold_text {
    margin: 0 auto 17.3333vw auto;
  }
  .fukugen .kami_hada_karada .bold_text p {
    font-weight: 700;
  }
  .fukugen .kami_hada_karada .bold_text .third_text {
    color: #C50030;
    margin-bottom: 3.2vw;
  }
  .fukugen .fukugen_box {
    padding-bottom: 9.0666vw;
    margin-bottom: 8vw;
    border-bottom: 1px solid #C50030;
  }
  .fukugen .fukugen_box:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
  .fukugen .fukugen_box + .reason {
    margin-bottom: 0;
  }
  .fukugen .fukugen_box + .reason .reason_box {
    border-color: #C50030;
  }
  .fukugen .fukugen_box .red_title {
    font-size: 4.8vw;
    font-weight: bold;
    line-height: 1.4;/*修正230707_ap*/
  }
  .fukugen .fukugen_box h4 {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4.5333vw;
    font-size: 5.5vw;
  }
  .fukugen .fukugen_box h4 rt {
    font-size: 3vw;
  }
  .fukugen .fukugen_box h4 img {
    width: 14.9333vw;
    margin-left: 2.6666vw;
  }
  .fukugen .fukugen_box h4 strong {
    white-space: nowrap;
  }
  .fukugen .fukugen_box p {
    line-height: 2;
  }
  .fukugen .fukugen_box .plus {
    text-align-last: center;
    margin: 9.3333vw auto;
  }
  .fukugen .fukugen_box .plus img {
    max-width: 42px;
  }
  .fukugen .fukugen_box h5 {
    text-align-last: center;
    margin-bottom: 4.5333vw;
  }
  .fukugen .flow {
    padding: 13vw 0;
  }
  .fukugen .flow h2 {
    text-align-last: center;
    margin-bottom: 6vw;
    color: #333333;
  }
  .fukugen .flow p {
    margin-bottom: 3.5vw;
    text-align-last: center;
  }
  .fukugen .flow .btn {
    margin: 0 auto;
  }
  .fukugen .flow .flow_container .flowbox {
    height: 20.2666vw;
    border-radius: 2.6666vw;
    background: #CBBBBB;
    position: relative;
    display: flex;
    align-items: center;
    padding: 0 5.3333vw;
    margin-bottom: 10.13333vw;
  }
  .fukugen .flow .flow_container .flowbox::after {
    content: "";
    width: 2.1333vw;
    height: 2.1333vw;
    border-radius: 6px;
    display: block;
    background: #CBBBBB;
    position: absolute;
    bottom: -7.6666vw;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .fukugen .flow .flow_container .flowbox:last-child::after {
    display: none;
  }
  .fukugen .flow .flow_container .flowbox::before {
    content: "";
    width: 2.1333vw;
    height: 2.1333vw;
    border-radius: 6px;
    display: block;
    background: #CBBBBB;
    position: absolute;
    top: -7.6666vw;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .fukugen .flow .flow_container .flowbox:first-child::before {
    display: none;
  }
  .fukugen .flow .flow_container .num {
    margin-right: 5.3333vw;
  }
  .fukugen .flow .flow_container .num img {
    width: 10vw;
  }
  .fukugen .flow .flow_container .text {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 7.4666vw;
    font-size: 5.3333vw;
    font-weight: 700;
    color: #ffffff;
    text-align-last: center;
  }
  /* ========================================================== */
  /* 商品カテゴリー一覧 */
  /* ========================================================== */
  .item_category .fv_text {
    font-size: 4.2666vw;
    line-height: 2;
    font-weight: bold;
    margin: 0 auto 14vw auto;
  }
  .item_category .category_box {
    margin-bottom: 14vw;
  }
  .item_category .category_box h3 {
    font-size: 4.2666vw;
    font-weight: bold;
  }
  .item_category .category_box .typical_item {
    font-size: 3.6vw;
    margin-bottom: 5vw;
  }
  .item_category .category_box .button {
    margin: 6vw auto 0 auto;
    text-align: center;
  }
  .item_category .category_box .button .btn {
    margin: auto;
  }
  /* ========================================================== */
  /* 商品カテゴリー詳細 */
  /* ========================================================== */
  .item_category_detail .cat_header .inner {
    margin: 0 auto 50px auto;
  }
  .item_category_detail .cat_header h3 {
    margin-bottom: 10.6vw;
  }
  .item_category_detail .cat_header .catch {
    color: #C50030;
    line-height: 1.4;
    font-size: 5.3vw;
    font-weight: bold;
  }
  .item_category_detail .video_container {
    background: #CBBBBB;
    padding: 5.3vw 8vw;
  }
  .item_category_detail .video_container video {
    display: block;
    width: 100%;
    margin: auto;
  }
  .item_category_detail p {
    font-size: 4.2vw;
    line-height: 2;
    margin-bottom: 2em;
  }
  .item_category_detail p:last-child {
    margin-bottom: 0;
  }
  .item_category_detail h3 {
    font-size: 5.8vw;
    line-height: 1.5;
  }
  .item_category_detail .feature_text {
    padding: 24vw 8vw;
  }
  .item_category_detail .feature_text h3 {
    margin-bottom: 4.5vw;
    text-align: center;
  }
  .item_category_detail .gray {
    background: #F5F5F5;
    padding: 75px 0;
  }
  .item_category_detail .recent_items h2 {
    text-align: center;
    text-align-last: center;
    font-size: 8vw;
    font-weight: bold;
    line-height: 9.6vw;
    margin-bottom: 8vw;
  }
  .item_category_detail .recent_items li {
    margin-bottom: 26.6vw;
  }
  .item_category_detail .recent_items li:last-child {
    margin-bottom: 0;
  }
  .item_category_detail .recent_items li .image {
    margin-bottom: 7.2vw;
  }
  .item_category_detail .recent_items li .image img {
    width: 100%;
  }
  .item_category_detail .recent_items li .utility_text {
    margin-bottom: 6.4vw;
  }
  .item_category_detail .recent_items li .item_feature {
    font-size: 4.2vw;
    line-height: 1.9;
    margin-bottom: 10.6vw;
  }
  .item_category_detail .recent_items li .btn {
    margin: auto;
  }
  .item_category_detail .item_article {
    padding: 20vw 0;
  }
  .item_category_detail .item_article img {
    width: 100%;
  }
  .item_category_detail.cosmetic .sec_box {
    margin-bottom: 26.6vw;
  }
  .item_category_detail.cosmetic .sec_box h3 {
    margin-bottom: 7vw;
    text-align: center;
    text-align-last: center;
  }
  .item_category_detail.cosmetic .trivia h2 {
    text-align: center;
    text-align-last: center;
    margin-bottom: 7.1vw;
  }
  .item_category_detail.cosmetic .trivia h2 + p {
    font-weight: bold;
    text-align-last: center;
    margin-bottom: 26.6vw;
  }
  .item_category_detail.cosmetic .trivia .sec_box {
    margin-bottom: 18.6vw;
  }
  .item_category_detail.cosmetic .trivia .grid1 img {
    width: 100%;
  }
  .item_category_detail.cosmetic .trivia dl {
    margin-bottom: 16vw;
  }
  .item_category_detail.cosmetic .trivia dl dt {
    font-size: 6.4vw;
    text-align: center;
    text-align-last: center;
    font-weight: bold;
  }
  .item_category_detail.cosmetic .trivia dl p {
    margin-bottom: 0;
  }
  .item_category_detail.cosmetic .trivia .genin {
    border: 1px solid #000000;
    border-radius: 9.6vw;
    padding: 10.6vw 6.6vw;
  }
  .item_category_detail.cosmetic .trivia .genin li {
    margin-bottom: 17vw;
  }
  .item_category_detail.cosmetic .trivia .genin li:last-child {
    margin-bottom: 0;
  }
  .item_category_detail.cosmetic .trivia .genin h4 {
    text-align-last: center;
    margin-bottom: 6.6vw;
    font-size: 4.8vw;
  }
  .item_category_detail.cosmetic .trivia .genin p {
    font-size: 4.2vw;
    line-height: 1.9;
  }
  .item_category_detail.cosmetic .basic_care_chart {
    padding: 24vw 0;
  }
  .item_category_detail.cosmetic .basic_care_chart h2 {
    text-align-last: center;
    margin-bottom: 12vw;
  }
  .item_category_detail.cosmetic .basic_care_chart .timing {
    margin-bottom: 26.6vw;
  }
  .item_category_detail.cosmetic .basic_care_chart .timing.daytime .flow_text {
    height: 5.625em;
  }
  .item_category_detail.cosmetic .basic_care_chart .timing.night .flow_text {
    height: 11.25em;
  }
  .item_category_detail.cosmetic .basic_care_chart .timing.bedtime {
    margin-bottom: 0;
  }
  .item_category_detail.cosmetic .basic_care_chart .timing.bedtime .flow_text {
    height: 3.75em;
  }
  .item_category_detail.cosmetic .basic_care_chart .timing + .description {
    margin-top: 7.1vw;
  }
  .item_category_detail.cosmetic .basic_care_chart h3 {
    text-align-last: center;
    color: #C50030;
    margin-bottom: 12vw;
  }
  .item_category_detail.cosmetic .basic_care_chart .flow_text {
    text-align-last: center;
    font-size: 4.2vw;
    line-height: 1.875;
    padding: 0 5.3vw;
    height: 7.5em;
    margin-bottom: 8vw;
  }
  .item_category_detail.cosmetic .basic_care_chart .image {
    height: 63.7vw;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 8vw;
  }
  .item_category_detail.cosmetic .basic_care_chart .slider_arrow {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    z-index: 1;
    width: 14px;
    height: 15px;
  }
  .item_category_detail.cosmetic .basic_care_chart .prev_arrow {
    left: -6vw;
  }
  .item_category_detail.cosmetic .basic_care_chart .next_arrow {
    right: -6vw;
    transform: rotate(180deg);
  }
  .item_category_detail.cosmetic .basic_care_chart .slick-disabled path {
    fill: #E8E8E8;
  }
  .item_category_detail.cosmetic .basic_care_chart path {
    fill: #C50030;
  }
  .item_category_detail.cosmetic .description {
    background: #F5F5F5;
    text-align-last: center;
    padding: 4vw;
    text-align-last: center;
    font-size: 4.2vw;
    line-height: 1.625;
  }
  .item_category_detail.dryer .sec_box,
  .item_category_detail.haircare .sec_box,
  .item_category_detail.beauty .sec_box,
  .item_category_detail.supplement .sec_box,
  .item_category_detail.wear .sec_box {
    margin-bottom: 26.6vw;
    font-size: 4.2vw;
    line-height: 2;
  }
  .item_category_detail.dryer .sec_box:last-child,
  .item_category_detail.haircare .sec_box:last-child,
  .item_category_detail.beauty .sec_box:last-child,
  .item_category_detail.supplement .sec_box:last-child,
  .item_category_detail.wear .sec_box:last-child {
    margin-bottom: 0;
  }
  .item_category_detail.dryer .sec_box h3,
  .item_category_detail.haircare .sec_box h3,
  .item_category_detail.beauty .sec_box h3,
  .item_category_detail.supplement .sec_box h3,
  .item_category_detail.wear .sec_box h3 {
    margin-bottom: 7vw;
    text-align: center;
    text-align-last: center;
  }
  .item_category_detail.dryer .feature_text h3,
  .item_category_detail.haircare .feature_text h3,
  .item_category_detail.beauty .feature_text h3,
  .item_category_detail.supplement .feature_text h3,
  .item_category_detail.wear .feature_text h3 {
    text-align-last: center;
  }
  .item_category_detail.dryer .kouka h2,
  .item_category_detail.haircare .kouka h2,
  .item_category_detail.beauty .kouka h2,
  .item_category_detail.supplement .kouka h2,
  .item_category_detail.wear .kouka h2 {
    text-align: center;
    text-align-last: center;
    margin-bottom: 10vw;
    color: #C50030;
    font-size: 5.3vw;
  }
  .item_category_detail.dryer .usage h2,
  .item_category_detail.haircare .usage h2,
  .item_category_detail.beauty .usage h2,
  .item_category_detail.supplement .usage h2,
  .item_category_detail.wear .usage h2 {
    text-align: center;
    text-align-last: center;
    margin-bottom: 7.1vw;
  }
  .item_category_detail.dryer .usage video,
  .item_category_detail.haircare .usage video,
  .item_category_detail.beauty .usage video,
  .item_category_detail.supplement .usage video,
  .item_category_detail.wear .usage video {
    display: block;
    width: 100%;
    margin-top: 6.4vw;
  }
  .item_category_detail.dryer .wellcome h4,
  .item_category_detail.haircare .wellcome h4,
  .item_category_detail.beauty .wellcome h4,
  .item_category_detail.supplement .wellcome h4,
  .item_category_detail.wear .wellcome h4 {
    font-size: 4.2vw;
    line-height: 2;
  }
  .item_category_detail.dryer .wellcome li,
  .item_category_detail.haircare .wellcome li,
  .item_category_detail.beauty .wellcome li,
  .item_category_detail.supplement .wellcome li,
  .item_category_detail.wear .wellcome li {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 4.2vw;
    line-height: 2;
  }
  .item_category_detail.dryer .pink_header,
  .item_category_detail.haircare .pink_header,
  .item_category_detail.beauty .pink_header,
  .item_category_detail.supplement .pink_header,
  .item_category_detail.wear .pink_header {
    text-align-last: center;
    color: #C50030;
    margin-bottom: 5vw;
  }
  .item_category_detail.dryer .tansan,
  .item_category_detail.haircare .tansan,
  .item_category_detail.beauty .tansan,
  .item_category_detail.supplement .tansan,
  .item_category_detail.wear .tansan {
    border: 1px solid #000000;
    border-radius: 9.6vw;
    padding: 5.3vw;
  }
  .item_category_detail.dryer .builder,
  .item_category_detail.haircare .builder,
  .item_category_detail.beauty .builder,
  .item_category_detail.supplement .builder,
  .item_category_detail.wear .builder {
    border: 1px solid #000000;
    border-radius: 9.6vw;
    padding: 5.3vw;
  }
  .item_category_detail.dryer .builder h3,
  .item_category_detail.haircare .builder h3,
  .item_category_detail.beauty .builder h3,
  .item_category_detail.supplement .builder h3,
  .item_category_detail.wear .builder h3 {
    text-align-last: center;
  }
  .item_category_detail.dryer .builder img,
  .item_category_detail.haircare .builder img,
  .item_category_detail.beauty .builder img,
  .item_category_detail.supplement .builder img,
  .item_category_detail.wear .builder img {
    display: block;
    margin: auto;
  }
  .item_category_detail.dryer .img_center,
  .item_category_detail.haircare .img_center,
  .item_category_detail.beauty .img_center,
  .item_category_detail.supplement .img_center,
  .item_category_detail.wear .img_center {
    margin: 2em 0;
  }
  .item_category_detail.dryer .img_center img,
  .item_category_detail.haircare .img_center img,
  .item_category_detail.beauty .img_center img,
  .item_category_detail.supplement .img_center img,
  .item_category_detail.wear .img_center img {
    margin: auto;
    display: block;
  }
  .item_category_detail.dryer .burasage,
  .item_category_detail.haircare .burasage,
  .item_category_detail.beauty .burasage,
  .item_category_detail.supplement .burasage,
  .item_category_detail.wear .burasage {
    margin-bottom: 8vw;
  }
  .item_category_detail.dryer .burasage li,
  .item_category_detail.haircare .burasage li,
  .item_category_detail.beauty .burasage li,
  .item_category_detail.supplement .burasage li,
  .item_category_detail.wear .burasage li {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 4.2vw;
    line-height: 2;
  }
  .item_category_detail.dryer .mineral,
  .item_category_detail.haircare .mineral,
  .item_category_detail.beauty .mineral,
  .item_category_detail.supplement .mineral,
  .item_category_detail.wear .mineral {
    border: 1px solid #000000;
    border-radius: 9.6vw;
    padding: 5.3vw;
    margin-bottom: 8vw;
  }
  .item_category_detail.dryer .mineral h3,
  .item_category_detail.haircare .mineral h3,
  .item_category_detail.beauty .mineral h3,
  .item_category_detail.supplement .mineral h3,
  .item_category_detail.wear .mineral h3 {
    text-align-last: center;
  }
  .item_category_detail.dryer .mineral img,
  .item_category_detail.haircare .mineral img,
  .item_category_detail.beauty .mineral img,
  .item_category_detail.supplement .mineral img,
  .item_category_detail.wear .mineral img {
    display: block;
    margin: auto;
  }
  .item_category_detail.dryer .flow_container dl,
  .item_category_detail.haircare .flow_container dl,
  .item_category_detail.beauty .flow_container dl,
  .item_category_detail.supplement .flow_container dl,
  .item_category_detail.wear .flow_container dl {
    display: grid;
    grid-template-columns: 20vw 1fr;
    gap: 2vw;
    margin-bottom: 2vw;
  }
  .item_category_detail.dryer .flow_container dt,
  .item_category_detail.haircare .flow_container dt,
  .item_category_detail.beauty .flow_container dt,
  .item_category_detail.supplement .flow_container dt,
  .item_category_detail.wear .flow_container dt {
    background: #CBBBBB;
    padding: 2vw;
    color: #ffffff;
    font-weight: bold;
  }
  .item_category_detail.dryer .flow_container dd,
  .item_category_detail.haircare .flow_container dd,
  .item_category_detail.beauty .flow_container dd,
  .item_category_detail.supplement .flow_container dd,
  .item_category_detail.wear .flow_container dd {
    padding: 2vw;
    background: #ffffff;
  }
  .item_category_detail.dryer .flow_container dd h3,
  .item_category_detail.haircare .flow_container dd h3,
  .item_category_detail.beauty .flow_container dd h3,
  .item_category_detail.supplement .flow_container dd h3,
  .item_category_detail.wear .flow_container dd h3 {
    font-weight: bold;
    font-size: 4.2vw;
  }
  .item_category_detail.dryer .flow_container span,
  .item_category_detail.haircare .flow_container span,
  .item_category_detail.beauty .flow_container span,
  .item_category_detail.supplement .flow_container span,
  .item_category_detail.wear .flow_container span {
    background: url(../img/product/marker.png) repeat-x 0 85%;
    background-size: auto 0.25em;
  }
}
/* ========================================================== */
/* PC用スタイル */
/* ========================================================== */
@media (min-width: 769px) {
  /* ========================================================== */
  /* ヘッダー */
  /* ========================================================== */
  .site_header {
    position: relative;
    z-index: 10;
  }
  .site_header .logo {
    position: fixed;
    top: 28px;
    left: 22px;
    z-index: 1;
  }
  /* ========================================================== */
  /* メニュー */
  /* ========================================================== */
  /* ========================================================== */
  /* パンくず */
  /* ========================================================== */
  /* ========================================================== */
  /* フッター */
  /* ========================================================== */
  /* ========================================================== */
  /* 共通 */
  /* ========================================================== */
  /* ========================================================== */
  /* トップページ */
  /* ========================================================== */
  /* ========================================================== */
  /* 会社情報 */
  /* ========================================================== */
  /* ========================================================== */
  /* プライバシーポリシー・ソーシャルメディアポリシー */
  /* ========================================================== */
  /* ========================================================== */
  /* ものづくりへのこだわり */
  /* ========================================================== */
  /* ========================================================== */
  /* 復元商品のひ・み・つ */
  /* ========================================================== */
  /* ========================================================== */
  /* コンセプト */
  /* ========================================================== */
  /* ========================================================== */
  /* 最新情報　詳細 */
  /* ========================================================== */
  /* ========================================================== */
  /* 最新情報　一覧 */
  /* ========================================================== */
  /* ========================================================== */
  /* 事業・サービス　ペット */
  /* ========================================================== */
  /* ========================================================== */
  /* 取り扱い希望の店舗様 */
  /* ========================================================== */
  /* ========================================================== */
  /* 取り扱い商品詳細 */
  /* ========================================================== */
  /* ========================================================== */
  /* サポート・お問い合わせ */
  /* ========================================================== */
  /* ========================================================== */
  /* お問い合わせフォーム */
  /* ========================================================== */
  /* ========================================================== */
  /* LOUVREDO商品の購入について */
  /* ========================================================== */
  /* Firefox */
  /* ========================================================== */
  /* 復元ドライヤー導入ホテル一覧 */
  /* ========================================================== */
  /* ========================================================== */
  /* Green Heart 365 */
  /* ========================================================== */
  /* ========================================================== */
  /* どんな会社？ */
  /* ========================================================== */
  /* ========================================================== */
  /* 事業・サービス */
  /* ========================================================== */
  /* ========================================================== */
  /* 復元士 */
  /* ========================================================== */
  /* ========================================================== */
  /* 商品カテゴリー一覧 */
  /* ========================================================== */
  /* ========================================================== */
  /* 商品カテゴリー詳細 */
  /* ========================================================== */
}
@media (min-width: 769px) and (max-width: 1140px) {
  .site_header .logo {
    width: 1.5789vw;
  }
}
@media (min-width: 769px) {
  .site_header .menu_open {
    position: fixed;
    top: 32px;
    right: 38px;
    z-index: 1;
    height: 14px;
    cursor: pointer;
  }
  .site_header .menu_open img {
    vertical-align: top;
  }
}
@media (min-width: 769px) {
  .gnav {
    padding: 25px 140px 0 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .gnav {
    padding: 25px 140px 0 60px;
  }
}
@media (min-width: 769px) {
  .gnav .main_menu {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    font-size: 14px;
    height: 30px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .gnav .main_menu {
    font-size: 12px;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .gnav .main_menu {
    display: none;
  }
}
@media (min-width: 769px) {
  .gnav .main_menu > li {
    position: relative;
    margin-left: 2px;
  }
  .gnav .main_menu > li:nth-child(n+7)>a {
    background-color: #C50030;
    color: #fff;
  }
  /* .gnav .main_menu > li:nth-child(7) {
    margin-left:6px ;
  } */
}
@media (min-width: 769px) and (max-width: 1140px) {
  .gnav .main_menu > li:first-child {
    margin-left: 0;
  }
}
@media (min-width: 769px) {
  .gnav .main_menu > li > a, .gnav .main_menu > li > span {
    position: relative;
    z-index: 2;
    height: 26px;
    padding: 0 12px;
    border: 1px solid rgba(0, 0, 0, 0);
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-feature-settings: "palt";
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .gnav .main_menu > li > a, .gnav .main_menu > li > span {
    height: 2.2807vw;
    padding: 0 1.0526vw;
    white-space: nowrap;
  }
}
@media (min-width: 769px) {
  .gnav .main_menu > li:nth-child(-n+6) > a:hover, .gnav .main_menu > li:nth-child(-n+6) > span:hover {
    font-weight: 500;
    color: #C50030;
    border: 1px solid #000000;
    background-color: #fff;
  }
  .gnav .main_menu > li:nth-child(n+7) > a:hover, .gnav .main_menu > li:nth-child(n+7) > span:hover {
    font-weight: 500;
    color: #fff;
    border: 1px solid #C50030;
  }
}
@media (min-width: 769px) {
  .gnav .main_menu > li > a.sub-open, .gnav .main_menu > li > span.sub-open {
    font-weight: 500;
    border: 1px solid #000000;
  }
  .gnav .main_menu > li > a.sub-open, .gnav .main_menu > li:nth-child(n+7) > span.sub-open {
    border: 1px solid #C50030;
  }
}
@media (min-width: 769px) {
  .gnav .main_menu > li.current > a {
    background: #C50030;
    color: #ffffff;
    font-weight: 500;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .gnav .main_menu > li.current > a {
    padding: 0 0.8771vw;
  }
}
@media (min-width: 769px) {
  .gnav .main_menu > li.current > a:hover {
    opacity: 1;
    border-color: #C50030;
  }
}
@media (min-width: 769px) {
  .gnav .work_submenu {
    display: none;
    background: #ffffff;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    border-radius: 8px;
    min-width: 260px;
    padding: 10px 20px 20px 20px;
    position: absolute;
    top: 35px;
    left: 0;
    z-index: 1;
  }
}

@media (min-width: 769px) {
  .gnav .work_submenu ul {
    margin-bottom: 17px;
  }
  .gnav .work_submenu ul:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 769px) {
  .gnav .work_submenu li {
    margin-left: 0;
    line-height: 34px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .gnav .work_submenu li {
    line-height: 29px;
  }
}
@media (min-width: 769px) {
  .gnav .work_submenu li a {
    position: relative;
    white-space: nowrap;
  }
  .gnav .work_submenu li a::before {
    content: "｜";
  }
  .gnav .work_submenu li a::after {
    content: "";
    width: 0;
    height: 2px;
    border-radius: 2px;
    background: #C50030;
    display: block;
    position: absolute;
    left: 0;
    bottom: -5px;
    transition: 0.3s;
  }
  .gnav .work_submenu li a:hover {
    color: #000000;
    font-weight: 400;
    opacity: 1;
  }
  .gnav .work_submenu li a:hover::after {
    width: 100%;
  }
}
@media (min-width: 769px) {
  .gnav .work_submenu .btn_black {
    margin-bottom: 15px;
  }
}
@media (min-width: 769px) {
  .gnav .all_menu {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 2;
    width: calc(100% - 140px);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  }
}
@media (min-width: 769px) and (max-width: 1279px) {
  .gnav .all_menu {
    width: 100%;
  }
}
@media (min-width: 769px) and (max-height: 896px) {
  .gnav .all_menu {
    height: 100%;
  }
}
@media (min-width: 769px) {
  .gnav .all_menu .menuclose {
    background: rgba(0, 0, 0, 0.6);
    height: 78px;
    padding: 24px 30px;
    cursor: pointer;
  }
}
@media (min-width: 769px) {
  .gnav .all_menu .menu_container {
    background: #ffffff;
    padding: 30px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 45px;
  }
}
@media (min-width: 769px) and (max-height: 896px) {
  .gnav .all_menu .menu_container {
    height: 100%;
    overflow: scroll;
  }
}
@media (min-width: 769px) {
  .gnav .all_menu .menu_box {
    border-bottom: 1px solid #000000;
    display: grid;
    grid-template-columns: 12px 1fr;
    gap: 0 15px;
    padding-bottom: 30px;
    margin-bottom: 15px;
    font-size: 14px;
  }
}
@media (min-width: 769px) and (max-width: 1279px) {
  .gnav .all_menu .menu_box {
    font-size: 12px;
  }
}
@media (min-width: 769px) and (max-width: 1023px) {
  .gnav .all_menu .menu_box {
    font-size: 10px;
    display: block;
  }
}
@media (min-width: 769px) {
  .gnav .all_menu .menu_box:last-child {
    border-bottom: none;
  }
}
@media (min-width: 769px) {
  .gnav .all_menu .menu_box .title_en {
    font-weight: 900;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    letter-spacing: 0.05em;
  }
}
@media (min-width: 769px) and (max-width: 1023px) {
  .gnav .all_menu .menu_box .title_en {
    height: 12px;
    margin-bottom: 12px;
  }
  .gnav .all_menu .menu_box .title_en img {
    transform: rotate(-90deg) translate(-6px, -11px);
    transform-origin: top;
  }
}
@media (min-width: 769px) {
  .gnav .all_menu .menu_box .menu_body {
    margin-top: -7px;
  }
}
@media (min-width: 769px) {
  .gnav .all_menu .menu_box .title_ja {
    line-height: 34px;
    color: #C50030;
    font-weight: 500;
  }
}
@media (min-width: 769px) and (max-width: 1279px) {
  .gnav .all_menu .menu_box .title_ja {
    line-height: 2.5;
  }
}
@media (min-width: 769px) {
  .gnav .all_menu .menu_box ul {
    margin-bottom: 20px;
  }
  .gnav .all_menu .menu_box ul li {
    line-height: 34px;
  }
}
@media (min-width: 769px) and (max-width: 1279px) {
  .gnav .all_menu .menu_box ul li {
    line-height: 2.5;
  }
}
@media (min-width: 769px) {
  .gnav .all_menu .menu_box ul li a {
    position: relative;
    white-space: nowrap;
  }
  .gnav .all_menu .menu_box ul li a::after {
    content: "";
    width: 0;
    height: 2px;
    border-radius: 2px;
    background: #C50030;
    display: block;
    position: absolute;
    left: 0;
    bottom: -5px;
    transition: 0.3s;
  }
  .gnav .all_menu .menu_box ul li a:hover {
    color: #000000;
    font-weight: 400;
    opacity: 1;
  }
  .gnav .all_menu .menu_box ul li a:hover::after {
    width: 100%;
  }
}
@media (min-width: 769px) {
  .gnav .all_menu .menu_box .btn {
    width: 252px;
    margin-bottom: 20px;
  }
}
@media (min-width: 769px) and (max-width: 1023px) {
  .gnav .all_menu .menu_box .btn {
    width: 100%;
  }
}
@media (min-width: 769px) {
  .gnav .all_menu .bnr_box a {
    margin-bottom: 20px;
    display: inline-block;
  }
}
@media (min-width: 769px) {
  .overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
  }
}
@media (min-width: 769px) {
  .pankuz {
    max-width: 1000px;
    margin: 50px auto 70px auto;
    display: flex;
    justify-content: flex-end;
    font-size: 10px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .pankuz {
    padding: 0 38px;
  }
}
@media (min-width: 769px) {
  .pankuz li {
    color: #C50030;
  }
  .pankuz li::after {
    content: "/";
    margin: 0 0.5em;
    color: #000000;
  }
  .pankuz li:last-child::after {
    display: none;
  }
  .pankuz li a {
    color: #000000;
  }
}
@media (min-width: 769px) {
  .site_footer {
    position: relative;
    max-width: 1000px;
    margin: auto;
    padding: 50px 0 75px;
    display: grid;
    grid-template-columns: 1fr 302px;
    gap: 55px;
  }
}
@media (min-width: 769px) and (max-width: 1040px) {
  .site_footer {
    margin: auto 20px;
  }
}
@media (min-width: 769px) {
  .site_footer .f_top {
    display: flex;
    justify-content: space-between;
  }
}
@media (min-width: 769px) {
  .site_footer .logo {
    margin-bottom: 45px;
  }
}
@media (min-width: 769px) {
  .site_footer .sns {
    display: flex;
  }
  .site_footer .sns a {
    display: inline-block;
    margin-right: 27px;
  }
}
@media (min-width: 769px) {
  .site_footer .f_nav {
    font-size: 12px;
  }
  .site_footer .f_nav li {
    line-height: 2;
  }
  .site_footer .f_nav li.red a {
    color: #C50030;
    font-weight: 500;
  }
}
@media (min-width: 769px) {
  .site_footer .bnr_area a {
    display: inline-block;
    margin-bottom: 20px;
  }
}
@media (min-width: 769px) {
  .site_footer .copyright {
    font-size: 12px;
    font-weight: 300;
    margin-top: 40px;
  }
}
@media (min-width: 769px) {
  article {
    overflow: hidden;
    text-align: justify;
    text-align-last: left;
  }
  article section {
    position: relative;
  }
}

@media (min-width: 769px) {
  article .pagetitle {
    display: none;
    position: fixed;
    top: 24px;
    right: 140px;
    z-index: 1;
  }
  article .pagetitle span {
    background: #C50030;
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
    height: 30px;
    padding: 0 20px;
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  article .pagetitle span {
    font-size: 1.228vw;
    height: 2.6315vw;
    padding: 0 1.7543;
  }
}
@media (min-width: 769px) {
  .pagelink {
    position: fixed;
    right: 0;
    z-index: 1;
    text-align: right;
  }
  .pagelink li {
    font-weight: bold;
    margin-bottom: 11px;
    height: 28px;
  }
  .pagelink li.current a {
    color: #C50030;
  }
  .pagelink li a {
    width: 110px;
    height: 28px;
    padding: 0 13px;
    display: inline-block;
    border-radius: 14px 0 0 14px;
    background: rgba(255, 255, 255, 0.9);
    line-height: 28px;
    font-size: 14px;
    text-align: left;
    transition: 0.05s;
    transition-delay: 0s;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .pagelink li a {
    font-size: 1.4vw;
  }
}
@media (min-width: 769px) {
  .pagelink li a:hover {
    width: calc(100% + 10px);
    overflow: visible;
    transition: 0.2s;
    transform: translateX(-10px);
    opacity: 1;
  }
}
@media (min-width: 769px) {
  .contents_container {
    max-width: 1000px;
    margin: auto;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contents_container {
    padding: 0 6.1403vw;
  }
}
@media (min-width: 769px) {
  .contents_container.border {
    border-bottom: 1px solid #707070;
  }
}
@media (min-width: 769px) {
  .contents_container section {
    position: relative;
  }
}
@media (min-width: 769px) {
  .contents_container .ttl_abs {
    position: absolute;
    top: 18px;
    left: 0;
    width: 1.5%;
  }
  .contents_container .ttl_abs img {
    width: 100%;
  }
}
@media (min-width: 769px) {
  .headline {
    max-width: 750px;
    margin: 0 auto 87px auto;
    font-size: 38px;
    font-weight: bold;
    line-height: 1.6;
    font-feature-settings: "palt";
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .headline {
    font-size: 3.8vw;
    padding-left: 5vw;/*修正230707_ap*/

  }
}
@media (min-width: 769px) {
  .headline.is-animated span {
    position: relative;
  }
  .headline.is-animated span::before {
    content: "";
    width: 0;
    height: 2px;
    background: #D8D8D8;
    position: absolute;
    left: 0;
    bottom: -2px;
  }
  .headline.is-animated span:first-child::before {
    animation-name: line1_1;
    animation-duration: 1s;
    animation-delay: 1s;
    animation-fill-mode: forwards;
  }
  .headline.is-animated span:nth-child(3)::before {
    animation-name: line2_1;
    animation-duration: 1s;
    animation-delay: 1.3s;
    animation-fill-mode: forwards;
  }
  .headline.is-animated span:nth-child(5)::before {
    animation-name: line2_1;
    animation-duration: 1s;
    animation-delay: 1.6s;
    animation-fill-mode: forwards;
  }
  .headline.is-animated span::after {
    content: "";
    width: 0;
    height: 2px;
    background: #000;
    position: absolute;
    left: 0;
    bottom: -2px;
  }
  .headline.is-animated span:first-child::after {
    animation-name: line1_2;
    animation-duration: 1s;
    animation-delay: 2s;
    animation-fill-mode: forwards;
  }
  .headline.is-animated span:nth-child(3)::after {
    animation-name: line2_2;
    animation-duration: 1s;
    animation-delay: 2.3s;
    animation-fill-mode: forwards;
  }
  .headline.is-animated span:nth-child(5)::after {
    animation-name: line2_2;
    animation-duration: 1s;
    animation-delay: 2.6s;
    animation-fill-mode: forwards;
  }
}
@media (min-width: 769px) {
  @keyframes line1_1 {
    0% {
      width: 0;
    }
    100% {
      width: 100%;
    }
  }
}
@media (min-width: 769px) {
  @keyframes line2_1 {
    0% {
      width: 0;
    }
    100% {
      width: 100%;
    }
  }
}
@media (min-width: 769px) {
  @keyframes line1_2 {
    0% {
      width: 0;
    }
    100% {
      width: 100%;
    }
  }
}
@media (min-width: 769px) {
  @keyframes line2_2 {
    0% {
      width: 0;
    }
    100% {
      width: 100%;
    }
  }
}
@media (min-width: 769px) {
  .fade_text {
    max-width: 650px;
    margin: auto;
    position: relative;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .fade_text {
    width: 90%;
  }
}
@media (min-width: 769px) {
  .fade_text::after {
    content: "";
    display: block;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 50%;
    min-height: 300px;
    max-height: 400px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
  }
}
@media (min-width: 769px) {
  .fade_text p {
    margin-bottom: 2em;
    font-weight: bold;
    font-size: 20px;
    line-height: 2;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fade_text p {
    font-size: 1.7543vw;
  }
}
@media (min-width: 769px) {
  .fade_text .subtitle {
    font-size: 28px;
    color: #C50030;
    line-height: 1.4286;
    margin-bottom: 30px;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .fade_text .subtitle {
    font-size: 2.8vw;
    margin-bottom: 3vw;
  }
}
@media (min-width: 769px) {
  .pagetop {
    position: fixed;
    bottom: 30px;
    right: 45px;
    display: none;
    z-index: 1;
  }
}
@media (min-width: 769px) {
  .first_text {
    font-size: 38px;
    line-height: 1.6;
    font-weight: 700;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .first_text {
    font-size: 3.8vw;
  }
}
@media (min-width: 769px) {
  .second_text {
    font-size: 30px;
    line-height: 1.3;
    font-weight: 700;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .second_text {
    font-size: 3vw;
  }
}
@media (min-width: 769px) {
  .third_text {
    font-size: 24px;
    line-height: 1.4;
    font-weight: 700;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .third_text {
    font-size: 2.4vw;
  }
}
@media (min-width: 769px) {
  .fourth_text {
    font-size: 18px;
    line-height: 2;
    font-weight: 700;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fourth_text {
    font-size: 1.8vw;
  }
}
@media (min-width: 769px) {
  .body_text, p {
    font-size: 16px;
    line-height: 1.8;
    font-weight: 400;
    text-align: justify;/*修正230707_ap*/
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .body_text, p {
    font-size: 1.6vw;
  }
}
@media (min-width: 769px) {
  .toppage {
    overflow: hidden;
    margin-top: -55px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage {
    overflow: hidden;
    margin-top: -4.8245vw;
  }
}
@media (min-width: 769px) {
  .toppage .kv {
    text-align-last: center;
    position: relative;
    z-index: 0;
    height: 853px;
    overflow: hidden;
  }
  .toppage .kv::after {
    content: "";
    width: 100%;
    height: 182px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
  }
  .toppage .kv .kv_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .toppage .kv .vertical_text {
    color: #C50030;
    position: absolute;
    top: 230px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 31px;
    font-weight: 300;
    display: flex;
    flex-direction: column;
  }
  .toppage .kv .vertical_text img {
    vertical-align: baseline;
  }
  .toppage .kv .vertical_text img.dokuten {
    transform: translateX(10px);
  }
  .toppage .kv .vertical_text .first {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    margin: 0 auto 80px auto;
    white-space: nowrap;
  }
  .toppage .kv .vertical_text .second {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    margin: 0 auto;
    white-space: nowrap;
  }
  .toppage .kv .holizonal_text {
    font-size: 24px;
    font-weight: 300;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 853px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 5px;
  }
  .toppage .kv .holizonal_text span {
    display: inline-block;
    margin: 0 3px;
  }
  .toppage .kv .holizonal_text span img.dokuten {
    transform: translateY(6px);
  }
}
@media (min-width: 769px) {
  .toppage .top_concept {
    padding: 200px 0 313px 0;
    position: relative;
    z-index: 1;
    mix-blend-mode: multiply;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_concept {
    padding: 24.5614vw 0 27.4561vw 0;
  }
}
@media (min-width: 769px) {
  .toppage .top_concept .inner {
    max-width: 730px;
    margin: auto;
    position: relative;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_concept .inner {
    max-width: 65.7894vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_concept .inner.z-index {
    z-index: 0;
  }
}
@media (min-width: 769px) {
  .toppage .top_concept .inner.concept_button {
    z-index: 2;
  }
}
@media (min-width: 769px) {
  .toppage .top_concept .en_title {
    position: absolute;
    left: 0;
    transform: translateY(-70px);
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_concept .en_title {
    transform: translateY(-6.1403vw);
  }
  .toppage .top_concept .en_title img {
    width: 1.9298vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_concept h2 {
    padding-left: 100px;
    margin-bottom: 100px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_concept h2 {
    padding-left: 8.7719vw;
    margin-bottom: 8.7719vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_concept p {
    line-height: 1.8889;
    margin-bottom: 60px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_concept p {
    margin-bottom: 5.2631vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_concept .para3 {
    background: url(../../assets/img/top/bg_para03@2x.png) no-repeat center top;
    background-size: 1816px;
    position: absolute;
    top: 0px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: -3;
    width: 100%;
    height: 1252px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_concept .para3 {
    height: 111.4035vw;
    background-size: 160%;
    left: 0;
  }
}
@media (min-width: 769px) {
  .toppage .top_concept .para2 {
    background: url(../../assets/img/top/bg_para02@2x.png) no-repeat center top;
    background-size: 1816px;
    position: absolute;
    top: 400px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: -2;
    width: 100%;
    height: 1019px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_concept .para2 {
    height: 89.3859vw;
    background-size: 160%;
    left: 0;
  }
}
@media (min-width: 769px) {
  .toppage .top_concept .para1 {
    background: url(../../assets/img/top/bg_para01@2x.png) no-repeat center top;
    background-size: 1816px;
    position: absolute;
    top: 600px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
    width: 100%;
    height: 814px;
    mix-blend-mode: multiply;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_concept .para1 {
    height: 73.2456vw;
    background-size: 160%;
    left: 0;
  }
}
@media (min-width: 769px) {
  .toppage .top_concept .para1-2 {
    background: url(../../assets/img/top/bg_para01-2@2x.png) no-repeat center top;
    background-size: 1529px;
    position: absolute;
    top: 806px;
    left: 102px;
    right: 0;
    margin: auto;
    z-index: 1;
    width: 100%;
    height: 867px;
    opacity: 0.8;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_concept .para1-2 {
    height: 73.2456vw;
    background-size: 160%;
    left: 0;
  }
}
@media (min-width: 769px) {
  .toppage .top_news {
    overflow: hidden;
    position: relative;
    z-index: 1;
  }
  .toppage .top_news .news_menu {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 1;
    margin: 0 auto;
    width: 140px;
    transform: translate(-305px, 88px);
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_news .news_menu {
    width: 12.2807vw;
    transform: translate(-26.7543vw, 7.7192vw);
  }
}
@media (min-width: 769px) {
  .toppage .top_news .news_menu h2 {
    margin-bottom: 38px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_news .news_menu h2 {
    margin-bottom: 3.3333vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_news .news_menu ul li {
    margin-bottom: 13px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_news .news_menu ul li {
    margin-bottom: 1.1403vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_news .news_menu ul li a {
    display: block;
    width: 140px;
    padding: 8px 0;
    border: 1px solid #000000;
    border-radius: 15px;
    font-size: 14px;
    line-height: 1;
    text-align-last: center;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_news .news_menu ul li a {
    width: 12.2807vw;
    padding: 0.7017vw 0;
    border-radius: 1.3157vw;
    font-size: 1.228vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_news .news_menu ul li a:hover {
    border: 1px solid #C50030;
    color: #C50030;
    opacity: 1;
  }
}
@media (min-width: 769px) {
  .toppage .top_news .outer {
    width: 1280px;
    margin: auto;
    transform: translateX(315px);
    background: #F5F5F5;
    padding: 87px 98px 87px 175px;
    border-radius: 30px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_news .outer {
    width: 100vw;
    transform: translateX(27.6315vw);
    padding: 7.6315vw 8.5964vw 7.6315vw 6.3508vw;
    border-radius: 2.6315vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_news .news_box {
    font-size: 14px;
    line-height: 1.5;
    width: 300px;
    margin: 0 25px;
    display: block;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_news .news_box {
    font-size: 1.228vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_news .news_box .thumbnail {
    margin-bottom: 20px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_news .news_box .thumbnail {
    margin-bottom: 1.7543vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_news .news_box .date_cat {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_news .news_box .date_cat {
    margin-bottom: 1.3157vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_news .news_box .category {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 19px;
    border-radius: 10px;
    border: 1px solid #000000;
    font-size: 12px;
    padding: 0 19px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_news .news_box .category {
    height: 1.6666vw;
    font-size: 1.0526vw;
    padding: 0 1.6666vw;
  }
}
@media (min-width: 769px) {
  .toppage .button {
    max-width: 1000px;
    margin: 30px auto 160px auto;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .button {
    margin: 2.6315vw 2.6315vw 14.035vw 2.6315vw;
  }
}
@media (min-width: 769px) {
  .toppage .button a {
    margin: 0 0 0 auto;
  }
}
@media (min-width: 769px) {
  .toppage .top_business {
    max-width: 1000px;
    margin: 0 auto 200px auto;
    position: relative;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_business {
    max-width: 87.7192vw;
    margin: 0 auto 17.5438vw auto;
  }
}
@media (min-width: 769px) {
  .toppage .top_business .en_title {
    position: absolute;
    top: 10px;
    left: 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_business .en_title {
    top: 0.8771vw;
  }
  .toppage .top_business .en_title img {
    width: 1.9298vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_business .inner {
    padding-left: 125px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_business .inner {
    padding-left: 10.9649vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_business h2 {
    margin-bottom: 26px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_business h2 {
    margin-bottom: 2.2807vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_business p {
    line-height: 1.8889;
  }
}
@media (min-width: 769px) {
  .toppage .top_business .text_image {
    position: relative;
  }
  .toppage .top_business .text_image h3 {
    font-size: 24px;
    line-height: 1.5833;
    margin-bottom: 43px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_business .text_image h3 {
    font-size: 2.1052vw;
    margin-bottom: 3.7719vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_business .text_image p {
    font-size: 16px;
    line-height: 1.875;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_business .text_image p {
    font-size: 1.4035vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_business .text_image.first {
    margin-top: 148px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_business .text_image.first {
    margin-top: 12.9824vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_business .text_image.first p {
    width: 525px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_business .text_image.first p {
    width: 46.0526vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_business .text_image.first .image {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(125px);
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_business .text_image.first .image {
    transform: translateX(10.9649vw);
    width: 38.5964vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_business .text_image.second {
    margin-top: 234px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_business .text_image.second {
    margin-top: 20.5263vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_business .text_image.second h3, .toppage .top_business .text_image.second p {
    width: 475px;
    margin-left: auto;
    margin-right: 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_business .text_image.second h3, .toppage .top_business .text_image.second p {
    width: 41.6666vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_business .text_image.second .btn {
    margin: 82px 0 0 auto;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_business .text_image.second .btn {
    margin: 7.1929vw 0 0 auto;
  }
}
@media (min-width: 769px) {
  .toppage .top_business .text_image.second .image {
    position: absolute;
    top: -125px;
    right: 50%;
    transform: translateX(-125px);
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_business .text_image.second .image {
    top: -10.9649vw;
    transform: translateX(-10.9649vw);
    width: 52.6315vw;
  }
}
@media (min-width: 769px) {
  .toppage .bg_products {
    width: 100%;
    height: 475px;
    overflow: hidden;
    margin-bottom: 140px;
    position: relative;
    z-index: 1;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .bg_products {
    height: 41.6666vw;
    margin-bottom: 12.2807vw;
  }
}
@media (min-width: 769px) {
  .toppage .bg_products img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 0;
  }
}
@media (min-width: 769px) {
  .toppage .top_feature {
    max-width: 1000px;
    margin: auto;
    position: relative;
    padding-bottom: 150px;
  }
  .toppage .top_feature .en_title {
    position: absolute;
    right: 0;
    top: 0;
  }
  .toppage .top_feature h3 {
    text-align: right;
    padding-right: 125px;
    margin-bottom: 60px;
  }
  .toppage .top_feature .grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 230px 130px auto;
    grid-template-areas: "video title" "video text" "video button";
    gap: 0 50px;
  }
  .toppage .top_feature h4 {
    grid-area: title;
    padding-top: 130px;
  }
  .toppage .top_feature p {
    grid-area: text;
  }
  .toppage .top_feature .btn {
    grid-area: button;
  }
  .toppage .top_feature .video {
    grid-area: video;
    position: relative;
  }
  .toppage .top_feature .video .play-btn {
    display: block;
    width: 20%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 70px;
    height: 70px;
    cursor: pointer;
  }
  .toppage .top_feature .video .play-btn.playActive {
    display: none;
  }
}
@media (min-width: 769px) {
  .toppage .top_kodawari {
    max-width: 1000px;
    margin: 0 auto 150px auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 50px;
    grid-template-areas: "title image" "text image" "button image";
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_kodawari {
    max-width: 87.7192vw;
    margin: 0 auto 13.1578vw auto;
    gap: 2.6315vw 4.3859vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_kodawari h3 {
    grid-area: title;
  }
}
@media (min-width: 769px) {
  .toppage .top_kodawari p {
    grid-area: text;
  }
}
@media (min-width: 769px) {
  .toppage .top_kodawari .btn {
    grid-area: button;
  }
}
@media (min-width: 769px) {
  .toppage .top_kodawari img {
    grid-area: image;
  }
}
@media (min-width: 769px) {
  .toppage .top_product {
    overflow: hidden;
    position: relative;
    padding-bottom: 74px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_product {
    padding-bottom: 6.4912vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_product::after {
    content: "";
    width: calc(1000px + (100% - 1000px) / 2);
    height: 390px;
    border-radius: 30px 0 0 30px;
    background: #D0C8C8;
    display: block;
    position: absolute;
    top: 110px;
    right: 0;
    z-index: -1;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_product::after {
    width: calc(87.7192vw + (100% - 87.7192vw) / 2);
    height: 34.2105vw;
    border-radius: 2.6315vw 0 0 2.6315vw;
    top: 9.6491vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_product .product_slider {
    width: 1200px;
    margin: 0 auto;
    transform: translateX(150px);
  }
}
@media (min-width: 769px) and (min-width: 1500px) {
  .toppage .top_product .product_slider {
    width: 1550px;
    transform: translateX(350px);
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_product .product_slider {
    width: 100vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_product .product_box {
    font-size: 14px;
    line-height: 1.5;
    width: 350px;
    margin: 0 25px;
    display: block;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_product .product_box {
    font-size: 1.228vw;
    width: 30.7017vw;
    margin: 0 2.1929vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_product .product_box:hover {
    opacity: 1;
  }
  .toppage .top_product .product_box:hover .title {
    border-bottom: 2px solid rgb(255, 255, 255);
  }
}
@media (min-width: 769px) {
  .toppage .top_product .product_box .thumbnail {
    margin-bottom: 20px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_product .product_box .thumbnail {
    margin-bottom: 1.7543vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_product .product_box .copy {
    font-size: 12px;
    margin-bottom: 4px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_product .product_box .copy {
    font-size: 1.0526vw;
    margin-bottom: 0.3508vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_product .product_box .title {
    font-size: 18px;
    font-weight: 700;
    border-bottom: 2px solid rgba(255, 255, 255, 0);
    display: inline-block;
    margin-bottom: 16px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_product .product_box .title {
    font-size: 1.5789vw;
    margin-bottom: 1.4035vw;
  }
}
@media (min-width: 769px) {
  .toppage .top_product .product_box .description {
    font-size: 12px;
    line-height: 2;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .top_product .product_box .description {
    font-size: 1.0526vw;
  }
}
@media (min-width: 769px) {
  .toppage .caution {
    margin: 90px auto 0 auto;
    padding-bottom: 230px;
    text-align-last: center;
    max-width: 1000px;
    border-bottom: 1px solid #000000;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .caution {
    margin: 7.8947vw auto 0 auto;
    padding-bottom: 20.1754vw;
    max-width: 87.7192vw;
  }
}
@media (min-width: 769px) {
  .toppage .caution img {
    margin-bottom: 20px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .caution img {
    margin-bottom: 1.7543vw;
  }
}
@media (min-width: 769px) {
  .toppage .caution p {
    font-size: 18px;
    margin-bottom: 28px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .caution p {
    font-size: 1.5789vw;
    margin-bottom: 2.4561vw;
  }
}
@media (min-width: 769px) {
  .toppage .caution a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 260px;
    height: 40px;
    border-radius: 20px;
    border: 1px solid #000000;
    font-size: 16px;
    margin: 0 auto;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .toppage .caution a {
    width: 22.807vw;
    height: 3.5087vw;
    border-radius: 1.7543vw;
    font-size: 1.4035vw;
  }
}
@media (min-width: 769px) {
  .toppage .caution a:hover {
    border: 1px solid #C50030;
    color: #C50030;
    opacity: 1;
  }
}
@media (min-width: 769px) {
  .float_bnr a {
    position: fixed;
    left: 20px;
    bottom: 20px;
    z-index: 1;
    transition: opacity 0s;
    background: #ffffff;
    display: inline-block;
  }
  .float_bnr a:hover {
    opacity: 1;
  }
  .float_bnr a:hover img {
    opacity: 0.8;
  }
  .float_bnr a img {
    max-width: 280px;
  }
}
@media (min-width: 769px) {
  .company .message {
    margin-bottom: 220px;
  }
  .company .large_img {
    width: 100%;
    position: relative;
  }
  .company .philosophy {
    position: relative;
    background: #ffffff;
    color: #000000;
    padding: 210px 0 220px 0;
    overflow: hidden;
    transition: 0.3s;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .company .philosophy {
    padding: 21vw 0 22vw 0;
  }
}
@media (min-width: 769px) {
  .company .philosophy h3 {
    font-size: 80px;
    text-align-last: center;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .company .philosophy h3 {
    font-size: 8vw;
  }
}
@media (min-width: 769px) {
  .company .philosophy h3 rt {
    font-size: 14px;
    color: #000000;
    font-weight: 300;
    transform: translateY(-15px);
  }
}
@media (min-width: 769px) {
  .company .philosophy .slide_text {
    font-size: 30px;
    font-weight: bold;
    margin: 40px 0 70px 0;
    white-space: nowrap;
    text-align-last: center;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .company .philosophy .slide_text {
    font-size: 3vw;
  }
}
@media (min-width: 769px) {
  .company .philosophy .row {
column-count: 2;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    font-size: 18px;
    line-height: 2;
    font-weight: 700;
  }/*修正230707_ap*/
}
@media (min-width: 769px) and (max-width: 1140px) {
  .company .philosophy .row {
    margin-bottom: 2em;
    font-size: 1.7543vw;
  }/*修正230707_ap*/
}
@media (min-width: 769px) {
  .company .philosophy.bg_change {
    background: #CBBBBB;
    color: #ffffff;
  }
  .company .philosophy.bg_change rt {
    color: #000000;
  }
}
@media (min-width: 769px) {
  .company .profile {
    padding: 156px 0 161px 0;
  }
  .company .profile h2 {
    top: 156px;
  }
  .company .profile dl {
    display: flex;
    align-items: center;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 5px;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .company .profile dl {
    font-size: 1.6vw;
  }
}
@media (min-width: 769px) {
  .company .profile dl dt {
    font-weight: bold;
    padding: 5px 10px;
    min-width: 164px;
    text-align-last: right;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .company .profile dl dt {
    min-width: 100px;
  }
}
@media (min-width: 769px) {
  .company .profile dl dd {
    padding: 12px 10px;
    border-left: 1px solid #000000;
  }
}
@media (min-width: 769px) {
  .company .access {
    background: #F5F5F5;
    padding: 156px 0 161px 0;
  }
  .company .access dl {
    display: flex;
    align-items: center;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 5px;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .company .access dl {
    font-size: 1.6vw;
  }
}
@media (min-width: 769px) {
  .company .access dl dt {
    font-weight: bold;
    padding: 30px 10px;
    min-width: 164px;
    text-align-last: right;
    white-space: nowrap;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .company .access dl dt {
    min-width: 100px;
    padding: 3vw 1vw;
  }
}
@media (min-width: 769px) {
  .company .access dl dd {
    padding: 30px 10px;
    border-left: 1px solid #000000;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: 1.5;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .company .access dl dd {
    padding: 3vw 1vw;
  }
  .company .access dl dd .btn {
    width: 20vw;
    margin-left: 1.7543vw;
  }
  .company .access dl dd .btn img {
    width: 8vw;
  }
}
@media (min-width: 769px) {
  .company .history {
    padding: 156px 0 161px 0;
    position: relative;
  }
  .company .history h2 {
    top: 156px;
  }
  .company .history h3 {
    color: #C50030;
    font-weight: bold;
    font-size: 24px;
    max-width: 750px;
    margin: 0 auto 100px auto;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .company .history h3 {
    font-size: 2.4vw;
    margin: 0 auto 8vw auto;
  }
}
@media (min-width: 769px) {
  .company .history .slider_container {
    width: calc(100vw + 300px);
    transform: translateX(calc((100vw - 1000px + 600px) / -2));
    cursor: grab;
  }
  .company .history .slider_container:active {
    cursor: grabbing;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .company .history .slider_container {
    width: 100vw;
    transform: translateX(-18.28075vw);
  }
}
@media (min-width: 769px) {
  .company .history .history_box {
    min-width: 650px;
    max-width: 650px;
    margin: 0 50px 0 0;
  }
  .company .history .history_box .history_header {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 319px;
    grid-template-areas: "year image" "title image";
    margin-bottom: 20px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .company .history .history_box .history_header {
    grid-template-columns: 1fr 50%;
  }
}
@media (min-width: 769px) {
  .company .history .history_box .year {
    grid-area: year;
    opacity: 0.1;
    transition: 0.3s;
    width: 50%;
  }
}
@media (min-width: 769px) {
  .company .history .history_box .image {
    grid-area: image;
  }
}
@media (min-width: 769px) {
  .company .history .history_box h4 {
    grid-area: title;
    display: flex;
    align-items: flex-end;
    font-size: 18px;
    line-height: 1.5;
    padding-right: 30px;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .company .history .history_box h4 {
    font-size: 1.8vw;
  }
}
@media (min-width: 769px) {
  .company .history .history_box p {
    line-height: 1.8;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .company .history .history_box p {
    font-size: 1.6vw;
  }
}
@media (min-width: 769px) {
  .company .history .slick-current .year {
    opacity: 1;
  }
}
@media (min-width: 769px) {
  .company .history .slick-slide {
    opacity: 0.1;
  }
}
@media (min-width: 769px) {
  .company .history .slick-center,
  .company .history .slick-center ~ .slick-slide {
    opacity: 1;
  }
}
@media (min-width: 769px) {
  .company .history .slick-dots {
    position: static;
    width: calc(100vw - (100vw - 1000px) / 2);
    display: flex;
    transform: translateX(calc((100vw - 400px) / 2));
    margin-top: 30px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .company .history .slick-dots {
    width: 100vw;
    transform: translateX(6.1403vw);
    margin: 4vw auto 0 auto;
  }
}
@media (min-width: 769px) {
  .company .history .slick-dots li {
    display: block;
    width: 12.5vw;
    height: 4px;
    margin: 0;
  }
  .company .history .slick-dots li button {
    padding: 0;
    width: 100%;
    height: 4px;
    background: #D8D8D8;
  }
  .company .history .slick-dots li button::before {
    display: none;
  }
  .company .history .slick-dots li.slick-active button {
    background: #000000;
  }
}
@media (min-width: 769px) {
  .company .history .slider_arrow {
    background: #C50030;
    width: 60px;
    height: 60px;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 25px;
    z-index: 1;
    cursor: pointer;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .company .history .slider_arrow {
    right: 1vw;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .company .history .slider_arrow {
    right: -3vw;
  }
}
@media (min-width: 769px) {
  .company .history .slider_arrow svg {
    transform: translateX(-3px);
  }
  .company .history .slider_arrow svg path {
    fill: #ffffff;
  }
}
@media (min-width: 769px) {
  .company .history .slider_arrow.prev_arrow {
    top: 150px;
  }
}
@media (min-width: 769px) {
  .company .history .slider_arrow.next_arrow {
    top: 230px;
    transform: rotate(180deg);
  }
}
@media (min-width: 769px) {
  .company .history .slider_arrow.slick-disabled {
    background: #E8E8E8;
  }
}
@media (min-width: 769px) {
  .company .history .history_slider_arrow {
    position: absolute;
    top: 50%;
    width: 44px;
    height: 44px;
    z-index: 100000;
  }
}
@media (min-width: 769px) {
  .company .history .slider_prev {
    left: 50%;
    transform: translate(-450px, 0);
  }
}
@media (min-width: 769px) {
  .company .history .slider_next {
    right: 20px;
    transform: rotate(180deg);
  }
}
@media (min-width: 769px) {
  .company .history .slick-disabled {
    display: none !important;
  }
}
@media (min-width: 769px) {
  .policy section {
    margin-bottom: 80px;
  }
  .policy h2 {
    margin-bottom: 120px;
  }
  .policy h3 {
    margin-bottom: 9px;
  }
  .policy h4 {
    margin-bottom: 20px;
  }
  .policy p {
    margin-bottom: 30px;
  }
  .policy .sns_section {
    margin-bottom: 100px;
  }
  .policy .sns_section:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 769px) {
  .product_kodawari .feature {
    background: #F5F5F5;
    margin-top: 50px;
    padding: 150px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_kodawari .feature {
    padding: 14vw 0;
    margin-top: 5vw;
  }
}
@media (min-width: 769px) {
  .product_kodawari .feature .feature_box {
    display: grid;
    grid-template-columns: 46px 1fr;
    grid-template-areas: "title image" "title subtitle" "text text";
    gap: 0 80px;
    margin-bottom: 185px;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .product_kodawari .feature .feature_box {
    grid-template-columns: 4.6vw 1fr;
    gap: 0 8vw;
    margin-bottom: 18.5vw;
  }
}
@media (min-width: 769px) {
  .product_kodawari .feature .feature_box:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 769px) {
  .product_kodawari .feature h2 {
    grid-area: title;
    font-size: 46px;
    line-height: 1;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .product_kodawari .feature h2 {
    font-size: 4.6vw;
  }
}
@media (min-width: 769px) {
  .product_kodawari .feature h2 img {
    vertical-align: baseline;
    margin: 15px 0;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .product_kodawari .feature h2 img {
    margin: 1.5vw 0;
  }
}
@media (min-width: 769px) {
  .product_kodawari .feature .image {
    grid-area: image;
  }
}
@media (min-width: 769px) {
  .product_kodawari .feature h3 {
    grid-area: subtitle;
    font-size: 28px;
    color: #C50030;
    margin-top: 30px;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .product_kodawari .feature h3 {
    font-size: 2.8vw;
    margin-top: 3vw;
  }
}
@media (min-width: 769px) {
  .product_kodawari .feature .text {
    grid-area: text;
    margin-top: 30px;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .product_kodawari .feature .text {
    margin-top: 3vw;
  }
}
@media (min-width: 769px) {
  .product_kodawari .feature p {
    font-size: 16px;
    line-height: 1.8;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .product_kodawari .feature p {
    font-size: 1.6vw;
  }
}
@media (min-width: 769px) {
  .product_kodawari .kodawari {
    padding: 160px 0;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .product_kodawari .kodawari {
    padding: 16vw 0;
  }
}
@media (min-width: 769px) {
  .product_kodawari .kodawari h2 {
    color: #C50030;
    font-size: 32px;
    line-height: 1.4375;
    margin-bottom: 39px;
    text-align-last: center;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .product_kodawari .kodawari h2 {
    font-size: 3.2vw;
    margin-bottom: 3.9vw;
  }
}
@media (min-width: 769px) {
  .product_kodawari .kodawari p {
    font-size: 16px;
    line-height: 1.8;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .product_kodawari .kodawari p {
    font-size: 1.6vw;
  }
}
@media (min-width: 769px) {
  .product_kodawari .kodawari .reviii {
    margin: 200px 0 0 0;
    background-size: contain;
    text-align-last: center;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_kodawari .kodawari .reviii {
    margin: 20vw 0 0 0;
  }
}
@media (min-width: 769px) {
  .product_kodawari .kodawari .reviii h3 {
    font-size: 40px;
    display: inline-block;
    padding: 0 28px;
    background: #ffffff;
    margin-bottom: 86px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_kodawari .kodawari .reviii h3 {
    font-size: 3vw;
    padding: 0 2.8vw;
    margin-bottom: 5vw;
  }
}
@media (min-width: 769px) {
  .product_kodawari .kodawari .reviii p {
    margin-bottom: 78px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_kodawari .kodawari .reviii p {
    margin-bottom: 3.8vw;
    font-size: 1.5vw;
  }
}
@media (min-width: 769px) {
  .product_himitsu .energy {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "title img2" "img1 img2";
    gap: 40px 50px;
    margin: 196px 0 184px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_himitsu .energy {
    gap: 3.5087vw 4.3859vw;
  }
}
@media (min-width: 769px) {
  .product_himitsu .energy h2 {
    grid-area: title;
    text-align-last: center;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_himitsu .energy h2 {
    font-size: 2.8vw;
  }
}
@media (min-width: 769px) {
  .product_himitsu .energy .img01 {
    grid-area: img1;
  }
}
@media (min-width: 769px) {
  .product_himitsu .energy .img02 {
    grid-area: img2;
  }
}
@media (min-width: 769px) {
  .product_himitsu .video {
    grid-area: img1;
    position: relative;
  }
  .product_himitsu .video video {
    margin: 0 auto 30px auto;
  }
  .product_himitsu .video .play-btn {
    display: block;
    width: 20%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 70px;
    height: 70px;
    cursor: pointer;
  }
  .product_himitsu .video .play-btn.playActive {
    display: none;
  }
}
@media (min-width: 769px) {
  .product_himitsu .detail {
    background: #F5F5F5;
    margin-top: 50px;
    padding: 150px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_himitsu .detail {
    padding: 14vw 0;
    margin-top: 5vw;
  }
}
@media (min-width: 769px) {
  .product_himitsu .detail .energy_detail {
    margin-bottom: 100px;
    padding-bottom: 100px;
    border-bottom: 3px solid #ffffff;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_himitsu .detail .energy_detail {
    margin-bottom: 10vw;
    padding-bottom: 10vw;
  }
}
@media (min-width: 769px) {
  .product_himitsu .detail .energy_detail:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
}
@media (min-width: 769px) {
  .product_himitsu .detail h2 {
    display: flex;
    align-items: center;
    margin-bottom: 82px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_himitsu .detail h2 {
    margin-bottom: 8.2vw;
  }
}
@media (min-width: 769px) {
  .product_himitsu .detail h2 span {
    font-weight: 400;
    padding-left: 1em;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_himitsu .detail h2 span {
    line-height: 1.8;
  }
}
@media (min-width: 769px) {
  .product_himitsu .detail h3 {
    margin-bottom: 20px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_himitsu .detail h3 {
    margin-bottom: 2vw;
  }
}
@media (min-width: 769px) {
  .product_himitsu .detail .item_container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
    margin-top: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_himitsu .detail .item_container {
    gap: 5vw;
    margin-top: 5vw;
  }
}
@media (min-width: 769px) {
  .product_himitsu .detail .item_container .item_box {
    text-align-last: center;
  }
}
@media (min-width: 769px) {
  .product_himitsu .detail .item_container a {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 260px;
    height: 40px;
    border: 1px solid #000000;
    border-radius: 20px;
    margin: 20px auto 0 auto;
    transition: 0.3s;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_himitsu .detail .item_container a {
    font-size: 1.6vw;
    margin: 2vw auto 0 auto;
    height: 4vw;
  }
}
@media (min-width: 769px) {
  .product_himitsu .detail .item_container a:hover {
    opacity: 1;
    font-weight: 500;
    border-color: #C50030;
    color: #C50030;
  }
}
@media (min-width: 769px) {
  .concept_mv {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    height: 796px;
    width: 100%;
    background: url(../img/concept/img_concept_mv.jpg) no-repeat center;
    background-size: cover;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .concept_mv {
    height: 69.8245vw;
  }
}
@media (min-width: 769px) {
  .concept_mv .inner {
    max-width: 1000px;
    margin: auto;
  }
}
@media (min-width: 769px) and (max-width: 999px) {
  .concept_mv .inner {
    padding: 0 6.1403vw;
  }
  /*修正230707_ap*/
}
@media (min-width: 1000px) and (max-width: 1140px) {
  .concept_mv .inner {
    max-width: 80vw;
  }
}
@media (min-width: 769px) {
  .concept_mv .inner h2 {
    width: 14px;
    margin-top: 136px;
    position: relative;
    top: 5.5vw;
  }
}
@media (min-width: 769px) and (max-width: 999px) {
  .concept_mv .inner h2 {
    width: 1.5%;/*修正230707_ap*/
    margin-top: 11.9298vw;
  }
}
@media (min-width: 1000px) and (max-width: 1140px) {
  .concept_mv .inner h2 {
    width: 1.3%;/*修正230707_ap*/
    margin-top: 11.9298vw;
  }
}
@media (min-width: 769px) {
  .concept_mv .inner h2 img {
    width: 100%;
  }
}
@media (min-width: 769px) {
  .concept_mv .txt_box {
    max-width: 750px;
    height: 565px;
    margin: auto;
    position: relative;
    transform: translateY(-100px);
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .concept_mv .txt_box {
    max-width: 65.7894vw;
    height: 49.5614vw;
    transform: translateY(-8.7719vw);
  }
}
@media (min-width: 769px) {
  .concept_mv .txt_box .img1 {
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .concept_mv .txt_box .img1 {
    width: 4.3859vw;
  }
}
@media (min-width: 769px) {
  .concept_mv .txt_box .img2 {
    position: absolute;
    left: 0;
    bottom: 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .concept_mv .txt_box .img2 {
    width: 41.8421vw;
  }
}
@media (min-width: 769px) {
  .concept_mv .txt_box span {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    left: 0;
    bottom: 0;
  }
}
@media (min-width: 769px) {
  .concept {
    margin-top: 800px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .concept {
    margin-top: 70.1754vw;
  }
}
@media (min-width: 769px) {
  .concept .roots {
    background: #F5F5F5;
    margin-top: 50px;
    padding: 150px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .concept .roots {
    padding: 14vw 0;
    margin-top: 5vw;
  }
}
@media (min-width: 769px) {
  .concept .roots h2 {
    grid-area: title;
    font-size: 34px;
    line-height: 1.4118;
    margin-bottom: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .concept .roots h2 {
    font-size: 3vw;
    line-height: 1.3;
    margin-bottom: 5vw;
  }
}
@media (min-width: 769px) {
  .concept .roots h3 {
    grid-area: subtitle;
    font-size: 24px;
    line-height: 1;
    color: #C50030;
    display: flex;
    align-items: flex-end;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .concept .roots h3 {
    font-size: 2.4vw;
    margin-bottom: 2vw;
  }
}
@media (min-width: 769px) {
  .concept .roots .image {
    grid-area: image;
  }
}
@media (min-width: 769px) {
  .concept .roots p {
    grid-area: text;
    margin-top: 20px;
    font-size: 20px;
    line-height: 2;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .concept .roots p {
    font-size: 1.8vw;
    line-height: 1.8;
  }
}
@media (min-width: 769px) {
  .concept .philosophy {
    position: relative;
    background: #ffffff;
    color: #000000;
    padding: 210px 0 220px 0;
    overflow: hidden;
    transition: 0.3s;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .concept .philosophy {
    padding: 21vw 0 22vw 0;
  }
}
@media (min-width: 769px) {
  .concept .philosophy h2 {
    font-size: 60px;
    text-align-last: center;
    font-feature-settings: "palt";
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .concept .philosophy h2 {
    font-size: 6vw;
  }
}
@media (min-width: 769px) {
  .concept .philosophy h3 {
    font-size: 28px;
    font-weight: bold;
    margin: 40px 0 70px 0;
    white-space: nowrap;
    text-align-last: center;
    color: #C50030;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .concept .philosophy h3 {
    font-size: 2.8vw;
  }
}
@media (min-width: 769px) {
  .concept .philosophy .row {
   grid-template-columns: 1fr 1fr;
    gap: 50px;
    column-count: 2;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.8;
  }/*修正230707_ap*/
}
@media (min-width: 769px) and (max-width: 1000px) {
  .concept .philosophy .row {
    font-size: 1.7543vw;
    line-height: 2;
  }/*修正230707_ap*/
}
@media (min-width: 769px) and (max-width: 1140px) {
  .concept .philosophy .row {
    margin-bottom: 2em;
  }/*修正230707_ap*/
}
@media (min-width: 769px) {
  .concept .philosophy.bg_change {
    background: #CBBBBB;
    color: #ffffff;
  }
}
@media (min-width: 769px) {
  .concept .contents {
    padding: 170px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .concept .contents {
    padding: 14.9122vw 0;
  }
}
@media (min-width: 769px) {
  .concept .contents .c_box {
    display: grid;
    grid-template-columns: 300px 1fr;
    grid-template-areas: "image title" "image text" "image button";
    gap: 0 50px;
    margin-bottom: 120px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .concept .contents .c_box {
    grid-template-columns: 26.3157vw 1fr;
    gap: 0 4.3859vw;
    margin-bottom: 10.5263vw;
  }
}
@media (min-width: 769px) {
  .concept .contents .c_box:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 769px) {
  .concept .contents .c_box .image {
    grid-area: image;
  }
}
@media (min-width: 769px) {
  .concept .contents .c_box h2 {
    grid-area: title;
    font-size: 24px;
    line-height: 1.5833;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .concept .contents .c_box h2 {
    margin-bottom: 1.7543vw;
  }
}
@media (min-width: 769px) {
  .concept .contents .c_box .text {
    grid-area: text;
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.8889;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .concept .contents .c_box .text {
    margin-bottom: 1.7543vw;
    font-size: 1.6vw;
    line-height: 1.8;
  }
}
@media (min-width: 769px) {
  .concept .contents .c_box .button {
    grid-area: button;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
  }
}
@media (min-width: 769px) {
  .news_detail .article_header {
    display: grid;
    grid-template-columns: 15px auto;
    grid-template-areas: "en_text datecat" "en_text title";
    gap: 0 100px;
    border-bottom: 1px solid #000000;
    padding-bottom: 50px;
    margin-bottom: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .news_detail .article_header {
    grid-template-columns: 1.5vw auto;
    gap: 0 10vw;
    padding-bottom: 5vw;
    margin-bottom: 5vw;
  }
}
@media (min-width: 769px) {
  .news_detail .en_text {
    grid-area: en_text;
  }
}
@media (min-width: 769px) {
  .news_detail .date_category {
    grid-area: datecat;
    display: flex;
    align-items: center;
  }
  .news_detail .date_category .date {
    font-size: 16px;
    font-weight: 700;
    margin-right: 25px;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .news_detail .date_category .date {
    font-size: 1.6vw;
    margin-right: 2.5vw;
  }
}
@media (min-width: 769px) {
  .news_detail .date_category .category span {
    border: 1px solid #000000;
    border-radius: 12px;
    padding: 0 15px;
    font-size: 14px;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .news_detail .date_category .category span {
    padding: 0 1.5vw;
    font-size: 1.5vw;
  }
}
@media (min-width: 769px) {
  .news_detail h1 {
    grid-area: title;
    font-size: 28px;
    font-weight: 500;
    line-height: 1.7143;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .news_detail h1 {
    font-size: 2.8vw;
  }
}
@media (min-width: 769px) {
  .news_detail .article_body {
    font-size: 16px;
    line-height: 1.875;
    padding-bottom: 50px;
    border-bottom: 1px solid #000000;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .news_detail .article_body {
    font-size: 1.6vw;
  }
}
@media (min-width: 769px) {
  .news_detail .article_body p {
    margin-bottom: 1.875em;
  }
}
@media (min-width: 769px) {
  .news_detail .article_body h2 {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    border-left: 5px solid #000000;
    padding-left: 10px;
    margin: 30px 0 20px 0;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .news_detail .article_body h2 {
    font-size: 2vw;
    margin: 3vw 0 2vw 0;
  }
}
@media (min-width: 769px) {
  .news_detail .article_body h3 {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    margin: 30px 0 20px 0;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .news_detail .article_body h3 {
    font-size: 1.8vw;
    margin: 3vw 0 2vw 0;
  }
}
@media (min-width: 769px) {
  .news_detail .article_nav {
    display: flex;
    justify-content: space-between;
    padding: 40px 0 160px 0;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .news_detail .article_nav {
    padding: 4vw 0 16vw 0;
  }
}
@media (min-width: 769px) {
  .news_detail .article_nav a, .news_detail .article_nav div {
    display: flex;
    align-items: center;
    transition: 0.3s;
    font-size: 18px;
    line-height: 1;
  }
  .news_detail .article_nav a.prev, .news_detail .article_nav div.prev {
    width: 100px;
  }
  .news_detail .article_nav a.prev img, .news_detail .article_nav div.prev img {
    transform: rotate(180deg);
    margin-right: 8px;
  }
  .news_detail .article_nav a.list img, .news_detail .article_nav div.list img {
    transform: rotate(-90deg);
    margin-left: 8px;
  }
  .news_detail .article_nav a.next, .news_detail .article_nav div.next {
    width: 100px;
  }
  .news_detail .article_nav a.next img, .news_detail .article_nav div.next img {
    margin-left: 8px;
  }
  .news_detail .article_nav a:hover, .news_detail .article_nav div:hover {
    opacity: 1;
    color: #C50030;
  }
}
@media (min-width: 769px) {
  .news_list {
    position: relative;
  }
  .news_list .en_text {
    position: absolute;
    top: 0;
    left: 0;
  }
  .news_list .category_container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 115px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .news_list .category_container {
    margin-bottom: 10.0877vw;
  }
}
@media (min-width: 769px) {
  .news_list .category_container a {
    width: 160px;
    height: 40px;
    border: 1px solid #000000;
    border-radius: 20px;
    font-size: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 5px;
    transition: 0.3s;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .news_list .category_container a {
    width: 14.035vw;
    height: 3.5087vw;
    border-radius: 1.7543vw;
    font-size: 1.4035vw;
    margin: 0 0.4385vw;
  }
}
@media (min-width: 769px) {
  .news_list .category_container a:hover {
    font-weight: 500;
    border-color: #C50030;
    color: #C50030;
    opacity: 1;
  }
}
@media (min-width: 769px) {
  .news_list .category_container a.current {
    background: #C50030;
    color: #ffffff;
    border-color: #C50030;
    font-weight: 400 !important;
  }
}
@media (min-width: 769px) {
  .news_list .list_container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 75px 50px;
    margin-bottom: 75px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .news_list .list_container {
    gap: 6.5789vw 4.3859vw;
    margin-bottom: 6.5789vw;
  }
}
@media (min-width: 769px) {
  .news_list .news_box {
    font-size: 14px;
    line-height: 1.5;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .news_list .news_box {
    font-size: 1.228vw;
  }
}
@media (min-width: 769px) {
  .news_list .news_box .thumbnail {
    margin-bottom: 20px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .news_list .news_box .thumbnail {
    margin-bottom: 1.7543vw;
  }
}
@media (min-width: 769px) {
  .news_list .news_box .date_cat {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .news_list .news_box .date_cat {
    margin-bottom: 1.3157vw;
  }
}
@media (min-width: 769px) {
  .news_list .news_box .category {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 19px;
    border-radius: 10px;
    border: 1px solid #000000;
    font-size: 12px;
    padding: 0 19px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .news_list .news_box .category {
    height: 1.6666vw;
    font-size: 1.0526vw;
    padding: 0 1.6666vw;
  }
}
@media (min-width: 769px) {
  .news_list .pagenation,
  .news_list .wp-pagenavi {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 100px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .news_list .pagenation,
  .news_list .wp-pagenavi {
    padding-bottom: 10vw;
  }
}
@media (min-width: 769px) {
  .news_list .pagenation span, .news_list .pagenation a,
  .news_list .wp-pagenavi span,
  .news_list .wp-pagenavi a {
    width: 30px;
    height: 30px;
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    line-height: 1;
    margin: 0 10px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .news_list .pagenation span, .news_list .pagenation a,
  .news_list .wp-pagenavi span,
  .news_list .wp-pagenavi a {
    width: 2.6315vw;
    height: 2.6315vw;
    border-radius: 1.3157vw;
    font-size: 1.5789vw;
    margin: 0 0.8771vw;
  }
}
@media (min-width: 769px) {
  .news_list .pagenation span.previouspostslink, .news_list .pagenation a.previouspostslink,
  .news_list .wp-pagenavi span.previouspostslink,
  .news_list .wp-pagenavi a.previouspostslink {
    background: url(../img/news/ico_arrow_newsnav.svg) no-repeat;
    background-size: contain;
    transform: rotate(180deg);
    text-indent: -99999vw;
  }
}
@media (min-width: 769px) {
  .news_list .pagenation span.nextpostslink, .news_list .pagenation a.nextpostslink,
  .news_list .wp-pagenavi span.nextpostslink,
  .news_list .wp-pagenavi a.nextpostslink {
    background: url(../img/news/ico_arrow_newsnav.svg) no-repeat;
    background-size: contain;
    text-indent: -99999vw;
  }
}
@media (min-width: 769px) {
  .news_list .pagenation span,
  .news_list .wp-pagenavi span {
    background: #000000;
    color: #ffffff;
  }
}
@media (min-width: 769px) {
  .news_list .pagenation img,
  .news_list .wp-pagenavi img {
    width: 30px;
    height: 30px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .news_list .pagenation img,
  .news_list .wp-pagenavi img {
    width: 2.6315vw;
    height: 2.6315vw;
  }
}
@media (min-width: 769px) {
  .service_pet .headline small {
    font-size: 24px;
    display: block;
  }
  .service_pet .headline img {
    margin-bottom: 10px;
  }
  .service_pet .dryer {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "title text" "image text" "button button";
    gap: 0 50px;
    margin: 140px 0 100px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .service_pet .dryer {
    gap: 0 4.3859vw;
    margin: 12.2807vw 0 8.7719vw 0;
  }
}
@media (min-width: 769px) {
  .service_pet .dryer h2 {
    grid-area: title;
    font-size: 24px;
    line-height: 1.5833;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .service_pet .dryer h2 {
    font-size: 2.1052vw;
  }
  .service_pet .dryer h2 br {
    display: none;
  }
}
@media (min-width: 769px) {
  .service_pet .dryer .image {
    text-align: image;
    display: flex;
    align-items: flex-end;
  }
}
@media (min-width: 769px) {
  .service_pet .dryer p {
    grid-area: text;
    font-size: 20px;
    line-height: 2;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .service_pet .dryer p {
    font-size: 1.7543vw;
  }
}
@media (min-width: 769px) {
  .service_pet .dryer .button {
    grid-area: button;
  }
  .service_pet .dryer .button .btn {
    width: 430px;
    margin: 50px auto 0 auto;
  }
}
@media (min-width: 769px) {
  .service_pet .develop {
    background: #F5F5F5;
    margin-top: 50px;
    padding: 150px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .service_pet .develop {
    padding: 14vw 0;
    margin-top: 5vw;
  }
}
@media (min-width: 769px) {
  .service_pet .develop section {
    display: grid;
    grid-template-columns: 1fr 650px;
    grid-template-areas: "title image" "text text";
    gap: 50px 38px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .service_pet .develop section {
    grid-template-columns: 1fr 60%;
    gap: 4.3859vw 3.3333vw;
  }
}
@media (min-width: 769px) {
  .service_pet .develop h2 {
    grid-area: title;
    font-size: 24px;
    line-height: 1.5833;
    display: flex;
    align-items: center;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .service_pet .develop h2 {
    font-size: 2.1052vw;
  }
  .service_pet .develop h2 br {
    display: none;
  }
}
@media (min-width: 769px) {
  .service_pet .develop .image {
    text-align: image;
    display: flex;
    align-items: flex-end;
  }
}
@media (min-width: 769px) {
  .service_pet .develop p {
    grid-area: text;
    font-size: 20px;
    line-height: 2;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .service_pet .develop p {
    font-size: 1.7543vw;
  }
}

/* 追加240625_APここから */
.toform_txt {
  font-weight: 600;
  margin-top: 2vw;
}
article .toform_btn {
  margin: 5vw auto;
text-align:center;
text-align-last:center;}
.toform_btn a {
  display:block;
padding:1vw 0;
background-color:#C50030;
color:#fff;
font-weight:600;
border-radius: 1vw;}
.toform_btn a:hover {
  opacity:0.7;}
  @media (max-width: 768px) {
      .toform_txt {
  margin-top: 3vw;
}
.toform_btn a {
padding:2vw 0;
border-radius: 2vw;}
}
  @media (min-width: 1141px) {
      .toform_txt {
  margin-top: 20px;
}
article .toform_btn {
  margin: 50px auto;
}
.toform_btn a {
padding:10px 0;
border-radius: 10px;}
.toform_btn a:hover {
  opacity:0.7;}
}
/* 追加240625_APここまで */

@media (min-width: 769px) {
  .contact_new {
    /* チェックボックスデザイン */
  }
  .contact_new .message {
    margin-bottom: 104px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .message {
    margin-bottom: 9.1228vw;
  }
}
@media (min-width: 769px) {
  .contact_new .message .inner {
    padding-left: 125px;
    margin-bottom: 100px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .message .inner {
    padding-left: 0;
    margin-bottom: 10vw;
  }
}
@media (min-width: 769px) {
  .contact_new .message .item_photo {
    width: 100vw;
    max-width: none;
    transform: translateX(calc((100vw - 1000px) / -2));
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .message .item_photo {
    transform: translateX(-12.1403vw);
  }
}
@media (min-width: 769px) {
  .contact_new .message h3 {
    margin-bottom: 51px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .message h3 {
    font-size: 2.1052vw;
    margin-bottom: 4.4736vw;
    margin-left: 6vw;/*修正230707_ap*/
  }
}
@media (min-width: 769px) {
  .contact_new .message h4 {
    color: #C50030;
    margin-bottom: 30px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .message h4 {
    margin-bottom: 2.6315vw;
    margin-left: 6vw;/*修正230707_ap*/
  }
}
@media (min-width: 769px) {
  .contact_new .message p {
    margin-bottom: 46px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .message p {
    margin-bottom: 4.035vw;
    margin-left: 6vw;/*修正230707_ap*/
  }
}
@media (min-width: 769px) {
  .contact_new .taisho {
    border: 1px solid #000000;
    border-radius: 50px;
    margin-bottom: 100px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .taisho {
    border-radius: 4.3859vw;
    margin-bottom: 8.7719vw;
  }
}
@media (min-width: 769px) {
  .contact_new .taisho h2 {
    font-size: 20px;
    text-align-last: center;
    transform: translateY(-16px);
    margin-bottom: 20px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .taisho h2 {
    font-size: 1.7543vw;
    transform: translateY(-1.4035vw);
    margin-bottom: 1.7543vw;
  }
}
@media (min-width: 769px) {
  .contact_new .taisho h2 span {
    background: #ffffff;
    padding: 2px 32px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .taisho h2 span {
    padding: 0.1754vw 2.807vw;
  }
}
@media (min-width: 769px) {
  .contact_new .taisho .shop_container {
    display: flex;
    justify-content: center;
    padding: 0 125px;
    margin-bottom: 72px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .taisho .shop_container {
    padding: 0;
    margin: 0 auto 6.3157vw auto;
    justify-content: space-evenly;/*修正230707_ap*/
  }
}
@media (min-width: 769px) {
  .contact_new .taisho .shop_container ul {
    margin: 0 20px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .taisho .shop_container ul {
    margin: 0 2vw;
  }
}
@media (min-width: 769px) {
  .contact_new .taisho .shop_container ul:last-child {
    margin-right: 0;
  }
}
@media (min-width: 769px) {
  .contact_new .taisho .shop_container li {
    font-size: 20px;
    font-weight: 500;
    line-height: 2;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .taisho .shop_container li {
    font-size: 1.7543vw;
  }
}
@media (min-width: 769px) {
  .contact_new .taisho .note {
    padding: 0 50px 65px 50px;
    text-align-last: center;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .taisho .note {
    padding: 0 4.3859vw 5.7017vw 4.3859vw;
  }
}
@media (min-width: 769px) {
  .contact_new .taisho .note h3 {
    font-size: 18px;
    border-top: 1px dashed #000000;
    margin-bottom: 20px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .taisho .note h3 {
    font-size: 1.5789vw;
    margin-bottom: 2vw;
  }
}
@media (min-width: 769px) {
  .contact_new .taisho .note h3 span {
    display: inline-block;
    background: #ffffff;
    padding: 2px 30px;
    transform: translateY(-15px);
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .taisho .note h3 span {
    padding: 0.1754vw 2.6315vw;
    transform: translateY(-1.3157vw);
  }
}
@media (min-width: 769px) {
  .contact_new .taisho .note .atehamaru {
    font-size: 18px;
    line-height: 1.8889;
    margin-bottom: 30px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .taisho .note .atehamaru {
    font-size: 1.5789vw;
  }
}
/* @media (min-width: 769px) {
  .contact_new .taisho .note .atehamaru::after {
    content: "";
    display: block;
    width: 50px;
    height: 1px;
    background: #000000;
    margin: 30px auto;
  }
} */
@media (min-width: 769px) {
  .contact_new .taisho .note p {
    font-size: 16px;
    line-height: 1.875;
    text-align-last: left;
    padding: 0 75px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .taisho .note p {
    font-size: 1.4035vw;
    padding: 0 6.5789vw;
  }
}
@media (min-width: 769px) {
  .contact_new .flow {
    padding-bottom: 100px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .flow {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 8.7719vw;
  }
}
@media (min-width: 769px) {
  .contact_new .flow h2 {
    text-align-last: center;
    color: #C50030;
    font-size: 28px;
    margin-bottom: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .flow h2 {
    font-size: 2.4561vw;
    margin-bottom: 4.3859vw;
  }
}
@media (min-width: 769px) {
  .contact_new .flow .flow_container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 50px;
    margin: 0 auto 80px;
    width: 90%;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .flow .flow_container {
    gap: 0 4.3859vw;
    margin-bottom: 7vw;
  }
}
@media (min-width: 769px) {
  .contact_new .flow .flow_container .box {
    border-radius: 60px;
    background: #CBBBBB;
    padding: 30px 30px 40px 30px;
    position: relative;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .flow .flow_container .box {
    padding: 3vw 3vw 4vw 3vw;
  }
}
@media (min-width: 769px) {
  .contact_new .flow .flow_container .box::after {
    content: "";
    width: 11px;
    height: 11px;
    border-radius: 6px;
    display: block;
    background: #CBBBBB;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -20px;
    margin: auto 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .flow .flow_container .box::after {
    width: 0.9649vw;
    height: 0.9649vw;
    right: -1.7543vw;
  }
}
@media (min-width: 769px) {
  .contact_new .flow .flow_container .box:last-child::after {
    display: none;
  }
}
@media (min-width: 769px) {
  .contact_new .flow .flow_container .box::before {
    content: "";
    width: 11px;
    height: 11px;
    border-radius: 6px;
    display: block;
    background: #CBBBBB;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -20px;
    margin: auto 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .flow .flow_container .box::before {
    width: 0.9649vw;
    height: 0.9649vw;
    left: -1.7543vw;
  }
}
@media (min-width: 769px) {
  .contact_new .flow .flow_container .box:first-child::before {
    display: none;
  }
}
@media (min-width: 769px) {
  .contact_new .flow .flow_container h3 {
    width: 165px;
    height: 165px;
    background: #ffffff;
    border-radius: 85px;
    margin: 0 auto 28px auto;
    text-align-last: center;
    font-size: 24px;
    color: #C50030;
    padding-top: 30px;
    line-height: 1.4;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .flow .flow_container h3 {
    width: 14.4736vw;
    height: 14.4736vw;
    margin: 0 auto 2.4561vw auto;
    font-size: 2vw;
    padding-top: 1vw;
  }
}
@media (min-width: 769px) {
  .contact_new .flow .flow_container h3 span {
    font-size: 40px;
    font-weight: 500;
    display: block;
    color: #333333;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .flow .flow_container h3 span {
    font-size: 3.5087vw;
  }
}
@media (min-width: 769px) {
  .contact_new .flow .flow_container p {
    font-size: 18px;
    line-height: 1.6;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .flow .flow_container p {
    font-size: 1.5789vw;
  }
}
@media (min-width: 769px) {
  .contact_new .flow .showroom {
    font-size: 20px;
    font-weight: 400;
    text-align-last: center;
    margin-top: 25px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_new .flow .showroom {
    font-size: 1.5789vw;
  }
}
@media (min-width: 769px) {
  .contact_new .flow .btn {
    margin: 0 auto;
  }
}
@media (min-width: 769px) {
  .contact_new .moushikomi {
    background: #F5F5F5;
    padding: 80px 0;
    text-align-last: center;
  }
  .contact_new .moushikomi h2 {
    font-size: 20px;
    margin-bottom: 27px;
  }
  .contact_new .moushikomi p {
    font-size: 18px;
    margin-bottom: 50px;
  }
  .contact_new .moushikomi p.small {
    font-size: 16px;
    line-height: 1.875;
    margin-bottom: 30px;
  }
  .contact_new .moushikomi .button {
    margin-top: 88px;
  }
  .contact_new .moushikomi .button .btn {
    margin: 0 auto;
  }
  .contact_new .moushikomi .button .btn_line.disabled {
    border: 1px solid #999999;
    color: #999999;
    cursor: default;
  }
  .contact_new .moushikomi .button .btn_line.disabled::after {
    display: none;
  }
  .contact_new .moushikomi label {
    cursor: pointer;
  }
}
@media (min-width: 769px) {
  .contact_new input[type=checkbox] {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
}
@media (min-width: 769px) {
  .contact_new input[type=checkbox] {
    cursor: pointer;
    padding-left: 30px; /*label手前にチェックボックス用の余白を開ける*/
    vertical-align: middle;
    position: relative;
  }
}
@media (min-width: 769px) {
  .contact_new input[type=checkbox]::before,
  .contact_new input[type=checkbox]::after {
    content: "";
    display: block;
    position: absolute;
  }
}
@media (min-width: 769px) {
  .contact_new input[type=checkbox]::before {
    background-color: #fff;
    border-radius: 0%;
    border: 1px solid #666464;
    width: 20px; /*チェックボックスの横幅*/
    height: 20px; /*チェックボックスの縦幅*/
    transform: translateY(-50%);
    top: 50%;
    left: 5px;
  }
}
@media (min-width: 769px) {
  .contact_new input[type=checkbox]::after {
    border-bottom: 2px solid #666464; /*チェックの太さ*/
    border-left: 2px solid #666464; /*チェックの太さ*/
    opacity: 0; /*チェック前は非表示*/
    height: 8px; /*チェックの高さ*/
    width: 12px; /*チェックの横幅*/
    transform: rotate(-45deg);
    top: -6px; /*チェック時の位置調整*/
    left: 9px; /*チェック時の位置調整*/
  }
}
@media (min-width: 769px) {
  .contact_new input[type=checkbox]:checked::after {
    opacity: 1; /*チェック後表示*/
  }
}
@media (min-width: 769px) {
  .product_item {
    text-align-last: auto;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .item_contents {
    padding: 0 !important;
  }
}
@media (min-width: 769px) {
  .product_item .wp-block-group {
    padding: 140px 0 90px 0;
  }
  .product_item .wp-block-group.gray {
    background: #F5F5F5;
  }
  .product_item .wp-block-group .wp-block-group__inner-container {
    max-width: 1000px;
    margin: auto;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .wp-block-group .wp-block-group__inner-container {
    padding: 0 6vw;
  }
}
@media (min-width: 769px) {
  .product_item .wp-block-group h2 {
    font-size: 30px;
    line-height: 1.3;
    margin-bottom: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .wp-block-group h2 {
    font-size: 3vw;
    margin-bottom: 4.3859vw;
  }
}
@media (min-width: 769px) {
  .product_item .wp-block-group h3 {
    font-size: 24px;
    line-height: 1.4;
    margin-bottom: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .wp-block-group h3 {
    font-size: 2.4vw;
    margin-bottom: 4.3859vw;
  }
}
@media (min-width: 769px) {
  .product_item .wp-block-group p {
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .wp-block-group p {
    font-size: 1.6vw;
    margin-bottom: 4.3859vw;
  }
}
@media (min-width: 769px) {
  .product_item .wp-block-group .wp-block-columns p {
    grid-area: text;
    font-size: 16px;
    line-height: 1.8;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .wp-block-group .wp-block-columns p {
    font-size: 1.6vw;
  }
}
@media (min-width: 769px) {
  .product_item .vertical_title {
    max-width: 1000px;
    margin: auto;
    position: relative;
    margin-bottom: -81px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .vertical_title {
    margin: 0 7vw -81px 7vw;
  }
}
@media (min-width: 769px) {
  .product_item .vertical_title + .wp-block-group {
    padding-top: 0;
  }
}
@media (min-width: 769px) {
  .product_item .item_name,
  .product_item .item_title {
    max-width: 750px;
    font-size: 38px;
    line-height: 1.6;
    margin: 0 auto 70px auto;
    position: relative;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .item_name,
  .product_item .item_title {
    max-width: 75%;
    padding: 0 6vw;
    margin: 0 auto 6.1403vw auto;
    font-size: 3vw;
  }
}
@media (min-width: 769px) {
  .product_item .block_fv {
    max-width: 1000px;
    margin: auto;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .block_fv {
    padding: 0 6vw;
  }
}
@media (min-width: 769px) {
  .product_item .item_kv,
  .product_item .wp-block-image {
    margin-bottom: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .item_kv,
  .product_item .wp-block-image {
    margin-bottom: 4.3859vw;
  }
}
@media (min-width: 769px) {
  .product_item .text_button_photo {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto 1fr;
    grid-template-areas: "text photo" "button photo";
    gap: 50px;
    margin-bottom: 100px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .text_button_photo {
    gap: 4.3859vw;
    margin-bottom: 8.7719vw;
  }
}
@media (min-width: 769px) {
  .product_item .text_button_photo .text {
    grid-area: text;
    line-height: 1.8;
  }
  .product_item .text_button_photo .text .data {
    font-size: 16px;
    line-height: 1.875;
    margin-bottom: 40px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .text_button_photo .text .data {
    font-size: 1.6vw;
    margin-bottom: 3.5vw;
  }
}
@media (min-width: 769px) {
  .product_item .text_button_photo .text .description {
    font-size: 20px;
    line-height: 2;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .text_button_photo .text .description {
    font-size: 2vw;
  }
}
@media (min-width: 769px) {
  .product_item .text_button_photo .button {
    grid-area: button;
  }
}
@media (min-width: 769px) {
  .product_item .text_button_photo .photo {
    grid-area: photo;
  }
}
@media (min-width: 769px) {
  .product_item .block_item_image {
    max-width: 1000px;
    margin: 0 auto 150px auto;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .block_item_image {
    padding: 0 6vw;
    margin: 0 auto 13.1578vw auto;
  }
}
@media (min-width: 769px) {
  .product_item .block_row_contents {
    padding: 140px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .block_row_contents {
    padding: 12.2807vw 0;
  }
}
@media (min-width: 769px) {
  .product_item .block_row_contents .inner {
    max-width: 1000px;
    margin: auto;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .block_row_contents .inner {
    padding: 0 6vw;
  }
}
@media (min-width: 769px) {
  .product_item .block_row_contents h2 {
    font-size: 30;
    line-height: 1.3;
    margin-bottom: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .block_row_contents h2 {
    font-size: 3vw;
    margin-bottom: 4.3859vw;
  }
}
@media (min-width: 769px) {
  .product_item .block_row_contents h3 {
    font-size: 24px;
    line-height: 1.4;
    margin-bottom: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .block_row_contents h3 {
    font-size: 2.4vw;
    margin-bottom: 4.3859vw;
  }
}
@media (min-width: 769px) {
  .product_item .block_row_contents p {
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .block_row_contents p {
    font-size: 1.6vw;
    margin-bottom: 4.3859vw;
  }
}
@media (min-width: 769px) {
  .product_item .post_body .inner {
    max-width: 1000px;
    margin: auto;
  }
  .product_item .post_body .white {
    padding: 0 20px;
  }
  .product_item .post_body .gray {
    background: #F5F5F5;
    padding: 75px 20px;
  }
  .product_item .post_body h2 {
    font-size: 30px;
    line-height: 1.6;
    margin-bottom: 40px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .post_body h2 {
    font-size: 3vw;
    margin-bottom: 4vw;
  }
}
@media (min-width: 769px) {
  .product_item .post_body h3 {
    font-size: 28px;
    line-height: 1.7;
    margin-bottom: 15px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .post_body h3 {
    font-size: 2.8vw;
    margin-bottom: 1.5vw;
  }
}
@media (min-width: 769px) {
  .product_item .post_body h4 {
    font-size: 20px;
    line-height: 2;
    margin-bottom: 15px;
    color: #C50030;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .post_body h4 {
    font-size: 2vw;
    margin-bottom: 1.5vw;
  }
}
@media (min-width: 769px) {
  .product_item .post_body p {
    font-size: 18px;
    line-height: 1.8;
    margin-bottom: 1.8em;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .product_item .post_body p {
    font-size: 1.8vw;
  }
}
@media (min-width: 769px) {
  .product_item .post_body p:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 769px) {
  .support h2 img {
    display: block;
    margin-top: 13px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .support h2 img {
    margin-top: 1.1403vw;
  }
}
@media (min-width: 769px) {
  .support .shipping_container {
    margin-bottom: 150px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .support .shipping_container {
    margin-bottom: 13.1578vw;
  }
}
@media (min-width: 769px) {
  .support .shipping_container h3 {
    color: #C50030;
    text-align-last: right;
    line-height: 1;
    margin: 45px 0 17px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .support .shipping_container h3 {
    font-size: 1.9298vw;
    margin: 3.9473 0 1.4912vw 0;
  }
}
@media (min-width: 769px) {
  .support .shipping_container .btn {
    width: 440px;
    margin: 65px auto 0 auto;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .support .shipping_container .btn {
    margin: 5.7017vw auto 0 auto;
  }
}
@media (min-width: 769px) {
  .support .item_box {
    display: grid;
    grid-template-columns: 286px 544px 170px;
    align-items: center;
    border-bottom: 1px solid #CBBBBB;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .support .item_box {
    grid-template-columns: 25% 60% 15%;
    padding: 1.7543vw 0;
  }
}
@media (min-width: 769px) {
  .support .item_box .text {
    padding: 0 20px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .support .item_box .text {
    padding: 0 1.7543vw;
  }
}
@media (min-width: 769px) {
  .support .item_box h4 {
    font-size: 20px;
    margin-bottom: 7px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .support .item_box h4 {
    font-size: 1.7543vw;
    margin-bottom: 0.614vw;
  }
}
@media (min-width: 769px) {
  .support .item_box h4 span {
    font-size: 18px;
    font-weight: 400;
    margin-left: 12px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .support .item_box h4 span {
    font-size: 1.5789vw;
    margin-left: 1.0526vw;
  }
}
@media (min-width: 769px) {
  .support .item_box .model_number {
    font-size: 18px;
    line-height: 1.5556;
    margin-bottom: 15px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .support .item_box .model_number {
    font-size: 1.5789vw;
    margin-bottom: 1.3157vw;
  }
}
@media (min-width: 769px) {
  .support .item_box a {
    width: 170px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 20px;
    border: 1px solid #000000;
    font-size: 16px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .support .item_box a {
    width: 14.9122vw;
    height: 3.5087vw;
    font-size: 1.4035vw;
  }
}
@media (min-width: 769px) {
  .support .item_box a:hover {
    opacity: 1;
    border: 1px solid #C50030;
    color: #C50030;
  }
}
@media (min-width: 769px) {
  .support .faq {
    margin-bottom: 150px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .support .faq {
    margin-bottom: 13.1578vw;
  }
}
@media (min-width: 769px) {
  .support .faq h2 {
    margin: 0 0 45px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .support .faq h2 {
    margin: 0 0 3.9473 0;
  }
}
@media (min-width: 769px) {
  .support .faq h3 {
    text-align-last: center;
    line-height: 1;
    margin-bottom: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .support .faq h3 {
    margin-bottom: 4.3859vw;
  }
}
@media (min-width: 769px) {
  .support .faq .btn {
    margin: 0 auto;
  }
}
@media (min-width: 769px) {
  .support .faq .qa_container {
    border: 1px solid #CBB0A2;
    margin-bottom: 84px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .support .faq .qa_container {
    margin-bottom: 7.3684vw;
  }
}
@media (min-width: 769px) {
  .support .faq .qa_container dl {
    border-bottom: 1px solid #CBB0A2;
  }
  .support .faq .qa_container dl:last-child {
    border-bottom: none;
  }
}
@media (min-width: 769px) {
  .support .faq .qa_container dt {
    font-size: 18px;
    line-height: 1.4444;
    padding: 18px;
    position: relative;
    cursor: pointer;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .support .faq .qa_container dt {
    font-size: 1.5789vw;
    padding: 1.5789vw;
  }
}
@media (min-width: 769px) {
  .support .faq .qa_container dt::after {
    content: "";
    width: 19px;
    height: 18px;
    background: url(../img/support/ico_faq_arrow.svg) no-repeat;
    background-size: contain;
    display: block;
    position: absolute;
    top: 0;
    right: 18px;
    bottom: 0;
    margin: auto 0;
    transition: 0.3s;
  }
}
@media (min-width: 769px) {
  .support .faq .qa_container dt.open::after {
    transform: rotateX(180deg);
  }
}
@media (min-width: 769px) {
  .support .faq .qa_container dd {
    padding: 30px 18px;
    background: rgba(200, 200, 200, 0.15);
    display: none;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .support .faq .qa_container dd {
    padding: 2.6315vw 1.5789vw;
  }
}
@media (min-width: 769px) {
  .support .faq .qa_container dd p {
    margin-bottom: 1.8em;
  }
  .support .faq .qa_container dd p:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 769px) {
  .support .faq .qa_container dd a {
    text-decoration: underline;
  }
}
@media (min-width: 769px) {
  .support .inquiry {
    margin-bottom: 100px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .support .inquiry {
    margin-bottom: 8.7719vw;
  }
}
@media (min-width: 769px) {
  .support .inquiry h3 {
    text-align-last: center;
    font-size: 26px;
    line-height: 1;
    margin-bottom: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .support .inquiry h3 {
    font-size: 2.2807vw;
    margin-bottom: 4.3859vw;
  }
}
@media (min-width: 769px) {
  .support .inquiry ul {
    display: flex;
    justify-content: space-evenly;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .support .inquiry ul {
    display: block;
  }
  .support .inquiry ul .btn {
    margin: 4vw auto;
  }
}
@media (min-width: 769px) {
  .support .repaire {
    text-align-last: center;
    margin-bottom: 100px;
  }
  .support .repaire .btn {
    margin: 30px auto 0 auto;
  }
}
@media (min-width: 769px) {
  .contact_form h2 {
    margin-bottom: 75px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form h2 {
    font-size: 2.4561vw;
  }
}
@media (min-width: 769px) {
  .contact_form h2 img {
    display: block;
    margin-top: 13px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form h2 img {
    margin-top: 1.1403vw;
  }
}
@media (min-width: 769px) {
  .contact_form .malfunction {
    font-size: 18px;
    line-height: 1.8889;
    text-align-last: center;
    padding: 30px;
    border-top: 1px solid #CBB0A2;
    border-bottom: 1px solid #CBB0A2;
    margin-bottom: 100px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .malfunction {
    font-size: 1.5789vw;
    padding: 2.6315vw;
    margin-bottom: 8.7719vw;
  }
}
@media (min-width: 769px) {
  .contact_form .malfunction a {
    width: 366px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 20px;
    border: 1px solid #000000;
    font-size: 16px;
    margin: 26px auto 0 auto;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .malfunction a {
    height: 3.5087vw;
    font-size: 1.4035vw;
  }
}
@media (min-width: 769px) {
  .contact_form h3 {
    text-align-last: center;
    line-height: 1;
    margin-bottom: 60px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form h3 {
    font-size: 2.2807vw;
    margin-bottom: 4.3859vw;
  }
}
@media (min-width: 769px) {
  .contact_form h4 {
    text-align-last: center;
    color: #C50030;
    margin-bottom: 30px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form h4 {
    font-size: 1.7543vw;
    margin-bottom: 2.6315vw;
  }
}
@media (min-width: 769px) {
  .contact_form .preparation {
    max-width: 772px;
    margin: auto;
  }
  .contact_form .preparation dl {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 0 50px;
    align-items: center;
    padding: 47px 0;
    border-top: 1px solid #CBB0A2;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .preparation dl {
    grid-template-columns: 7.0175vw 1fr;
    gap: 0 4.3859vw;
    padding: 4.3859vw 0;
  }
}
@media (min-width: 769px) {
  .contact_form .preparation dl:first-child {
    border-top: none;
  }
}
@media (min-width: 769px) {
  .contact_form .preparation dt {
    color: #C50030;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.25;
    text-align-last: center;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .preparation dt {
    font-size: 2.1052vw;
  }
}
@media (min-width: 769px) {
  .contact_form .preparation dt img {
    transform: translateX(6px);
    margin-bottom: 18px;
    width: 30px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .preparation dt img {
    transform: translateX(0.5263vw);
    margin-bottom: 1.5789vw;
  }
}
@media (min-width: 769px) {
  .contact_form .preparation dd {
    font-size: 18px;
    line-height: 1.8888;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .preparation dd {
    font-size: 1.5789vw;
  }
}
@media (min-width: 769px) {
  .contact_form .dot {
    text-align-last: center;
    margin-bottom: 60px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .dot {
    margin-bottom: 5.2631vw;
  }
}
@media (min-width: 769px) {
  .contact_form .dot img {
    width: 9px;
  }
}
@media (min-width: 769px) {
  .contact_form .form_container {
    max-width: 772px;
    margin: 0 auto 100px auto;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .form_container {
    margin: 0 auto 8.7719vw auto;
  }
}
@media (min-width: 769px) {
  .contact_form .form_container .alert {
    color: #C50030;
  }
}
@media (min-width: 769px) {
  .contact_form .form_row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 22px;
    margin-bottom: 40px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .form_row {
    gap: 0 1.9298vw;
    margin-bottom: 3.5087vw;
  }
}
@media (min-width: 769px) {
  .contact_form .form_row .input_item {
    font-size: 18px;
    font-weight: 500;
    position: relative;
    padding-top: 13px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .form_row .input_item {
    font-size: 1.5789vw;
    padding-top: 1.1403vw;
  }
}
@media (min-width: 769px) {
  .contact_form .form_row .input_item.required::after {
    content: "必須";
    color: #C50030;
    position: absolute;
    right: 0;
  }
}
@media (min-width: 769px) {
  .contact_form .form_row .input_item.no-padding {
    padding-top: 0;
  }
}
@media (min-width: 769px) {
  .contact_form .form_row .input_item span {
    font-size: 16px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .form_row .input_item span {
    font-size: 1.4035vw;
  }
}
@media (min-width: 769px) {
  .contact_form .form_row .input_area .select {
    position: relative;
  }
  .contact_form .form_row .input_area .select::before {
    position: absolute;
    top: 1.4em;
    right: 0.9em;
    width: 0;
    height: 0;
    padding: 0;
    content: "";
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #999999;
    pointer-events: none;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .form_row .input_area .select::before {
    border-left: 0.5263vw solid transparent;
    border-right: 0.5263vw solid transparent;
    border-top: 0.5263vw solid #999999;
  }
}
@media (min-width: 769px) {
  .contact_form .form_row .input_area .select.todofuken {
    width: 50%;
  }
}
@media (min-width: 769px) {
  .contact_form .form_row .input_area .multi_input {
    margin: 28px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .form_row .input_area .multi_input {
    margin: 2.4561vw 0;
  }
}
@media (min-width: 769px) {
  .contact_form .form_row .input_area .note {
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.7143;
    color: #333333;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .form_row .input_area .note {
    margin-top: 1.7543vw;
    font-size: 1.228vw;
  }
}
@media (min-width: 769px) {
  .contact_form .form_row .input_area .note span {
    color: #C50030;
  }
}
@media (min-width: 769px) {
  .contact_form .form_row .input_area .note a {
    text-decoration: underline;
  }
}
@media (min-width: 769px) {
  .contact_form .form_row .input_area .note.first {
    margin: 0 0 20px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .form_row .input_area .note.first {
    margin: 0 0 1.7543vw 0;
  }
}
@media (min-width: 769px) {
  .contact_form input[type=text],
  .contact_form input[type=email],
  .contact_form input[type=tel],
  .contact_form input[type=password],
  .contact_form input[type=date] {
    -webkit-appearance: none;
    appearance: none;
    border: 1px solid #CBB0A2;
    width: 100%;
    height: 60px;
    font-size: 18px;
    padding: 0 18px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form input[type=text],
  .contact_form input[type=email],
  .contact_form input[type=tel],
  .contact_form input[type=password],
  .contact_form input[type=date] {
    height: 5.2631vw;
    font-size: 1.5789vw;
    padding: 0 1.5789vw;
  }
}
@media (min-width: 769px) {
  .contact_form textarea {
    -webkit-appearance: none;
    appearance: none;
    border: 1px solid #CBB0A2;
    width: 100%;
    height: 270px;
    font-size: 18px;
    padding: 9px 18px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form textarea {
    height: 23vw;
    font-size: 1.5789vw;
    padding: 0.7894vw 1.5789vw;
  }
}
@media (min-width: 769px) {
  .contact_form select {
    -webkit-appearance: none;
    appearance: none;
    border: 1px solid #CBB0A2;
    width: 100%;
    height: 60px;
    font-size: 18px;
    padding: 0 18px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form select {
    height: 5.2631vw;
    font-size: 1.5789vw;
    padding: 0 1.5789vw;
  }
}
@media (min-width: 769px) {
  .contact_form .alert-warning input[type=text],
  .contact_form .alert-warning input[type=email],
  .contact_form .alert-warning input[type=tel],
  .contact_form .alert-warning input[type=password],
  .contact_form .alert-warning input[type=date],
  .contact_form .alert-warning textarea,
  .contact_form .alert-warning select {
    background: #faddd9;
  }
}
@media (min-width: 769px) {
  .contact_form .radio-input,
  .contact_form .check-input {
    display: none;
  }
}
@media (min-width: 769px) {
  .contact_form .radio-input + label {
    padding-left: 24px;
    position: relative;
    margin-right: 0px;
    margin-left: 0px;
    margin-bottom: 10px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .radio-input + label {
    padding-left: 2.1052vw;
    margin-bottom: 0.8771vw;
  }
}
@media (min-width: 769px) {
  .contact_form .radio-input + label::before {
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    left: 2px;
    width: 16px;
    height: 16px;
    border: 1px solid #aaa;
    border-radius: 50%;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .radio-input + label::before {
    top: 0.6508vw;
    left: 0.1754vw;
    width: 1.4035vw;
    height: 1.4035vw;
  }
}
@media (min-width: 769px) {
  .contact_form .radio-input:checked + label {
    color: #d01137;
  }
}
@media (min-width: 769px) {
  .contact_form .radio-input:checked + label::after {
    content: "";
    display: block;
    position: absolute;
    top: 7px;
    left: 5px;
    width: 10px;
    height: 10px;
    background: #d01137;
    border-radius: 50%;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .radio-input:checked + label::after {
    top: 0.914vw;
    left: 0.4385vw;
    width: 0.8771vw;
    height: 0.8771vw;
  }
}
@media (min-width: 769px) {
  .contact_form .check-input + label {
    padding-left: 24px;
    position: relative;
    margin-right: 0px;
    margin-left: 0px;
    margin-bottom: 10px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .check-input + label {
    padding-left: 2.1052vw;
    margin-bottom: 0.8771vw;
  }
}
@media (min-width: 769px) {
  .contact_form .check-input + label::before {
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    left: 2px;
    width: 16px;
    height: 16px;
    border: 1px solid #aaa;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .check-input + label::before {
    top: 0.6508vw;
    left: 0.1754vw;
    width: 1.4035vw;
    height: 1.4035vw;
  }
}
@media (min-width: 769px) {
  .contact_form .check-input:checked + label {
    color: #d01137;
  }
}
@media (min-width: 769px) {
  .contact_form .check-input:checked + label::after {
    content: "";
    display: block;
    position: absolute;
    top: 5px;
    left: 6px;
    width: 8px;
    height: 11px;
    border-right: 2px solid #d01137;
    border-bottom: 2px solid #d01137;
    transform: rotate(40deg);
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .check-input:checked + label::after {
    top: 0.7385vw;
    left: 0.5263vw;
    width: 0.7017vw;
    height: 0.9649vw;
  }
}
@media (min-width: 769px) {
  .contact_form .check_container {
    text-align: left;
  }
  .contact_form .check_container .check_group {
    display: inline-block;
    margin-right: 15px;
  }
}
@media (min-width: 769px) {
  .contact_form .for_rep {
    padding: 30px 0;
    border-top: 1px solid #CBB0A2;
    border-bottom: 1px solid #CBB0A2;
    margin-bottom: 30px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .for_rep {
    padding: 2.6315vw 0;
    margin-bottom: 2.6315vw;
  }
}
@media (min-width: 769px) {
  .contact_form .for_rep h4 {
    font-size: 18px;
    text-align-last: left;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .for_rep h4 {
    font-size: 1.5789vw;
  }
}
@media (min-width: 769px) {
  .contact_form .for_policy p {
    margin-bottom: 1.8em;
  }
  .contact_form .for_policy a {
    text-decoration: underline;
  }
}
@media (min-width: 769px) {
  .contact_form .submit {
    margin: 80px auto 0 auto;
    cursor: pointer;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .contact_form .submit {
    margin: 7.0175vw auto 0 auto;
  }
}
@media (min-width: 769px) {
  .contact_form .agree label {
    color: #333333;
  }
}
@media (min-width: 769px) {
  .contact_form.confirm_form .form_row .input_item {
    padding-top: 0;
  }
  .contact_form.confirm_form .form_btn_row {
    display: flex;
    justify-content: center;
  }
}
@media (min-width: 769px) {
  .twoway .btn {
    margin: auto;
  }
}
@media (min-width: 769px) {
  .twoway .twoway_header {
    text-align-last: center;
  }
}
@media (min-width: 769px) {
  .twoway .twoway_header h2 {
    font-weight: bold;
    color: #C50030;
    position: relative;
    display: inline-block;
    padding: 0 55px;
    margin-bottom: 60px;
    font-size: 2.5rem;
    line-height: 3.25rem;
  }
}
@media (min-width: 769px) {
  .twoway .twoway_header h2:before,
  .twoway .twoway_header h2:after {
    content: "";
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 50px;
    height: 1px;
    background-color: #C50030;
  }
}
@media (min-width: 769px) {
  .twoway .twoway_header h2:before {
    left: -10px;
  }
}
@media (min-width: 769px) {
  .twoway .twoway_header h2:after {
    right: -10px;
  }
}
@media (min-width: 769px) {
  .twoway_lead {
    font-size: 1.7rem;
    text-align-last: center;
    color: #000;
    font-weight: 500;
    margin-bottom: 100px;
  }
}
@media (min-width: 769px) {
  .twoway_lead span {
    position: relative;
    padding-top: 0.2em;
  }
}
@media (min-width: 769px) {
  .twoway_lead span::before {
    position: absolute;
    content: "";
    width: 0.2em;
    height: 0.2em;
    border-radius: 50%;
    background-color: #000;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
  }
}
@media (min-width: 769px) {
  .only_pro {
    font-size: 1.7rem;
    text-align-last: center;
    color: #C50030;
    font-weight: 700;
    margin-bottom: 100px;
  }
}
@media (min-width: 769px) {
  .twoway_flex {
    display: flex;
    max-width: 1200px;
    margin: 0 auto 100px auto;
    align-items: flex-start;
  }
}
@media (min-width: 769px) {
  .twoway_number {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media (min-width: 769px) {
  .twoway_left {
    max-width: 50%;
    min-width: 50%;
    border-right: #000 1px solid;
  }
}
@media (min-width: 769px) {
  .twoway_right {
    width: 53%;
  }
}
@media (min-width: 769px) {
  .twoway_number {
    margin: 0 auto 40px;
  }
}
@media (min-width: 769px) {
  .twoway_left .twoway_number {
    max-width: 530px;
    position: relative;
  }
}
@media (min-width: 769px) {
  @-moz-document url-prefix() {
    .twoway_left .twoway_number {
      left: 0;
    }
  }
}
@media (min-width: 769px) {
  .twoway_right .twoway_number {
    max-width: 530px;
  }
}
@media (min-width: 769px) {
  .twoway_number > div:first-child {
    font-size: 2.4rem;
    color: #C50030;
    width: 70px;
    line-height: 0;
    padding: 40px 0 45px;
    border: #C50030 1px solid;
    text-align-last: center;
    margin-right: 10px;
  }
}
@media (min-width: 769px) {
  .twoway_number > div:nth-child(2) {
    font-size: 1.4rem;
    color: #000;
    font-weight: 500;
    line-height: 33px;
  }

  .twoway_number > div:nth-child(2),
  .twoway_number > div:nth-child(2) p {
    width: fit-content;
  }

  .twoway_number > div:nth-child(2) p:nth-child(2) {
    width: 200px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .twoway_number > div:nth-child(2) p:nth-child(2) {
    width: 20vw;
  }
}
@media (min-width: 769px) {
  .twoway_number > div:nth-child(2) img {
    width: 70%;
    margin-right: 5px;
    vertical-align: baseline;
    fill: #C50030;
  }
}
@media (min-width: 769px) {
  .twoway_box {
    max-width: 385px;
    margin: 0 auto;
  }
}
@media (min-width: 769px) {
  .twoway_txt,
  .twoway_txt2 {
    font-size: 1rem;
    color: #000;
    font-weight: 300;
    line-height: 1.8;
  }
}
@media (min-width: 769px) {
  .twoway_left .twoway_txt {
    display: inline-block;
  }
}
@media (min-width: 769px) {
  .twoway_left .twoway_txt .twoway_uline {
    border-bottom: #000 1px solid;
  }
}
@media (min-width: 769px) {
  .twoway_left .twoway_txt .twoway_red {
    color: #C50030;
    font-weight: 600;
  }
}
@media (min-width: 769px) {
  .twoway_txt {
    margin-bottom: 40px;
  }
}
@media (min-width: 769px) {
  .twoway_right .twoway_txt {
    text-align-last: center;
  }
}
@media (min-width: 769px) {
  .twoway_left .twoway_txt2 {
    font-weight: 600;
    line-height: 1.6;
    text-align-last: center;
    margin-bottom: 20px;
  }
}
@media (min-width: 769px) {
  .twoway_right .twoway_txt2 {
    max-width: 440px;
    line-height: 1.6;
    text-align: justify;
    margin: 0 auto 20px;
  }
}
@media (min-width: 769px) {
  .twoway_right .twoway_txt3 {
    max-width: 440px;
    line-height: 1.6;
    text-align: justify;
    font-size: 0.8rem;
    margin: 0 auto;
  }
}
@media (min-width: 769px) {
  .twoway_btn1 {
    margin-bottom: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .twoway .twoway_header h2 {
    font-size: 4vw;
    padding: 0 5vw;
    margin-bottom: 6vw;
  }
  .twoway .twoway_header h2:before,
  .twoway .twoway_header h2:after {
    width: 5vw;
  }
  .twoway .twoway_header h2:before {
    left: -1vw;
  }
  .twoway .twoway_header h2:after {
    right: -1vw;
  }
  .twoway_lead {
    font-size: 2.5vw;
    margin-bottom: 10vw;
  }
  .only_pro {
    font-size: 2.5vw;
    margin-bottom: 10vw;
  }
  .twoway_left {
    max-width: 50%;
    min-width: 50%;
  }
  .twoway_right {
    max-width: 50%;
    min-width: 50%;
  }
  .twoway_number {
    margin: 0 auto 4vw;
  }
  .twoway_left .twoway_number {
    left: 0;
  }
  .twoway_number > div:first-child {
    font-size: 4vw;
    min-width: 7vw;
    padding: 4vw 0 4.5vw;
    margin-right: 1vw;
  }
  .twoway_number > div:nth-child(2) {
    font-size: 1.8vw;
    color: #000;
    font-weight: 500;
    line-height: 2.8947vw;
  }
  .twoway_number > div:nth-child(2) img {
    width: 13vw;
    margin-right: 0.5vw;
  }
  .twoway_txt,
  .twoway_txt2 {
    font-size: 1.6vw;
  }
  .twoway_txt {
    margin-bottom: 4vw;
  }
  .twoway_left, .twoway_right {
    padding: 2vw;
  }
  .twoway_left .twoway_txt2 {
    margin-bottom: 2vw;
  }
  .twoway_right .twoway_txt2 {
    margin: 0 auto 2vw;
    width: 80%;
  }
  .twoway_right .twoway_txt3 {
    font-size: 1.2vw;
    width: 80%;
  }
  .twoway_btn1 {
    margin-bottom: 5vw;
  }
  .twoway .btn.btn_line {
    width: 100%;
  }
}
@media (min-width: 769px) {
  .hotel {
    position: relative;
  }
  .hotel .en_title {
    position: absolute;
    left: 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .hotel .en_title img {
    width: 1.228vw;
  }
}
@media (min-width: 769px) {
  .hotel h2 {
    padding-left: 125px;
    margin-bottom: 100px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .hotel h2 {
    padding-left: 10.9649vw;
    margin-bottom: 8.7719vw;
  }
}
@media (min-width: 769px) {
  .hotel .chihou_select {
    display: flex;
    justify-content: center;
    margin-bottom: 74px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .hotel .chihou_select {
    margin-bottom: 6.4912vw;
    flex-wrap: wrap;
  }
}
@media (min-width: 769px) {
  .hotel .chihou_select li {
    margin: 0 5px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .hotel .chihou_select li {
    margin: 0 0.4385vw;
  }
}
@media (min-width: 769px) {
  .hotel .chihou_select a {
    width: auto;
    height: 40px;
    border: 1px solid #000000;
    border-radius: 20px;
    font-size: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.3s;
    padding: 0 32px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .hotel .chihou_select a {
    height: 3.5087vw;
    border-radius: 1.7543vw;
    font-size: 1.4035vw;
    padding: 0 2.807vw;
  }
}
@media (min-width: 769px) {
  .hotel .chihou_select a:hover {
    font-weight: 500;
    border-color: #C50030;
    color: #C50030;
    opacity: 1;
  }
}
@media (min-width: 769px) {
  .hotel .chihou_select a.current {
    background: #C50030;
    color: #ffffff;
    border-color: #C50030;
    font-weight: 400 !important;
  }
}
@media (min-width: 769px) {
  .hotel .chihou_box {
    margin-bottom: 150px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .hotel .chihou_box {
    margin-bottom: 13.1578vw;
  }
}
@media (min-width: 769px) {
  .hotel .chihou_box h3 {
    margin-bottom: 42px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .hotel .chihou_box h3 {
    margin-bottom: 3.6842vw;
  }
}
@media (min-width: 769px) {
  .hotel .chihou_box .container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .hotel .chihou_box .container {
    gap: 4.3859vw;
  }
}
@media (min-width: 769px) {
  .hotel .chihou_box dt {
    border-bottom: 1px solid #000000;
    font-weight: 700;
    line-height: 1.8;
    padding-bottom: 10px;
    margin-bottom: 12px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .hotel .chihou_box dt {
    padding-bottom: 0.8771vw;
    margin-bottom: 1.0526vw;
  }
}
@media (min-width: 769px) {
  .green_heart .video {
    max-width: 660px;
    margin: 110px auto;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .green_heart .video {
    margin: 9.6491vw auto;
  }
}
@media (min-width: 769px) {
  .green_heart .video iframe {
    display: block;
    width: 100%;
    aspect-ratio: 16/9;
  }
}
@media (min-width: 769px) {
  .green_heart .gh_cont {
    margin-bottom: 108px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .green_heart .gh_cont {
    margin-bottom: 9.6491vw;
  }
}
@media (min-width: 769px) {
  .green_heart .gh_cont h3 {
    margin-bottom: 20px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .green_heart .gh_cont h3 {
    margin-bottom: 1.7543vw;
  }
}
@media (min-width: 769px) {
  .green_heart .gh_cont.grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
  }
}
@media (min-width: 769px) {
  .green_heart .kaizen {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 50px;
    align-items: center;
    margin-bottom: 90px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .green_heart .kaizen {
    gap: 0 4.3859vw;
    margin-bottom: 7.8947vw;
  }
}
@media (min-width: 769px) {
  .green_heart .kaizen .text dl {
    border: 1px solid #000000;
    border-radius: 10px;
    text-align-last: center;
    margin-bottom: 37px;
    position: relative;
    padding: 20px 30px 20px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .green_heart .kaizen .text dl {
    border-radius: 0.8771vw;
    padding: 1.7543vw 2.6315vw;
    margin-bottom: 3.2456vw;
  }
}
@media (min-width: 769px) {
  .green_heart .kaizen .text dt {
    width: 145px;
    text-align-last: center;
    background: #ffffff;
    display: inline-block;
    transform: translateY(-15px);
    font-weight: 700;
    color: #0D9260;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    margin: auto;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .green_heart .kaizen .text dt {
    width: 12.7192vw;
    transform: translateY(-1.3157vw);
  }
}
@media (min-width: 769px) {
  .green_heart .kaizen .text dd {
    text-align-last: left;
    display: grid;
    grid-template-columns: auto 313px;
    align-items: center;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .green_heart .kaizen .text dd {
    grid-template-columns: auto 27.4561vw;
  }
  .green_heart .kaizen .text dd .detail {
    padding-left: 1.7543vw;
  }
}
@media (min-width: 769px) {
  .green_heart .kaizen .text dd .icon {
    text-align-last: center;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .green_heart .kaizen .text dd .icon {
    width: 7.0175vw;
  }
}
@media (min-width: 769px) {
  .green_heart .kaizen .photo {
    text-align-last: center;
  }
  .green_heart .kaizen .photo p {
    margin-top: 7px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .green_heart .kaizen .photo p {
    margin-top: 0.614vw;
  }
}
@media (min-width: 769px) {
  .green_heart .logo {
    text-align-last: center;
    margin: 108px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .green_heart .logo {
    margin: 9.4736vw;
  }
}
@media (min-width: 769px) {
  .about .first_text {
    padding-left: 125px;
    margin-bottom: 123px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .about .first_text {
    padding-left: 5vw;/*修正230707_ap*/
    margin-bottom: 10.9649vw;
  }
}
@media (min-width: 769px) {
  .about .index {
    padding-bottom: 100px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .about .index {
    padding-bottom: 8.7719vw;
  }
}
@media (min-width: 769px) {
  .about .index .second_text {
    margin-bottom: 22px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .about .index .second_text {
    margin-bottom: 1.9298vw;
  }
}
@media (min-width: 769px) {
  .about .link li {
    line-height: 40px;
    font-weight: 700;
    display: flex;
    align-items: center;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .about .link li {
    line-height: 2.5;
  }
}
@media (min-width: 769px) {
  .about .link li::before {
    content: "";
    width: 15px;
    height: 15px;
    background: url(../img/ico_arrow_red.svg) no-repeat;
    background-size: contain;
    display: block;
    margin-right: 10px;
  }
  .about .index .link li::before {
    background: url(../img/ico_arrow_blk.svg) no-repeat;
  }/*修正230707_ap*/
}
@media (min-width: 769px) and (max-width: 1140px) {
  .about .link li::before {
    width: 1.3157vw;
    height: 1.3157vw;
  }
}
@media (min-width: 769px) {
  .about .link li a {
    position: relative;
  }
  .about .link li a::after {
    content: "";
    width: 0;
    height: 2px;
    border-radius: 2px;
    background: #C50030;
    display: block;
    position: absolute;
    left: 0;
    bottom: 2px;
    transition: 0.3s;
  }
  .about .link li a:hover {
    opacity: 1;
  }
  .about .link li a:hover::after {
    width: 100%;
  }
}
@media (min-width: 769px) {
  .about .about_contents {
    background: #F5F5F5;
    padding-top: 116px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .about .about_contents {
    padding-top: 10.1754vw;
  }
}
@media (min-width: 769px) {
  .about .about_contents .third_text {
    color: #C50030;
    margin-bottom: 24px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .about .about_contents .third_text {
    margin-bottom: 2.1052vw;
  }
}
@media (min-width: 769px) {
  .about .about_contents p {
    margin-bottom: 38px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .about .about_contents p {
    margin-bottom: 3.3333vw;
  }
}
@media (min-width: 769px) {
  .about .about_contents section {
    border-bottom: 2px solid #ffffff;
    padding-bottom: 60px;
    margin-bottom: 77px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .about .about_contents section {
    padding-bottom: 5.2631;
    margin-bottom: 6.7543vw;
  }
}
@media (min-width: 769px) {
  .about .about_contents section:last-child {
    border-bottom: none;
  }
}
@media (min-width: 769px) {
  .work_service .fade_text {
    margin-bottom: 100px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fade_text {
    margin-bottom: 8.7719vw;
  }
}
@media (min-width: 769px) {
  .work_service .row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
    margin-bottom: 250px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .row {
    gap: 4.3859vw;
    margin-bottom: 21.9298vw;
  }
}
@media (min-width: 769px) {
  .work_service .row .third_text {
    margin-bottom: 93px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .row .third_text {
    margin-bottom: 8.1578vw;
  }
}
@media (min-width: 769px) {
  .work_service p {
    font-size: 20px;
    line-height: 2;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service p {
    font-size: 1.8vw;
  }
}
@media (min-width: 769px) {
  .work_service .title_image .headline {
    margin-bottom: 100px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .title_image .headline {
    margin-bottom: 8.7719vw;
  }
}
@media (min-width: 769px) {
  .work_service .soujou {
    margin: -170px 0 190px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .soujou {
    margin: -14.9122vw 0 16.6666vw 0;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi {
    background: #F5F5F5;
    padding: 160px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi {
    padding: 14.035vw 0;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi h2 {
    text-align-last: center;
    font-size: 24px;
    margin-bottom: 60px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi h2 {
    font-size: 2.4vw;
    margin-bottom: 5.2631vw;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi h2 div {
    margin-bottom: 20px;
    color: #C50030;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi h2 div {
    margin-bottom: 2vw;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi h2 strong {
    font-size: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi h2 strong {
    font-size: 4vw;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi h2 strong small {
    font-size: 30px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi h2 strong small {
    font-size: 3vw;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi h2 img {
    transform: translateY(-6px);/*修正230707_ap*/
    width: 70px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi h2 img {
    transform: translateY(-0.7543vw);/*修正230707_ap*/
    width: 6vw;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .button1 .btn {
    margin: 66px auto 0 auto;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi .button1 .btn {
    margin: 5.7894vw auto 0 auto;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .bold_text {
    max-width: 650px;
    margin: 0 auto;
  }
  .work_service .fukugenshi .bold_text p {
    font-weight: 700;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .chie {
    margin: 290px 0 230px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi .chie {
    margin: 25.4385vw 0 20.1754vw 0;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .chie h3 {
    text-align-last: center;
    font-size: 18px;
    margin-bottom: 44px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi .chie h3 {
    font-size: 1.8vw;
    margin-bottom: 3.8596vw;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .chie h3 > div {
    line-height: 1.6;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .chie h3 .flex {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi .chie h3 .flex {
    margin-top: 0.8771vw;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .chie h3 strong {
    font-size: 50px;
    display: flex;
    align-items: center;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi .chie h3 strong {
    font-size: 5vw;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .chie h3 strong small {
    font-size: 28px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi .chie h3 strong small {
    font-size: 2.8vw;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .chie h3 img {
    width: 69px;
    margin-left: 10px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi .chie h3 img {
    width: 6.0526vw;
    margin-left: 0.8771vw;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .chie h3 rt {
    font-size: 10px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi .chie h3 rt {
    font-size: 1vw;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .chie .text {
    max-width: 750px;
    margin: auto;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .chie .button1 .btn {
    margin: 66px auto 0 auto;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi .chie .button1 .btn {
    margin: 5.7894vw auto 0 auto;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .other .title_group {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 90px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi .other .title_group {
    margin-bottom: 7.8947vw;
    gap: 2vw;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .other h4 {
    text-align-last: center;
    font-size: 18px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi .other h4 {
    font-size: 1.4vw;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .other h4 > div {
    line-height: 1.6;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .other h4.active strong {
    border-bottom: 3px solid #C50030;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .other h4 .flex {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi .other h4 .flex {
    margin-top: 1.8vw;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .other h4 strong {
    font-size: 40px;
    display: flex;
    align-items: center;
    border-bottom: 3px solid #333333;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi .other h4 strong {
    font-size: 4vw;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .other h4 strong small {
    font-size: 24px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi .other h4 strong small {
    font-size: 2.4vw;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .other h4 img {
    width: 56px;
    margin-left: 10px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi .other h4 img {
    width: 4.9122vw;
    margin-left: 0.8771vw;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .other h4 rt {
    font-size: 10px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi .other h4 rt {
    font-size: 1vw;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .other .text {
    max-width: 750px;
    height: 200px;
    margin: auto;
    position: relative;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi .other .text {
    height: 17.5438vw;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .other .button2 {
    max-width: 750px;
    margin: 116px auto 0 auto;
    display: flex;
    justify-content: space-between;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .fukugenshi .other .button2 {
    margin: 10.1754vw auto 0 auto;
  }
  .work_service .fukugenshi .other .button2 .btn {
    width: 280px;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .other .js-text-kami,
  .work_service .fukugenshi .other .js-text-hada,
  .work_service .fukugenshi .other .js-text-karada {
    position: absolute;
  }
}
@media (min-width: 769px) {
  .work_service .fukugenshi .other .js-text-kami,
  .work_service .fukugenshi .other .js-text-karada {
    display: none;
  }
}
@media (min-width: 769px) {
  .work_service .other_service {
    padding: 180px 0 0 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .other_service {
    padding: 15.7894vw 0 0 0;
  }
}
@media (min-width: 769px) {
  .work_service .other_service h2 {
    font-size: 32px;
    text-align-last: center;
    margin-bottom: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .other_service h2 {
    font-size: 3.2vw;
    margin-bottom: 5vw;
  }
}
@media (min-width: 769px) {
  .work_service .other_service .content_box {
    margin-bottom: 126px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .other_service .content_box {
    margin-bottom: 11.0526vw;
  }
}
@media (min-width: 769px) {
  .work_service .other_service .content_box .title_group {
    display: grid;
    grid-template-columns: auto 130px;
    grid-template-areas: "title image" "catch image";
    margin-bottom: 20px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .other_service .content_box .title_group {
    grid-template-columns: auto 11.4035vw;
    margin-bottom: 1.7543vw;
    gap: 0 8vw;
  }
}
@media (min-width: 769px) {
  .work_service .other_service .content_box h3 {
    grid-area: title;
    font-size: 28px;
    margin-bottom: 46px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .other_service .content_box h3 {
    font-size: 2.8vw;
    margin-bottom: 4.035vw;
  }
}
@media (min-width: 769px) {
  .work_service .other_service .content_box .catch {
    grid-area: catch;
    font-size: 20px;
    font-weight: 700;
    color: #C50030;
    line-height: 1.4;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .other_service .content_box .catch {
    font-size: 2vw;
  }
}
@media (min-width: 769px) {
  .work_service .other_service .content_box .image {
    grid-area: image;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .other_service .content_box .image {
    width: 8.7719vw;
  }
}
@media (min-width: 769px) {
  .work_service .other_service .content_box .btn {
    margin: 40px auto 0 auto;
    width: 350px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .work_service .other_service .content_box .btn {
    margin: 3.5087vw auto 0 auto;
  }
}
@media (min-width: 769px) {
  .fukugen .first_text {
    font-size: 50px;
    margin-bottom: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .first_text {
    font-size: 5vw;
    margin-bottom: 4.3859vw;
    padding-left: 5vw;/*修正230707_ap*/
  }
}
@media (min-width: 769px) {
  .fukugen .first_text strong {
    white-space: nowrap;
  }
}
@media (min-width: 769px) {
  .fukugen .first_text rt {
    font-size: 10px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .first_text rt {
    font-size: 1vw;
  }
}
@media (min-width: 769px) {
  .fukugen .first_text img {
    width: 69px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .first_text img {
    width: 6.9vw;
  }
}
@media (min-width: 769px) {
  .fukugen #fukugenshi {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
  }
  .fukugen #fukugenshi small {
    font-size: 20px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen #fukugenshi small {
    font-size: 2vw;
  }
}
@media (min-width: 769px) {
  .fukugen .fade_text::after {
    display: none !important;
  }
}
@media (min-width: 769px) {
  .fukugen .start {
    color: #C50030;
    margin-bottom: 0;/*修正230707_ap*/
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    font-size: 24px;
    font-weight: bold;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .start {
    margin-bottom: 0;/*修正230707_ap*/
    padding-left: 5vw;/*修正230707_ap*/
    font-size: 2.4vw;
  }
}
@media (min-width: 769px) {
  .fukugen .second_text {
    color: #C50030;
    margin-bottom: 85px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .second_text {
    margin-bottom: 8.5vw;
  }
}
@media (min-width: 769px) {
  .fukugen .row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
    margin-bottom: 160px;

  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .row {
    gap: 4.3859vw;
    margin-bottom: 21.9298vw;
  }
}
@media (min-width: 769px) {
  .fukugen p {
    margin-bottom: 2em;
    font-size: 20px;
    line-height: 2;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen p {
    font-size: 1.8vw;
  }
}
@media (min-width: 769px) {
  .fukugen .red_title {
    font-size: 28px;
    text-align-last: center;
    color: #C50030;
    margin-bottom: 40px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .red_title {
    font-size: 2.6vw;/*修正230707_ap*/
    margin-bottom: 4vw;
  }
}
@media (min-width: 769px) {
  .fukugen .red_title + .row {
    margin-bottom: 0;
  }
}
@media (min-width: 769px) {
  .fukugen .brain {
    border: 1px solid #000000;
    border-radius: 50px;
    padding: 58px 48px 28px 48px;
    position: relative;
    margin-bottom: 210px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .brain {
    border-radius: 5vw;
    padding: 5.8vw 4.8vw 2.8vw 4.8vw;
    margin-bottom: 21vw;
  }
}
@media (min-width: 769px) {
  .fukugen .brain h4 {
    text-align-last: center;
    position: absolute;
    font-size: 20px;
    top: -15px;
    left: 0;
    right: 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .brain h4 {
    font-size: 2vw;
    top: -1.5vw;
  }
}
@media (min-width: 769px) {
  .fukugen .brain h4 span {
    background: #ffffff;
    padding: 0 5px;
    display: inline-block;
  }
}
@media (min-width: 769px) {
  .fukugen .brain .row {
    grid-template-columns: 30% 1fr;
    margin-bottom: 40px;
    place-items: center;/*修正230707_ap*/
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .brain .row {
    margin-bottom: 4vw;
  }
}
@media (min-width: 769px) {
  .fukugen .brain dl {
    border-top: 1px dashed #000000;
    position: relative;
  }
}
@media (min-width: 769px) {
  .fukugen .brain dt {
    text-align-last: center;
    font-size: 18px;
    position: absolute;
    top: -18px;
    left: 0;
    right: 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .brain dt {
    font-size: 1.8vw;
    top: -1.8vw;
  }
}
@media (min-width: 769px) {
  .fukugen .brain dt span {
    padding: 0 10px;
    background: #ffffff;
  }
}
@media (min-width: 769px) {
  .fukugen .brain dd {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    font-size: 20px;
    font-weight: bold;
    margin-top: 37px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .brain dd {
    font-size: 1.5vw;
    margin-top: 3.7vw;
  }
}
@media (min-width: 769px) {
  .fukugen .brain dd li {
    line-height: 2;
  }
}
@media (min-width: 769px) {
  .fukugen .brain small {
    display: block;
    text-align-last: center;
    font-size: 12px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .brain small {
    font-size: 1.2vw;
  }
}
@media (min-width: 769px) {
  .fukugen .reason {
    margin-bottom: 100px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .reason {
    margin-bottom: 10vw;
  }
}
@media (min-width: 769px) {
  .fukugen .reason h3 {
    font-size: 20px;
    margin-bottom: 47px;
    text-align-last: center;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .reason h3 {
    font-size: 2vw;
    margin-bottom: 4.7vw;
  }
}
@media (min-width: 769px) {
  .fukugen .reason .reason_box {
    border: 1px solid #CBB0A2;
    display: grid;
    grid-template-columns: 311px 1fr;
    grid-template-areas: "image title" "image text";
    gap: 0 50px;
    margin-bottom: 40px;
    padding-right: 30px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .reason .reason_box {
    grid-template-columns: 1fr 1fr;
    gap: 0 3vw;
    margin-bottom: 4vw;
    padding-right: 3vw;
  }
}
@media (min-width: 769px) {
  .fukugen .reason .reason_box .image {
    grid-area: image;
    width: 311px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .reason .reason_box .image {
    width: 100%;
  }
}
@media (min-width: 769px) {
  .fukugen .reason .reason_box h4 {
    grid-area: title;
    margin-bottom: 14px;
    font-size: 20px;
    margin: 20px 0 0 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .reason .reason_box h4 {
    margin-bottom: 1.4vw;
    font-size: 2vw;
    margin: 2vw 0 0 0;
  }
}
@media (min-width: 769px) {
  .fukugen .reason .reason_box p {
    grid-area: text;
    margin-bottom: 20px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .reason .reason_box p {
    margin-bottom: 2vw;
  }
}
@media (min-width: 769px) {
  .fukugen .reason .btn {
    margin: auto;
  }
}
@media (min-width: 769px) {
  .fukugen .kami_hada_karada {
    background: #F5F5F5;
    padding: 140px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .kami_hada_karada {
    padding: 14vw 0;
  }
}
@media (min-width: 769px) {
  .fukugen .kami_hada_karada h2 {
    text-align-last: center;
  }
  .fukugen .kami_hada_karada h2::after {
    content: "";
    width: 50px;
    height: 1px;
    background: #000;
    margin: 30px auto;
    display: block;
  }
}
@media (min-width: 769px) {
  .fukugen .kami_hada_karada .bold_text {
    max-width: 650px;
    margin: 0 auto 130px auto;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .kami_hada_karada .bold_text {
    margin: 0 auto 13vw auto;
  }
}
@media (min-width: 769px) {
  .fukugen .kami_hada_karada .bold_text p {
    font-size: 20px;
    font-weight: 700;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .kami_hada_karada .bold_text p {
    font-size: 2vw;
  }
}
@media (min-width: 769px) {
  .fukugen .kami_hada_karada .bold_text .third_text {
    color: #C50030;
    margin-bottom: 24px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .kami_hada_karada .bold_text .third_text {
    margin-bottom: 2.4vw;
  }
}
@media (min-width: 769px) {
  .fukugen .fukugen_box {
    padding-bottom: 34px;
    margin-bottom: 60px;
    border-bottom: 1px solid #C50030;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .fukugen_box {
    padding-bottom: 3.4vw;
    margin-bottom: 6vw;
  }
}
@media (min-width: 769px) {
  .fukugen .fukugen_box:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
}
@media (min-width: 769px) {
  .fukugen .fukugen_box + .reason {
    margin-bottom: 0;
  }
  .fukugen .fukugen_box + .reason .reason_box {
    border-color: #C50030;
  }
}
@media (min-width: 769px) {
  .fukugen .fukugen_box .red_title {
    /* font-size: 24px; *//*修正230707_ap*/
    font-weight: bold;
  }
}
@media (min-width: 769px) {
  .fukugen .fukugen_box h4 {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    margin-bottom: 34px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .fukugen_box h4 {
    font-size: 4vw;
    margin-bottom: 3.4vw;
  }
}
@media (min-width: 769px) {
  .fukugen .fukugen_box h4 rt {
    font-size: 10px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .fukugen_box h4 rt {
    font-size: 1vw;
  }
}
@media (min-width: 769px) {
  .fukugen .fukugen_box h4 img {
    width: 56px;
    margin-left: 10px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .fukugen_box h4 img {
    width: 5.6vw;
    margin-left: 1vw;
  }
}
@media (min-width: 769px) {
  .fukugen .fukugen_box p {
    font-size: 20px;
    line-height: 2;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .fukugen_box p {
    font-size: 2vw;
  }
}
@media (min-width: 769px) {
  .fukugen .fukugen_box .plus {
    text-align-last: center;
    margin: 70px auto;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .fukugen_box .plus {
    margin: 7vw auto;
  }
}
@media (min-width: 769px) {
  .fukugen .fukugen_box h5 {
    text-align-last: center;
    margin-bottom: 34px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .fukugen_box h5 {
    margin-bottom: 3.4vw;
  }
}
@media (min-width: 769px) {
  .fukugen .flow {
    padding: 100px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .flow {
    padding: 10vw 0;
  }
}
@media (min-width: 769px) {
  .fukugen .flow h2 {
    text-align-last: center;
    margin-bottom: 46px;
    color: #333333;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .flow h2 {
    margin-bottom: 4.6vw;
  }
}
@media (min-width: 769px) {
  .fukugen .flow p {
    font-size: 20px;
    margin-bottom: 27px;
    text-align-last: center;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .flow p {
    font-size: 2vw;
    margin-bottom: 2.7vw;
  }
}
@media (min-width: 769px) {
  .fukugen .flow .btn {
    margin: 0 auto;
  }
}
@media (min-width: 769px) {
  .fukugen .flow .flow_container {
    display: flex;
    justify-content: space-between;
    margin-bottom: 77px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .flow .flow_container {
    margin-bottom: 7.7vw;
  }
}
@media (min-width: 769px) {
  .fukugen .flow .flow_container .flowbox {
    width: 200px;
    height: 216px;
    border-radius: 20px;
    background: #CBBBBB;
    position: relative;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .flow .flow_container .flowbox {
    width: 13.5vw;/*修正230707_ap*/
    height: 18.9473vw;
    border-radius: 2vw;
  }
}
@media (min-width: 769px) {
  .fukugen .flow .flow_container .flowbox::after {
    content: "";
    width: 11px;
    height: 11px;
    border-radius: 6px;
    display: block;
    background: #CBBBBB;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -28px;
    margin: auto 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .flow .flow_container .flowbox::after {
    width: 0.9649vw;
    height: 0.9649vw;
    right: -2.4561vw;
  }
}
@media (min-width: 769px) {
  .fukugen .flow .flow_container .flowbox:last-child::after {
    display: none;
  }
}
@media (min-width: 769px) {
  .fukugen .flow .flow_container .flowbox::before {
    content: "";
    width: 11px;
    height: 11px;
    border-radius: 6px;
    display: block;
    background: #CBBBBB;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -28px;
    margin: auto 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .flow .flow_container .flowbox::before {
    width: 0.9649vw;
    height: 0.9649vw;
    left: -2.4561vw;
  }
}
@media (min-width: 769px) {
  .fukugen .flow .flow_container .flowbox:first-child::before {
    display: none;
  }
}
@media (min-width: 769px) {
  .fukugen .flow .flow_container .num {
    text-align-last: center;
    padding-top: 32px;
    margin-bottom: 10px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .flow .flow_container .num {
    padding-top: 2.3vw;
    margin-bottom: 0.6vw;
  }
}
@media (min-width: 769px) {
  .fukugen .flow .flow_container .text {
    height: 87px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.5789;
    font-size: 19px;
    font-weight: 700;
    color: #ffffff;
    text-align-last: center;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .fukugen .flow .flow_container .text {
    height: 8.7vw;
    font-size: 1.7vw;/*修正230707_ap*/
  }
}
@media (min-width: 769px) {
  .item_category .fv_text {
    font-size: 20px;
    line-height: 2;
    font-weight: bold;
    max-width: 650px;
    margin: 0 auto 60px auto;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category .fv_text {
    font-size: 2vw;
    margin: 0 auto 3vw auto;
  }
}
@media (min-width: 769px) {
  .item_category .category_box {
    margin-bottom: 85px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category .category_box {
    margin-bottom: 8.5vw;
  }
}
@media (min-width: 769px) {
  .item_category .category_box h3 {
    font-size: 28px;
    font-weight: bold;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category .category_box h3 {
    font-size: 2.8vw;
  }
}
@media (min-width: 769px) {
  .item_category .category_box .typical_item {
    font-size: 18px;
    margin-bottom: 30px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category .category_box .typical_item {
    font-size: 1.8vw;
    margin-bottom: 3vw;
  }
}
@media (min-width: 769px) {
  .item_category .category_box .button {
    margin: 40px auto 0 auto;
    text-align: center;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category .category_box .button {
    margin: 4vw auto 0 auto;
  }
}
@media (min-width: 769px) {
  .item_category .category_box .button .btn {
    margin: auto;
  }
}
@media (min-width: 769px) {
  .item_category_detail .cat_header .inner {
    max-width: 700px;
    margin: 0 auto 50px auto;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail .cat_header .inner {
    margin-bottom: 5vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail .cat_header h3 {
    margin-bottom: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail .cat_header h3 {
    margin-bottom: 5vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail .cat_header .catch {
    color: #C50030;
    line-height: 1.4;
    font-size: 28px;
    font-weight: bold;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail .cat_header .catch {
    font-size: 2.8vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail .video_container {
    background: #CBBBBB;
    padding: 24px;
  }
  .item_category_detail .video_container video {
    display: block;
    max-width: 825px;
    margin: auto;
  }
}
@media (min-width: 769px) {
  .item_category_detail p {
    font-size: 20px;
    line-height: 2;
    margin-bottom: 2em;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail p {
    font-size: 2vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail p:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 769px) {
  .item_category_detail h3 {
    font-size: 24px;
    line-height: 1.5;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail h3 {
    font-size: 2.4vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail .feature_text {
    padding: 90px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail .feature_text {
    padding: 9vw 0;
  }
}
@media (min-width: 769px) {
  .item_category_detail .feature_text h3 {
    margin-bottom: 25px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail .feature_text h3 {
    margin-bottom: 2.5vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail .gray {
    background: #F5F5F5;
    padding: 75px 0 170px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail .gray {
    padding: 7.5vw 0 17vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail .recent_items h2 {
    text-align-last: center;
    font-size: 30px;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 80px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail .recent_items h2 {
    font-size: 3vw;
    margin-bottom: 8vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail .recent_items li {
    display: grid;
    grid-template-columns: 41.5% 1fr;
    gap: 7.7%;
    margin-bottom: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail .recent_items li {
    margin-bottom: 5vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail .recent_items li:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 769px) {
  .item_category_detail .recent_items li .text {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
@media (min-width: 769px) {
  .item_category_detail .recent_items li .utility_text {
    margin-bottom: 20px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail .recent_items li .utility_text {
    margin-bottom: 2vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail .recent_items li .item_feature {
    font-size: 18px;
    line-height: 1.9;
    margin-bottom: 80px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail .recent_items li .item_feature {
    font-size: 1.8vw;
    margin-bottom: 4vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail .item_article {
    padding: 180px 0 100px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail .item_article {
    padding: 18vw 0 10vw 0 !important;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .sec_box {
    margin-bottom: 160px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .sec_box {
    margin-bottom: 16vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .sec_box h3 {
    margin-bottom: 20px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .sec_box h3 {
    margin-bottom: 2vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .item_article .grid1 {
    display: grid;
    grid-template-columns: 62.8% 34.3%;
    gap: 2.9%;
  }
  .item_category_detail.cosmetic .item_article .grid2 {
    display: grid;
    grid-template-columns: 50% 47.2%;
    gap: 2.8%;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .trivia h2 {
    text-align: center;
    text-align-last: center;
    margin-bottom: 18px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .trivia h2 {
    margin-bottom: 1.8vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .trivia h2 + p {
    font-weight: bold;
    text-align-last: center;
    margin-bottom: 110px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .trivia h2 + p {
    margin-bottom: 11vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .trivia .sec_box {
    margin-bottom: 115px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .trivia .sec_box {
    margin-bottom: 11.5vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .trivia .grid1 {
    display: grid;
    grid-template-columns: 31.1% 65%;
    grid-template-areas: "image text";
    gap: 3.9%;
  }
  .item_category_detail.cosmetic .trivia .grid1 p {
    grid-area: text;
    margin-bottom: 0;
  }
  .item_category_detail.cosmetic .trivia .grid1 img {
    grid-area: image;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .trivia dl {
    display: grid;
    grid-template-columns: 1fr 77.5%;
    align-items: center;
    margin-bottom: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .trivia dl {
    margin-bottom: 5vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .trivia dl dt {
    font-size: 28px;
    font-weight: bold;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .trivia dl dt {
    font-size: 2.8vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .trivia dl p {
    margin-bottom: 0;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .trivia .genin {
    border: 1px solid #000000;
    border-radius: 36px;
    padding: 50px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .trivia .genin {
    border-radius: 3.6vw;
    padding: 5vw;
    gap: 3vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .trivia .genin h4 {
    text-align-last: center;
    margin-bottom: 17px;
    font-size: 20px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .trivia .genin h4 {
    font-size: 2vw;
    margin-bottom: 1.7vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .trivia .genin p {
    font-size: 18px;
    line-height: 1.9;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .trivia .genin p {
    font-size: 1.8vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .basic_care_chart {
    padding: 90px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .basic_care_chart {
    padding: 9vw 0 !important;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .basic_care_chart h2 {
    text-align-last: center;
    margin-bottom: 90px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .basic_care_chart h2 {
    margin-bottom: 9vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .basic_care_chart .timing {
    margin-bottom: 100px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .basic_care_chart .timing {
    margin-bottom: 10vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .basic_care_chart .timing.daytime .flow_text {
    height: 5.625em;
  }
  .item_category_detail.cosmetic .basic_care_chart .timing.daytime .slide_box::after {
    height: 100%;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .basic_care_chart .timing.night .care_chart {
    grid-template-columns: 1fr 1fr;
  }
  .item_category_detail.cosmetic .basic_care_chart .timing.night .flow_text {
    height: 11.25em;
  }
  .item_category_detail.cosmetic .basic_care_chart .timing.night .description {
    height: 115px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .basic_care_chart .timing.night .description {
    height: 11.5vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .basic_care_chart .timing.night .slide_box::after {
    height: calc(100% - 140px);
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .basic_care_chart .timing.night .slide_box::after {
    height: calc(100% - 14vw);
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .basic_care_chart .timing.bedtime {
    margin-bottom: 0;
  }
  .item_category_detail.cosmetic .basic_care_chart .timing.bedtime .flow_text {
    height: 3.75em;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .basic_care_chart h3 {
    text-align-last: center;
    color: #C50030;
    margin-bottom: 35px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .basic_care_chart h3 {
    margin-bottom: 3.5vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .basic_care_chart .care_chart {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 5px;
  }
  .item_category_detail.cosmetic .basic_care_chart .care_chart .border {
    width: 0;
    height: calc(100% - 110px);
    border-left: 1px dashed #000000;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .basic_care_chart .care_chart .border {
    height: calc(100% - 11vw);
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .basic_care_chart .care_chart + .description {
    margin-top: 27px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .basic_care_chart .care_chart + .description {
    margin-top: 2.7vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .basic_care_chart .care_chart .slide_box {
    position: relative;
  }
  .item_category_detail.cosmetic .basic_care_chart .care_chart .slide_box::after {
    content: "";
    width: 0;
    height: calc(100% - 110px);
    border-left: 1px dashed #000000;
    display: block;
    position: absolute;
    top: 0;
    right: -3px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .basic_care_chart .care_chart .slide_box::after {
    height: calc(100% - 11vw);
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .basic_care_chart .care_chart .slide_box:last-child::after {
    display: none;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .basic_care_chart .flow_text {
    text-align-last: center;
    font-size: 16px;
    line-height: 1.875;
    height: 7.5em;
    padding: 0 29px;
    margin-bottom: 30px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .basic_care_chart .flow_text {
    font-size: 1.6vw;
    padding: 0 2.9vw;
    margin-bottom: 3vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .basic_care_chart .image {
    height: 272px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .basic_care_chart .image {
    height: 24vw;
    padding: 0 1.5vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.cosmetic .description {
    background: #F5F5F5;
    text-align-last: center;
    padding: 0 25px;
    height: 87px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    line-height: 1.625;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.cosmetic .description {
    padding: 0 2.5vw;
    height: 8.7vw;
    font-size: 1.6vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .sec_box,
  .item_category_detail.haircare .sec_box,
  .item_category_detail.beauty .sec_box,
  .item_category_detail.supplement .sec_box,
  .item_category_detail.wear .sec_box {
    margin-bottom: 160px;
    font-size: 20px;
    line-height: 2;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.dryer .sec_box,
  .item_category_detail.haircare .sec_box,
  .item_category_detail.beauty .sec_box,
  .item_category_detail.supplement .sec_box,
  .item_category_detail.wear .sec_box {
    font-size: 2vw;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.dryer .sec_box,
  .item_category_detail.haircare .sec_box,
  .item_category_detail.beauty .sec_box,
  .item_category_detail.supplement .sec_box,
  .item_category_detail.wear .sec_box {
    margin-bottom: 16vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .sec_box:last-child,
  .item_category_detail.haircare .sec_box:last-child,
  .item_category_detail.beauty .sec_box:last-child,
  .item_category_detail.supplement .sec_box:last-child,
  .item_category_detail.wear .sec_box:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .sec_box h3,
  .item_category_detail.haircare .sec_box h3,
  .item_category_detail.beauty .sec_box h3,
  .item_category_detail.supplement .sec_box h3,
  .item_category_detail.wear .sec_box h3 {
    margin-bottom: 20px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.dryer .sec_box h3,
  .item_category_detail.haircare .sec_box h3,
  .item_category_detail.beauty .sec_box h3,
  .item_category_detail.supplement .sec_box h3,
  .item_category_detail.wear .sec_box h3 {
    margin-bottom: 2vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .kouka h2,
  .item_category_detail.haircare .kouka h2,
  .item_category_detail.beauty .kouka h2,
  .item_category_detail.supplement .kouka h2,
  .item_category_detail.wear .kouka h2 {
    text-align: center;
    text-align-last: center;
    margin-bottom: 70px;
    color: #C50030;
    font-size: 28px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.dryer .kouka h2,
  .item_category_detail.haircare .kouka h2,
  .item_category_detail.beauty .kouka h2,
  .item_category_detail.supplement .kouka h2,
  .item_category_detail.wear .kouka h2 {
    margin-bottom: 7vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .usage h2,
  .item_category_detail.haircare .usage h2,
  .item_category_detail.beauty .usage h2,
  .item_category_detail.supplement .usage h2,
  .item_category_detail.wear .usage h2 {
    text-align: center;
    text-align-last: center;
    margin-bottom: 70px;
    font-size: 28px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.dryer .usage h2,
  .item_category_detail.haircare .usage h2,
  .item_category_detail.beauty .usage h2,
  .item_category_detail.supplement .usage h2,
  .item_category_detail.wear .usage h2 {
    margin-bottom: 7vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .usage video,
  .item_category_detail.haircare .usage video,
  .item_category_detail.beauty .usage video,
  .item_category_detail.supplement .usage video,
  .item_category_detail.wear .usage video {
    display: block;
    width: 100%;
    margin-top: 70px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.dryer .usage video,
  .item_category_detail.haircare .usage video,
  .item_category_detail.beauty .usage video,
  .item_category_detail.supplement .usage video,
  .item_category_detail.wear .usage video {
    margin-bottom: 7vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .wellcome h4,
  .item_category_detail.haircare .wellcome h4,
  .item_category_detail.beauty .wellcome h4,
  .item_category_detail.supplement .wellcome h4,
  .item_category_detail.wear .wellcome h4 {
    font-size: 20px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.dryer .wellcome h4,
  .item_category_detail.haircare .wellcome h4,
  .item_category_detail.beauty .wellcome h4,
  .item_category_detail.supplement .wellcome h4,
  .item_category_detail.wear .wellcome h4 {
    font-size: 2vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .wellcome li,
  .item_category_detail.haircare .wellcome li,
  .item_category_detail.beauty .wellcome li,
  .item_category_detail.supplement .wellcome li,
  .item_category_detail.wear .wellcome li {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 20px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.dryer .wellcome li,
  .item_category_detail.haircare .wellcome li,
  .item_category_detail.beauty .wellcome li,
  .item_category_detail.supplement .wellcome li,
  .item_category_detail.wear .wellcome li {
    font-size: 2vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .wellcome p img,
  .item_category_detail.haircare .wellcome p img,
  .item_category_detail.beauty .wellcome p img,
  .item_category_detail.supplement .wellcome p img,
  .item_category_detail.wear .wellcome p img {
    display: block;
    margin: 20px auto 70px auto;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.dryer .wellcome p img,
  .item_category_detail.haircare .wellcome p img,
  .item_category_detail.beauty .wellcome p img,
  .item_category_detail.supplement .wellcome p img,
  .item_category_detail.wear .wellcome p img {
    margin: 2vw auto 7vw auto;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .denshi_grid,
  .item_category_detail.haircare .denshi_grid,
  .item_category_detail.beauty .denshi_grid,
  .item_category_detail.supplement .denshi_grid,
  .item_category_detail.wear .denshi_grid {
    display: grid;
    grid-template-columns: 66% 31%;
    gap: 3%;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .pink_header,
  .item_category_detail.haircare .pink_header,
  .item_category_detail.beauty .pink_header,
  .item_category_detail.supplement .pink_header,
  .item_category_detail.wear .pink_header {
    text-align-last: center;
    color: #C50030;
    margin-bottom: 70px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.dryer .pink_header,
  .item_category_detail.haircare .pink_header,
  .item_category_detail.beauty .pink_header,
  .item_category_detail.supplement .pink_header,
  .item_category_detail.wear .pink_header {
    margin-bottom: 7vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .tansan,
  .item_category_detail.haircare .tansan,
  .item_category_detail.beauty .tansan,
  .item_category_detail.supplement .tansan,
  .item_category_detail.wear .tansan {
    border: 1px solid #000000;
    border-radius: 36px;
    text-align-last: center;
    padding: 40px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.dryer .tansan,
  .item_category_detail.haircare .tansan,
  .item_category_detail.beauty .tansan,
  .item_category_detail.supplement .tansan,
  .item_category_detail.wear .tansan {
    border-radius: 3.6vw;
    padding: 4vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .builder,
  .item_category_detail.haircare .builder,
  .item_category_detail.beauty .builder,
  .item_category_detail.supplement .builder,
  .item_category_detail.wear .builder {
    border: 1px solid #000000;
    border-radius: 36px;
    padding: 40px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.dryer .builder,
  .item_category_detail.haircare .builder,
  .item_category_detail.beauty .builder,
  .item_category_detail.supplement .builder,
  .item_category_detail.wear .builder {
    border-radius: 3.6vw;
    padding: 4vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .builder h3,
  .item_category_detail.haircare .builder h3,
  .item_category_detail.beauty .builder h3,
  .item_category_detail.supplement .builder h3,
  .item_category_detail.wear .builder h3 {
    text-align-last: center;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .builder img,
  .item_category_detail.haircare .builder img,
  .item_category_detail.beauty .builder img,
  .item_category_detail.supplement .builder img,
  .item_category_detail.wear .builder img {
    display: block;
    margin: auto;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .sup_grid1,
  .item_category_detail.haircare .sup_grid1,
  .item_category_detail.beauty .sup_grid1,
  .item_category_detail.supplement .sup_grid1,
  .item_category_detail.wear .sup_grid1 {
    display: grid;
    grid-template-columns: 50% 1fr;
    gap: 3.8%;
  }
  .item_category_detail.dryer .sup_grid1 p,
  .item_category_detail.haircare .sup_grid1 p,
  .item_category_detail.beauty .sup_grid1 p,
  .item_category_detail.supplement .sup_grid1 p,
  .item_category_detail.wear .sup_grid1 p {
    margin-bottom: 0;
  }
  .item_category_detail.dryer .sup_grid1 img,
  .item_category_detail.haircare .sup_grid1 img,
  .item_category_detail.beauty .sup_grid1 img,
  .item_category_detail.supplement .sup_grid1 img,
  .item_category_detail.wear .sup_grid1 img {
    display: block;
    margin: auto;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .sup_grid2,
  .item_category_detail.haircare .sup_grid2,
  .item_category_detail.beauty .sup_grid2,
  .item_category_detail.supplement .sup_grid2,
  .item_category_detail.wear .sup_grid2 {
    display: grid;
    grid-template-columns: 1fr 50%;
    grid-template-areas: "image text";
    gap: 3.8%;
  }
  .item_category_detail.dryer .sup_grid2 p,
  .item_category_detail.haircare .sup_grid2 p,
  .item_category_detail.beauty .sup_grid2 p,
  .item_category_detail.supplement .sup_grid2 p,
  .item_category_detail.wear .sup_grid2 p {
    grid-area: text;
  }
  .item_category_detail.dryer .sup_grid2 img,
  .item_category_detail.haircare .sup_grid2 img,
  .item_category_detail.beauty .sup_grid2 img,
  .item_category_detail.supplement .sup_grid2 img,
  .item_category_detail.wear .sup_grid2 img {
    grid-area: image;
    display: block;
    margin: auto;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .img_center,
  .item_category_detail.haircare .img_center,
  .item_category_detail.beauty .img_center,
  .item_category_detail.supplement .img_center,
  .item_category_detail.wear .img_center {
    margin: 2em 0;
  }
  .item_category_detail.dryer .img_center img,
  .item_category_detail.haircare .img_center img,
  .item_category_detail.beauty .img_center img,
  .item_category_detail.supplement .img_center img,
  .item_category_detail.wear .img_center img {
    margin: auto;
    display: block;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .burasage,
  .item_category_detail.haircare .burasage,
  .item_category_detail.beauty .burasage,
  .item_category_detail.supplement .burasage,
  .item_category_detail.wear .burasage {
    margin-bottom: 30px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.dryer .burasage,
  .item_category_detail.haircare .burasage,
  .item_category_detail.beauty .burasage,
  .item_category_detail.supplement .burasage,
  .item_category_detail.wear .burasage {
    margin-bottom: 3vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .burasage li,
  .item_category_detail.haircare .burasage li,
  .item_category_detail.beauty .burasage li,
  .item_category_detail.supplement .burasage li,
  .item_category_detail.wear .burasage li {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 20px;
    line-height: 2;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.dryer .burasage li,
  .item_category_detail.haircare .burasage li,
  .item_category_detail.beauty .burasage li,
  .item_category_detail.supplement .burasage li,
  .item_category_detail.wear .burasage li {
    font-size: 2vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .sup_grid3,
  .item_category_detail.haircare .sup_grid3,
  .item_category_detail.beauty .sup_grid3,
  .item_category_detail.supplement .sup_grid3,
  .item_category_detail.wear .sup_grid3 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.dryer .sup_grid3,
  .item_category_detail.haircare .sup_grid3,
  .item_category_detail.beauty .sup_grid3,
  .item_category_detail.supplement .sup_grid3,
  .item_category_detail.wear .sup_grid3 {
    gap: 5vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .mineral,
  .item_category_detail.haircare .mineral,
  .item_category_detail.beauty .mineral,
  .item_category_detail.supplement .mineral,
  .item_category_detail.wear .mineral {
    border: 1px solid #000000;
    border-radius: 36px;
    padding: 40px;
    margin: 0 0 54px 0;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.dryer .mineral,
  .item_category_detail.haircare .mineral,
  .item_category_detail.beauty .mineral,
  .item_category_detail.supplement .mineral,
  .item_category_detail.wear .mineral {
    border-radius: 3.6vw;
    padding: 4vw;
    margin: 0 0 5.4vw 0;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .mineral h3,
  .item_category_detail.haircare .mineral h3,
  .item_category_detail.beauty .mineral h3,
  .item_category_detail.supplement .mineral h3,
  .item_category_detail.wear .mineral h3 {
    text-align-last: center;
    margin-bottom: 50px;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .mineral img,
  .item_category_detail.haircare .mineral img,
  .item_category_detail.beauty .mineral img,
  .item_category_detail.supplement .mineral img,
  .item_category_detail.wear .mineral img {
    display: block;
    margin: auto;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .flow_container dl,
  .item_category_detail.haircare .flow_container dl,
  .item_category_detail.beauty .flow_container dl,
  .item_category_detail.supplement .flow_container dl,
  .item_category_detail.wear .flow_container dl {
    display: grid;
    grid-template-columns: 178px 1fr;
    gap: 10px;
    margin-bottom: 10px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.dryer .flow_container dl,
  .item_category_detail.haircare .flow_container dl,
  .item_category_detail.beauty .flow_container dl,
  .item_category_detail.supplement .flow_container dl,
  .item_category_detail.wear .flow_container dl {
    grid-template-columns: 17.8vw 1fr;
    gap: 1vw;
    margin-bottom: 1vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .flow_container dt,
  .item_category_detail.haircare .flow_container dt,
  .item_category_detail.beauty .flow_container dt,
  .item_category_detail.supplement .flow_container dt,
  .item_category_detail.wear .flow_container dt {
    background: #CBBBBB;
    padding: 16px 20px;
    color: #ffffff;
    font-size: 30px;
    font-weight: bold;
    line-height: 34px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.dryer .flow_container dt,
  .item_category_detail.haircare .flow_container dt,
  .item_category_detail.beauty .flow_container dt,
  .item_category_detail.supplement .flow_container dt,
  .item_category_detail.wear .flow_container dt {
    padding: 1.6vw 2vw;
    font-size: 3vw;
    line-height: 3.4vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .flow_container dd,
  .item_category_detail.haircare .flow_container dd,
  .item_category_detail.beauty .flow_container dd,
  .item_category_detail.supplement .flow_container dd,
  .item_category_detail.wear .flow_container dd {
    padding: 16px 20px;
    background: #ffffff;
    font-size: 18px;
    line-height: 34px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.dryer .flow_container dd,
  .item_category_detail.haircare .flow_container dd,
  .item_category_detail.beauty .flow_container dd,
  .item_category_detail.supplement .flow_container dd,
  .item_category_detail.wear .flow_container dd {
    padding: 1.6vw 2vw;
    font-size: 1.8vw;
    line-height: 3.4vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .flow_container dd h3,
  .item_category_detail.haircare .flow_container dd h3,
  .item_category_detail.beauty .flow_container dd h3,
  .item_category_detail.supplement .flow_container dd h3,
  .item_category_detail.wear .flow_container dd h3 {
    font-size: 20px;
    line-height: 34px;
    font-weight: bold;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.dryer .flow_container dd h3,
  .item_category_detail.haircare .flow_container dd h3,
  .item_category_detail.beauty .flow_container dd h3,
  .item_category_detail.supplement .flow_container dd h3,
  .item_category_detail.wear .flow_container dd h3 {
    font-size: 2vw;
    line-height: 3.4vw;
  }
}
@media (min-width: 769px) {
  .item_category_detail.dryer .flow_container span,
  .item_category_detail.haircare .flow_container span,
  .item_category_detail.beauty .flow_container span,
  .item_category_detail.supplement .flow_container span,
  .item_category_detail.wear .flow_container span {
    background: url(../img/product/marker.png) repeat-x 0 85%;
    background-size: auto 6px;
  }
}
@media (min-width: 769px) and (max-width: 1140px) {
  .item_category_detail.dryer .flow_container span,
  .item_category_detail.haircare .flow_container span,
  .item_category_detail.beauty .flow_container span,
  .item_category_detail.supplement .flow_container span,
  .item_category_detail.wear .flow_container span {
    background-size: auto 0.6vw;
  }
}
/* ========================================================== */
/* ボタン */
/* ========================================================== */
.btn {
  height: 36px;
  border-radius: 8px;
  border: 1px solid #000000;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  transition: 0.3s;
}
.btn:hover {
  opacity: 1;
}
.btn.btn_black {
  border: 1px solid #000000;
}
.btn.btn_black:hover {
  color: #ffffff !important;
  background: #000000;
}
.btn.btn_black:hover span {
  color: #ffffff !important;
}
.btn.btn_green {
  border: 1px solid #0F9868;
  color: #0F9868;
}
.btn.btn_green:hover {
  color: #ffffff !important;
  background: #0F9868;
}
.btn.btn_green:hover span {
  color: #ffffff !important;
}
.btn.btn_line {
  background: #ffffff;
  border: 1px solid #000000;
  border-radius: 0;
  color: #000000;
  height: 50px;
  width: 300px;
  justify-content: flex-end;
  padding: 0 20px;
  position: relative;
}
.twoway .btn.btn_line {
  width: 350px;
}
@media (min-width: 769px) and (max-width: 1140px) {
  .twoway .btn.btn_line {
    width: 100%;
  }
}
.btn.btn_line::before {
  content: "";
  width: 86px;
  height: 1px;
  background: #D8D8D8;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0;
}
@media (max-width: 1000px) {
  .btn.btn_line::before {
    width: 7vw;
  }
}
.btn.btn_line::after {
  content: "";
  width: 0;
  height: 1px;
  background: #000000;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0;
  transition: 0.3s;
}
.btn.btn_line:hover::after {
  width: 86px;
}
@media (max-width: 1000px) {
  .btn.btn_line:hover::after {
    width: 7vw;
  }
}

/* ========================================================== */
/* スクロールバー */
/* ========================================================== */
.scroll__inner {
  background-color: #ffffff;
  padding: 0 0 20px 0;
  overflow-x: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
}

.scroll__inner::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}

.simplebar-scrollbar::before {
  background: #000000;
  border-radius: 0;
  height: 4px !important;
  margin-left: -2px;
  margin-top: -2px;
}

.simplebar-scrollbar.simplebar-visible::before {
  opacity: 1;
}

.simplebar-track {
  background: #D8D8D8;
  height: 4px !important;
}

/* ========================================================== */
/* アニメーション */
/* ========================================================== */
.kv_img {
  animation: bg_anime 1.5s forwards;
}

.text_animat01 span,
.text_animat02 span,
.holizonal_text span {
  opacity: 0;
}

.text_animat01.appeartext span {
  animation: text_anime_on 1s ease-out forwards;
}

.text_animat02.appeartext span {
  animation: text_anime_on 1s ease-out forwards;
}

.holizonal_text.appeartext span {
  animation: text_anime_on 2s ease-out forwards;
}

@keyframes bg_anime {
  0% {
    opacity: 0;
    transform: scale(1.15);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes text_anime_on {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* 追加240625解決次第消す */

.btn.btn_red {
  border: 1px solid #C50030;
  color: #C50030;
}
.btn.btn_red:hover {
  background-color: #C50030;
  color: #fff;
}
@media (min-width: 769px) and (max-width: 1023px) {
  .partner_txt img {
  width: 60%;
}
  .partner_txt {
      width: 22px;
      margin-left: -3px;
  }
}

/* 追加240703重要なお知らせ */
.toppage .gray_back {
  background-color: #f1eeee;
  padding-top: 1vw;
}
.toppage .caution2 {
  margin: 7.8947vw auto 0 auto;
  padding-bottom: 10vw;
  max-width: 87.7192vw;
  width: 86vw;
  /* border-bottom: 1px solid #000000; */
}
@media (max-width: 769px) {
.toppage .caution2 {
  margin: 12.8vw auto 0 auto;
  padding-bottom: 15.6vw;
  width:90%;
}
}
@media (min-width: 1141px) {
  .toppage .caution2 {
    margin: 90px auto 0 auto;
    padding-bottom: 230px;
    max-width: 1000px;
    border-bottom: 1px solid #000000;
  }
}


.toppage .caution2>div {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.4035vw;
  font-weight: 700;
  margin-bottom: 3vw;
}
.toppage .caution2>div div:first-child {
  width: 7%;
  margin-right: 1vw;
}
.toppage .caution2 a {
  display: block;
  width: 50%;
  background-color: #fff;
  border: 1px solid #000000;
  font-size: 2.2vw;
  margin: 0 auto;
  padding: 2vw 0;
}
.toppage .caution2 a div {
  text-align: center;
  text-align-last: center;
}
.toppage .caution2 a:hover {
  color: #fff;
  background-color: #C50030;
  opacity: 1!important;
}
.toppage .caution2 a div span {
  font-size: 1.8vw;
}
@media (min-width: 1141px) {
  .toppage .caution2>div {
      font-size: 24px;
      margin-bottom: 30px;
  }
  .toppage .caution2>div div:first-child {
      width:70px;
      margin-right: 10px;
  }
  .toppage .caution2 a {
      font-size: 22px;
      padding: 20px 0;
      width: 600px;
  }
  .toppage .caution2 a div span {
      font-size: 18px;
  }
}
@media (max-width: 768px) {
  .toppage .caution2>div {
      font-size: 4.4035vw;
      margin-bottom: 3vw;
  }
  .toppage .caution2>div div:first-child {
      width: 10%;
      margin-right: 1vw;
  }
  .toppage .caution2 a {
      width: 100%;
      font-size: 4.2vw;
      padding: 2vw 0;
  }
  .toppage .caution2 a div span {
      font-size: 3.8vw;
  }
}
/* 追加240703サプリグラフ */
.sup_figure {
  width: 50%;
  margin: 2vw auto;
  display: block;
}
@media (max-width: 768px) {
  .sup_figure {
    width: 90%;
    margin: 3vw auto;
  }
}