@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Bellefair&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Cormorant:ital,wght@0,300..700;1,300..700&family=Shippori+Mincho:wght@400;500;600;700;800&display=swap");
body {
  font-family: "Shippori Mincho", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  color: #333;
  background: #F5F5F5;
  letter-spacing: 0.05rem;
  line-height: 1.4;
}
@media (max-width: 480px) {
  body p {
    font-size: 0.875rem;
  }
}

body.admin-bar {
  margin-top: 32px; /* 管理バーの高さ分の余白を追加 */
}

@media (max-width: 782px) {
  body.admin-bar {
    margin-top: 46px; /* モバイル表示用の管理バーの高さ分の余白を追加 */
  }
}
.inner {
  width: 81.25%;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 1024px) {
  .inner {
    width: 90%;
  }
}
@media (max-width: 480px) {
  .inner {
    width: 88%;
  }
}

.inner2 {
  width: 90.625%;
  margin-left: auto;
}

.single_inner {
  width: 81.25%;
  margin: 0 auto;
  position: relative;
  max-width: 1200px;
}
@media (max-width: 480px) {
  .single_inner {
    width: 88%;
  }
}

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

.tab {
  display: none;
}
@media (max-width: 1024px) {
  .tab {
    display: block;
  }
}
@media (max-width: 480px) {
  .tab {
    display: none;
  }
}

.tab_sp {
  display: none;
}
@media (max-width: 1024px) {
  .tab_sp {
    display: block;
  }
}

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

.sp350 {
  display: none;
}
@media (max-width: 350px) {
  .sp350 {
    display: block;
  }
}

.sp480 {
  display: none;
}
@media (max-width: 480px) {
  .sp480 {
    display: block;
  }
}
@media (max-width: 350px) {
  .notsp350 {
    display: none;
    /* ~350px */
  }
}

@media (max-width: 480px) {
  .notsp480 {
    display: none;
  }
}

.hamburger {
  position: fixed;
  z-index: 150;
  top: 30px;
  right: 4%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 10px;
  background: #0E9FB4;
  width: 100px;
  height: 24px;
}
@media (max-width: 480px) {
  .hamburger {
    width: 54px;
    top: 26px;
    right: 26px;
  }
}
.hamburger .left {
  width: 24px;
  height: 6px;
  position: relative;
}
.hamburger .left span {
  width: 100%;
  height: 1px;
  background: #FFF;
  position: absolute;
  transition: all 0.4s;
}
.hamburger .left span:nth-child(1) {
  top: 0;
  left: 0;
}
.hamburger .left span:nth-child(2) {
  bottom: 0;
  left: 0;
}
.hamburger .right {
  color: #FFF;
}
@media (max-width: 480px) {
  .hamburger .right {
    display: none;
  }
}
.hamburger .right p {
  font-family: "Cormorant Garamond", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-style: italic;
  transition: all 0.4s;
  color: transparent;
  position: relative;
}
.hamburger .right p::before, .hamburger .right p::after {
  content: "menu";
  font-family: "Cormorant Garamond", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-style: italic;
  transition: all 0.4s;
  position: absolute;
  top: 50%;
  left: 50%;
  color: #FFF;
  transform: translate(-50%, -50%);
}
.hamburger .right p::before {
  content: "close";
  opacity: 0;
}
.hamburger.active span:nth-child(1) {
  transform: rotate(15deg);
  top: 3px;
}
.hamburger.active span:nth-child(2) {
  transform: rotate(-15deg);
  bottom: 2px;
}
.hamburger.active .right p::after {
  opacity: 0;
}
.hamburger.active .right p::before {
  opacity: 1;
}

.global_menu {
  width: 100vw;
  height: 100vh;
  z-index: 149;
  position: fixed !important;
  top: 0;
  left: 0;
  letter-spacing: 0.1rem;
  color: #FFF;
  opacity: 0;
  transition: all 0.4s;
  z-index: -100;
}
.global_menu.active {
  opacity: 1;
  z-index: 100;
}
.global_menu .inner {
  height: 100%;
  position: relative;
}
.global_menu .global_menu_logo {
  font-size: 20px;
  font-family: "Cormorant", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: 0.3rem;
  color: #FFF;
  font-weight: 500;
  position: absolute;
  top: 65px;
  left: 0;
}
.global_menu .global_menu_logo span {
  font-weight: 500;
  color: #0E9FB4;
}
.global_menu .global_menu_contents {
  padding-top: 120px;
  padding-bottom: 80px;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
@media screen and (max-height: 1024px) {
  .global_menu .global_menu_contents {
    padding-bottom: 40px;
  }
}
@media screen and (max-height: 768px) {
  .global_menu .global_menu_contents {
    padding-bottom: 40px;
  }
}
@media screen and (max-height: 645px) {
  .global_menu .global_menu_contents {
    padding-bottom: 30px;
  }
}
@media screen and (max-height: 768px) {
  .global_menu .global_menu_contents .global_menu_catch_copy {
    display: none;
  }
}
.global_menu .global_menu_contents .global_menu_catch_copy .main_text {
  font-size: 2.375rem;
  letter-spacing: 0.15rem;
}
@media (max-width: 480px) {
  .global_menu .global_menu_contents .global_menu_catch_copy .main_text {
    font-size: 1.8rem;
  }
}
.global_menu .global_menu_contents .global_menu_catch_copy .main_text span {
  letter-spacing: 0.15rem;
  font-size: 2rem;
}
@media (max-width: 480px) {
  .global_menu .global_menu_contents .global_menu_catch_copy .main_text span {
    font-size: 1.56rem;
  }
}
.global_menu .global_menu_contents .global_menu_catch_copy .sub_text {
  letter-spacing: 0.3rem;
  color: #B1B1B1;
  padding-top: 12px;
  padding-left: 4px;
}
@media screen and (max-height: 645px) {
  .global_menu .global_menu_contents .copyright {
    letter-spacing: 0.05rem;
  }
}

.global_menu_nav {
  letter-spacing: 0.1rem;
  text-align: right;
  margin-top: 20px;
  padding-top: 50px;
  padding-bottom: 70px;
  width: 50%;
  max-width: 730px;
  margin-left: auto;
  border-bottom: 1px solid #666;
  position: relative;
}
@media (max-width: 1024px) {
  .global_menu_nav {
    text-align: left;
    max-width: none;
    margin-right: auto;
    width: 100%;
    padding-top: 30px;
    margin-top: 120px;
  }
}
@media screen and (max-height: 1024px) {
  .global_menu_nav {
    padding-bottom: 40px;
    margin-top: 50px;
  }
}
@media screen and (max-height: 768px) {
  .global_menu_nav {
    padding-bottom: 40px;
  }
}
@media screen and (max-height: 645px) {
  .global_menu_nav {
    margin-top: 0;
    padding-top: 20px;
    padding-bottom: 30px;
  }
}
.global_menu_nav::after {
  content: "";
  width: 100px;
  height: 1px;
  background: #666;
  position: absolute;
  top: 0;
  right: 0;
}
@media (max-width: 1024px) {
  .global_menu_nav::after {
    left: 0;
    right: auto;
  }
}
.global_menu_nav a {
  position: relative;
  margin-top: 1.25rem;
  padding-top: 1.1rem;
  transition: all 0.4s;
}
.global_menu_nav a::after {
  transition: all 0.4s;
  content: attr(data-en);
  position: absolute;
  top: 0;
  right: 0;
  color: #B1B1B1;
  font-size: 0.825rem;
  font-style: italic;
  font-family: "Cormorant Garamond", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: 0.1rem;
}
@media (max-width: 1024px) {
  .global_menu_nav a::after {
    right: auto;
    left: 0;
  }
}
.global_menu_nav a:hover {
  color: #0E9FB4;
  letter-spacing: 0.2rem;
}
.global_menu_nav a:hover::after {
  letter-spacing: 0.1rem;
  color: #0E9FB4;
  opacity: 0.6;
}
@media screen and (max-height: 645px) {
  .global_menu_nav a {
    margin-top: 1rem;
  }
}

.global_menu {
  display: none;
}
@media (max-width: 1024px) {
  .global_menu {
    display: block;
  }
}

.hamburger {
  display: none;
}
@media (max-width: 1024px) {
  .hamburger {
    display: flex;
  }
}

header {
  width: 100%;
  height: 92px;
  position: fixed;
  top: -92px;
  left: 0;
  z-index: 10;
  transition: top 1.2s ease, opacity 1.5s ease;
  opacity: 0;
  overflow: hidden;
}
@media (max-width: 1280px) {
  header {
    height: 80px;
    top: -80px;
  }
}
@media (max-width: 480px) {
  header {
    height: 70px;
    top: -70px;
  }
}
header::after {
  content: "";
  width: 100vw;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-image: url(../img/bg/bg-3840.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  transition: all 0.3s;
  opacity: 0;
}
@media (max-width: 1920px) {
  header::after {
    background-image: url(../img/bg/bg-1920.png);
  }
}
@media (max-width: 1440px) {
  header::after {
    background-image: url(../img/bg/bg-1440.png);
  }
}
@media (max-width: 1280px) {
  header::after {
    background-image: url(../img/bg/bg-1280.png);
  }
}
@media (max-width: 1024px) {
  header::after {
    background-image: url(../img/bg/bg-1024.png);
  }
}
@media (max-width: 768px) {
  header::after {
    background-image: url(../img/bg/bg-768.png);
  }
}
@media (max-width: 480px) {
  header::after {
    background-image: url(../img/bg/bg-480.png);
  }
}
header::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #F5F5F5;
  transition: all 0.3s;
  opacity: 0;
  z-index: -2;
}
header.visible {
  top: 0;
  opacity: 1;
}
header.visible:hover::before, header.visible:hover::after {
  opacity: 1;
}
header .header_inner {
  padding: 28px 70px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
@media (max-width: 1280px) {
  header .header_inner {
    padding: 28px 0 25px;
    width: 90%;
    margin: 0 auto;
  }
}
@media (max-width: 480px) {
  header .header_inner {
    padding: 28px 10px 25px;
  }
}
header .header_logo {
  font-size: 20px;
  font-family: "Cormorant", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: 0.3rem;
  color: #595959;
  font-weight: 500;
  transition: all 0.3s;
}
header .header_logo span {
  font-weight: 500;
  color: #0E9FB4;
}
header .header_logo:hover {
  opacity: 0.7;
}
@media (max-width: 480px) {
  header .header_logo {
    font-size: 16px;
  }
}
header .header_nav {
  letter-spacing: 0.1rem;
  text-align: right;
  position: relative;
}
@media (max-width: 1024px) {
  header .header_nav {
    display: none;
  }
}
header .header_nav ul {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 24px;
}
header .header_nav a {
  position: relative;
  padding-top: 1.1rem;
  transition: all 0.4s;
}
header .header_nav a::after {
  transition: all 0.4s;
  content: attr(data-en);
  position: absolute;
  top: 0;
  right: 0;
  color: #B1B1B1;
  font-size: 0.825rem;
  font-style: italic;
  font-family: "Cormorant Garamond", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: 0.1rem;
}
header .header_nav a:hover {
  color: #0E9FB4;
}
header .header_nav a:hover::after {
  color: #0E9FB4;
  opacity: 0.6;
}

footer {
  padding-top: 120px;
  padding-bottom: 80px;
}
footer .footer_logo {
  font-size: 20px;
  font-family: "Cormorant", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: 0.3rem;
  color: #FFF;
  font-weight: 500;
}
footer .footer_logo span {
  font-weight: 500;
  color: #0E9FB4;
}
@media (max-width: 480px) {
  footer {
    padding-top: 80px;
    padding-bottom: 30px;
  }
}
footer .footer_contents {
  padding-top: 150px;
  color: #FFF;
}
@media (max-width: 480px) {
  footer .footer_contents {
    padding-top: 80px;
  }
}
footer .footer_catch_copy .main_text {
  font-size: 2.375rem;
  letter-spacing: 0.15rem;
}
@media (max-width: 480px) {
  footer .footer_catch_copy .main_text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 350px) {
  footer .footer_catch_copy .main_text {
    font-size: 1.5rem;
  }
}
footer .footer_catch_copy .main_text span {
  letter-spacing: 0.15rem;
  font-size: 2rem;
}
@media (max-width: 480px) {
  footer .footer_catch_copy .main_text span {
    font-size: 1.56rem;
  }
}
@media screen and (max-width: 350px) {
  footer .footer_catch_copy .main_text span {
    font-size: 1.3rem;
  }
}
footer .footer_catch_copy .sub_text {
  letter-spacing: 0.3rem;
  color: #B1B1B1;
  padding-top: 12px;
  padding-left: 4px;
}
@media (max-width: 480px) {
  footer .footer_catch_copy .sub_text {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 350px) {
  footer .footer_catch_copy .sub_text {
    font-size: 0.7rem;
  }
}

.footer_nav {
  letter-spacing: 0.1rem;
  text-align: right;
  margin-top: 20px;
  padding-top: 50px;
  padding-bottom: 70px;
  width: 50%;
  max-width: 730px;
  margin-left: auto;
  border-bottom: 1px solid #666;
  position: relative;
}
@media (max-width: 1024px) {
  .footer_nav {
    text-align: left;
    max-width: none;
    margin-right: auto;
    width: 100%;
    padding-top: 30px;
    margin-top: 120px;
  }
}
@media (max-width: 480px) {
  .footer_nav {
    margin-top: 60px;
    padding-top: 20px;
    padding-bottom: 50px;
  }
}
.footer_nav::after {
  content: "";
  width: 100px;
  height: 1px;
  background: #666;
  position: absolute;
  top: 0;
  right: 0;
}
@media (max-width: 1024px) {
  .footer_nav::after {
    left: 0;
    right: auto;
  }
}
.footer_nav a {
  position: relative;
  margin-top: 1.25rem;
  padding-top: 1.1rem;
  transition: all 0.4s;
}
.footer_nav a::after {
  transition: all 0.4s;
  content: attr(data-en);
  position: absolute;
  top: 0;
  right: 0;
  color: #B1B1B1;
  font-size: 0.825rem;
  font-style: italic;
  font-family: "Cormorant Garamond", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: 0.1rem;
}
@media (max-width: 1024px) {
  .footer_nav a::after {
    right: auto;
    left: 0;
  }
}
.footer_nav a:hover {
  color: #0E9FB4;
  letter-spacing: 0.2rem;
}
.footer_nav a:hover::after {
  letter-spacing: 0.1rem;
  color: #0E9FB4;
  opacity: 0.6;
}

.copyright {
  text-align: right;
  font-family: "Cormorant Garamond", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-style: italic;
  padding-top: 20px;
  padding-right: 14px;
  color: rgba(255, 255, 255, 0.5);
}
.copyright a {
  display: inline-block;
  transition: all 0.3s;
  position: relative;
}
.copyright a:hover::after {
  width: 100%;
}
.copyright a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 1px;
  background-color: #B1B1B1;
  transition: width 0.3s ease;
}

.section_title {
  font-size: 1.25rem;
  letter-spacing: 0.4rem;
  position: relative;
  padding-top: 1rem;
}
.section_title::before {
  content: attr(data-text);
  color: #B1B1B1;
  font-size: 1rem;
  font-family: "Cormorant Garamond", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-style: italic;
  letter-spacing: 0.1rem;
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 480px) {
  .section_title::before {
    font-size: 0.875rem;
  }
}
@media (max-width: 480px) {
  .section_title {
    font-size: 1rem;
  }
}

.section_title_2 {
  font-size: 1.875rem;
  letter-spacing: 0.6rem;
  position: relative;
  padding-top: 1.5rem;
  text-align: center;
}
@media (max-width: 768px) {
  .section_title_2 {
    font-size: 1.25rem;
    padding-top: 1rem;
  }
}
@media (max-width: 480px) {
  .section_title_2 {
    letter-spacing: 0.2rem;
  }
}
.section_title_2::after {
  font-family: "Cormorant Garamond", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  content: attr(data-text);
  color: #B1B1B1;
  font-size: 1rem;
  letter-spacing: 0.2rem;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 768px) {
  .section_title_2::after {
    width: 100%;
    font-size: 0.75rem;
  }
}
@media (max-width: 480px) {
  .section_title_2::after {
    letter-spacing: 0.1rem;
  }
}

.section_lead_text {
  padding-top: 88px;
}
@media (max-width: 480px) {
  .section_lead_text {
    padding-top: 50px;
  }
}
.section_lead_text .main_en_text {
  font-size: 1.125rem;
  letter-spacing: 0.1rem;
  color: #B1B1B1;
  line-height: 1.23;
  padding-bottom: 14px;
  font-family: "Cormorant Garamond", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-style: italic;
}
@media (max-width: 480px) {
  .section_lead_text .main_en_text {
    font-size: 0.75rem;
  }
}
.section_lead_text .main_ja_text {
  font-size: 2.25rem;
  letter-spacing: 0.1rem;
  line-height: 1.6;
  position: relative;
  padding-bottom: 14px;
  margin-bottom: 2.25rem;
}
.section_lead_text .main_ja_text span {
  font-size: 2rem;
}
@media (max-width: 480px) {
  .section_lead_text .main_ja_text span {
    font-size: 1.125rem;
  }
}
@media (max-width: 480px) {
  .section_lead_text .main_ja_text {
    font-size: 1.375rem;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
}
.section_lead_text .main_ja_text::after {
  content: "";
  width: 50px;
  height: 1px;
  background: #0E9FB4;
  position: absolute;
  bottom: 0;
  left: 0;
}
.section_lead_text .sub_text {
  line-height: 2;
}

.btn_1 {
  font-family: "Cormorant", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #333;
  letter-spacing: 0.2rem;
  position: relative;
  padding-right: calc(1rem + 26px);
  display: inline-block;
  transition: all 0.4s;
}
.btn_1::before {
  content: "";
  width: 26px;
  height: 26px;
  background: #0E9FB4;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  border-radius: 100%;
  transition: all 0.4s;
}
.btn_1::after {
  content: "";
  width: 6px;
  height: 5.5px;
  background: url(../img/icon/arrow-white.png) no-repeat center center/cover;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.4s;
}
.btn_1:hover {
  opacity: 0.7;
}
.btn_1:hover::before {
  right: -12px;
}
.btn_1:hover::after {
  right: -2px;
}

.btn_2 {
  font-family: "Cormorant", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #FFF;
  letter-spacing: 0.2rem;
  position: relative;
  padding-right: calc(1rem + 26px);
  display: inline-block;
  transition: all 0.4s;
}
.btn_2::before {
  content: "";
  width: 26px;
  height: 26px;
  background: #0E9FB4;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  border-radius: 100%;
  transition: all 0.4s;
}
.btn_2::after {
  content: "";
  width: 6px;
  height: 5.5px;
  background: url(../img/icon/arrow-white.png) no-repeat center center/cover;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.4s;
}
.btn_2:hover {
  opacity: 0.7;
}
.btn_2:hover::before {
  right: -12px;
}
.btn_2:hover::after {
  right: -2px;
}

.btn_3 {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0 14px;
}
.btn_3:hover .border::after {
  transform-origin: left top;
  transform: scale(1, 1);
}
.btn_3:hover .text {
  color: #0E9FB4;
  opacity: 0.7;
}
.btn_3 .text {
  font-family: "Cormorant", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  opacity: 0.6;
  transition: all 0.6s;
}
.btn_3 img {
  width: 8px;
}
.btn_3 .border {
  width: calc(100% - 120px);
  height: 1px;
  background: #B1B1B1;
  position: relative;
}
.btn_3 .border::after {
  content: "";
  width: 100%;
  height: 100%;
  background: #0E9FB4;
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.6s;
}

.back_btn {
  text-align: center;
  padding: 130px 0;
}
.back_btn a {
  display: inline-block;
  padding: 0.4rem 2.4rem;
  color: #FFF;
  border-radius: 6px;
  background: url(../img/bg/back_btn.png) no-repeat center center/cover;
  transition: all 0.4s;
}
.back_btn a:hover {
  opacity: 0.6;
}

.table-design {
  margin-top: 50px;
}
@media (max-width: 480px) {
  .table-design {
    display: block;
  }
  .table-design tr {
    display: flex;
    flex-direction: column;
  }
}
.table-design th {
  text-align: left;
  width: 23%;
  max-width: 250px;
  padding-bottom: 12px;
  border-bottom: 1px solid #0E9FB4;
  padding-top: 40px;
  padding-left: 8px;
  color: #666;
}
@media (max-width: 480px) {
  .table-design th {
    display: block;
    width: 100%;
    font-size: 0.875rem;
    max-width: 130px;
  }
}
.table-design td {
  width: 77%;
  max-width: calc(100% - 250px);
  padding-bottom: 12px;
  border-bottom: 1px solid #B1B1B1;
  padding-top: 40px;
  padding-left: 16px;
  position: relative;
}
@media (max-width: 480px) {
  .table-design td {
    width: 100%;
    display: block;
    max-width: none;
    font-size: 0.875rem;
    margin-top: 20px;
    padding-top: 20px;
    padding-left: 8px;
  }
}
.table-design td span {
  font-size: 0.875rem;
  color: #B1B1B1;
  position: absolute;
  top: 21px;
  left: 18px;
}
@media (max-width: 480px) {
  .table-design td span {
    top: 0;
    left: 10px;
  }
}
@media (max-width: 480px) {
  .table-design.outline_table tr:not(:nth-child(3)) td {
    padding-top: 0;
  }
}

.table-design-2 tr .th:nth-child(1), .table-design-2 tr td:nth-child(1) {
  width: 220px;
}
.table-design-2 tr .th:nth-child(2), .table-design-2 tr td:nth-child(2) {
  width: 180px;
}
.table-design-2 tr .th:nth-child(3), .table-design-2 tr td:nth-child(3) {
  width: 270px;
}
.table-design-2 tr .th:nth-child(4), .table-design-2 tr td:nth-child(4) {
  width: 270px;
}
.table-design-2 tr .th:nth-child(5), .table-design-2 tr td:nth-child(5) {
  width: 180px;
}
.table-design-2 tr td {
  text-align: center; /* 横方向の中央揃え */
  vertical-align: middle;
  padding: 30px 0;
  border-bottom: 1px solid #B1B1B1;
}
.table-design-2 tr td span {
  font-size: 1.5rem;
}
.table-design-2 tr td img {
  margin: 0 auto;
  width: 170px;
}
.table-design-2 tr th {
  padding-bottom: 12px;
  border-bottom: 1px solid #0E9FB4;
  padding-top: 40px;
  color: #666;
  font-size: 0.875rem;
}

.before_after_slider {
  width: 100%;
  padding-top: 52%;
  position: relative;
  overflow: hidden;
  -webkit-clip-path: polygon(2% 0, 100% 0%, 100% 100%, 0 100%);
          clip-path: polygon(2% 0, 100% 0%, 100% 100%, 0 100%);
}
.before_after_slider:hover .before_image img,
.before_after_slider:hover .after_image img {
  filter: brightness(0.7);
}

.before_image,
.after_image {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  z-index: 1;
}
.before_image img,
.after_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: filter 0.3s ease;
}
.before_image::after,
.after_image::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.before_image {
  -webkit-clip-path: inset(0 80% 0 0);
          clip-path: inset(0 80% 0 0);
  z-index: 2;
}

.before_after_handle {
  position: absolute;
  top: 0;
  right: 80%; /* 初期位置を20%に設定 */
  width: 5px;
  height: 100%;
  background-color: #FFF; /* ハンドルの色 */
  cursor: ew-resize;
  z-index: 3;
}
.before_after_handle::after, .before_after_handle::before {
  content: "";
  width: 10px;
  height: 20px;
  background: url(../img/icon/arrow2.png) no-repeat center center/cover;
  position: absolute;
  top: 50%;
  right: -16px;
  transform: translateY(-50%);
}
.before_after_handle::before {
  left: -16px;
  transform: translateY(-50%) rotate(-180deg);
}

.mv {
  height: 110vh;
  min-height: 1080px;
}
@media (max-width: 480px) {
  .mv {
    min-height: 900px;
  }
}
@media (max-width: 350px) {
  .mv {
    min-height: 800px;
  }
}

.mv_contents {
  height: 50vh;
  min-height: 500px;
}
@media (max-width: 480px) {
  .mv_contents {
    min-height: 450px;
  }
}
@media (max-width: 350px) {
  .mv_contents {
    min-height: 350px;
  }
}

.mv_inner {
  padding-top: 40px;
  width: calc(100vw - 100px);
  height: 100%;
  margin: 0 auto;
}
@media (max-width: 480px) {
  .mv_inner {
    width: calc(100vw - 52px);
    padding-top: 22px;
  }
}
@media screen and (max-width: 350px) {
  .mv_inner {
    width: 87%;
    margin: 0 auto;
  }
}

.mv_logo {
  font-size: 20px;
  font-family: "Cormorant", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: 0.3rem;
  color: #595959;
  font-weight: 500;
}
.mv_logo span {
  font-weight: 500;
  color: #0E9FB4;
}

.mv_middle_contents {
  height: calc(100% - 28px);
  display: flex;
  justify-content: space-between;
  align-items: end;
  padding-bottom: 36px;
}

.catch_copy {
  padding-left: 50px;
  padding-bottom: 10px;
  letter-spacing: 0.4rem;
}
.catch_copy .main_text {
  font-size: 3rem;
  font-weight: 300;
}
@media (max-width: 480px) {
  .catch_copy .main_text {
    font-size: 2rem;
  }
}
@media screen and (max-width: 350px) {
  .catch_copy .main_text {
    font-size: 1.8rem;
  }
}
.catch_copy .main_text span {
  font-weight: 300;
  font-size: 2.625rem;
}
@media (max-width: 480px) {
  .catch_copy .main_text span {
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 350px) {
  .catch_copy .main_text span {
    font-size: 1.5rem;
  }
}
.catch_copy .sub_text {
  padding-left: 4px;
  padding-top: 16px;
  color: #666;
  font-size: 1.3rem;
  letter-spacing: 0.6rem;
}
@media (max-width: 480px) {
  .catch_copy .sub_text {
    font-size: 1rem;
    letter-spacing: 0.3rem;
    padding-top: 10px;
  }
}
@media screen and (max-width: 350px) {
  .catch_copy .sub_text {
    font-size: 0.87rem;
  }
}
.catch_copy .sub_text span {
  font-size: 1.125rem;
}
@media (max-width: 480px) {
  .catch_copy .sub_text span {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 350px) {
  .catch_copy .sub_text span {
    font-size: 0.8rem;
  }
}
@media (max-width: 1024px) {
  .catch_copy {
    padding-left: 0;
  }
}

.mv_menu {
  letter-spacing: 0.1rem;
  text-align: right;
}
@media (max-width: 1024px) {
  .mv_menu {
    display: none;
  }
}
.mv_menu a {
  position: relative;
  margin-top: 1.25rem;
  padding-top: 1.1rem;
  transition: all 0.4s;
}
.mv_menu a::after {
  transition: all 0.4s;
  content: attr(data-en);
  position: absolute;
  top: 0;
  right: 0;
  color: #B1B1B1;
  font-size: 0.825rem;
  font-style: italic;
  font-family: "Cormorant Garamond", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: 0.1rem;
}
.mv_menu a:hover {
  color: #0E9FB4;
  letter-spacing: 0.2rem;
}
.mv_menu a:hover::after {
  letter-spacing: 0.1rem;
  color: #0E9FB4;
  opacity: 0.6;
}

.mv_img {
  width: 100%;
  height: 60vh;
  position: relative;
  -webkit-clip-path: polygon(0 60px, 100% 0%, 100% 100%, 0 100%);
          clip-path: polygon(0 60px, 100% 0%, 100% 100%, 0 100%);
  min-height: 580px;
}
@media (max-width: 480px) {
  .mv_img {
    min-height: 450px;
  }
}
@media (max-width: 350px) {
  .mv_img {
    min-height: 400px;
  }
}
.mv_img .swiper {
  width: inherit;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}
.mv_img .swiper-slide {
  width: inherit !important;
  height: inherit;
  display: block;
}
.mv_img .swiper-slide .slide_img {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
.mv_img .swiper-slide .slide_img.bg1 {
  background-image: url(../img/mv-bg/mv-bg-1-3840.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media (max-width: 1920px) {
  .mv_img .swiper-slide .slide_img.bg1 {
    background-image: url(../img/mv-bg/mv-bg-1-1920.jpg);
  }
}
@media (max-width: 1440px) {
  .mv_img .swiper-slide .slide_img.bg1 {
    background-image: url(../img/mv-bg/mv-bg-1-1440.jpg);
  }
}
@media (max-width: 1280px) {
  .mv_img .swiper-slide .slide_img.bg1 {
    background-image: url(../img/mv-bg/mv-bg-1-1280.jpg);
  }
}
@media (max-width: 1024px) {
  .mv_img .swiper-slide .slide_img.bg1 {
    background-image: url(../img/mv-bg/mv-bg-1-1024.jpg);
  }
}
@media (max-width: 768px) {
  .mv_img .swiper-slide .slide_img.bg1 {
    background-image: url(../img/mv-bg/mv-bg-1-768.jpg);
  }
}
@media (max-width: 480px) {
  .mv_img .swiper-slide .slide_img.bg1 {
    background-image: url(../img/mv-bg/mv-bg-1-480.jpg);
  }
}
.mv_img .swiper-slide .slide_img.bg2 {
  background-image: url(../img/mv-bg/mv-bg-2-3840.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media (max-width: 1920px) {
  .mv_img .swiper-slide .slide_img.bg2 {
    background-image: url(../img/mv-bg/mv-bg-2-1920.jpg);
  }
}
@media (max-width: 1440px) {
  .mv_img .swiper-slide .slide_img.bg2 {
    background-image: url(../img/mv-bg/mv-bg-2-1440.jpg);
  }
}
@media (max-width: 1280px) {
  .mv_img .swiper-slide .slide_img.bg2 {
    background-image: url(../img/mv-bg/mv-bg-2-1280.jpg);
  }
}
@media (max-width: 1024px) {
  .mv_img .swiper-slide .slide_img.bg2 {
    background-image: url(../img/mv-bg/mv-bg-2-1024.jpg);
  }
}
@media (max-width: 768px) {
  .mv_img .swiper-slide .slide_img.bg2 {
    background-image: url(../img/mv-bg/mv-bg-2-768.jpg);
  }
}
@media (max-width: 480px) {
  .mv_img .swiper-slide .slide_img.bg2 {
    background-image: url(../img/mv-bg/mv-bg-2-480.jpg);
  }
}
.mv_img .swiper-slide .slide_img.bg3 {
  background-image: url(../img/mv-bg/mv-bg-3-3840.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media (max-width: 1920px) {
  .mv_img .swiper-slide .slide_img.bg3 {
    background-image: url(../img/mv-bg/mv-bg-3-1920.jpg);
  }
}
@media (max-width: 1440px) {
  .mv_img .swiper-slide .slide_img.bg3 {
    background-image: url(../img/mv-bg/mv-bg-3-1440.jpg);
  }
}
@media (max-width: 1280px) {
  .mv_img .swiper-slide .slide_img.bg3 {
    background-image: url(../img/mv-bg/mv-bg-3-1280.jpg);
  }
}
@media (max-width: 1024px) {
  .mv_img .swiper-slide .slide_img.bg3 {
    background-image: url(../img/mv-bg/mv-bg-3-1024.jpg);
  }
}
@media (max-width: 768px) {
  .mv_img .swiper-slide .slide_img.bg3 {
    background-image: url(../img/mv-bg/mv-bg-3-768.jpg);
  }
}
@media (max-width: 480px) {
  .mv_img .swiper-slide .slide_img.bg3 {
    background-image: url(../img/mv-bg/mv-bg-3-480.jpg);
  }
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}
.mv_img .swiper-slide-active .slide_img,
.mv_img .swiper-slide-duplicate-active .slide_img,
.mv_img .swiper-slide-prev .slide_img {
  animation: zoomUp 10s linear 0s 1 normal both;
}

.message {
  position: relative;
}
.message .message_inner {
  max-width: 1120px;
  margin: 0 auto;
  padding-top: 220px;
  padding-bottom: 140px;
}
@media (max-width: 1024px) {
  .message .message_inner {
    width: 90%;
  }
}
@media (max-width: 480px) {
  .message .message_inner {
    padding-top: 50px;
    padding-bottom: 100px;
  }
}
.message .message_btn {
  display: none;
}
@media (max-width: 1024px) {
  .message .message_btn {
    display: block;
  }
}
@media (max-width: 1024px) {
  .message .btn_3.pc {
    display: none;
  }
}

.message_contents {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
  padding-bottom: 86px;
}
@media (max-width: 480px) {
  .message_contents {
    padding-bottom: 50px;
  }
}
@media (max-width: 1024px) {
  .message_contents {
    display: block;
  }
}
.message_contents .section_lead_text {
  display: none;
  padding-top: 0;
}
@media (max-width: 1024px) {
  .message_contents .section_lead_text {
    display: block;
  }
}
.message_contents .lead_text {
  padding-top: 1rem;
  position: relative;
  min-width: 420px;
  margin-left: 10px;
}
@media (max-width: 1024px) {
  .message_contents .lead_text {
    display: none;
  }
}
.message_contents .lead_text::after {
  content: "";
  width: 50px;
  height: 1px;
  background: #0E9FB4;
  position: absolute;
  top: 0;
  left: 0;
}
.message_contents .lead_text .main {
  font-size: 2.25rem;
  letter-spacing: 0.15rem;
}
.message_contents .lead_text .main span {
  font-size: 2rem;
}
.message_contents .lead_text .sub {
  padding-top: 20px;
  font-size: 1.125rem;
  font-family: "Cormorant Garamond", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-style: italic;
  color: #B1B1B1;
}
.message_contents .text {
  width: 50%;
}
@media (max-width: 480px) {
  .message_contents .text {
    width: 100%;
  }
}
.message_contents .text P {
  padding-top: 10px;
  letter-spacing: 0.1rem;
  line-height: 2;
}

.slide_show_message {
  position: absolute;
  left: 0;
  top: -5rem;
  z-index: 1;
}
@media (max-width: 480px) {
  .slide_show_message {
    top: -7rem;
  }
}

.slide_show {
  width: 100%;
  overflow: hidden;
}
.slide_show .slide_inner {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.slide_show .slide_track {
  animation: infiniteScroll 100s linear infinite;
}
@media (max-width: 480px) {
  .slide_show .slide_track {
    animation: infiniteScroll 40s linear infinite;
  }
}
.slide_show .slide_cont {
  font-family: "Bellefair", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #FFF;
  opacity: 0.7;
  font-size: 10rem;
  letter-spacing: 0.5rem;
}
@media (max-width: 480px) {
  .slide_show .slide_cont p {
    font-size: 6.25rem;
  }
}
.slide_show .slide_cont .small {
  font-size: 1rem;
}

@keyframes infiniteScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.feature {
  background: #444;
  color: #FFF;
}
@media (max-width: 480px) {
  .feature {
    overflow: hidden;
  }
}

.feature_inner {
  padding-top: 168px;
  padding-bottom: 210px;
  text-align: center;
}
@media (max-width: 480px) {
  .feature_inner {
    padding-top: 120px;
    padding-bottom: 140px;
  }
}
.feature_inner .feature_title {
  font-size: 2.25rem;
  letter-spacing: 0.6rem;
  padding-top: 54px;
  position: relative;
}
@media (max-width: 480px) {
  .feature_inner .feature_title {
    font-size: 1.5rem;
    padding-top: 46px;
  }
}
.feature_inner .feature_title::before {
  content: attr(data-ja);
  color: #B1B1B1;
  font-size: 1rem;
  letter-spacing: 0.2rem;
  position: absolute;
  top: 25px;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 480px) {
  .feature_inner .feature_title::before {
    font-size: 0.75rem;
    width: 100%;
  }
}
.feature_inner .feature_title::after {
  content: "";
  width: 14px;
  height: 14px;
  background: url(../img/icon/Polygon.png) no-repeat center center/cover;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) rotate(10deg);
}
@media (max-width: 480px) {
  .feature_inner .feature_title::after {
    /* ~480px */
  }
}
.feature_inner .text {
  padding: 118px 0;
}
@media (max-width: 480px) {
  .feature_inner .text {
    padding: 80px 0;
  }
}
.feature_inner .text p {
  letter-spacing: 0.4rem;
  line-height: 1.5;
  padding-bottom: 1.3rem;
}
@media (max-width: 480px) {
  .feature_inner .text p {
    letter-spacing: 0.1rem;
    font-size: 0.8rem;
  }
}
.feature_inner .text p:nth-child(4) {
  padding: 2rem 0 2rem;
}
@media (max-width: 480px) {
  .feature_inner .text p:nth-child(4) {
    padding: 1.5rem 0 1.5rem;
  }
}
.feature_inner .main_copy {
  font-size: 1.5rem;
  letter-spacing: 0.4rem;
  line-height: 2;
  padding: 40px 0;
  margin-bottom: 180px;
  position: relative;
  display: inline-block;
}
@media (max-width: 480px) {
  .feature_inner .main_copy {
    font-size: 1.25rem;
    padding: 24px 0;
    margin-bottom: 120px;
  }
}
.feature_inner .main_copy span {
  font-size: 1.25rem;
}
@media (max-width: 480px) {
  .feature_inner .main_copy span {
    font-size: 1.125rem;
  }
}
.feature_inner .main_copy::before, .feature_inner .main_copy::after {
  content: "";
  width: 100px;
  height: 50px;
  background: url(../img/icon/feature_copy_part.png) no-repeat center center/cover;
  position: absolute;
}
@media (max-width: 480px) {
  .feature_inner .main_copy::before, .feature_inner .main_copy::after {
    width: 75px;
    height: 37.5px;
  }
}
.feature_inner .main_copy::before {
  top: 0;
  right: -80px;
}
@media (max-width: 480px) {
  .feature_inner .main_copy::before {
    right: -46px;
  }
}
@media (max-width: 350px) {
  .feature_inner .main_copy::before {
    right: -36px;
    top: -10px;
  }
}
.feature_inner .main_copy::after {
  bottom: 0;
  left: -80px;
  transform: rotate(180deg);
}
@media (max-width: 480px) {
  .feature_inner .main_copy::after {
    left: -46px;
  }
}
@media (max-width: 350px) {
  .feature_inner .main_copy::after {
    left: -36px;
    bottom: -10px;
  }
}

.feature_img {
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 100px;
}
@media (max-width: 480px) {
  .feature_img {
    position: relative;
    width: 100%;
    padding-top: 120%;
    margin-top: 80px;
  }
}
@media (max-width: 1024px) {
  .feature_img {
    max-width: 700px;
  }
}
@media (max-width: 480px) {
  .feature_img img {
    width: 135%;
    position: absolute;
    top: 50%;
    left: 45%;
    transform: translate(-50%, -50%) rotate(-17deg);
  }
}

.feature_btn_wrap {
  padding-top: 120px;
}

.products {
  overflow: hidden;
}

.products_inner {
  padding-top: 160px;
  padding-bottom: 160px;
}
@media (max-width: 480px) {
  .products_inner {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}

.products_slider {
  width: 550px;
  margin-top: 80px;
}
@media (max-width: 768px) {
  .products_slider {
    margin-top: 40px;
  }
}
@media (max-width: 480px) {
  .products_slider {
    width: 100%;
  }
}
.products_slider .slider {
  display: flex;
  flex-shrink: 1;
  gap: 0 50px;
  transition: transform 0.4s ease-in-out;
  margin-bottom: 140px;
}
@media (max-width: 1024px) {
  .products_slider .slider {
    margin-bottom: 80px;
  }
}
.products_slider .slide {
  width: 500px;
  flex-shrink: 0;
  transform: scale(0.9);
  transition: transform 0.4s ease-in-out, opacity 0.4s ease-in-out;
  opacity: 0.8;
}
@media (max-width: 480px) {
  .products_slider .slide {
    width: 100%;
  }
}
.products_slider .slide.active {
  transform: scale(1);
  opacity: 1;
}
.products_slider .slide:hover {
  opacity: 0.6;
}
.products_slider .slide:hover .products_img img {
  transform: translate(-50%, -50%) scale(1.1);
}
.products_slider .slide:hover .products_title .main_text {
  color: #0E9FB4;
}
.products_slider .slide .products_img {
  width: 100%;
  padding-top: 70.6%;
  position: relative;
  overflow: hidden;
}
.products_slider .slide .products_img img {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.4s;
}
.products_slider .slide .products_title .sub_text {
  color: #666;
  padding-top: 10px;
  line-height: 2;
}
@media (max-width: 480px) {
  .products_slider .slide .products_title .sub_text {
    font-size: 0.75rem;
  }
}
.products_slider .slide .products_title .main_text {
  font-size: 1.25rem;
  padding-top: 10px;
  padding-bottom: 28px;
  line-height: 1.6;
  transition: all 0.4s;
}
@media (max-width: 480px) {
  .products_slider .slide .products_title .main_text {
    font-size: 0.85rem;
  }
}
.products_slider .slide .products_title .main_text span {
  font-size: 1.125rem;
}
.products_slider .slide .products_sub_parts {
  border-top: 1px solid #B1B1B1;
  display: flex;
  padding: 12px 9px 0;
  gap: 0 20px;
}
@media (max-width: 480px) {
  .products_slider .slide .products_sub_parts {
    display: block;
  }
}
.products_slider .slide .products_sub_parts .sub_parts_title {
  font-family: "Cormorant Garamond", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #B1B1B1;
  font-size: 1.125rem;
  letter-spacing: 0.2rem;
}
.products_slider .slide .products_sub_parts .sub_parts_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  color: #595959;
  gap: 0 20px;
  font-size: 0.85rem;
}
@media (max-width: 480px) {
  .products_slider .slide .products_sub_parts .sub_parts_list {
    padding-top: 6px;
  }
}
@media (max-width: 350px) {
  .products_slider .slide .products_sub_parts .sub_parts_list {
    display: block;
  }
}
.products_slider .slide .products_sub_parts .sub_parts_list li:not(:last-child) {
  position: relative;
}
@media (max-width: 350px) {
  .products_slider .slide .products_sub_parts .sub_parts_list li:not(:last-child) {
    padding-top: 4px;
  }
}
.products_slider .slide .products_sub_parts .sub_parts_list li:not(:last-child)::after {
  content: "/";
  position: absolute;
  top: 50%;
  right: -13px;
  transform: translateY(-50%);
}
@media (max-width: 350px) {
  .products_slider .slide .products_sub_parts .sub_parts_list li:not(:last-child)::after {
    display: none;
  }
}

@media (max-width: 480px) {
  .products .section_lead_text .sub_text br {
    display: none;
  }
}
.products .slider_control {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 0 26px;
  height: 60px;
}
@media (max-width: 480px) {
  .products .slider_control {
    gap: 0 18px;
  }
}
@media (max-width: 1024px) {
  .products .slider_control.slider_control_pc {
    display: none;
  }
}
.products .slider_control.slider_control_tab_sp {
  display: none;
}
@media (max-width: 1024px) {
  .products .slider_control.slider_control_tab_sp {
    display: flex;
    justify-content: center;
  }
}
.products .slider_control .prev {
  width: 60px;
  height: 60px;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(51, 51, 51, 0.5);
  position: relative;
  border-radius: 100%;
  transition: all 0.4s;
  margin: 0 10px;
}
@media (max-width: 480px) {
  .products .slider_control .prev {
    width: 50px;
    height: 50px;
  }
}
.products .slider_control .prev::after {
  content: "";
  width: 12px;
  height: 10px;
  background: url(../img/icon/arrow-black.png) no-repeat center center/cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-180deg);
  transition: all 0.4s;
}
@media (max-width: 480px) {
  .products .slider_control .prev::after {
    width: 10px;
    height: 8px;
  }
}
.products .slider_control .prev:hover {
  margin-left: 0;
  margin-right: 20px;
  opacity: 0.8;
}
.products .slider_control .prev:hover::after {
  left: 45%;
  transform: translate(-50%, -55%) rotate(-180deg);
}
.products .slider_control .next {
  width: 60px;
  height: 60px;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(51, 51, 51, 0.5);
  position: relative;
  border-radius: 100%;
  transition: all 0.4s;
  margin: 0 10px;
}
@media (max-width: 480px) {
  .products .slider_control .next {
    width: 50px;
    height: 50px;
  }
}
.products .slider_control .next::after {
  content: "";
  width: 12px;
  height: 10px;
  background: url(../img/icon/arrow-black.png) no-repeat center center/cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.4s;
}
@media (max-width: 480px) {
  .products .slider_control .next::after {
    width: 10px;
    height: 8px;
  }
}
.products .slider_control .next:hover {
  margin-right: 0;
  margin-left: 20px;
  opacity: 0.8;
}
.products .slider_control .next:hover::after {
  transform: translate(-50%, -45%);
  left: 55%;
}
.products .slider_pagination {
  display: flex;
  gap: 0 1rem;
}
.products .slider_pagination span {
  width: 10px;
  height: 10px;
  background-color: #ddd;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.4s;
}
.products .slider_pagination span:hover {
  opacity: 0.7;
  background: rgba(14, 159, 180, 0.6);
}
.products .slider_pagination span.active {
  background-color: #333;
}
.products .slider_pagination span.active:hover {
  opacity: 0.9;
  background: #0e9fb4;
}

@media (max-width: 1024px) {
  .products_slider_btn {
    display: none;
  }
}

.construction {
  padding: 220px 0;
  position: relative;
  -webkit-clip-path: polygon(0 60px, 100% 0%, 100% calc(100% - 60px), 0 100%);
          clip-path: polygon(0 60px, 100% 0%, 100% calc(100% - 60px), 0 100%);
}
@media (max-width: 480px) {
  .construction {
    -webkit-clip-path: polygon(0 40px, 100% 0%, 100% calc(100% - 40px), 0 100%);
            clip-path: polygon(0 40px, 100% 0%, 100% calc(100% - 40px), 0 100%);
    padding: 120px 0;
  }
}
.construction .section_title {
  text-align: right;
}
.construction .section_title::before {
  left: auto;
  right: 0;
}
.construction .section_lead_text {
  text-align: right;
}
.construction .section_lead_text .main_ja_text {
  padding-bottom: 35px;
}
.construction .section_lead_text .main_ja_text::after {
  width: 100%;
  background: #B1B1B1;
}
.construction .construction_list {
  display: flex;
  justify-content: end;
  flex-wrap: wrap;
  gap: 90px 4%;
  padding-top: 36px;
  padding-bottom: 50px;
  border-bottom: 1px solid rgba(177, 177, 177, 0.6);
}
@media (max-width: 480px) {
  .construction .construction_list {
    gap: 50px 4%;
  }
}
@media (max-width: 350px) {
  .construction .construction_list {
    gap: 30px 4%;
    padding-bottom: 30px;
  }
}
.construction .construction_item {
  width: 42%;
  flex-shrink: 0;
  transition: all 0.3s;
}
@media (max-width: 1024px) {
  .construction .construction_item {
    width: 90%;
  }
}
@media (max-width: 1024px) and (max-width: 350px) {
  .construction .construction_item {
    padding-bottom: 10px;
  }
}
@media (max-width: 1024px) {
  .construction .construction_item:nth-child(2) {
    width: 40%;
  }
  .construction .construction_item:nth-child(2) .use_products,
  .construction .construction_item:nth-child(2) .short_description {
    display: none;
  }
  .construction .construction_item:nth-child(2) .construction_title {
    padding-top: 12px;
  }
  .construction .construction_item:nth-child(2) .construction_title .customer_name {
    font-size: 0.75rem;
  }
  .construction .construction_item:nth-child(2) .construction_title .title {
    font-size: 0.875rem;
  }
  .construction .construction_item:last-child {
    display: none;
  }
}
@media (max-width: 480px) {
  .construction .construction_item {
    width: 100%;
  }
  .construction .construction_item:nth-child(2) {
    width: 48%;
  }
  .construction .construction_item:nth-child(2) .use_products,
  .construction .construction_item:nth-child(2) .short_description {
    display: none;
  }
  .construction .construction_item:nth-child(2) .construction_title {
    padding-top: 12px;
  }
  .construction .construction_item:nth-child(2) .construction_title .customer_name {
    font-size: 0.75rem;
  }
  .construction .construction_item:nth-child(2) .construction_title .title {
    font-size: 0.875rem;
  }
}
.construction .construction_item.small {
  width: 21%;
}
@media (max-width: 1024px) {
  .construction .construction_item.small {
    width: 40%;
  }
}
@media (max-width: 480px) {
  .construction .construction_item.small {
    width: 48%;
  }
}
.construction .construction_item a {
  width: 100%;
}

.construction_item_link {
  text-align: right;
  transition: all 0.3s;
}
.construction_item_link:hover .construction_title .title {
  color: rgba(14, 159, 180, 0.7);
}
.construction_item_link .construction_title {
  padding-top: 18px;
}
.construction_item_link .construction_title .title {
  font-size: 1.25rem;
  margin: 10px 0 18px;
  letter-spacing: 0.1rem;
  transition: all 0.3s;
  display: -webkit-box;
  -webkit-line-clamp: 1; /* 最大3行に制限 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis; /* 省略記号「...」を追加 */
}
.construction_item_link .customer_name {
  font-size: 0.875rem;
  color: #666;
  letter-spacing: 0.1rem;
}
.construction_item_link .short_description {
  max-width: 460px;
  margin-left: auto;
  color: #B1B1B1;
  display: -webkit-box;
  -webkit-line-clamp: 2; /* 最大3行に制限 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis; /* 省略記号「...」を追加 */
  margin-bottom: 20px;
}
.construction_item_link .use_products {
  display: flex;
  justify-content: end;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 16px;
  color: #B1B1B1;
  width: 95%;
  margin-left: auto;
  max-width: 500px;
  border-top: 1px solid rgba(177, 177, 177, 0.6);
  padding-top: 14px;
}
@media (max-width: 480px) {
  .construction_item_link .use_products {
    width: 100%;
  }
}
.construction_item_link .use_products .use_head {
  font-family: "Cormorant Garamond", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-style: italic;
  letter-spacing: 0.1rem;
  font-size: 1.125rem;
}
.construction_item_link .use_products .materials_used {
  font-size: 0.75rem;
}

.construction_item.small .construction_title {
  padding-top: 12px;
}
.construction_item.small .construction_title .customer_name {
  font-size: 0.75rem;
}
.construction_item.small .construction_title .title {
  font-size: 0.875rem;
}

.construction_btn_wrap {
  text-align: right;
  padding-top: 14px;
  padding-right: 2%;
}

.information {
  padding-top: 130px;
  padding-bottom: 200px;
}
@media (max-width: 480px) {
  .information {
    padding-top: 80px;
    padding-bottom: 100px;
  }
}

.information_list {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-top: 60px;
}

.information_item {
  width: 30%;
  padding: 50px 24px 30px;
  border-bottom: 1px solid rgba(177, 177, 177, 0.6);
  transition: all 0.3s;
}
.information_item:nth-child(1), .information_item:nth-child(2), .information_item:nth-child(3) {
  border-top: 1px solid rgba(177, 177, 177, 0.6);
}
@media (max-width: 1024px) {
  .information_item {
    width: 48%;
  }
}
@media (max-width: 480px) {
  .information_item {
    width: 100%;
    padding: 30px 8px 20px;
  }
}

.information_item_link:hover .information_item_thumbnail img {
  transform: translate(-50%, -50%) scale(1.125);
  filter: brightness(0.7);
}
.information_item_link:hover .information_date,
.information_item_link:hover .information_title,
.information_item_link:hover .information_excerpt {
  opacity: 0.8;
}

.information_item_thumbnail {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  overflow: hidden;
  -webkit-clip-path: polygon(0 0, 100% 0%, 98% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0%, 98% 100%, 0 100%);
}
@media (max-width: 480px) {
  .information_item_thumbnail {
    -webkit-clip-path: polygon(0 0, 100% 0%, 99% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0%, 99% 100%, 0 100%);
  }
}
.information_item_thumbnail img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.3s;
}

.information_date,
.information_title,
.information_excerpt {
  padding-left: 4px;
  padding-right: 4px;
  transition: all 0.3s;
}
@media (max-width: 480px) {
  .information_date,
  .information_title,
  .information_excerpt {
    padding-left: 0;
    padding-right: 0;
  }
}

.information_excerpt {
  max-width: 460px;
}

.information_date {
  padding-top: 12px;
  display: flex;
  align-items: center;
  gap: 0 8px;
}
.information_date img {
  width: 20px;
  height: 20px;
}
@media (max-width: 480px) {
  .information_date img {
    width: 16px;
    height: 16px;
  }
}
.information_date .date {
  font-size: 0.875rem;
  color: #B1B1B1;
  letter-spacing: 0.2rem;
}
@media (max-width: 480px) {
  .information_date .date {
    font-size: 0.75rem;
  }
}

.information_title {
  padding-top: 8px;
  padding-right: 6px;
  font-size: 1.125rem;
  display: -webkit-box;
  -webkit-line-clamp: 1; /* 最大3行に制限 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis; /* 省略記号「...」を追加 */
}
@media (max-width: 480px) {
  .information_title {
    font-size: 1rem;
    -webkit-line-clamp: 2; /* 最大3行に制限 */
  }
}

.information_excerpt {
  padding-top: 12px;
  padding-right: 6px;
  margin-bottom: 24px;
  color: #666;
  font-size: 0.875rem;
  display: -webkit-box;
  -webkit-line-clamp: 3; /* 最大3行に制限 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.information_cat {
  display: flex;
  align-items: center;
  gap: 0 1rem;
}
@media (max-width: 480px) {
  .information_cat {
    gap: 0 0.7rem;
  }
}
.information_cat .cat_head {
  font-family: "Cormorant Garamond", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-style: italic;
  font-size: 1.25rem;
  color: #B1B1B1;
}
@media (max-width: 480px) {
  .information_cat .cat_head {
    font-size: 0.875rem;
  }
}
.information_cat .cat_list {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.information_cat .cat_list li {
  position: relative;
}
.information_cat .cat_list li::after {
  content: ",";
  position: absolute;
  top: 50%;
  right: -0.6rem;
  transform: translateY(-50%);
  color: #B1B1B1;
}
@media (max-width: 480px) {
  .information_cat .cat_list li::after {
    display: none;
  }
}
@media (max-width: 480px) {
  .information_cat .cat_list li:not(:first-child) {
    display: none;
  }
}
.information_cat .cat_list li a {
  font-size: 0.875rem;
  color: #B1B1B1;
  transition: all 0.3s;
}
.information_cat .cat_list li a:hover {
  color: rgba(14, 159, 180, 0.7);
}
.information_cat .cat_list li:last-child::after {
  content: "";
}

.information_btn_wrap {
  padding-left: 25px;
  padding-top: 75px;
}
@media (max-width: 480px) {
  .information_btn_wrap {
    padding-left: 0;
    padding-top: 50px;
  }
}

.catalog {
  width: 100%;
  text-align: center;
  color: #FFF;
  padding-top: 170px;
  padding-bottom: 200px;
  position: relative;
  background-image: url(../img/bg/catalog-bg-3840.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media (max-width: 480px) {
  .catalog {
    padding-top: 80px;
    padding-bottom: 100px;
  }
}
@media (max-width: 1920px) {
  .catalog {
    background-image: url(../img/bg/catalog-bg-1920.jpg);
  }
}
@media (max-width: 1440px) {
  .catalog {
    background-image: url(../img/bg/catalog-bg-1440.jpg);
  }
}
@media (max-width: 1280px) {
  .catalog {
    background-image: url(../img/bg/catalog-bg-1280.jpg);
  }
}
@media (max-width: 1024px) {
  .catalog {
    background-image: url(../img/bg/catalog-bg-1024.jpg);
  }
}
@media (max-width: 768px) {
  .catalog {
    background-image: url(../img/bg/catalog-bg-768.jpg);
  }
}
@media (max-width: 480px) {
  .catalog {
    background-image: url(../img/bg/catalog-bg-480.jpg);
  }
}
.catalog::before {
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(68, 68, 68, 0.8), #444);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.catalog::after {
  content: "";
  width: 100%;
  height: 1px;
  background: rgba(177, 177, 177, 0.3);
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}
.catalog .lead_text {
  letter-spacing: 0.4rem;
  padding-top: 64px;
  color: rgba(255, 255, 255, 0.7);
}
.catalog .lead_text.tab_sp {
  letter-spacing: 0.2rem;
}
@media (max-width: 350px) {
  .catalog .lead_text.tab_sp {
    display: none;
  }
}

.catalog_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 60px 3%;
  margin-top: 80px;
}
@media (max-width: 480px) {
  .catalog_list {
    gap: 20px 4%;
    justify-content: start;
  }
}
.catalog_list .catalog_item {
  width: 17%;
  flex-shrink: 0;
  max-width: 260px;
}
@media (max-width: 768px) {
  .catalog_list .catalog_item {
    width: 28%;
  }
}
@media (max-width: 480px) {
  .catalog_list .catalog_item {
    width: 48%;
  }
}
.catalog_list .catalog_item .catalog_img {
  width: 100%;
  padding-top: 134%;
  transition: all 0.3s;
  position: relative;
}
.catalog_list .catalog_item .catalog_img img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.3s;
}
.catalog_list .catalog_item .catalog_img:hover img {
  top: -10px;
  opacity: 0.8;
}
.catalog_list .catalog_item .download {
  padding-top: 12px;
  display: flex;
  justify-content: center;
  gap: 0 8px;
  align-items: center;
  transition: all 0.3s;
}
@media (max-width: 1024px) {
  .catalog_list .catalog_item .download {
    display: none;
  }
}
.catalog_list .catalog_item .download:hover {
  opacity: 0.4;
}
.catalog_list .catalog_item .download img {
  width: 14px;
  transition: all 0.3s;
}
.catalog_list .catalog_item .download span {
  transition: all 0.3s;
  color: #B1B1B1;
}

.page_visual {
  margin-top: 140px;
  padding-top: 50px;
}
@media (max-width: 350px) {
  .page_visual {
    margin-top: 100px;
  }
}
.page_visual .page_visual_inner {
  padding: 0 120px;
}
@media (max-width: 1024px) {
  .page_visual .page_visual_inner {
    padding: 0 50px;
  }
}
@media (max-width: 480px) {
  .page_visual .page_visual_inner {
    width: 88%;
    margin: 0 auto;
    padding: 0;
  }
}
.page_visual .page_title {
  font-size: 2.25rem;
  letter-spacing: 0.2rem;
  position: relative;
  padding-bottom: 28px;
}
@media (max-width: 768px) {
  .page_visual .page_title {
    font-size: 2rem;
  }
}
@media (max-width: 480px) {
  .page_visual .page_title {
    font-size: 1.375rem;
    padding-bottom: 20px;
  }
}
.page_visual .page_title::after {
  content: attr(data-en);
  font-family: "Cormorant Garamond", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-style: italic;
  font-size: 1.25rem;
  position: absolute;
  left: 5px;
  bottom: 0;
  color: #B1B1B1;
}
@media (max-width: 480px) {
  .page_visual .page_title::after {
    font-size: 1rem;
  }
}
.page_visual .archive_page_title {
  margin-bottom: 38px;
}
@media (max-width: 350px) {
  .page_visual .archive_page_title {
    margin-bottom: 20px;
  }
}
.page_visual .archive_page_title::before {
  content: "";
  width: calc(100vw - 140px);
  height: 1px;
  background: #B1B1B1;
  position: absolute;
  bottom: -38px;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 1024px) {
  .page_visual .archive_page_title::before {
    width: 90vw;
    min-width: calc(100vw - 70px);
  }
}
@media (max-width: 480px) {
  .page_visual .archive_page_title::before {
    bottom: -20px;
  }
}

.page_visual_image {
  margin-top: 50px;
  width: 100%;
  height: 350px;
  -webkit-clip-path: polygon(0 30px, 100% 0%, 100% 100%, 0 100%);
          clip-path: polygon(0 30px, 100% 0%, 100% 100%, 0 100%);
}
@media (max-width: 1024px) {
  .page_visual_image {
    height: 250px;
    -webkit-clip-path: polygon(0 20px, 100% 0%, 100% 100%, 0 100%);
            clip-path: polygon(0 20px, 100% 0%, 100% 100%, 0 100%);
  }
}
@media (max-width: 480px) {
  .page_visual_image {
    height: 200px;
    -webkit-clip-path: polygon(0 10px, 100% 0%, 100% 100%, 0 100%);
            clip-path: polygon(0 10px, 100% 0%, 100% 100%, 0 100%);
    margin-top: 30px;
  }
}
.page_visual_image .page_visual_about_img {
  background-image: url(../img/page-visual/pv-1-3840.jpg);
}
@media (max-width: 1920px) {
  .page_visual_image .page_visual_about_img {
    background-image: url(../img/page-visual/pv-1-1920.jpg);
  }
}
@media (max-width: 1440px) {
  .page_visual_image .page_visual_about_img {
    background-image: url(../img/page-visual/pv-1-1440.jpg);
  }
}
@media (max-width: 1280px) {
  .page_visual_image .page_visual_about_img {
    background-image: url(../img/page-visual/pv-1-1280.jpg);
  }
}
@media (max-width: 1024px) {
  .page_visual_image .page_visual_about_img {
    background-image: url(../img/page-visual/pv-1-1024.jpg);
  }
}
@media (max-width: 768px) {
  .page_visual_image .page_visual_about_img {
    background-image: url(../img/page-visual/pv-1-768.jpg);
  }
}
@media (max-width: 480px) {
  .page_visual_image .page_visual_about_img {
    background-image: url(../img/page-visual/pv-1-480.jpg);
  }
}
.page_visual_image .page_visual_products_img {
  background-image: url(../img/page-visual/pv-2-3840.jpg);
}
@media (max-width: 1920px) {
  .page_visual_image .page_visual_products_img {
    background-image: url(../img/page-visual/pv-2-1920.jpg);
  }
}
@media (max-width: 1440px) {
  .page_visual_image .page_visual_products_img {
    background-image: url(../img/page-visual/pv-2-1440.jpg);
  }
}
@media (max-width: 1280px) {
  .page_visual_image .page_visual_products_img {
    background-image: url(../img/page-visual/pv-2-1280.jpg);
  }
}
@media (max-width: 1024px) {
  .page_visual_image .page_visual_products_img {
    background-image: url(../img/page-visual/pv-2-1024.jpg);
  }
}
@media (max-width: 768px) {
  .page_visual_image .page_visual_products_img {
    background-image: url(../img/page-visual/pv-2-768.jpg);
  }
}
@media (max-width: 480px) {
  .page_visual_image .page_visual_products_img {
    background-image: url(../img/page-visual/pv-2-480.jpg);
  }
}
.page_visual_image .page_visual_professional_img {
  background-image: url(../img/page-visual/pv-3-3840.jpg);
}
@media (max-width: 1920px) {
  .page_visual_image .page_visual_professional_img {
    background-image: url(../img/page-visual/pv-3-1920.jpg);
  }
}
@media (max-width: 1440px) {
  .page_visual_image .page_visual_professional_img {
    background-image: url(../img/page-visual/pv-3-1440.jpg);
  }
}
@media (max-width: 1280px) {
  .page_visual_image .page_visual_professional_img {
    background-image: url(../img/page-visual/pv-3-1280.jpg);
  }
}
@media (max-width: 1024px) {
  .page_visual_image .page_visual_professional_img {
    background-image: url(../img/page-visual/pv-3-1024.jpg);
  }
}
@media (max-width: 768px) {
  .page_visual_image .page_visual_professional_img {
    background-image: url(../img/page-visual/pv-3-768.jpg);
  }
}
@media (max-width: 480px) {
  .page_visual_image .page_visual_professional_img {
    background-image: url(../img/page-visual/pv-3-480.jpg);
  }
}

.page_contents {
  padding-top: 120px;
}
@media (max-width: 480px) {
  .page_contents {
    padding-top: 80px;
  }
}

.breadcrumbs {
  display: flex;
  align-items: center;
  gap: 0 28px;
  padding-top: 24px;
}
.breadcrumbs a {
  font-size: 0.875rem;
  transition: all 0.4s;
}
.breadcrumbs a:hover {
  color: rgba(14, 159, 180, 0.8);
}
@media (max-width: 480px) {
  .breadcrumbs a {
    font-size: 0.75rem;
  }
}
.breadcrumbs li:first-child {
  color: #B1B1B1;
}
.breadcrumbs li:nth-child(1), .breadcrumbs li:nth-child(2) {
  flex-shrink: 0;
}
.breadcrumbs li:not(:first-child) {
  font-size: 0.86rem;
  position: relative;
  color: rgba(102, 102, 102, 0.8);
}
.breadcrumbs li:not(:first-child)::before {
  content: "";
  width: 6px;
  height: 10px;
  background: url(../img/icon/arrow3.png) no-repeat center center/cover;
  position: absolute;
  top: 50%;
  left: -17px;
  transform: translateY(-50%);
}

.parallax-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  /* 画像要素の設定 */
}
.parallax-container .parallax-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: 150%;
  background-position: center top;
  background-repeat: no-repeat;
}
.parallax-container .parallax-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 150%;
  height: 150%;
  -o-object-fit: cover;
     object-fit: cover;
  will-change: transform;
}

.page_thoughts {
  overflow: hidden;
}

.thoughts_inner {
  max-width: 1920px;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 1024px) {
  .thoughts_inner {
    padding-top: 80px;
  }
}

.thoughts_contents {
  padding-top: 60px;
  width: 510px;
  margin-left: 26%;
  padding-bottom: 750px;
}
@media screen and (max-height: 1023px) and (min-width: 1025px) {
  .thoughts_contents {
    padding-bottom: 500px;
  }
}
@media (max-width: 1024px) {
  .thoughts_contents {
    margin-left: 14%;
  }
}
@media (max-width: 768px) {
  .thoughts_contents {
    padding-bottom: 500px;
  }
}
@media (max-width: 480px) {
  .thoughts_contents {
    margin: 0 auto;
    width: 88%;
  }
}
.thoughts_contents .thoughts_btn_wrap {
  margin-top: 66px;
  text-align: right;
}
.thoughts_contents .thoughts_btn_wrap a {
  margin-bottom: 18px;
}

.thought_img_wrap {
  position: relative;
}
.thought_img_wrap .parallax-container {
  position: absolute;
  top: 0;
  left: 0;
}
.thought_img_wrap img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  will-change: transform;
}

.thought_img_1_wrap {
  width: 31.25%;
  position: absolute;
  right: -10%;
  top: 380px;
}
@media (max-width: 1024px) {
  .thought_img_1_wrap {
    width: 38%;
    right: 0;
    top: 0;
  }
}
@media (max-width: 480px) {
  .thought_img_1_wrap {
    width: 45%;
    right: -5%;
  }
}

.thought_img_2_wrap {
  width: 19.3%;
  position: absolute;
  left: -10%;
  top: 600px;
}
@media (max-width: 1024px) {
  .thought_img_2_wrap {
    width: 24%;
    left: 20px;
    top: 1100px;
  }
}
@media (max-width: 480px) {
  .thought_img_2_wrap {
    width: 34%;
    top: 1050px;
  }
}
@media (max-width: 350px) {
  .thought_img_2_wrap {
    top: 1180px;
  }
}

.thought_img_3_wrap {
  width: 34.375%;
  position: absolute;
  right: 15.6%;
  top: 1300px;
}
@media screen and (max-height: 1023px) and (min-width: 1025px) {
  .thought_img_3_wrap {
    top: 1150px;
  }
}
@media (max-width: 1024px) {
  .thought_img_3_wrap {
    width: 57%;
    right: 0;
  }
}
@media (max-width: 480px) {
  .thought_img_3_wrap {
    width: 70%;
    top: 1330px;
  }
}
@media (max-width: 350px) {
  .thought_img_3_wrap {
    top: 1430px;
  }
}

.about_explain {
  width: 85%;
  max-width: 1600px;
  margin: 180px auto;
}
@media (max-width: 1280px) {
  .about_explain {
    margin: 100px auto;
  }
}
@media (max-width: 768px) {
  .about_explain {
    width: 92%;
  }
}

.about_explain_head {
  font-size: 2.25rem;
  letter-spacing: 0.6rem;
  padding-top: 54px;
  position: relative;
  font-family: "Cormorant Garamond", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  text-align: center;
  color: #FFF;
}
@media (max-width: 480px) {
  .about_explain_head {
    font-size: 1.375rem;
    letter-spacing: 0.3rem;
    padding-top: 42px;
  }
}
.about_explain_head span {
  color: #0E9FB4;
}
.about_explain_head::before {
  content: attr(data-ja);
  color: #B1B1B1;
  font-size: 1rem;
  letter-spacing: 0.2rem;
  position: absolute;
  top: 25px;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 480px) {
  .about_explain_head::before {
    font-size: 0.75rem;
    width: 100%;
  }
}
.about_explain_head::after {
  content: "";
  width: 14px;
  height: 14px;
  background: url(../img/icon/Polygon.png) no-repeat center center/cover;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) rotate(10deg);
}

.about_explain_inner {
  padding: 150px 50px 180px;
  position: relative;
}
@media (max-width: 1440px) {
  .about_explain_inner {
    padding: 100px 50px 130px;
  }
}
@media (max-width: 1024px) {
  .about_explain_inner {
    padding: 60px 30px 80px;
  }
}
@media (max-width: 768px) {
  .about_explain_inner {
    padding: 60px 50px 80px;
  }
}
@media (max-width: 480px) {
  .about_explain_inner {
    padding: 60px 30px 80px;
  }
}
@media (max-width: 350px) {
  .about_explain_inner {
    padding: 60px 16px 80px;
  }
}
.about_explain_inner .about_explain_text {
  text-align: center;
  color: #FFF;
  padding-top: 80px;
  line-height: 2;
}
@media (max-width: 1024px) {
  .about_explain_inner .about_explain_text {
    padding-top: 40px;
  }
}
@media (max-width: 350px) {
  .about_explain_inner .about_explain_text {
    font-size: 0.75rem;
  }
}

.page_outline {
  -webkit-clip-path: polygon(0 60px, 100% 0%, 100% 100%, 0 100%);
          clip-path: polygon(0 60px, 100% 0%, 100% 100%, 0 100%);
  padding-top: 250px;
  padding-bottom: 230px;
}
.page_outline .inner {
  max-width: 650px;
}
@media (max-width: 480px) {
  .page_outline {
    -webkit-clip-path: polygon(0 30px, 100% 0%, 100% 100%, 0 100%);
            clip-path: polygon(0 30px, 100% 0%, 100% 100%, 0 100%);
    padding-top: 120px;
    padding-bottom: 140px;
  }
}

.outline_img_wrap {
  width: 100%;
  padding-top: 61.5%;
  position: relative;
}
.outline_img_wrap::before {
  content: "";
  width: 100vw;
  height: 62.5%;
  background-image: url(../img/page-visual/pv-1-3840.jpg);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  filter: grayscale(100%);
  -webkit-clip-path: polygon(0 20%, 100% 0%, 100% 100%, 0 100%);
          clip-path: polygon(0 20%, 100% 0%, 100% 100%, 0 100%);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.1;
}
@media (max-width: 1920px) {
  .outline_img_wrap::before {
    background-image: url(../img/page-visual/pv-1-1920.jpg);
  }
}
@media (max-width: 1440px) {
  .outline_img_wrap::before {
    background-image: url(../img/page-visual/pv-1-1440.jpg);
  }
}
@media (max-width: 1280px) {
  .outline_img_wrap::before {
    background-image: url(../img/page-visual/pv-1-1280.jpg);
  }
}
@media (max-width: 1024px) {
  .outline_img_wrap::before {
    background-image: url(../img/page-visual/pv-1-1024.jpg);
  }
}
@media (max-width: 768px) {
  .outline_img_wrap::before {
    background-image: url(../img/page-visual/pv-1-768.jpg);
  }
}
@media (max-width: 480px) {
  .outline_img_wrap::before {
    background-image: url(../img/page-visual/pv-1-480.jpg);
  }
}

.outline_img_container {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-clip-path: polygon(0 20px, 100% 0%, 100% 100%, 0 100%);
          clip-path: polygon(0 20px, 100% 0%, 100% 100%, 0 100%);
}
.outline_img_container .parallax-container {
  position: absolute;
  top: 0;
  left: 0;
}
.outline_img_container .parallax-container .parallax-image {
  width: 150%;
}
.outline_img_container .outline_img {
  height: auto;
}
.outline_img_container .outline_img:nth-child(2) {
  display: none;
}
@media (max-width: 480px) {
  .outline_img_container .outline_img:nth-child(1) {
    display: none;
  }
  .outline_img_container .outline_img:nth-child(2) {
    display: block;
    height: auto;
  }
}

.feature_set {
  padding-top: 100px;
  padding-bottom: 140px;
}
@media (max-width: 350px) {
  .feature_set {
    padding-top: 80px;
    padding-bottom: 120px;
  }
}

.feature_set_head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.feature_set_head p {
  font-family: "Cormorant Garamond", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-style: italic;
  font-size: 1.125rem;
  color: #B1B1B1;
  letter-spacing: 0.2rem;
}
.feature_set_head span {
  width: calc(100% - 130px);
  height: 1px;
  background: rgba(177, 177, 177, 0.6);
}

.feature_set_list {
  display: flex;
  justify-content: start;
  align-items: center;
  flex-wrap: wrap;
  padding-top: 50px;
  gap: 40px;
}
.feature_set_list .feature_set_item {
  width: calc((100% - 120px) / 3);
  max-width: 500px;
  min-width: 300px;
  background: #FFF;
  padding-top: 45px;
  padding-bottom: 40px;
  text-align: center;
}
@media (max-width: 1024px) {
  .feature_set_list .feature_set_item {
    width: calc((100% - 40px) / 2);
  }
}
@media (max-width: 480px) {
  .feature_set_list .feature_set_item {
    width: 100%;
    min-width: auto;
  }
}
.feature_set_list .feature_set_item .feature_set_icon {
  width: 200px;
  margin: 0 auto 12px;
}
.feature_set_list .feature_set_item .feature_set_item_head {
  font-size: 1.5rem;
  letter-spacing: 0.2rem;
  padding-bottom: 14px;
}
@media (max-width: 1280px) {
  .feature_set_list .feature_set_item .feature_set_item_head {
    font-size: 1.3rem;
  }
}
@media (max-width: 350px) {
  .feature_set_list .feature_set_item .feature_set_item_head {
    font-size: 1.2rem;
  }
}
.feature_set_list .feature_set_item .feature_set_item_text {
  font-size: 0.875rem;
  color: #666;
}

.page_products_list {
  -webkit-clip-path: polygon(0 60px, 100% 0%, 100% calc(100% - 60px), 0 100%);
          clip-path: polygon(0 60px, 100% 0%, 100% calc(100% - 60px), 0 100%);
}
@media (max-width: 1024px) {
  .page_products_list {
    -webkit-clip-path: polygon(0 30px, 100% 0%, 100% calc(100% - 30px), 0 100%);
            clip-path: polygon(0 30px, 100% 0%, 100% calc(100% - 30px), 0 100%);
  }
}
@media (max-width: 480px) {
  .page_products_list {
    -webkit-clip-path: polygon(0 10px, 100% 0%, 100% calc(100% - 10px), 0 100%);
            clip-path: polygon(0 10px, 100% 0%, 100% calc(100% - 10px), 0 100%);
  }
}

.page_products_list_inner {
  padding: 180px 60px 260px;
  display: flex;
  gap: 0 2.4%;
  position: relative;
}
@media (max-width: 480px) {
  .page_products_list_inner {
    padding: 60px 0 100px;
    width: 88%;
    margin: 0 auto;
  }
}
@media (max-width: 350px) {
  .page_products_list_inner {
    padding-top: 30px;
  }
}

.page_products_mokuzi {
  width: 390px;
  padding-top: 40px;
  position: relative;
}
@media (max-width: 1280px) {
  .page_products_mokuzi {
    display: none;
  }
}
.page_products_mokuzi .page_products_mokuzi_inner {
  border-radius: 12px;
  padding: 7%;
  position: sticky;
  top: 200px;
  margin-bottom: 100px;
}
.page_products_mokuzi .page_products_mokuzi_inner p, .page_products_mokuzi .page_products_mokuzi_inner ul {
  position: relative;
}
.page_products_mokuzi .page_products_mokuzi_head {
  font-family: "Cormorant Garamond", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-style: italic;
  font-weight: 500;
  letter-spacing: 0.2rem;
  color: #B1B1B1;
  padding-bottom: 20px;
  padding-left: 8px;
}
.page_products_mokuzi .mokzui_item {
  border-top: 1px solid rgba(177, 177, 177, 0.4);
}
.page_products_mokuzi .mokzui_item:last-child {
  border-bottom: 1px solid rgba(177, 177, 177, 0.4);
}
.page_products_mokuzi .mokzui_item.active a {
  opacity: 1;
  pointer-events: none;
}
.page_products_mokuzi .mokzui_item.active a .icon {
  background: rgba(14, 159, 180, 0.6);
  border: 1px solid rgba(14, 159, 180, 0.4);
}
.page_products_mokuzi .mokzui_item.active a .icon::after {
  opacity: 0;
}
.page_products_mokuzi .mokzui_item a {
  padding: 1rem 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  opacity: 0.4;
  transition: all 0.4s;
}
.page_products_mokuzi .mokzui_item a:hover {
  opacity: 1;
}
.page_products_mokuzi .mokzui_item a:hover .icon {
  background: rgba(14, 159, 180, 0.6);
  border: 1px solid rgba(14, 159, 180, 0.4);
}
.page_products_mokuzi .mokzui_item a:hover .icon::after {
  opacity: 0;
}
.page_products_mokuzi .mokzui_item .text {
  padding-left: 26px;
  position: relative;
}
.page_products_mokuzi .mokzui_item .text::before {
  content: attr(data-num);
  font-size: 0.875rem;
  color: #B1B1B1;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.page_products_mokuzi .mokzui_item .icon {
  width: 30px;
  height: 30px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 100%;
  border: 1px solid rgba(51, 51, 51, 0.5);
  position: relative;
  transition: all 0.4s;
}
.page_products_mokuzi .mokzui_item .icon::before, .page_products_mokuzi .mokzui_item .icon::after {
  content: "";
  width: 6px;
  height: 5px;
  background-image: url(../img/icon/arrow-black.png);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.4s;
}
.page_products_mokuzi .mokzui_item .icon::before {
  background-image: url(../img/icon/arrow-white.png);
}
.page_products_mokuzi .mokzui_item .icon::after {
  background-image: url(../img/icon/arrow-black.png);
}

.page_products_menu {
  width: calc(100% - (2.4% + 390px));
  color: #FFF;
  padding: 50px 40px;
  padding-left: 2.4%;
  border-left: 1px solid #666;
}
@media (max-width: 1280px) {
  .page_products_menu {
    width: 100%;
    border-left: none;
    padding-left: 0;
  }
}
@media (max-width: 480px) {
  .page_products_menu {
    padding: 50px 0;
  }
}

.page_products_list_title_wrap {
  padding-left: 1rem;
  padding-bottom: 30px;
}

.page_products_menu_list {
  border-top: 1px solid #666;
}

.page_products_menu_item {
  padding-top: 40px;
}
.page_products_menu_item .btn_3 .border {
  width: calc(100% - 180px);
  background: #666;
}

.page_products_menu_item_inner {
  display: flex;
  gap: 0 5%;
  padding: 0 1rem 40px;
}
@media (max-width: 1024px) {
  .page_products_menu_item_inner {
    display: block;
    max-width: 500px;
    margin: 0 auto;
  }
}
@media (max-width: 480px) {
  .page_products_menu_item_inner {
    padding: 0 0.5rem 40px;
  }
}
.page_products_menu_item_inner .page_products_menu_item_img {
  width: 45%;
}
@media (max-width: 1024px) {
  .page_products_menu_item_inner .page_products_menu_item_img {
    width: 100%;
  }
}
.page_products_menu_item_inner .page_products_menu_item_contents {
  width: 50%;
  padding-top: 1.5rem;
  padding-bottom: 1rem;
}
@media (max-width: 1024px) {
  .page_products_menu_item_inner .page_products_menu_item_contents {
    width: 100%;
  }
}
.page_products_menu_item_inner .page_products_menu_item_contents .page_products_menu_item_head .sub_text {
  font-size: 0.875rem;
  color: #B1B1B1;
  padding-top: 10px;
  line-height: 2;
}
@media (max-width: 1280px) {
  .page_products_menu_item_inner .page_products_menu_item_contents .page_products_menu_item_head .sub_text {
    font-size: 0.75rem;
  }
}
.page_products_menu_item_inner .page_products_menu_item_contents .page_products_menu_item_head .main_text {
  font-size: 1.25rem;
  padding-bottom: 28px;
  line-height: 1.6;
}
.page_products_menu_item_inner .page_products_menu_item_contents .page_products_menu_item_head .main_text span {
  font-size: 1.125rem;
}
@media (max-width: 480px) {
  .page_products_menu_item_inner .page_products_menu_item_contents .page_products_menu_item_head .main_text {
    font-size: 1rem;
  }
  .page_products_menu_item_inner .page_products_menu_item_contents .page_products_menu_item_head .main_text span {
    font-size: 0.875rem;
  }
}
.page_products_menu_item_inner .page_products_menu_item_contents .available_list {
  font-size: 0.875rem;
  color: #878787;
  line-height: 1.6;
  padding-bottom: 24px;
  position: relative;
}
.page_products_menu_item_inner .page_products_menu_item_contents .available_list::after {
  content: "";
  width: 50px;
  height: 1px;
  background: #0E9FB4;
  position: absolute;
  bottom: 0;
  left: 0;
}
.page_products_menu_item_inner .page_products_menu_item_contents .page_products_menu_item_feature {
  display: flex;
  gap: 0 27px;
  padding-top: 1rem;
}
.page_products_menu_item_inner .page_products_menu_item_contents .page_products_menu_item_feature li {
  letter-spacing: 0.3rem;
  font-size: 0.875rem;
  line-height: 2;
}
@media (max-width: 350px) {
  .page_products_menu_item_inner .page_products_menu_item_contents .page_products_menu_item_feature li {
    font-size: 0.75rem;
    letter-spacing: 0.2rem;
  }
}

.comparison {
  padding-top: 120px;
  padding-bottom: 280px;
}
@media (max-width: 480px) {
  .comparison {
    padding-top: 80px;
    padding-bottom: 180px;
  }
}

.comparison_table_wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0 auto;
  width: 100%;
  max-width: 1560px;
}

.comparison_table_2 {
  width: 1120px;
  display: none;
  margin-top: 90px;
}
@media (max-width: 768px) {
  .comparison_table_2 {
    display: block;
  }
}
@media (max-width: 480px) {
  .comparison_table_2 {
    margin-top: 40px;
  }
}

.comparison_table {
  width: 1560px;
}
@media (max-width: 768px) {
  .comparison_table {
    display: none;
  }
}
.comparison_table th {
  width: 150px;
  text-align: center;
  font-size: 0.875rem;
}
.comparison_table td {
  width: 270px;
  text-align: center;
  padding: 42px 12px 32px;
}
.comparison_table tr:nth-child(1) img {
  width: 170px;
  margin: 0 auto;
}
.comparison_table tr:nth-child(2), .comparison_table tr:nth-child(5) {
  font-size: 1.75rem;
}
.comparison_table tr:nth-child(2) span, .comparison_table tr:nth-child(5) span {
  position: relative;
  top: auto;
  left: auto;
  color: #666;
  display: inline-block;
  padding-left: 4px;
}

.professional_explain .inner {
  max-width: 750px;
}
.professional_explain .professional_explain_contents {
  padding-top: 20px;
  padding-bottom: 200px;
}
@media (max-width: 480px) {
  .professional_explain .professional_explain_contents {
    padding-bottom: 80px;
  }
}
.professional_explain .professional_explain_img_wrap {
  width: 100%;
  padding-top: 64.2%;
  position: relative;
  -webkit-clip-path: polygon(0 5%, 100% 0%, 100% 100%, 0 100%);
          clip-path: polygon(0 5%, 100% 0%, 100% 100%, 0 100%);
}
.professional_explain .professional_explain_img_wrap .parallax-container {
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 480px) {
  .professional_explain .professional_explain_img_wrap img {
    height: 600px;
  }
}

.professional_strengths {
  color: #FFF;
}
.professional_strengths .inner2 {
  display: flex;
  justify-content: center;
  position: relative;
  height: 100%;
}
@media (max-width: 1440px) {
  .professional_strengths .inner2 {
    display: block;
    width: 100%;
  }
}

.professional_strengths_contents {
  padding-top: 100px;
  padding-bottom: 114px;
  min-width: 1200px;
}
@media (max-width: 1440px) {
  .professional_strengths_contents {
    width: 81.25%;
    margin: 0 auto;
  }
}
@media (max-width: 1280px) {
  .professional_strengths_contents {
    min-width: auto;
  }
}
@media (max-width: 480px) {
  .professional_strengths_contents {
    padding-top: 80px;
    padding-bottom: 80px;
    width: 88%;
  }
}

.professional_strengths_list {
  padding-top: 68px;
  width: 100%;
  padding-right: 4%;
}
@media (max-width: 1440px) {
  .professional_strengths_list {
    padding-right: 0;
  }
}
.professional_strengths_list li {
  width: 100%;
  padding: 24px;
  border-top: 1px solid #666;
  display: flex;
  gap: 0 80px;
}
@media (max-width: 1280px) {
  .professional_strengths_list li {
    display: block;
  }
}
@media (max-width: 480px) {
  .professional_strengths_list li {
    padding: 24px 14px;
  }
}
.professional_strengths_list li:last-child {
  border-bottom: 1px solid #666;
}
.professional_strengths_list .professional_strengths_head {
  font-size: 1.375rem;
  position: relative;
  padding-left: 42px;
}
@media (max-width: 480px) {
  .professional_strengths_list .professional_strengths_head {
    font-size: 1.125rem;
    padding-left: 32px;
  }
}
.professional_strengths_list .professional_strengths_head::after {
  content: attr(data-num);
  color: #666;
  position: absolute;
  top: 1px;
  left: 0;
}
.professional_strengths_list .professional_strengths_text {
  color: #B1B1B1;
  line-height: 1.6;
}
@media (max-width: 1280px) {
  .professional_strengths_list .professional_strengths_text {
    padding-top: 20px;
  }
}
@media (max-width: 768px) {
  .professional_strengths_list .professional_strengths_text br {
    display: none;
  }
}

.professional_strengths_img {
  width: 360px;
  position: relative;
}
.professional_strengths_img img:not(:nth-child(1)) {
  display: none;
}
@media (max-width: 1440px) {
  .professional_strengths_img {
    height: 300px;
    width: 100%;
  }
  .professional_strengths_img img:not(:nth-child(2)) {
    display: none;
  }
  .professional_strengths_img img:nth-child(2) {
    display: block;
    height: 700px;
  }
}
@media (max-width: 768px) {
  .professional_strengths_img img:not(:nth-child(3)) {
    display: none;
  }
  .professional_strengths_img img:nth-child(3) {
    display: block;
    height: 700px;
  }
}
@media (max-width: 480px) {
  .professional_strengths_img img:not(:nth-child(3)) {
    display: none;
  }
  .professional_strengths_img img:nth-child(3) {
    display: block;
    height: 700px;
  }
}

.professional_precautions_list {
  padding: 60px 0 100px;
  max-width: 1000px;
  margin: 0 auto;
}
.professional_precautions_list li {
  display: flex;
  gap: 0 2rem;
  align-items: center;
}
.professional_precautions_list li:not(:nth-child(1)) {
  padding-top: 1.6rem;
}
@media (max-width: 480px) {
  .professional_precautions_list li {
    display: block;
  }
}
.professional_precautions_list .professional_precautions_head {
  font-size: 0.875rem;
  padding: 0.2rem 0;
  width: 180px;
  border: 1px solid rgba(177, 177, 177, 0.6);
  text-align: center;
  color: #B1B1B1;
  flex-shrink: 0;
}
.professional_precautions_list .professional_precautions_text {
  color: #666;
}
@media (max-width: 480px) {
  .professional_precautions_list .professional_precautions_text {
    padding-top: 14px;
  }
}

.professional_apply {
  background-image: url(../img/bg/professional_apply-bg-3840.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media (max-width: 1920px) {
  .professional_apply {
    background-image: url(../img/bg/professional_apply-bg-1920.jpg);
  }
}
@media (max-width: 1440px) {
  .professional_apply {
    background-image: url(../img/bg/professional_apply-bg-1440.jpg);
  }
}
@media (max-width: 1280px) {
  .professional_apply {
    background-image: url(../img/bg/professional_apply-bg-1280.jpg);
  }
}
@media (max-width: 1024px) {
  .professional_apply {
    background-image: url(../img/bg/professional_apply-bg-1024.jpg);
  }
}
@media (max-width: 768px) {
  .professional_apply {
    background-image: url(../img/bg/professional_apply-bg-768.jpg);
  }
}
@media (max-width: 480px) {
  .professional_apply {
    background-image: url(../img/bg/professional_apply-bg-480.jpg);
  }
}

.professional_apply_contents {
  padding: 200px 0 300px;
  max-width: 950px;
  margin: 0 auto;
}
.professional_apply_contents .section_title_2 {
  color: #FFF;
}
@media (max-width: 350px) {
  .professional_apply_contents .section_title_2 {
    font-size: 1.125rem;
  }
}
@media (max-width: 480px) {
  .professional_apply_contents {
    padding: 100px 0 200px;
  }
}

.professional_apply_text {
  padding-top: 110px;
  text-align: center;
  color: #FFF;
  line-height: 1.8;
}
@media (max-width: 1440px) {
  .professional_apply_text {
    padding-top: 60px;
  }
}
.professional_apply_text p:not(:nth-child(1)) {
  padding-top: 62px;
}

.page_archive {
  padding-bottom: 140px;
}

.page_archive_list {
  display: flex;
  gap: 100px 3.95%;
  flex-wrap: wrap;
}
@media (max-width: 480px) {
  .page_archive_list {
    gap: 60px 0;
  }
}

.page_archive_item {
  width: 30.7%;
  flex-shrink: 0;
}
@media (max-width: 1024px) {
  .page_archive_item {
    width: 46%;
  }
}
@media (max-width: 480px) {
  .page_archive_item {
    width: 100%;
  }
}

.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 26px;
  padding-top: 160px;
}
@media (max-width: 768px) {
  .pagination {
    padding-top: 90px;
  }
}
@media (max-width: 480px) {
  .pagination {
    gap: 0 14px;
  }
}
.pagination span, .pagination a {
  width: 50px;
  height: 50px;
  border-radius: 100%;
  line-height: 46px;
  text-align: center;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(51, 51, 51, 0.5);
}
@media (max-width: 480px) {
  .pagination span, .pagination a {
    width: 40px;
    height: 40px;
    line-height: 36px;
  }
}
.pagination span.next, .pagination span.prev, .pagination a.next, .pagination a.prev {
  position: relative;
}
.pagination span.next::after, .pagination span.prev::after, .pagination a.next::after, .pagination a.prev::after {
  content: "";
  width: 10px;
  height: 8.5px;
  background: url(../img//icon/arrow-black.png) no-repeat center center/cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.pagination span.prev::after, .pagination a.prev::after {
  transform: translate(-50%, -50%) rotate(180deg);
}
.pagination a {
  opacity: 0.5;
  transition: all 0.4s;
}
.pagination a:hover {
  opacity: 1;
}
.pagination .dots {
  opacity: 0.5;
}

.page_construction_item {
  transition: all 0.4s;
}
.page_construction_item .before_after_slider {
  -webkit-clip-path: polygon(0 0, 100% 0%, 98% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0%, 98% 100%, 0 100%);
}

.page_construction_item_link {
  transition: all 0.3s;
}
.page_construction_item_link:hover .page_construction_title .title {
  color: rgba(14, 159, 180, 0.7);
}
.page_construction_item_link .page_construction_title {
  padding-top: 18px;
}
.page_construction_item_link .page_construction_title .title {
  font-size: 1.25rem;
  margin: 10px 0 18px;
  letter-spacing: 0.1rem;
  transition: all 0.3s;
  display: -webkit-box;
  -webkit-line-clamp: 1; /* 最大3行に制限 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis; /* 省略記号「...」を追加 */
}
@media (max-width: 480px) {
  .page_construction_item_link .page_construction_title .title {
    font-size: 1.125rem;
  }
}
.page_construction_item_link .customer_name {
  font-size: 0.875rem;
  color: #666;
  letter-spacing: 0.1rem;
}
.page_construction_item_link .page_short_description {
  max-width: 460px;
  margin-right: auto;
  color: #B1B1B1;
  display: -webkit-box;
  -webkit-line-clamp: 2; /* 最大3行に制限 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis; /* 省略記号「...」を追加 */
  margin-bottom: 20px;
}
.page_construction_item_link .page_use_products {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 16px;
  color: #B1B1B1;
  width: 95%;
  margin-right: auto;
  max-width: 500px;
  border-top: 1px solid rgba(177, 177, 177, 0.6);
  padding-top: 14px;
}
.page_construction_item_link .page_use_products .use_head {
  font-family: "Cormorant Garamond", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-style: italic;
  letter-spacing: 0.1rem;
  font-size: 1.125rem;
}
@media (max-width: 480px) {
  .page_construction_item_link .page_use_products .use_head {
    padding-bottom: 6px;
  }
}
.page_construction_item_link .page_use_products .materials_used {
  font-size: 0.75rem;
}

.construction_products_wrap {
  padding-top: 90px;
}

.construction_products_head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.construction_products_head p {
  color: #B1B1B1;
  letter-spacing: 0.2rem;
}
.construction_products_head span {
  width: calc(100% - 150px);
  height: 1px;
  background: rgba(177, 177, 177, 0.6);
}

.construction_products_list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 5%;
  padding-top: 65px;
}
@media screen and (max-width: 1744px) {
  .construction_products_list {
    gap: 30px 3%;
  }
}
@media (max-width: 768px) {
  .construction_products_list {
    gap: 30px 4%;
  }
}
.construction_products_list .construction_products_item {
  width: 16%;
  min-width: 300px;
  transition: all 0.4s;
}
@media screen and (max-width: 1744px) {
  .construction_products_list .construction_products_item {
    min-width: auto;
    width: 31.3%;
  }
}
@media (max-width: 768px) {
  .construction_products_list .construction_products_item {
    width: 46%;
  }
}
@media (max-width: 480px) {
  .construction_products_list .construction_products_item {
    width: 100%;
  }
}
.construction_products_list .construction_products_item:hover {
  opacity: 0.7;
}
.construction_products_list .construction_products_item:hover .construction_products_img img {
  transform: translate(-50%, -50%) scale(1.1);
}
.construction_products_list .construction_products_item_contents {
  padding: 14px 14px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.construction_products_list .construction_products_img {
  width: 100%;
  padding-top: 70.66%;
  position: relative;
  overflow: hidden;
}
.construction_products_list .construction_products_img img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.4s;
}
.construction_products_list .construction_products_item_head {
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.2rem;
  color: #666;
}
.construction_products_list .construction_products_item_icon {
  width: 30px;
  height: 30px;
  border-radius: 100%;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(51, 51, 51, 0.5);
  position: relative;
}
.construction_products_list .construction_products_item_icon::after {
  content: "";
  width: 6px;
  height: 5px;
  background: url(../img/icon/arrow.png) no-repeat center center/cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.single_construction_thumbnail {
  padding-top: 14px;
  -webkit-clip-path: polygon(0 0, 100% 0%, 98% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0%, 98% 100%, 0 100%);
}

.single_construction_date {
  display: flex;
  align-items: center;
  gap: 0 8px;
}
.single_construction_date img {
  width: 20px;
  height: 20px;
}
.single_construction_date .date {
  font-size: 0.875rem;
  color: #B1B1B1;
  letter-spacing: 0.2rem;
}

.single_construction_head {
  padding: 25px 30px 85px;
}
@media (max-width: 1024px) {
  .single_construction_head {
    padding: 25px 12px 45px;
  }
}
.single_construction_head .single_construction_title {
  font-size: 1.6rem;
  letter-spacing: 0.2rem;
  padding-top: 8px;
  padding-bottom: 18px;
  position: relative;
}
@media (max-width: 768px) {
  .single_construction_head .single_construction_title {
    font-size: 1.4rem;
  }
}
@media (max-width: 480px) {
  .single_construction_head .single_construction_title {
    font-size: 1.2rem;
  }
}
.single_construction_head .single_construction_title::after {
  content: "";
  width: 50px;
  height: 1px;
  background: #0E9FB4;
  position: absolute;
  bottom: 0;
  left: 0;
}
.single_construction_head .sub_list {
  display: flex;
  align-items: center;
  gap: 0 24px;
  padding-top: 1rem;
}
@media (max-width: 480px) {
  .single_construction_head .sub_list {
    gap: 0 14px;
  }
}
.single_construction_head .sub_list .category a {
  color: #B1B1B1;
  font-size: 0.875rem;
  transition: all 0.4s;
}
.single_construction_head .sub_list .category a:hover {
  opacity: 0.6;
  color: #0E9FB4;
}
.single_construction_head .single_construction_customer_name {
  letter-spacing: 0.15rem;
  color: rgba(102, 102, 102, 0.8);
}
@media (max-width: 768px) {
  .single_construction_head .single_construction_customer_name {
    font-size: 0.875rem;
  }
}

.single_construction_h2_wrap {
  border-top: 1px solid rgba(177, 177, 177, 0.8);
  padding: 1rem 0.5rem;
}
.single_construction_h2_wrap .single_construction_h2 {
  display: inline-block;
  color: #B1B1B1;
  padding: 0.2rem 2rem;
  border: 1px solid rgba(177, 177, 177, 0.8);
  position: relative;
}

.single_construction_h2_contents {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
@media (max-width: 480px) {
  .single_construction_h2_contents {
    padding-top: 2rem;
    padding-bottom: 4rem;
  }
}

.single_construction_before_after_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px 0;
}
.single_construction_before_after_list li {
  width: 47%;
}
@media (max-width: 480px) {
  .single_construction_before_after_list li {
    width: 100%;
  }
}

.single_construction_meta_info .meta_info {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 5%;
}
.single_construction_meta_info .meta_info li {
  width: 30%;
  display: flex;
  padding-bottom: 46px;
}
@media (max-width: 1024px) {
  .single_construction_meta_info .meta_info li {
    width: 47.5%;
  }
}
@media (max-width: 480px) {
  .single_construction_meta_info .meta_info li {
    width: 100%;
    display: block;
    padding-bottom: 24px;
  }
}
.single_construction_meta_info .meta_info li:nth-child(1),
.single_construction_meta_info .meta_info li:nth-child(2) {
  width: 100%;
}
.single_construction_meta_info .meta_info_head {
  font-size: 0.875rem;
  color: rgba(51, 51, 51, 0.6);
  width: 130px;
  text-align: center;
  border-bottom: 1px solid #0E9FB4;
  padding-bottom: 8px;
}
@media (max-width: 480px) {
  .single_construction_meta_info .meta_info_head {
    font-size: 0.75rem;
    width: 110px;
    text-align: left;
    padding-left: 6px;
  }
}
.single_construction_meta_info .meta_info_data {
  width: calc(100% - 130px);
  padding-left: 1.4rem;
  border-bottom: 1px solid rgba(102, 102, 102, 0.4);
  padding-bottom: 8px;
}
@media (max-width: 480px) {
  .single_construction_meta_info .meta_info_data {
    width: 100%;
    padding-top: 1.2rem;
    padding-left: 14px;
  }
}

.single_construction_main_contents .single_construction_h2_contents {
  padding-top: 5rem;
}

.others_post {
  padding-top: 50px;
  padding-bottom: 150px;
}

.relate_construction_single_wrap .relate_construction_single_head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.relate_construction_single_wrap .relate_construction_single_head p {
  color: #B1B1B1;
  letter-spacing: 0.2rem;
}
.relate_construction_single_wrap .relate_construction_single_head span {
  width: calc(100% - 190px);
  height: 1px;
  background: rgba(177, 177, 177, 0.6);
}

.relate_construction_single_list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 5%;
  padding-top: 65px;
}
.relate_construction_single_list .relate_construction_single_item {
  width: 21%;
  min-width: 320px;
}
@media screen and (max-width: 1854px) {
  .relate_construction_single_list .relate_construction_single_item {
    width: 30%;
    min-width: auto;
  }
}
@media (max-width: 768px) {
  .relate_construction_single_list .relate_construction_single_item {
    width: 47.5%;
  }
}
@media (max-width: 480px) {
  .relate_construction_single_list .relate_construction_single_item {
    width: 100%;
  }
}
.relate_construction_single_list .relate_construction_single_item .construction_item_link {
  text-align: left;
}

.page_information_item,
.popular_post_item,
.related_post_item {
  transition: all 0.4s;
}
.page_information_item:hover,
.popular_post_item:hover,
.related_post_item:hover {
  opacity: 0.8;
}
.page_information_item .information_cat,
.popular_post_item .information_cat,
.related_post_item .information_cat {
  max-width: 500px;
  border-top: 1px solid rgba(177, 177, 177, 0.6);
  padding-top: 14px;
}

.popular_post_head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.popular_post_head p {
  color: #B1B1B1;
  letter-spacing: 0.2rem;
}
.popular_post_head span {
  width: calc(100% - 180px);
  height: 1px;
  background: rgba(177, 177, 177, 0.6);
}

.popular_post_wrap {
  padding-top: 90px;
}

.popular_post_list, .related_post_list {
  display: flex;
  flex-wrap: wrap;
  padding: 65px 30px 0;
  gap: 30px 5%;
}
@media (max-width: 1440px) {
  .popular_post_list, .related_post_list {
    padding: 65px 0 0;
  }
}
.popular_post_list .popular_post_item, .popular_post_list .related_post_item, .related_post_list .popular_post_item, .related_post_list .related_post_item {
  width: 21%;
  min-width: 300px;
}
@media screen and (max-width: 1812px) {
  .popular_post_list .popular_post_item, .popular_post_list .related_post_item, .related_post_list .popular_post_item, .related_post_list .related_post_item {
    width: 30%;
    min-width: auto;
  }
}
@media (max-width: 768px) {
  .popular_post_list .popular_post_item, .popular_post_list .related_post_item, .related_post_list .popular_post_item, .related_post_list .related_post_item {
    width: 47.5%;
  }
}
@media (max-width: 480px) {
  .popular_post_list .popular_post_item, .popular_post_list .related_post_item, .related_post_list .popular_post_item, .related_post_list .related_post_item {
    width: 100%;
  }
}
@media (max-width: 1280px) {
  .popular_post_list .cat_list li::after, .related_post_list .cat_list li::after {
    display: none;
  }
}
@media (max-width: 1280px) {
  .popular_post_list .cat_list li:not(:first-child), .related_post_list .cat_list li:not(:first-child) {
    display: none;
  }
}

.information_single_thumbnail {
  padding-top: 14px;
  -webkit-clip-path: polygon(0 0, 100% 0%, 98% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0%, 98% 100%, 0 100%);
}

.single_information_date {
  display: flex;
  align-items: center;
  gap: 0 8px;
}
.single_information_date img {
  width: 20px;
  height: 20px;
}
.single_information_date .date {
  font-size: 0.875rem;
  color: #B1B1B1;
  letter-spacing: 0.2rem;
}

.single_information_head {
  padding: 25px 30px 85px;
}
@media (max-width: 1024px) {
  .single_information_head {
    padding: 25px 12px 45px;
  }
}
@media (max-width: 480px) {
  .single_information_head {
    padding-top: 14px;
  }
}
.single_information_head .single_information_title {
  font-size: 1.6rem;
  letter-spacing: 0.2rem;
  padding-top: 8px;
  padding-bottom: 18px;
  position: relative;
}
@media (max-width: 768px) {
  .single_information_head .single_information_title {
    font-size: 1.4rem;
  }
}
@media (max-width: 480px) {
  .single_information_head .single_information_title {
    font-size: 1.2rem;
  }
}
.single_information_head .single_information_title::after {
  content: "";
  width: 50px;
  height: 1px;
  background: #0E9FB4;
  position: absolute;
  bottom: 0;
  left: 0;
}
.single_information_head .sub_list {
  display: flex;
  align-items: center;
  gap: 0 24px;
  padding-top: 1rem;
}
.single_information_head .sub_list .category {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.single_information_head .sub_list .category a {
  color: #B1B1B1;
  font-size: 0.875rem;
  transition: all 0.4s;
}
@media (max-width: 480px) {
  .single_information_head .sub_list .category a:not(:nth-child(1)) {
    display: none;
  }
}
.single_information_head .sub_list .category a:not(:last-child) {
  position: relative;
}
.single_information_head .sub_list .category a:not(:last-child)::after {
  content: ",";
  position: absolute;
  top: 50%;
  right: -0.6rem;
  transform: translateY(-50%);
  color: #B1B1B1;
}
@media (max-width: 480px) {
  .single_information_head .sub_list .category a:not(:last-child)::after {
    display: none;
  }
}
.single_information_head .sub_list .category a:hover {
  opacity: 0.6;
  color: #0E9FB4;
}
.single_information_head .single_construction_customer_name {
  letter-spacing: 0.15rem;
  color: rgba(102, 102, 102, 0.8);
}

.relate_information_single_wrap .relate_information_single_head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.relate_information_single_wrap .relate_information_single_head p {
  color: #B1B1B1;
  letter-spacing: 0.2rem;
}
.relate_information_single_wrap .relate_information_single_head span {
  width: calc(100% - 225px);
  height: 1px;
  background: rgba(177, 177, 177, 0.6);
}

.single_information_main_contents {
  font-size: 1.125rem;
}
@media (max-width: 480px) {
  .single_information_main_contents {
    font-size: 1rem;
  }
}
.single_information_main_contents p {
  padding-bottom: 1.5rem;
}
@media (max-width: 480px) {
  .single_information_main_contents p {
    font-size: 1rem;
  }
}
.single_information_main_contents h2 {
  font-size: 1.75rem;
  letter-spacing: 0.15rem;
  padding-left: 1rem;
  padding-bottom: 8px;
  border-bottom: 1px solid #0E9FB4;
}
@media (max-width: 480px) {
  .single_information_main_contents h2 {
    font-size: 1.5rem;
    padding-left: 0.6rem;
  }
}
.single_information_main_contents h3 {
  letter-spacing: 0.15rem;
  padding: 2px 0;
  padding-left: 14px;
  position: relative;
  font-size: 1.5rem;
}
@media (max-width: 480px) {
  .single_information_main_contents h3 {
    font-size: 1.3rem;
    padding: 0;
    padding-left: 0.8rem;
  }
}
.single_information_main_contents h3::after {
  content: "";
  height: 100%;
  width: 1px;
  background: #0E9FB4;
  position: absolute;
  top: 0;
  left: 0;
}
.single_information_main_contents h4 {
  letter-spacing: 0.15rem;
  font-size: 1.375rem;
}
@media (max-width: 480px) {
  .single_information_main_contents h4 {
    font-size: 1.2rem;
  }
}
.single_information_main_contents ul li {
  position: relative;
  padding-left: 1rem;
}
.single_information_main_contents ul li::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 6px;
  height: 6px;
  background-color: #0E9FB4; /* アイコンの色 */
  border-radius: 50%; /* 丸いアイコン */
  transform: translateY(-50%);
}
.single_information_main_contents ol li span {
  color: #0E9FB4;
}
.single_information_main_contents ol li span .small {
  font-size: 0.75rem;
}

.wp-block-my-custom-button-one {
  margin: 2rem 0;
}
.wp-block-my-custom-button-one .button-one {
  color: #333;
  letter-spacing: 0.2rem;
  position: relative;
  padding-right: calc(1rem + 26px);
  display: inline-block;
  transition: all 0.4s;
}
@media (max-width: 480px) {
  .wp-block-my-custom-button-one .button-one {
    letter-spacing: 0.05rem;
  }
}
.wp-block-my-custom-button-one .button-one::before {
  content: "";
  width: 26px;
  height: 26px;
  background: #0E9FB4;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  border-radius: 100%;
  transition: all 0.4s;
}
.wp-block-my-custom-button-one .button-one::after {
  content: "";
  width: 6px;
  height: 5.5px;
  background: url(../img/icon/arrow-white.png) no-repeat center center/cover;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.4s;
}
.wp-block-my-custom-button-one .button-one:hover {
  opacity: 0.7;
}
.wp-block-my-custom-button-one .button-one:hover::before {
  right: -12px;
}
.wp-block-my-custom-button-one .button-one:hover::after {
  right: -2px;
}

.wp-block-my-custom-button-two {
  margin: 2rem 0;
}
.wp-block-my-custom-button-two .button-two {
  display: inline-block;
  padding: 0.4rem 2.4rem;
  color: #FFF;
  border-radius: 6px;
  background: url(../img/bg/back_btn.png) no-repeat center center/cover;
  transition: all 0.4s;
}
.wp-block-my-custom-button-two .button-two:hover {
  opacity: 0.6;
}

.bg_parts {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  background-image: url(../img/bg/bg-3840.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media (max-width: 1920px) {
  .bg_parts {
    background-image: url(../img/bg/bg-1920.png);
  }
}
@media (max-width: 1440px) {
  .bg_parts {
    background-image: url(../img/bg/bg-1440.png);
  }
}
@media (max-width: 1280px) {
  .bg_parts {
    background-image: url(../img/bg/bg-1280.png);
  }
}
@media (max-width: 1024px) {
  .bg_parts {
    background-image: url(../img/bg/bg-1024.png);
  }
}
@media (max-width: 768px) {
  .bg_parts {
    background-image: url(../img/bg/bg-768.png);
  }
}
@media (max-width: 480px) {
  .bg_parts {
    background-image: url(../img/bg/bg-480.png);
  }
}

.bg-white {
  background: #FFF;
  position: relative;
}
.bg-white::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  background-image: url(../img/bg/bg-3840.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media (max-width: 1920px) {
  .bg-white::before {
    background-image: url(../img/bg/bg-1920.png);
  }
}
@media (max-width: 1440px) {
  .bg-white::before {
    background-image: url(../img/bg/bg-1440.png);
  }
}
@media (max-width: 1280px) {
  .bg-white::before {
    background-image: url(../img/bg/bg-1280.png);
  }
}
@media (max-width: 1024px) {
  .bg-white::before {
    background-image: url(../img/bg/bg-1024.png);
  }
}
@media (max-width: 768px) {
  .bg-white::before {
    background-image: url(../img/bg/bg-768.png);
  }
}
@media (max-width: 480px) {
  .bg-white::before {
    background-image: url(../img/bg/bg-480.png);
  }
}

.bg-black {
  background: #444;
  position: relative;
}
.bg-black::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../img/bg/bg-2-3840.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 0;
}
@media (max-width: 1920px) {
  .bg-black::before {
    background-image: url(../img/bg/bg-2-1920.png);
  }
}
@media (max-width: 1440px) {
  .bg-black::before {
    background-image: url(../img/bg/bg-2-1440.png);
  }
}
@media (max-width: 1280px) {
  .bg-black::before {
    background-image: url(../img/bg/bg-2-1280.png);
  }
}
@media (max-width: 1024px) {
  .bg-black::before {
    background-image: url(../img/bg/bg-2-1024.png);
  }
}
@media (max-width: 768px) {
  .bg-black::before {
    background-image: url(../img/bg/bg-2-768.png);
  }
}
@media (max-width: 480px) {
  .bg-black::before {
    background-image: url(../img/bg/bg-2-480.png);
  }
}/*# sourceMappingURL=my-style.css.map */