/* ------------------------------------
共通クラス開始
---------------------------------------- */
:root {
  --garamond: "Cormorant Garamond", serif;
  --noto-serif: "Noto Serif JP", serif;
  --noto-sans: "Noto Sans JP", sans-serif;
}

body {
  font-family: "Noto Sans JP", "Roboto Condensed", YuGothic, "游ゴシック",
    "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans",
    sans-serif;
  color: #1d1d1d;
}

* {
  /* outline: 1px solid blue; */
}

.container {
  max-width: 1120px;
  margin: 0 auto;
}

a {
  transition: opacity 0.3s;
}

a:hover {
  opacity: 0.8;
}

a {
  display: inline-block;
}

a .btn {
  border: 2px solid #b52525;
  color: #b52525;
  display: flex;
  padding: 15px 22px;
  border-radius: 32px;
  gap: 33px;
  align-items: center;
  font-weight: bold;
  transition: all 0.3s;
}

@media screen and (max-width: 500px) {
  a .btn {
    gap: 16px;
  }
}

a .btn:hover {
  background-color: #b52525;
  color: white;
}

@media screen and (max-width: 900px) {
  a .btn span {
    display: none;
  }
}

#site-wrapper {
  overflow: hidden;
  width: 100%;
}

.bottom-bg-gray {
  background-color: #efefef;
  overflow: hidden;
}

.bottom-bg-rightpink {
  background-color: #ffe5e5;
  overflow: hidden;
}

.bottom-bg-white {
  background-color: #f9f9f9;
  overflow: hidden;
}

.category {
  background-color: #b52525;
  color: white;
  padding: 5px;
  font-size: 13px;
  border-radius: 6px;
  display: inline-block;
}

img {
  width: 100%;
}

a {
  color: #000;
  text-decoration: none;
}

.breadcrumb {
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 12px;
  background-color: #efefef;
  /* background-color: #ffe5e5; */
  padding: 13px 0px;
  padding-left: 40px;
  color: #393939;
  margin-top: 68px;
  font-weight: normal;
}

@media screen and (max-width: 500px) {
  .breadcrumb {
    display: none;
  }
}

.bottom-top {
  height: 300px;
  background-color: skyblue;
  background-color: #eaf2f7;
  text-align: center;
  position: relative;
  transition: height 0.2s;
  background-size: cover;
  background-position-y: 90%;
  background-position-x: center;
}

@media screen and (max-width: 500px) {
  .bottom-top {
    height: 116px;
    margin-top: 65px;
  }
}

.internal-top {
  height: 150px;
  background-color: #ffe5e5;
  text-align: center;
  position: relative;
  transition: height 0.2s;
  background-size: cover;
  background-position-y: 90%;
  background-position-x: center;
  margin-bottom: 20px;
}

@media screen and (max-width: 500px) {
  .internal-top {
    height: 116px;
    margin-top: 73px;
  }
}

.bottom-top .bg {
  background-color: rgba(48, 85, 129, 0.4);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
  z-index: 3;
}

.bottom-top .bottom-top-wrapper {
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
  color: white;
  z-index: 4;
  color: #b52525;
}

.internal-top-wrapper {
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
  /* color: white; */
  z-index: 4;
  color: #b52525;
}

.bottom-top .bottom-top-wrapper h1 {
  font-size: 2.625rem;
  letter-spacing: 5px;
}

@media screen and (max-width: 500px) {
  .bottom-top .bottom-top-wrapper h1 {
    font-size: 1.5rem;
  }
}

.bottom-top .bottom-top-wrapper h2 {
  font-size: 2.625rem;
  letter-spacing: 5px;
}

@media screen and (max-width: 500px) {
  .bottom-top .bottom-top-wrapper h2 {
    font-size: 1.5rem;
  }
}

.bottom-top .bottom-top-wrapper .bottom-top-lead {
  font-size: 1.125rem;
  font-weight: bold;
}

@media screen and (max-width: 500px) {
  .bottom-top .bottom-top-wrapper .bottom-top-lead {
    font-size: 1rem;
  }
}

.page-bottom {
  padding-top: 70px;
  padding-bottom: 60px;
  background-image: url(../images/about-us-bottom.png);
  background-size: cover;
  background-position: center;
  position: relative;
}

@media screen and (max-width: 500px) {
  .page-bottom {
    padding-top: 52px;
    padding-bottom: 27px;
  }
}

.page-bottom .page-bottom-wrapper {
  position: absolute;
  z-index: 10;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background-color: rgba(37, 68, 104, 0.3);
}

.page-bottom .container {
  padding-left: 60px;
  padding-right: 60px;
}

.page-bottom .container h2 {
  font-size: 42px;
  color: white;
  z-index: 11;
  position: relative;
  padding-bottom: 37px;
  letter-spacing: 5px;
}

@media screen and (max-width: 900px) {
  .page-bottom .container h2 {
    text-align: center;
    font-size: 32px;
  }
}

@media screen and (max-width: 500px) {
  .page-bottom .container h2 {
    font-size: 24px;
    padding-bottom: 32px;
  }
}

.page-bottom .container .btn-wrapper {
  position: relative;
  z-index: 11;
}

@media screen and (max-width: 900px) {
  .page-bottom .container .btn-wrapper {
    text-align: center;
  }
}

.page-bottom .container .btn-wrapper a .btn {
  color: white;
  border: 2px solid white;
}

.page-bottom .container .btn-wrapper a .btn:hover {
  border: 2px solid #b52525;
}

.section-en-title {
  color: #a52222;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 0 0 10px 0;
  font-family: var(--garamond);
}

.section-jp-title {
  color: #252525;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin: 0;
  text-align: left;
}

.center .section-en-title,
.center .section-jp-title {
  text-align: center;
}

.view-more-button {
  display: inline-flex;
  align-items: center;
  padding: 12px 24px;
  border: 1px solid #a52222;
  background: transparent;
  color: #a52222;
  text-decoration: none;
  border-radius: 25px;
  font-size: 16px;
  font-weight: 500;
  font-family: var(--garamond);
  letter-spacing: 0.05em;
  width: 240px;
  transition: all 0.3s ease;
  position: relative;
}

.view-more-button:hover {
  background: #a52222;
  color: white;
  opacity: 1;
}

.view-more-button-arrow {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 6px solid currentColor;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  transition: transform 0.3s ease;
}

.view-more-button:hover .view-more-button-arrow {
  transform: translateY(-50%) translateX(3px);
}

.view-more-button-arrow-c {
  display: none;
}

.pc-only {
  display: block;
}
.sp-only {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
}

/* ------------------------------------
  共通クラス終了
---------------------------------------- */
/* ------------------------------------
  index.html開始
---------------------------------------- */
header {
  display: flex;
  align-items: center;
  position: fixed;
  width: 100%;
  z-index: 10000;
  top: 0;
}

header .logo {
  margin-right: auto;
  margin-top: 6px;
}

header .logo a {
  /**width: 232px;**/
  width: 200px;
}

header .nav {
  align-items: center;
  display: flex;
  margin-left: auto;
}

@media screen and (max-width: 1200px) {
  header .nav {
    display: none;
  }
}

header .nav li {
  position: relative;
  margin-right: 30px;
}

header .nav li a {
  color: white;
  font-size: 16px;
  cursor: pointer;
  transition: opacity 0.3s;
}

header .nav li a:hover {
  opacity: 0.7;
}

header .nav li a i {
  padding-left: 10px;
}

header .nav li ul {
  display: none;
  position: absolute;
  width: 230px;
  padding-top: 20px;
}

header .nav li ul li {
  width: 100%;
  padding: 10px;
  padding-top: 0px;
}

.inquiry-button {
  display: inline-block;
  padding: 8px 16px;
  border: 1px solid #cdd6dd;
  font-size: 16px;
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s;
  color: white;
}

.inquiry-button:hover {
  background-color: rgba(0, 0, 0, 0.04);
  opacity: 1;
}

.header-bg {
  background-color: rgba(255, 255, 255, 0.8);
  transition: background-color 0.3s ease;

  .nav li a {
    color: #252525;
  }

  .inquiry-button {
    color: #252525;
  }
}

header .right {
  margin-left: 35px;
  text-align: center;
}

header .right a {
  background-color: #00b900;
  color: white;
  padding: 15px 20px;
  font-size: 15px;
  font-weight: bold;
  transition: opacity 0.3s;
}

@media screen and (max-width: 500px) {
  header .right a {
    padding: 17px 10px;
    font-size: 13px;
    min-width: 100px;
  }
}

header .right a:hover {
  opacity: 0.7;
}

header .sp-btn {
  position: relative;
  width: 36px;
  height: 32px;
  top: 5px;
  display: none;
  padding-right: 20px;
  margin-right: 20px;
  margin-left: 20px;
  cursor: pointer;
}

@media screen and (max-width: 1200px) {
  header .sp-btn {
    display: block;
  }
}

header .sp-btn span {
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: white;
  transition: transform 0.3s, opacity 0.3s;
}

header .sp-btn.on .bar1 {
  transform: rotate(30deg) translate(7px, 5px);
  background-color: #b52525;
}

header .sp-btn .bar2 {
  top: 8px;
}

header .sp-btn.on .bar2 {
  opacity: 0;
  width: 0px;
}

header .sp-btn .bar3 {
  top: 16px;
}

header .sp-btn.on .bar3 {
  transform: rotate(-30deg) translate(7px, -5px);
  background-color: #b52525;
}

.header-sp {
  background-color: #e1e1e1;
  position: absolute;
  width: 100%;
  z-index: 100;
  padding-top: 23px;
  top: -100%;
  transition: top 0.2s;
  overflow: hidden;
  display: none;
}

.header-sp.on {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  position: fixed;
  overflow: scroll;
  display: block;
  display: none;
  transition: top 0.3s;
  padding-top: 70px;
}

@media screen and (max-width: 1200px) {
  .header-sp.on {
    display: block;
  }
}

.header-sp a {
  display: block;
  border-bottom: white 1px solid;
  color: #252525;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  width: 85%;
  margin: 0 auto;
  padding: 15px 0;
}

.header-sp a.contact-link {
  color: #b52525;
}

.header-sp a:hover {
  background-color: white;
}

.header-sp a i {
  padding-right: 17px;
}

.header-sp .pl {
  padding-left: 50px;
}

.header-sp .bg-none:hover {
  background-color: white;
  color: #b52525;
}

.top {
  background-image: url(../images/top-pc.jpg);
  background-size: cover;
  background-position-x: center;
  height: 650px;
  position: relative;
}

@media screen and (max-width: 609px) {
  .top {
    height: 460px;
    background-image: url(../images/top-sp.jpg);
  }
}

.section_top-slide {
  position: relative;
  height: 100vh;
  min-height: 600px;
  overflow: hidden;
}

/* 背景画像 */
.hero-background {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.hero-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  vertical-align: top;
}

/* 白いもやフィルター */
.hero-background::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: "";
  background-color: rgba(255, 255, 255, 0.15);
  z-index: 2;
  pointer-events: none;
}

/* ルート表示 */
.shipping-route {
  position: absolute;
  top: 50%;
  left: 50%;
  right: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  height: auto;
  aspect-ratio: 1350 / 600;
  z-index: 3;
  pointer-events: none;
}

/* ロケーション */
.route-locations {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Canvas for route animation */
.route-animation-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
}

.location {
  position: absolute;
  color: white;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.location span {
  font-size: 24px;
  font-weight: 400;
  font-family: var(--garamond);
  position: relative;
}

.location span::before {
  position: absolute;
  width: 4px;
  height: 4px;
  background-color: white;
  opacity: 0.7;
  border-radius: 50%;
  content: "";
}

.location.dubai {
  top: 30%;
  left: 0;
}

.location.dubai span::before {
  top: 50%;
  right: -30px;
  transform: translateY(-50%);
}

.location.pakistan {
  top: 0;
  left: 40%;
}

.location.pakistan span::before {
  bottom: -30px;
  right: 50%;
  transform: translateX(-50%);
}

.location.thailand {
  bottom: 15%;
  right: 40%;
}

.location.thailand span::before {
  bottom: -30px;
  right: 50%;
  transform: translateX(-50%);
}

.location.japan {
  bottom: 30%;
  right: 0;
}

.location.japan span::before {
  top: 50%;
  left: -30px;
  transform: translateY(-50%);
}

/* メインコンテンツ */
.hero-content-wrap {
  position: absolute;
  bottom: -200px;
  left: 30px;
  z-index: 4;
  height: 400px;
  color: white;
  will-change: transform, color;
}

.hero-content {
  position: relative;
}

.hero-content-inner {
  transition: transform 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.hero-title {
  font-size: 64px;
  font-weight: 300;
  margin: 0 0 20px 0;
  line-height: 1.2;
  font-family: var(--garamond);
  letter-spacing: 0.05em;
  transition: font-size 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.hero-content-wrap.slide-to-about .hero-title {
  font-size: 50px;
}

.hero-description {
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  margin: 0;
  opacity: 0.9;
  transition: all 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.hero-content-wrap.slide-to-about .hero-description {
  opacity: 1;
  color: #252525;
}

/* スクロール時の色変化 */
.hero-content-wrap.slide-to-about {
  color: #252525;
}

.hero-content-wrap.slide-to-about .hero-title {
  color: #252525;
}

.hero-content-wrap.slide-to-about .hero-description {
  color: #252525;
}

/* スムーズなアニメーション */
.hero-content-wrap {
  transition: color 0.3s ease, bottom 0.1s ease-out;
}

.hero-title {
  transition: color 0.3s ease;
}

.hero-description {
  transition: color 0.3s ease;
}

/* About Us Section */
.t_sec {
  position: relative;
  min-height: 100vh;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  display: flex;
  align-items: center;
  padding: 80px 0;
  overflow: hidden;
}

/* レスポンシブデザイン */
@media (max-width: 768px) {
  .section_top-slide {
    height: 100vh;
  }

  .hero-content-wrap {
    transform: translateX(-50%);
    width: 90%;
  }

  .hero-title {
    font-size: 34px;
  }

  .hero-content-wrap.slide-to-about .hero-title {
    font-size: 34px;
  }

  .shipping-route {
    top: 30%;
    left: 50%;
    right: 50%;
    transform: translate(-50%, 0%);
    aspect-ratio: 354 / 264;
    overflow: visible;
  }

  .route-locations {
    overflow: visible;
  }

  .location {
    font-size: 12px;
  }

  .location.dubai {
    top: 20%;
    left: 5%;
  }

  .location.dubai span::before {
    top: -10px;
    left: -10px;
    right: unset;
  }

  .location.pakistan {
    top: 5%;
    left: 40%;
  }

  .location.pakistan span::before {
    bottom: -9px;
  }

  .location.thailand {
    bottom: 10%;
    right: 30%;
  }

  .location.thailand span::before {
    top: -10px;
  }

  .location.japan {
    bottom: 25%;
    right: 5%;
  }

  .location.japan span::before {
    top: -5px;
    right: -6px;
    left: unset;
  }

  /* モバイルでのアニメーション調整 */
  .route-animation-canvas {
    z-index: 1;
  }
}

@media screen and (max-width: 380px) {
  .shipping-route {
    top: 20%;
  }
}

/* 為替情報表示ウィジェット */
/* .exchange-rate-widget {
  position: absolute;
  top: 100px;
  right: 20px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 8px;
} */

/* 為替情報表示 */
.exchange-rate-wrap {
  background-color: #f8f8f8;
  padding: 20px;
  margin: 20px auto;
  text-align: center;
  max-width: 850px;
}

.exchange-rate-wrap h2 {
  font-size: 18px;
}

.exchange-rate-item-wrap {
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 20px;
}

.exchange-rate-item {
  padding: 12px 24px 8px;
  backdrop-filter: blur(10px);
}

.currency-info {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  margin-bottom: 4px;
  color: #a52222;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.08em;
}

.currency-amount > span {
  font-size: 14px;
}

.rate-change {
  font-size: 14px;
  color: #4f758c;
  font-weight: 500;
  text-align: right;
  letter-spacing: 0.05em;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  .exchange-rate-widget {
    top: 10px;
    right: 10px;
    max-width: 150px;
  }

  .exchange-rate-item-wrap {
    flex-direction: column;
  }

  .exchange-rate-item {
    padding: 8px 12px;
  }
}

@media screen and (max-width: 480px) {
  .exchange-rate-widget {
    position: relative;
    top: auto;
    right: auto;
    max-width: 100%;
    margin-top: 20px;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
  }

  .exchange-rate-item {
    flex: 1;
    min-width: 100px;
    margin: 0 5px;
  }
}

.top .text-wrapper {
  z-index: 10;
  position: absolute;
  top: 30%;
  right: 50%;
  transform: translateX(50%);
  color: red;
  text-align: center;
  width: 100%;
}

@media screen and (max-width: 900px) {
  .top .text-wrapper {
    top: 40%;
  }
}

@media screen and (max-width: 500px) {
  .top .text-wrapper {
    top: 30%;
  }
}

.top .text-wrapper h2 {
  font-size: 80px;
  font-weight: bold;
  letter-spacing: 10px;
  line-height: 110px;
}

@media screen and (max-width: 900px) {
  .top .text-wrapper h2 {
    font-size: 65px;
    line-height: 80px;
  }
}

@media screen and (max-width: 500px) {
  .top .text-wrapper h2 {
    font-size: 40px;
    line-height: 60px;
  }
}

.top .text-wrapper p {
  padding-top: 10px;
  letter-spacing: 3px;
  line-height: 2rem;
  width: 100%;
}

@media screen and (max-width: 500px) {
  .top .text-wrapper p {
    font-size: 14px;
    padding-top: 20px;
  }
}

.top .text-wrapper p .sp-br {
  display: none;
}

@media screen and (max-width: 500px) {
  .top .text-wrapper p .sp-br {
    display: block;
  }
}

/** news-move **/
.news-move {
  align-items: center;
  display: flex;
  font-weight: bold;
  overflow: hidden;
  width: 100%;
  white-space: nowrap;
  z-index: 1;
  margin-top: 20px;
  margin-bottom: 20px;
}

.news-move a:hover {
  opacity: 0.6;
}

/** 追加 
@media (max-width: 720px) {
.top {
    margin-bottom: 40px;
 }
}
 追加終了 **/
.news-move span {
  color: #b52525;
}

.news-move ul {
  animation: flowing 140s linear infinite;
  font-size: 20px;
  transform: translateX(100%);
  margin: 0;
  padding: 0;
}

.news-move ul li {
  display: inline-block;
  font-size: 15px;
  padding-right: 10px;
}

@keyframes flowing {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-100%);
  }
}

/** /news-move **/
.news {
  padding-top: 35px;
  padding-bottom: 32px;
}

.news .container {
  display: flex;
  align-items: center;
  gap: 50px;
  justify-content: center;
  max-width: 1400px;
  padding-left: 20px;
  padding-right: 20px;
}

@media screen and (max-width: 1200px) {
  .news .container {
    flex-direction: column;
    gap: 40px;
  }
}

.news .container .news-title {
  text-align: center;
}

.news .container .news-title h2 {
  font-size: 24px;
  color: #b52525;
  letter-spacing: 3px;
}

@media screen and (max-width: 1200px) {
  .news .container .news-title h2 {
    font-size: 30px;
  }
}

.news .container .news-title .title-lead {
  font-size: 13px;
  letter-spacing: 2px;
  color: #b52525;
  text-align: center;
  font-weight: bold;
}

.news .container .news-item-wrapper .news-item {
  text-overflow: ellipsis;
  padding-bottom: 20px;
}

.news .container .news-item-wrapper .news-item:nth-child(3) {
  padding-bottom: 0;
}

.news .container .news-item-wrapper .news-item a {
  display: flex;
  gap: 10px;
  align-items: center;
  text-overflow: ellipsis;
}

@media screen and (max-width: 900px) {
  .news .container .news-item-wrapper .news-item a {
    flex-direction: column;
    align-items: flex-start;
  }
}

.news .container .news-item-wrapper .news-item a:hover {
  opacity: 0.7;
}

.news .container .news-item-wrapper .news-item a:hover .news-item-title {
  text-decoration: underline;
}

.news .container .news-item-wrapper .news-item a .news-item-top {
  display: flex;
  align-items: center;
  gap: 10px;
}

@media screen and (max-width: 900px) {
  .news .container .news-item-wrapper .news-item a .news-item-top {
    font-size: 13px;
  }
}

.news .container .news-item-wrapper .news-item a p {
  font-size: 15px;
  text-overflow: ellipsis;
  font-weight: bold;
}
/* 
.top-achievement {
  background-color: #f8f8f8;
  padding-top: 30px;
  padding-bottom: 30px;
}

.top-achievement .container {
  display: flex;
  align-items: center;
  gap: 50px;
  justify-content: center;
  max-width: 1400px;
  padding-left: 20px;
  padding-right: 20px;
  overflow: scroll;
}

@media screen and (max-width: 1200px) {
  .top-achievement .container {
    flex-direction: column;
  }
}

@media screen and (max-width: 900px) {
  .top-achievement .container {
    align-items: flex-start;
    gap: 40px;
  }
}

.top-achievement .container .top-title {
  color: #b52525;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 900px) {
  .top-achievement .container .top-title {
    margin: 0 auto;
  }
}

.top-achievement .container .top-title .lead {
  font-size: 13px;
}

@media screen and (max-width: 1200px) {
  .top-achievement .container .top-title .lead {
    font-size: 30px;
  }
}

.top-achievement .container .top-title h2 {
  font-size: 24px;
}

@media screen and (max-width: 1200px) {
  .top-achievement .container .top-title h2 {
    font-size: 13px;
  }
}

.top-achievement .container .top-achievement-item-wrapper {
  display: flex;
  overflow: scroll;
}

.top-achievement
  .container
  .top-achievement-item-wrapper
  .top-achievement-item {
  border-right: 1px solid #c7c7c7;
  padding-left: 24px;
  padding-right: 28px;
}

.top-achievement
  .container
  .top-achievement-item-wrapper
  .top-achievement-item:nth-child(1) {
  border-left: 1px solid #c7c7c7;
}

@media screen and (max-width: 1200px) {
  .top-achievement
    .container
    .top-achievement-item-wrapper
    .top-achievement-item:nth-child(1) {
    border-left: none;
    min-width: 300px;
  }
}

@media screen and (max-width: 1200px) {
  .top-achievement
    .container
    .top-achievement-item-wrapper
    .top-achievement-item {
    border-left: none;
    min-width: 300px;
  }
}

.top-achievement
  .container
  .top-achievement-item-wrapper
  .top-achievement-item
  .top-balloon {
  position: relative;
  width: 100%;
  padding: 10px;
  width: 150px;
  margin: 0 auto;
  margin-bottom: 20px;
  border-radius: 20px;
  background: white;
  text-align: center;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 2px;
}

.top-achievement
  .container
  .top-achievement-item-wrapper
  .top-achievement-item
  .top-balloon:after {
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  border-color: rgba(148, 148, 148, 0);
  border-top-width: 10px;
  border-bottom-width: 10px;
  border-left-width: 10px;
  border-right-width: 10px;
  margin-left: -10px;
  border-top-color: white;
  top: 100%;
  left: 50%;
}

.top-achievement
  .container
  .top-achievement-item-wrapper
  .top-achievement-item
  .company {
  display: flex;
  justify-content: space-around;
  font-weight: bold;
  padding-bottom: 20px;
}

.top-achievement
  .container
  .top-achievement-item-wrapper
  .top-achievement-item
  .d-ib-wrapper
  .d-ib {
  display: inline-block;
}

.top-achievement
  .container
  .top-achievement-item-wrapper
  .top-achievement-item
  .d-ib-wrapper
  p {
  font-size: 14px;
}

.top-achievement
  .container
  .top-achievement-item-wrapper
  .top-achievement-item
  .d-ib-wrapper
  p
  span {
  color: #b52525;
  padding-right: 4px;
  font-weight: bold;
  font-size: 15px;
}

.top-achievement
  .container
  .top-achievement-item-wrapper
  .top-achievement-item
  .last-item {
  display: flex;
  align-items: center;
  gap: 15px;
  padding-bottom: 15px;
}

.top-achievement
  .container
  .top-achievement-item-wrapper
  .top-achievement-item
  .last-item
  .left {
  font-size: 16px;
  font-weight: bold;
}

@media screen and (max-width: 900px) {
  .top-achievement .container .top-achievement-btn-wrapper {
    margin: 0 auto;
    text-align: center;
  }
} */

.links {
  display: flex;
}

@media screen and (max-width: 1200px) {
  .links {
    flex-wrap: wrap;
  }
}

.links a {
  display: block;
  width: 100%;
  transition: opacity 0.3s;
}

@media screen and (max-width: 1200px) {
  .links a {
    width: 50%;
  }
}

.links a:hover {
  opacity: 0.8;
}

.links a .links-item {
  position: relative;
  height: 320px;
  background-image: url(../images/links-about-us.png);
  background-size: cover;
  text-align: center;
  color: white;
}

@media screen and (max-width: 1200px) {
  .links a .links-item {
    height: 400px;
  }
}

@media screen and (max-width: 900px) {
  .links a .links-item {
    height: 300px;
  }
}

@media screen and (max-width: 500px) {
  .links a .links-item {
    height: 200px;
  }
}

.links a .links-item .bg {
  position: absolute;
  z-index: 1;
  background-color: rgba(48, 85, 129, 0.4);
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}

.links a .links-item .text-wrapper {
  position: absolute;
  z-index: 4;
  left: 50%;
  transform: translateX(-50%);
  bottom: 24px;
  width: 100%;
  color: white;
  font-weight: bold;
}

.links a .links-item .text-wrapper h2 {
  letter-spacing: 3px;
  padding-bottom: 13px;
  font-size: 28px;
}

@media screen and (max-width: 900px) {
  .links a .links-item .text-wrapper h2 {
    font-size: 23px;
  }
}

@media screen and (max-width: 500px) {
  .links a .links-item .text-wrapper h2 {
    font-size: 16px;
    padding-bottom: 6px;
  }
}

.links a .links-item .text-wrapper .lead {
  padding-bottom: 16px;
}

@media screen and (max-width: 500px) {
  .links a .links-item .text-wrapper .lead {
    font-size: 13px;
    padding-bottom: 4px;
  }
}

.links a .links-item .text-wrapper i {
  border: 2px solid #fff;
  padding: 3px;
  border-radius: 50%;
}

@media screen and (max-width: 500px) {
  .links a .links-item .text-wrapper i {
    font-size: 13px;
  }
}

.links a .links-item2 {
  background-image: url(../images/links-shipping.png);
}

.links a .links-item3 {
  background-image: url(../images/links-purchasing.png);
}

.links a .links-item4 {
  background-image: url(../images/links-faq.png);
}

.partner {
  padding: 70px 20px;
}

@media screen and (max-width: 900px) {
  .partner {
    padding: 50px 20px;
  }
}

@media screen and (max-width: 500px) {
  .partner .container .top-wrapper {
    padding-bottom: 40px;
  }
}

.partner .container .top-wrapper h2 {
  font-size: 40px;
  letter-spacing: 3px;
}

@media screen and (max-width: 500px) {
  .partner .container .top-wrapper h2 {
    font-size: 30px;
  }
}

.partner .container .top-wrapper .lead {
  font-size: 13px;
}

.partner .container .partner-item-wrapper {
  display: flex;
  justify-content: center;
  gap: 50px;
}

@media screen and (max-width: 900px) {
  .partner .container .partner-item-wrapper {
    gap: 30px;
    flex-direction: column;
    justify-content: center;
  }
}

.partner .container .partner-item-wrapper .partner-item {
  transition: opacity 0.3s;
}

@media screen and (max-width: 900px) {
  .partner .container .partner-item-wrapper .partner-item {
    text-align: center;
  }
}

.partner .container .partner-item-wrapper .partner-item:hover {
  opacity: 0.8;
}

.top-contact {
  background-image: url(../images/bottom-contact.png);
  height: 500px;
  background-size: cover;
  background-position-x: center;
  background-position-x: 60%;
}

.top-contact .container {
  position: relative;
}

.top-contact .container .text-wrapper {
  position: absolute;
  right: 40px;
  top: 100px;
  text-align: center;
  font-weight: bold;
}

@media screen and (max-width: 500px) {
  .top-contact .container .text-wrapper {
    right: 50%;
    transform: translateX(50%);
    width: 100%;
  }
}

.top-contact .container .text-wrapper h2 {
  font-size: 40px;
  letter-spacing: 4px;
  color: white;
}

@media screen and (max-width: 500px) {
  .top-contact .container .text-wrapper h2 {
    font-size: 30px;
  }
}

.top-contact .container .text-wrapper .lead {
  color: white;
  padding-top: 15px;
}

@media screen and (max-width: 500px) {
  .top-contact .container .text-wrapper .lead {
    padding-top: 10px;
  }
}

.top-contact .container .text-wrapper .btn-wrapper {
  padding-bottom: 30px;
  padding-top: 20px;
}

.top-contact .container .text-wrapper .btn-wrapper a .btn {
  background-color: #b52525;
  color: white;
  padding-left: 50px;
  font-size: 24px;
}

@media screen and (max-width: 500px) {
  .top-contact .container .text-wrapper .btn-wrapper a .btn {
    width: 100%;
  }
}

.top-contact .container .text-wrapper .line {
  text-align: center;
}

.top-contact .container .text-wrapper .line img {
  width: 270px;
}

@media screen and (max-width: 500px) {
  .top-contact .container .text-wrapper .line img {
    width: 80%;
  }
}

footer .footer-nav {
}
@media screen and (max-width: 900px) {
  footer .footer-nav {
    display: none;
  }

  footer .footer-nav.site-map {
    display: flex;
  }
}

@media screen and (max-width: 900px) {
  /* // 最新のsafari用 */
  _::-webkit-full-page-media,
  _:future,
  :root footer .footer-nav {
    display: none;
  }

  /* // 最新のsafari用 */
  _::-webkit-full-page-media,
  _:future,
  :root footer .footer-nav.site-map {
    display: flex;
  }
}

footer .footer-nav .logo {
  width: 50px;
  margin-right: auto;
  margin-left: 50px;
}

footer .footer-nav .container ul {
  display: flex;
  justify-content: flex-end;
  gap: 40px;
}

@media screen and (max-width: 1200px) {
  footer .footer-nav .container ul {
    gap: 30px;
  }
}

footer .footer-nav .container ul li a {
  font-size: 15px;
}

@media screen and (max-width: 1200px) {
  footer .footer-nav .container ul li a {
    font-size: 14px;
  }
}

footer .copyright {
  background-color: #292d34;
  padding: 17px;
  color: white;
  text-align: center;
  font-size: 13px;
}

/* ------------------------------------
  index.html終了
---------------------------------------- */
/* ------------------------------------
  【NEW】index.html開始
---------------------------------------- */
/** 累積実績 **/

.top-achievement-bg {
  padding: 20px 7% 80px;
  /** background-image: url(../images/achievement-bg.png);**/
  background-color: white;
  background-size: cover;
  background-position: center;
}

.top-achievement-bg .container {
  display: flex;
  max-width: 850px;
  margin: 0 auto;
  justify-content: center;
  gap: 30px;
}

@media screen and (max-width: 1200px) {
  .top-achievement-bg .container {
    /**flex-wrap: wrap;**/
    /**gap: initial;**/
    gap: 20px;
  }
}

.top-achievement-bg .container .achievement-bg-item {
  background-color: #f6f6f6;
  border-radius: 5px;
  padding: 40px 28px 20px;
  width: 100%;
}

@media screen and (max-width: 900px) {
  .achievement-bg-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .top-achievement-bg .container .achievement-bg-item {
    padding: 20px 18px;
  }

  /**.top-achievement-bg .container .achievement-bg-item:first-child {
    margin-top: 30px;
  }**/
}

.top-achievement-bg .container .achievement-bg-item br {
  display: none;
}

@media screen and (max-width: 900px) {
  .top-achievement-bg .container .achievement-bg-item br {
    display: block;
  }
}

.achievement-bg .container .achievement-bg-item .item-flag {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding-bottom: 22px;
}

.top-achievement-bg .container .achievement-bg-item .item-flag i {
  font-size: 30px;
  color: #b52525;
  padding-left: 14px;
  padding-right: 14px;
}

.top-achievement-bg .container .achievement-bg-item .balloon {
  position: relative;
  margin: 1.5em 0;
  padding: 7px 10px;
  font-size: 16px;
  background: #f8f8f8;
  padding: 35px 45px 25px;
}

@media screen and (max-width: 900px) {
  .top-achievement-bg .container .achievement-bg-item .balloon {
    padding-left: 0;
    padding-right: 0;
  }
}

.top-achievement-bg .container .achievement-bg-item .balloon::before {
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-bottom: 15px solid #f8f8f8;
}

.top-achievement-bg .container .achievement-bg-item .balloon .top-value {
  padding-top: 25px;
}

.top-achievement-bg .container .achievement-bg-item .balloon .title {
  padding-top: 0;
}

.top-achievement-bg .container .achievement-bg-item .title {
  font-size: 18px;
  text-align: center;
}

.top-achievement-bg .container .achievement-bg-item .top-value {
  display: flex;
  padding-top: 16px;
  padding-bottom: 10px;
  gap: 55px;
  color: #b52525;
  font-weight: bold;
  justify-content: center;
}

.top-value p {
  font-size: 22px;
}

.top-achievement-bg .container .achievement-bg-item .top-value span {
  font-size: 16px;
}

@media screen and (max-width: 900px) {
  .top-achievement-bg .container .achievement-bg-item .top-value {
    flex-direction: column;
    gap: 5px;
    justify-content: center;
    text-align: center;
  }

  .top-achievement-bg .container {
    gap: 20px;
    flex-direction: column;
  }
}

/** 累積実績 **/
.sec-box,
.sec-box_news {
  padding: 80px 20px;
}

@media (max-width: 900px) {
  .sec-box,
  .sec-box_news {
    padding: 40px 20px;
  }
}

.sec-box_color {
  background-color: #ffe5e5;
  padding: 40px 20px 20px;
}

@media (max-width: 900px) {
  .sec-box_color {
    background-color: #ffe5e5;
    padding: 40px 20px 10px;
  }
}

.contact-box_color {
  background-color: #ffe5e5;
  padding: 40px 7% 80px;
}

@media (max-width: 900px) {
  .contact-faq_tp.sec-box_color {
    padding-top: 40px;
  }
}

.sec-box_gradation {
  background: linear-gradient(90deg, #ed213a, #b52525);
  padding: 20px 0 20px;
}

.sec-box_gray {
  background-color: #f9f9f9;
  padding: 40px 20px 20px;
}

.sec-wp {
  padding-bottom: 20px;
}

.detail-button_arrow-c:before {
  content: "\f061";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #fff;
  position: absolute;
  left: 17px;
  top: 18px;
}

.arrow:before {
  content: "\f061";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: 17px;
  top: 18px;
}

@media (min-width: 768px) {
  .sec-box,
  .sec-box_color,
  .sec-box_gray {
    padding-left: 7%;
    padding-right: 7%;
  }

  .sec-box_news {
    padding-left: 7%;
    padding-right: 0;
  }

  .sec-wp {
    flex: 1;
  }

  .sec-wp.wp-left {
    display: flex;
    gap: 40px;
  }

  .sec-wp.wp-right {
    display: flex;
    flex-direction: row-reverse;
    gap: 40px;
    padding-top: 20px;
  }

  .sec-cont {
    display: flex;
    flex-direction: column;
  }

  .detail-button_img {
    width: 480px;
  }
}

.text-box {
  padding: 20px 0 16px 0;
}

h2 .ttl-en {
  display: block;
  font-family: "Noto Sans", sans-serif;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: #b52525;
  background: -webkit-linear-gradient(90deg, #ed213a, #b52525);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  padding-bottom: 4px;
}

span .ttl-jp {
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  line-height: 1.3;
  color: #1d1d1d;
}

.text-box p {
  padding-bottom: 14px;
}

.gradation-red {
  color: #b52525;
  background: -webkit-linear-gradient(90deg, #ed213a, #b52525);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 600;
}

/** detail-button　**/
.detail-button a {
  display: flex;
  align-items: center;
}

.detail-button_arrow {
  padding-right: 16px;
}

.detail-button_text {
  font-weight: 600;
}

.detail-button_arrow-c {
  position: relative;
  display: inline-block;
  color: #b52525;
  background: -webkit-linear-gradient(90deg, #ed213a, #b52525);
  width: 50px;
  height: 50px;
  border-radius: 50%;
  transition: 0.3s;
}

.detail-button_arrow-c:hover {
  transform: scale(1.3);
  color: #b52525;
  background: -webkit-linear-gradient(90deg, #ed213a, #b52525);
  opacity: 1 !important;
}

/**　top-sec **/
.top_sec {
  margin-top: 72px;
}

.top_sec img {
}

/**.mv-img {
  display: none; 
}**/
.top_sec-img,
.mv-img.mv-sp {
  vertical-align: bottom;
}

.top_sec-img {
  padding: 0 20px 20px;
}

@media (min-width: 560px) {
}

.mv-copy {
  position: absolute;
  bottom: calc(42% - 4.5em);
  left: 40px;
}

/**　/top-sec **/
/** s-cases_sec **/
.s-cases_sec .ttl-jp {
  color: #fff;
}

.sc_ttl-en {
  display: block;
  font-family: "Noto Sans", sans-serif;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: #fff;
  padding-bottom: 4px;
}

.s-cases_sec-ttl_wp {
  padding: 20px;
}

@media (min-width: 768px) {
  .s-cases_sec-ttl_wp {
    padding: 20px 7%;
  }
}

.s-cases_ex01 {
  background-color: #fff;
  margin-right: 20px;
  padding: 40px 20px;
  margin-bottom: 60px;
}

@media (min-width: 768px) {
  .s-cases_ex01 {
    display: flex;
    align-items: flex-end;
    margin-right: 7%;
    padding-left: 7%;
    gap: 20px;
  }
}

@media (min-width: 768px) {
  .user-voice {
    width: 70%;
  }
}

.s-cases_ex02 {
  background-color: #fff;
  margin-left: 20px;
  padding: 40px 20px;
  margin-bottom: 60px;
}

@media (min-width: 768px) {
  .s-cases_ex02 {
    display: flex;
    align-items: flex-end;
    flex-direction: row-reverse;
    margin-left: 7%;
    padding-right: 7%;
    gap: 20px;
  }
}

.s-cases_text {
  font-weight: 600;
  padding-bottom: 10px;
}

.s-cases_reason {
  display: block;
}

.s-cases_name {
  font-weight: 600;
  padding-bottom: 30px;
  border-bottom: 3px dotted #e6e6e6;
}

.s-cases_img {
  width: 70%;
  height: auto;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .s-cases_img {
    width: 30%;
  }
}

/**  **/
/** s-step_sec **/
.s-step_inner {
  margin: 60px auto 40px;
  max-width: 1200px;
}

.s-step_list {
  width: 100%;
}

.s-step_inner_item:nth-of-type(1) {
  border-top: 0;
}

.s-step_inner_item-content {
  margin: 0 auto;
  padding-top: 30px;
  padding-bottom: 30px;
  max-width: 800px;
  display: flex;
  align-items: center;
  gup: 40px;
}

@media screen and (max-width: 768px) {
  .s-step_inner_item-content {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}

.s-step_inner_item-content.one {
  padding-top: 0;
}

.s-step_inner_fig {
  position: relative;
  width: 182px;
  height: 182px;
}

@media screen and (max-width: 768px) {
  .s-step_inner_fig {
    width: 115px;
    height: 115px;
  }
}

/**.s-step_inner_fig-line {
    position: absolute;
    top: -9%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 3px;
    height: 30px;
    background: #cccccc;
}

.s-step_inner_fig::before {
background: url("../images/step-line.png") no-repeat center center/contain;
    content: '';
    height: 66px;
    left: calc(50% - 1px);
    position: absolute;
    top: -20%;
    width: 4px;
    z-index: -1;
}
@media screen and (max-width: 768px) {
  .s-step_inner_fig-line:nth-child(2) {
      top: -10%;
    height: 24px;
  }
  .s-step_inner_fig-line.step02{
    top: -17%;
    height: 36px;
  }
}**/
.s-step_inner_item-content-ttl {
  margin-left: 48px;
  font-size: 16px;
}

@media screen and (max-width: 768px) {
  .s-step_inner_item-content-ttl {
    margin-right: 0;
    max-width: 60%;
    margin-left: 18px;
  }
}

.s-step_inner_item-content-desc {
  font-size: 16px;
}

.s-step_inner_text {
  font-size: 18px;
}

@media screen and (max-width: 768px) {
  .s-step_inner_item-content-desc {
    max-width: 260px;
  }

  .s-step_inner_item-content-desc span {
    display: block;
  }
}

.s-step_inner_text {
  font-size: 18px;
  font-weight: 600;
  display: block;
}

.s-step_inner_text br {
  display: none;
}

/** /s-cases_sec **/
/** news **/
.news_sec_wrapper {
  padding-bottom: 40px;
}

.news-image {
  padding-top: 40px;
}

@media (min-width: 768px) {
  .news_sec_inner {
    display: flex;
    justify-content: space-between;
    gap: 30px;
  }

  .news-image {
    width: 55%;
  }
}

.news_sec_wp {
  padding: 20px 0;
  border-bottom: 1px solid #e6e6e6;
}

.news_sec_wp a:hover,
.partner-banner a:hover,
.contact-faq_wp a:hover,
.contact-faq_wp a:hover {
  opacity: 0.5;
}

.news_day {
  padding-bottom: 8px;
  font-size: 14px;
  color: #666;
}

.news_sec_ttl {
  font-weight: 600;
}

/** column **/
.column_sec-wrapper {
  padding: 20px 0 40px;
}

.column_sec_wp {
  padding-bottom: 20px;
}

.column-button_wap {
  padding-top: 40px;
}

.archive-cont {
  padding: 20px;
  background: #fff;
}

.archive-cont_img {
  width: 100%;
  height: 200px !important;
}

.partner_sec {
  max-width: 1300px;
  margin: 0 auto;
  padding: 80px 0;
}

.partner-banner {
  padding: 40px 0;
  text-align: center;
  width: 50%;
  height: auto;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .partner-banner {
    display: flex;
    align-items: stretch;
    gap: 60px;
  }
}

@media screen and (max-width: 768px) {
  .partner_sec {
    padding: 80px 20px;
  }
  .partner-banner {
    width: 80%;
  }
}

.partner-banner a {
  padding: 20px 0;
}

.partner-banner a:last-child {
  padding-bottom: 0;
}

/** contact-faq **/
.contact-faq_wp a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.c-t_cont-wp {
  padding-left: 10px;
  text-align: right;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.contact-faq_inner_img {
  width: 48%;
}

.contact-faq_inner_text {
  padding-bottom: 20px;
}

.contact-faq_inner_text p {
  font-size: 18px;
  font-weight: 600;
}

.contact-faq_inner_text span {
  display: block;
}

@media (min-width: 768px) {
  .contact-faq_inner_text span {
    display: inline-block;
    padding-left: 1em;
  }
}

.contact-faq_wp {
  background-color: #fff;
  padding: 30px;
}

@media (min-width: 768px) {
  .contact-faq_wp {
    flex-grow: 1;
  }
}

.contact-faq_wp.faq {
  background: -webkit-linear-gradient(90deg, #ed213a, #b52525);
}

p.faq-text {
  color: #fff;
}

.detail-button_arrow.contactW,
.detail-button_arrow.faqW {
  padding-right: 0;
}

.detail-button_arrow-c.faqA {
  background: #fff;
}

.contact-faq_wrapper {
  margin-top: 20px;
}

@media (min-width: 768px) {
  .contact-faq_wrapper {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
  }
}

/* ------------------------------------
  【NEW】index.html終了
---------------------------------------- */
/* ------------------------------------
  archive.html開始
---------------------------------------- */
.archive-bottom-top {
  background-image: url(../images/blog-archive-top.png);
  background-size: cover;
  background-position-y: 90%;
  background-position-x: center;
}

.archive-nav {
  margin-top: 40px;
  margin-bottom: 48px;
  padding-left: 20px;
  padding-right: 20px;
}

.archive-nav .container {
  display: flex;
  justify-content: center;
  gap: 30px;
  background-color: #fff;
  padding: 50px 0 0;
  border-radius: 5px;
}

@media screen and (max-width: 500px) {
  .archive-nav .container {
    padding: 30px 0 0px;
  }
}

.archive-nav .container p a {
  cursor: pointer;
  font-size: 1.25rem;
  padding-bottom: 50px;
}

@media screen and (max-width: 500px) {
  .archive-nav .container p a {
    font-size: 1rem;
    padding-bottom: 30px;
  }
}

.archive-nav .container p a:hover {
  border-bottom: 3px solid #b52525;
  color: #b52525;
}

.archive-nav .container p .current {
  color: #b52525;
  border-bottom: 3px solid #b52525;
  padding-bottom: 50px;
}

@media screen and (max-width: 500px) {
  .archive-nav .container p .current {
    padding-bottom: 30px;
  }
}

.archive-item-wrapper {
  gap: 40px 30px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

@media screen and (max-width: 609px) {
  .archive-item-wrapper {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

.archive-item-wrapper .archive-item {
  transition: opacity 0.3s;
}

.archive-item-wrapper .archive-item:hover {
  opacity: 0.75;
}

.archive-item-wrapper .archive-item a {
  color: #1d1d1d;
}

@media screen and (max-width: 500px) {
  .archive-item-wrapper .archive-item a {
    /** display: flex;**/
    gap: 8px;
  }
}

@media screen and (max-width: 609px) {
  .archive-item a {
    display: flex;
    gap: 12px;
  }
}

.archive-item-wrapper .archive-item a .item-top {
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 15px;
  padding-top: 15px;
  padding-bottom: 13px;
}

@media screen and (max-width: 500px) {
  .archive-item-wrapper .archive-item a .item-top {
    padding: 0;
    padding-bottom: 4px;
  }
}

@media screen and (max-width: 500px) {
  .item-top02 {
    display: flex;
    gap: 8px;
    align-items: center;
    padding: 8px 0;
  }
}

.archive-item-wrapper .archive-item .archive-item-text {
  font-size: 15px;
}

.archive {
  padding-bottom: 100px;
  padding-left: 20px;
  padding-right: 20px;
  display: none;
}

@media screen and (max-width: 900px) {
  .archive {
    padding-bottom: 20px;
  }
}

.archive.on {
  display: block;
}

.archive .container {
  background-color: #fff;
  padding: 40px;
  padding-bottom: 70px;
}

.archive-item-text {
  font-weight: 600;
}

@media screen and (max-width: 500px) {
  .archive .container {
    padding: 20px 14px 60px;
  }
}

.archive .container .archive-item-wrapper {
  gap: 40px 30px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  margin-bottom: 60px;
}

@media screen and (max-width: 609px) {
  .archive .container .archive-item-wrapper {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.archive .container .archive-item-wrapper .archive-item {
  transition: opacity 0.3s;
}

.archive .container .archive-item-wrapper .archive-item:hover {
  opacity: 0.75;
}

.archive .container .archive-item-wrapper .archive-item a {
  color: #1d1d1d;
}

@media screen and (max-width: 609px) {
  .archive .container .archive-item-wrapper .archive-item a {
    display: flex;
    gap: 8px;
  }
}

.archive .container .archive-item-wrapper .archive-item a .item-top {
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 15px;
  padding-top: 15px;
  padding-bottom: 13px;
}

@media screen and (max-width: 500px) {
  .archive .container .archive-item-wrapper .archive-item a .item-top {
    padding: 0;
    padding-bottom: 4px;
  }
}

.archive .container .archive-item-wrapper .archive-item .archive-item-text {
  font-size: 15px;
}

.archive .container .archive-pager {
  padding-top: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

@media screen and (max-width: 500px) {
  .archive .container .archive-pager {
    display: none;
  }
}

.archive .container .archive-pager .pager-item {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  text-align: center;
  line-height: 40px;
  border: 1px solid #b52525;
  color: #b52525;
  transition: all 0.3s;
}

.archive .container .archive-pager .pager-item:hover {
  background-color: #b52525;
  color: white;
}

.archive .container .archive-pager .current {
  background-color: #b52525;
  color: white;
}

.archive .container .archive-pager .pager-period {
  margin-left: 10px;
  margin-right: 10px;
  color: #b52525;
}

.archive .container .archive-pager .pager-arrow {
  color: #b52525;
  margin-left: 20px;
  margin-right: 20px;
  font-size: 20px;
  transition: transform 0.3s;
}

.archive .container .archive-pager .pager-arrow-left:hover {
  transform: translateX(-10px);
}

.archive .container .archive-pager .pager-arrow-right:hover {
  transform: translateX(10px);
}

.archive .container .archive-pager-sp {
  text-align: center;
  padding-top: 60px;
  display: none;
}

@media screen and (max-width: 500px) {
  .archive .container .archive-pager-sp {
    display: block;
  }
}

/* ------------------------------------
  archive.html終了
---------------------------------------- */
/* ------------------------------------
  page-blog.php開始 20231020
---------------------------------------- */
.blog-pickup_wrapper {
  margin-bottom: 20px;
}

.nternal-ttl_wp {
  padding-bottom: 16px;
}

.nternal-ttl {
  padding: 0.1em 0.5em;
  color: #1d1d1d;
  background: transparent;
  border-left: solid 5px #b52525;
  text-align: left;
}

span.subttl-en {
  display: block;
  font-size: 18px;
  color: #b52525;
}

span.subttl-jp {
  color: #121212;
}

.archive-item-img.sp-left img {
  height: 200px;
  width: 100%;
  object-fit: cover;
  border-radius: 5px;
}

@media screen and (max-width: 609px) {
  .archive-item-img.sp-left img,
  img.attachment-post-thumbnail.size-post-thumbnail.wp-post-image {
    height: 120px;
    width: 120px;
    object-fit: cover;
  }
}

.blog-sidebar {
  display: flex;
  max-width: 1200px;
  justify-content: center;
  margin: 0 auto;
}

@media screen and (max-width: 900px) {
  .blog-sidebar {
    flex-direction: column;
  }
}

.blog_content {
  width: 70%;
}

.sidbar-content {
  width: 30%;
}

@media screen and (max-width: 900px) {
  .blog_content,
  .sidbar-content {
    width: 100%;
  }
}

/* ------------------------------------
  page-blog.php終了 20231020
---------------------------------------- */
.blog-item a {
  display: flex;
}

/* ------------------------------------
  single.html開始
---------------------------------------- */

@media screen and (max-width: 900px) {
  .single-content {
    padding: 40px 40px 70px;
  }
}

@media screen and (max-width: 500px) {
  .single-content {
    padding: 30px 20px 40px;
  }
}

.single-content .container {
  background-color: white;
  padding: 50px 60px 70px;
  margin: 0 auto;
}

@media screen and (max-width: 900px) {
  .single-content .container {
    padding: 50px 30px 70px;
  }
}

@media screen and (max-width: 500px) {
  .single-content .container {
    padding: 48px 14px 48px;
  }
}

.single-content .container h2,
.single-content .container h3,
.single-content .container h4,
.single-content .container h5,
.single-content .container h6,
.single-content .container p,
.single-content .container div {
  margin-top: 36px;
}

.single-content .container p {
  margin-top: 15px;
}

@media screen and (max-width: 500px) {
  .single-content .container h2,
  .single-content .container h3,
  .single-content .container h4,
  .single-content .container h5,
  .single-content .container h6,
  .single-content .container p,
  .single-content .container div {
    margin-top: 20px;
  }

  .single-content .container p {
    margin-top: 13px;
    font-size: 0.875rem;
  }
}

.single-content .container img {
  margin-top: 68px;
}

@media screen and (max-width: 500px) {
  .single-content .container img {
    margin-top: 48px;
  }
}

.single-content .container p {
  /* line-height: 2rem; */
  line-height: 1.7rem;
}

.single-content .container a {
  -webkit-text-decoration: underline #b52525;
  text-decoration: underline #b52525;
  color: #b52525;
}

.single-content .container .single-content-top {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-top: 0;
}

.single-content .container .single-content-top time {
  margin: 0;
}

.single-content .container .single-content-top .category {
  margin: 0;
}

.single-content .container .title {
  padding-top: 30px;
  line-height: 40px;
  margin-top: 0;
  margin-bottom: 60px;
}

@media screen and (max-width: 500px) {
  .single-content .container .title {
    font-size: 18px;
    padding-top: 20px;
    margin-bottom: 30px;
  }
}

.single-pager {
  padding-bottom: 100px;
  margin: 0 80px 0;
}

@media screen and (max-width: 900px) {
  .single-pager {
    margin: 0 40px 0;
  }
}

@media screen and (max-width: 500px) {
  .single-pager {
    margin: 0 14px 0;
  }
}

.single-pager .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.single-pager .container .single-pager-center a {
  transition: transform 0.3s;
}

.single-pager .container .single-pager-center a:hover {
  transform: scale(1.25);
}

.single-pager .container .single-btn-hide-area {
  width: 200px;
}

@media screen and (max-width: 900px) {
  .single-pager .container .single-btn-hide-area {
    width: 140px;
  }
}

@media screen and (max-width: 500px) {
  .single-pager .container .single-btn-hide-area {
    width: 70px;
  }
}

/* ------------------------------------
single.html終了
---------------------------------------- */
/* ------------------------------------
about-us.html開始
---------------------------------------- */
.about-us-top {
  background-image: url(../images/about-us-top.png);
  background-size: cover;
}

.about-us-content {
  margin: 60px 80px;
}

.about-us-content:last-child {
  padding-bottom: 100px;
  margin-bottom: 0;
}

@media screen and (max-width: 900px) {
  .about-us-content:last-child {
    padding-bottom: 80px;
  }
}

@media screen and (max-width: 500px) {
  .about-us-content:last-child {
    padding-bottom: 60px;
  }
}

@media screen and (max-width: 900px) {
  .about-us-content {
    margin: 40px;
  }
}

@media screen and (max-width: 500px) {
  .about-us-content {
    margin: 30px 20px 40px;
  }
}

.about-us-content .container {
  background-color: white;
  padding: 60px;
}

@media screen and (max-width: 900px) {
  .about-us-content .container {
    padding: 40px 30px 40px;
  }
}

@media screen and (max-width: 500px) {
  .about-us-content .container {
    padding: 40px 14px 40px;
  }
}

.about-us-content .container h2 {
  font-size: 32px;
  color: #b52525;
  margin-bottom: 20px;
}

.about-us-content .container .about-us-item {
  display: flex;
  border-bottom: 1px solid #cfcfcf;
  padding-top: 25px;
  padding-bottom: 23px;
}

@media screen and (max-width: 500px) {
  .about-us-content .container .about-us-item {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

.about-us-content .container .about-us-item .about-us-item-left {
  min-width: 150px;
}

@media screen and (max-width: 500px) {
  .about-us-content .container .about-us-item .about-us-item-left {
    min-width: 130px;
  }
}

.about-us-content .container .about-us-item br {
  display: none;
}

@media screen and (max-width: 500px) {
  .about-us-content .container .about-us-item br {
    display: block;
  }
}

.about-us-content .container .about-us-map iframe {
  width: 100%;
  height: 390px;
}

@media screen and (max-width: 500px) {
  .about-us-content .container .about-us-map iframe {
    height: 200px;
  }
}

/* ------------------------------------
about-us.html終了
---------------------------------------- */
/* ------------------------------------
achievement.html開始
---------------------------------------- */
.achievement-bottom-top {
  background-image: url(../images/achievement-top.png);
}

.achievement-bg {
  padding: 60px 20px;
  background-image: url(../images/achievement-bg.png);
  background-size: cover;
  background-position: center;
}

.achievement-bg .container {
  display: flex;
  gap: 40px;
  max-width: 1100px;
  margin: 0 auto;
  justify-content: center;
}

@media screen and (max-width: 1200px) {
  .achievement-bg .container {
    flex-wrap: wrap;
  }
}

.achievement-bg .container .achievement-bg-item {
  background-color: #fff;
  border-radius: 5px;
  padding: 40px 28px;
  width: 100%;
}

@media screen and (max-width: 900px) {
  .achievement-bg .container .achievement-bg-item {
    padding: 40px 18px;
  }
}

.achievement-bg .container .achievement-bg-item br {
  display: none;
}

@media screen and (max-width: 900px) {
  .achievement-bg .container .achievement-bg-item br {
    display: block;
  }
}

.achievement-bg .container .achievement-bg-item .item-flag {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding-bottom: 22px;
}

.achievement-bg .container .achievement-bg-item .item-flag i {
  font-size: 30px;
  color: #b52525;
  padding-left: 14px;
  padding-right: 14px;
}

.achievement-bg .container .achievement-bg-item .balloon {
  position: relative;
  margin: 1.5em 0;
  padding: 7px 10px;
  font-size: 16px;
  background: #f8f8f8;
  padding: 45px 45px 25px;
}

@media screen and (max-width: 900px) {
  .achievement-bg .container .achievement-bg-item .balloon {
    padding-left: 0;
    padding-right: 0;
  }
}

.achievement-bg .container .achievement-bg-item .balloon::before {
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-bottom: 15px solid #f8f8f8;
}

.achievement-bg .container .achievement-bg-item .balloon .top-number {
  padding-top: 25px;
}

.achievement-bg .container .achievement-bg-item .balloon .title {
  padding-top: 0;
}

.achievement-bg .container .achievement-bg-item .title {
  font-size: 18px;
  text-align: center;
}

.achievement-bg .container .achievement-bg-item .top-number {
  display: flex;
  padding-top: 34px;
  padding-bottom: 13px;
  gap: 55px;
  font-size: 44px;
  color: #b52525;
  font-weight: bold;
  justify-content: center;
}

@media screen and (max-width: 900px) {
  .achievement-bg .container .achievement-bg-item .top-number {
    flex-direction: column;
    gap: 14px;
    justify-content: center;
    text-align: center;
  }
}

.achievement-bg .container .achievement-bg-item .top-number span {
  font-size: 18px;
}

.achievement-content {
  padding: 60px 80px;
}

.achievement-content:last-child {
  padding-top: 0;
  padding-bottom: 100px;
}

@media screen and (max-width: 900px) {
  .achievement-content:last-child {
    padding-bottom: 85px;
  }
}

@media screen and (max-width: 500px) {
  .achievement-content:last-child {
    padding-bottom: 70px;
  }
}

@media screen and (max-width: 900px) {
  .achievement-content {
    padding: 40px 30px 40px;
  }
}

@media screen and (max-width: 500px) {
  .achievement-content {
    padding: 40px 14px 40px;
  }
}

.achievement-content .container {
  background-color: #fff;
  padding: 60px;
}

@media screen and (max-width: 900px) {
  .achievement-content .container {
    padding: 40px 30px 40px;
  }
}

@media screen and (max-width: 500px) {
  .achievement-content .container {
    padding: 40px 14px 40px;
  }
}

.achievement-content .container .title {
  text-align: center;
  color: #393939;
  cursor: pointer;
  position: relative;
}

.achievement-content .container .title h2 {
  color: #b52525;
  letter-spacing: 2px;
}

@media screen and (max-width: 500px) {
  .achievement-content .container .title h2 {
    font-size: 20px;
  }
}

@media screen and (max-width: 500px) {
  .achievement-content .container .title .lead {
    font-size: 15px;
  }
}

.achievement-content .container .title .achievement-btn {
  position: relative;
  right: -47%;
  top: -35px;
}

@media screen and (max-width: 900px) {
  .achievement-content .container .title .achievement-btn {
    right: -40%;
  }
}

.achievement-content .container .title .achievement-btn span {
  position: absolute;
  width: 22px;
  height: 3px;
  background-color: #b52525;
  margin: 0 auto;
  transition: transform 0.5s;
}

.achievement-content .container .title .achievement-btn span:last-child {
  transform: rotate(0deg);
}

.achievement-content .container .title .achievement-btn span:last-child.on {
  transform: rotate(90deg);
}

.achievement-content .container .item-wrapper {
  display: none;
  padding-top: 40px;
}

.achievement-content .container .item-wrapper.on {
  display: block;
}

.achievement-content .container .item-wrapper .item {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #cfcfcf;
  padding: 25px 0 20px;
  width: 100%;
}

.achievement-content .container .item-wrapper .item br {
  display: none;
}

@media screen and (max-width: 900px) {
  .achievement-content .container .item-wrapper .item br {
    display: block;
  }
}

.achievement-content .container .item-wrapper .item .db {
  display: block;
}

.achievement-content .container .item-wrapper .item:last-child {
  border-bottom: none;
}

.achievement-content .container .item-wrapper .item h3 {
  min-width: 62px;
  color: #b52525;
  font-size: 18px;
}

.achievement-content .container .item-wrapper .item .text {
  line-height: 2rem;
}

/* ------------------------------------
achievement.html終了
---------------------------------------- */
/* ------------------------------------
attempt.html開始
---------------------------------------- */
.attempt-top {
  background-image: url(../images/attempt-top.png);
}

.attempt-content {
  background-color: #fff;
  padding-bottom: 108px;
}

@media screen and (max-width: 900px) {
  .attempt-content {
    padding-bottom: 75px;
  }
}

.attempt-content p {
  line-height: 2rem;
}

@media screen and (max-width: 900px) {
  .attempt-content p {
    font-size: 14px;
    line-height: 1.8rem;
  }
}

.attempt-content .first {
  display: flex;
  padding-top: 80px;
  align-items: center;
}

@media screen and (max-width: 1200px) {
  .attempt-content .first {
    justify-content: center;
    flex-direction: column-reverse;
    padding-top: 60px;
  }
}

@media screen and (max-width: 500px) {
  .attempt-content .first {
    padding-top: 40px;
  }
}

.attempt-content .first .left {
  width: 63%;
}

@media screen and (max-width: 1200px) {
  .attempt-content .first .left {
    width: 100%;
  }
}

.attempt-content .first h2 {
  font-size: 42px;
  color: #b52525;
  margin-left: -20px;
  letter-spacing: 5px;
}

@media screen and (max-width: 1200px) {
  .attempt-content .first h2 {
    width: 100%;
    text-align: center;
    margin-left: 0px;
    margin-bottom: -30px;
  }
}

@media screen and (max-width: 500px) {
  .attempt-content .first h2 {
    font-size: 24px;
    margin-bottom: 40px;
  }
}

.attempt-content .second {
  display: flex;
  align-items: center;
  gap: 40px;
  padding-left: 40px;
  padding-top: 80px;
}

@media screen and (max-width: 1200px) {
  .attempt-content .second {
    flex-direction: column;
    padding-left: 30px;
    padding-top: 60px;
  }
}

@media screen and (max-width: 900px) {
  .attempt-content .second {
    flex-direction: column;
    padding-left: 20px;
    padding-top: 40px;
  }
}

@media screen and (max-width: 1200px) {
  .attempt-content .second .container .left {
    padding-right: 30px;
  }
}

@media screen and (max-width: 900px) {
  .attempt-content .second .container .left {
    padding-left: 20px;
  }
}

@media screen and (max-width: 500px) {
  .attempt-content .second .container .left {
    padding-left: 10px;
  }
}

.attempt-content .second .container .left p {
  padding-bottom: 30px;
  line-height: 2rem;
}

@media screen and (max-width: 900px) {
  .attempt-content .second .container .left p {
    font-size: 14px;
    line-height: 1.8rem;
    padding-bottom: 30px;
  }
}

.attempt-content .second .right {
  min-width: 50%;
  max-width: 50%;
}

@media screen and (max-width: 1200px) {
  .attempt-content .second .right {
    width: 100%;
    max-width: 100%;
  }
}

.attempt-content .second .right img {
  width: 100;
}

.attempt-content .attempt-content-bottom div,
.attempt-content .attempt-content-bottom p {
  margin-top: 80px;
  padding-left: 20px;
  padding-right: 20px;
}

@media screen and (max-width: 900px) {
  .attempt-content .attempt-content-bottom div,
  .attempt-content .attempt-content-bottom p {
    margin-top: 60px;
  }
}

@media screen and (max-width: 1200px) {
  .attempt-content .attempt-content-bottom div,
  .attempt-content .attempt-content-bottom p {
    margin-top: 40px;
    padding-left: 15px;
    padding-right: 15px;
  }
}

.attempt-content .attempt-content-bottom .img {
  max-width: 1115px;
  width: 100;
  margin: 0 auto;
  margin-top: 80px;
  padding: none;
}

@media screen and (max-width: 900px) {
  .attempt-content .attempt-content-bottom .img {
    margin-top: 60px;
    width: 100%;
    max-width: none;
  }
}

@media screen and (max-width: 900px) {
  .attempt-content .attempt-content-bottom .img {
    margin-top: 40px;
  }
}

.links-wrapper {
  padding-top: 60px;
  padding-bottom: 60px;
}

@media screen and (max-width: 900px) {
  .links-wrapper {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

/* ------------------------------------
attempt.html終了
---------------------------------------- */
/* ------------------------------------
shipping.html終了
---------------------------------------- */
.shipping-top {
  background-image: url(../images/shipping-top.png);
}

.bottom-nav {
  display: flex;
}

.bottom-nav a {
  width: 50%;
  text-align: center;
  padding-top: 32px;
  padding-bottom: 32px;
  font-weight: bold;
  transition: opacity 0.3s;
}

.bottom-nav a i {
  padding-left: 20px;
}

.bottom-nav a:hover {
  opacity: 0.85;
}

.bottom-nav .left {
  background-color: #b52525;
  color: white;
}

.bottom-nav .right {
  background-color: #084285;
  color: white;
}

.bottom-page-content {
  color: #1d1d1d;
  padding-top: 70px;
  padding-bottom: 100px;
  padding-left: 20px;
  padding-right: 20px;
}

@media screen and (max-width: 900px) {
  .bottom-page-content {
    padding-top: 50px;
    padding-bottom: 60px;
  }
}

.bottom-page-content p {
  line-height: 2rem;
}

.bottom-page-content h2 {
  font-size: 34px;
  font-weight: bold;
  color: #b52525;
  text-align: center;
  letter-spacing: 3px;
}

.bottom-page-content .top-img {
  padding-top: 65px;
}

@media screen and (max-width: 900px) {
  .bottom-page-content .top-img {
    padding-top: 40px;
  }
}

.bottom-page-content .pt {
  padding-top: 60px;
  line-height: 2rem;
}

@media screen and (max-width: 900px) {
  .bottom-page-content .pt {
    font-size: 15px;
    line-height: 1.85rem;
  }
}

.bottom-page-content .red {
  color: #b52525;
}

.bottom-page-content .fwb {
  font-weight: bold;
}

.bottom-page-content .tac {
  text-align: center;
}

.bottom-page-content .bg-content {
  padding: 0px 75px 60px;
}

@media screen and (max-width: 900px) {
  .bottom-page-content .bg-content {
    padding: 0px 10px 50px;
  }
}

.border {
  border: 1px solid #c7c7c7;
  padding: 0 65px 40px;
}

@media screen and (max-width: 900px) {
  .border {
    padding: 0 40px 30px;
  }
}

@media screen and (max-width: 900px) {
  .flex-btn {
    margin: 0 auto;
  }
}

@media screen and (max-width: 900px) {
  .sp-l {
    text-align: left;
  }
}

.font30 {
  font-size: 30px;
}

@media screen and (max-width: 900px) {
  .font30 {
    font-size: 20px;
  }
}

.font30 br {
  display: none;
}

@media screen and (max-width: 900px) {
  .font30 br {
    display: block;
  }
}

.bg-gray a .btn {
  color: #084285;
  border: #084285 2px solid;
}

.bg-gray a .btn:hover {
  color: white;
  background-color: #084285;
}

@media screen and (max-width: 900px) {
  .row {
    flex-direction: row !important;
    gap: 5px !important;
  }
}

.flex .border-item {
  border: 2px solid #c7c7c7;
  width: 250px;
  text-align: center;
  padding: 15px 0px;
  border-radius: 30px;
}

@media screen and (max-width: 900px) {
  .flex .border-item {
    margin: 0 auto;
    width: 200px;
  }
}

.wrap {
  flex-wrap: wrap;
}

h3 {
  text-align: center;
  font-size: 24px;
  color: #b52525;
}

@media screen and (max-width: 900px) {
  h3 {
    font-size: 20px;
  }
}

.pt60 {
  padding-top: 60px;
}

@media screen and (max-width: 900px) {
  .pt60 {
    padding-top: 40px;
  }
}

.font20 {
  font-size: 20px;
}

.pt32 {
  padding-top: 32px;
}

.pt25 {
  padding-top: 25px;
}

.flex-item {
  padding: 35px 20px;
}

.width50 {
  width: 50%;
}

@media screen and (max-width: 900px) {
  .width50 {
    width: 100%;
  }
}

.width100 {
  width: 100%;
}

h2 img {
  width: 46px;
  padding-right: 10px;
}

.flex {
  display: flex;
  gap: 30px;
  justify-content: center;
}

@media screen and (max-width: 900px) {
  .flex {
    flex-direction: column;
    gap: 30px;
  }
}

.mt {
  margin-top: 67px;
}

@media screen and (max-width: 900px) {
  .mt {
    margin-top: 45px;
  }
}

.blue {
  color: #254468;
}

.mt30 {
  margin-top: 30px;
}

.bg-white {
  background-color: #fff;
}

.bg-cream {
  background-color: #f9f8f5;
}

.bg-gray {
  background-color: #efefef;
}

#shipping-second .blue {
  color: #254468;
}

.shipping-bottom {
  background-image: url(../images/shipping-bottom.png);
}

.shipping-bottom span {
  font-size: 30px;
}

@media screen and (max-width: 900px) {
  .shipping-bottom span {
    font-size: 24px;
  }
}

/* ------------------------------------
shipping.html終了
---------------------------------------- */
/* ------------------------------------
purchasing.html終了
---------------------------------------- */
.purchasing-top {
  background-image: url(../images/purchasing-top.png);
}

.purchasing-bottom {
  background-image: url(../images/purchasing-bottom.png);
}

/* ------------------------------------
purchasing.html終了
---------------------------------------- */
/* ------------------------------------
contact.html開始
---------------------------------------- */
.contact-top {
  background-image: url(../images/contact-top.png);
}

.contact-content {
  margin-top: 40px;
  margin-bottom: 100px;
  margin-left: 20px;
  margin-right: 20px;
}

.contact-content .container {
  padding: 60px;
  background-color: #fff;
}

@media screen and (max-width: 900px) {
  .contact-content .container {
    padding: 45px 15px;
  }
}

.contact-content .container .contact-title {
  text-align: center;
  font-weight: bold;
  font-size: 20px;
  border-bottom: 1px solid #cfcfcf;
  padding-bottom: 60px;
  margin-bottom: 60px;
}

@media screen and (max-width: 900px) {
  .contact-content .container .contact-title {
    font-size: 18px;
    padding-bottom: 40px;
    margin-bottom: 30px;
  }
}

.contact-content .container .contact-title .komejirusi {
  color: #b52525;
  padding-top: 20px;
  padding-bottom: 30px;
}

.contact-content .container .contact-title .contact-btn-wrapper a .btn {
  background-color: #00b900;
  color: white;
  border: 2px solid #00b900;
  padding-left: 40px;
  padding-right: 40px;
}

.contact-content .container .contact-title .contact-btn-wrapper a .btn:hover {
  background-color: white;
  color: #00b900;
}

.contact-content .container .contact-item {
  margin-bottom: 44px;
}

.contact-content .container .contact-item .item-title .kome {
  color: #b52525;
  font-size: 12px;
  padding-right: 4px;
}

.contact-content .container .contact-item .item-form {
  margin-top: 10px;
}

.contact-content .container .contact-item .item-form input {
  width: 100%;
  background-color: #f6f6f6;
  padding: 13px;
}

.contact-content .container .contact-item .item-form input:focus {
  border: 2px solid #b52525;
}

.contact-content .container .contact-item .item-form textarea {
  width: 100%;
  background-color: #f6f6f6;
  padding: 30px;
  height: 300px;
}

.contact-content
  .container
  .contact-item
  .item-form
  textarea::-moz-placeholder {
  color: #a5a5a5;
}

.contact-content
  .container
  .contact-item
  .item-form
  textarea:-ms-input-placeholder {
  color: #a5a5a5;
}

.contact-content .container .contact-item .item-form textarea::placeholder {
  color: #a5a5a5;
}

.contact-content .container .contact-item .item-form textarea:focus {
  border: 2px solid #b52525;
}

.contact-content .container .tac {
  text-align: center;
  gap: 60px;
}

.contact-content .container .tac .btn {
  text-align: center;
  margin: 0 auto;
  padding-right: 60px;
  padding-left: 50px;
  display: flex;
  border: 2px solid #b52525;
  color: #b52525;
  padding: 15px 22px;
  border-radius: 32px;
  gap: 33px;
  align-items: center;
  font-weight: bold;
  transition: all 0.3s;
}

@media screen and (max-width: 500px) {
  .contact-content .container .tac .btn {
    gap: 16px;
  }
}

.contact-content .container .tac .btn:hover {
  background-color: #b52525;
  color: white;
}

input[type="checkbox"] {
  display: none;
}

.checkbox02 {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  padding: 5px 40px;
  position: relative;
  width: auto;
}

.checkbox02::before {
  background: #fff;
  border: none;
  background-color: #f6f6f6;
  border-radius: 3px;
  content: "";
  display: block;
  height: 16px;
  left: 5px;
  margin-top: -8px;
  position: absolute;
  top: 50%;
  width: 16px;
}

.checkbox02::after {
  border-right: 6px solid #b52525;
  border-bottom: 3px solid #b52525;
  content: "";
  display: block;
  height: 18px;
  left: 7px;
  margin-top: -16px;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: rotate(45deg);
  width: 9px;
}

input[type="checkbox"]:checked + .checkbox02::before {
  border-color: none;
}

input[type="checkbox"]:checked + .checkbox02::after {
  opacity: 1;
}

/* ------------------------------------
contact.html終了
---------------------------------------- */
/* ------------------------------------
confirm.html開始
---------------------------------------- */
.confirm-item {
  display: flex;
  padding-bottom: 45px;
  align-items: center;
}

@media screen and (max-width: 500px) {
  .confirm-item {
    display: block;
    padding-bottom: 30px;
  }
}

.confirm-item .left {
  min-width: 200px;
  color: #1d1d1d;
}

.confirm-item .right {
  line-height: 2rem;
  font-weight: bold;
}

.confirm-item-last {
  padding-bottom: 60px;
}

.confirm-item-last .left {
  color: #1d1d1d;
  padding-bottom: 15px;
}

.confirm-item-last .right {
  line-height: 2rem;
  font-weight: bold;
}

/* ------------------------------------
confirm.html終了
---------------------------------------- */
/* ------------------------------------
complete.html開始
---------------------------------------- */
.complete-title h2 {
  color: #b52525;
  letter-spacing: 2px;
  font-size: 30px;
  padding-bottom: 40px;
}

@media screen and (max-width: 500px) {
  .complete-title h2 {
    font-size: 26px;
    padding-bottom: 35px;
  }
}

.complete-title h2 br {
  display: none;
}

@media screen and (max-width: 900px) {
  .complete-title h2 br {
    display: block;
  }
}

.complete-title p {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  line-height: 40px;
}

@media screen and (max-width: 500px) {
  .complete-title p {
    font-size: 18px;
  }
}

/* ------------------------------------
complete.html終了
---------------------------------------- */
/* ------------------------------------
faq.html開始
---------------------------------------- */
.bottom-faq {
  padding-top: 60px;
  padding-bottom: 60px;
}

.bottom-faq .container h2 {
  text-align: center;
  font-size: 2rem;
}

.bottom-faq .achievement-content {
  padding-top: 30px;
}

.bottom-faq .achievement-content .container {
  padding: 20px;
}

.bottom-faq .achievement-content .container .title h2 {
  text-align: left;
  color: black;
  font-size: 1.25rem;
}

@media screen and (max-width: 900px) {
  .bottom-faq .achievement-content .container .title h2 {
    font-size: 1rem;
  }
}

@media screen and (max-width: 500px) {
  .bottom-faq .achievement-content .container .title h2 {
    font-size: 14.5px;
  }
}

.bottom-faq .achievement-content .container .achievement-btn {
  top: -20px;
}

@media screen and (max-width: 900px) {
  .bottom-faq .achievement-content .container .achievement-btn {
    top: -15px;
  }
}

.bottom-faq .achievement-content .container .achievement-btn span {
  background-color: #000;
}

.bottom-faq .achievement-content .container .item-wrapper {
  padding-top: 20px;
}

@media screen and (max-width: 500px) {
  .bottom-faq .achievement-content .container .item-wrapper {
    padding-top: 10px;
  }
}

.bottom-faq .achievement-content .container .item-wrapper .item {
  padding: 10px;
}

@media screen and (max-width: 500px) {
  .bottom-faq .achievement-content .container .item-wrapper .item .text {
    font-size: 14px;
  }
}

/* ------------------------------------
faq.html終了
---------------------------------------- */
/*# sourceMappingURL=style.css.map */
/* ------------------------------------
sidebar.php開始
---------------------------------------- */
.sidebar_category-list {
  text-align: left;
  padding-top: 16px;
  padding-bottom: 30px;
}

.sidebar_category-list li {
  line-height: 2.4rem;
}

.sidebar_category-list li::before {
  font-family: FontAwesome;
  content: "\f054";
  padding-right: 4px;
  color: #b52525;
}

.sidebar_category-list li a:hover {
  opacity: 0.6;
}

aside#sidebar {
  padding-right: 20px;
  background-color: #efefef;
  overflow: hidden;
}

@media screen and (max-width: 900px) {
  aside#sidebar {
    padding: 0 20px 20px;
  }
}

.sidebar_container {
  background-color: #fff;
  padding: 40px 20px;
}

.blog-pickup_wrapper {
  /** margin-bottom: 40px;**/
  text-align: center;
}

.sidebar_banner-area a {
  padding-bottom: 20px;
}

.sidebar_article {
  padding-top: 40px;
}

img.sidebar-banner_img {
  border-radius: 10px;
}

.sidebar_img img {
  border-radius: 5px;
  width: 100px !important;
  height: 90px !important;
}

.sidebar_article-wp {
  display: flex;
  gap: 16px;
  padding-bottom: 20px;
  text-align: left;
}

.sidebar_article-ttl {
  font-size: 14px;
}

.sidebar_article-time {
  font-size: 12px;
  color: #666;
}

.sidebar_item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
}

/* ------------------------------------
sidebar.php開始
---------------------------------------- */

/* ------------------------------------
フッター／サイトマップcss
---------------------------------------- */
.footer-site-map {
  background-color: #dcdcdc;
}

.footer-nav.site-map {
  align-items: flex-start;
  justify-content: flex-start;
  /* 要調整 */
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 500px) {
  .footer-nav.site-map {
    flex-direction: column;
  }

  .footer-nav.site-map .logo {
    margin-left: 20px;
    margin-bottom: 24px;
  }

  footer .footer-nav .container.site-map ul {
    flex-direction: column;
    gap: 10px;
    margin-left: 16px;
    margin-right: 0;
  }

  footer .footer-nav .container ul ul li a {
    font-size: 0.8rem;
  }

  .site-map-list-col-01 {
    margin-right: 24px;
  }
}

.container.site-map {
  width: 100%;
  display: flex;
  align-items: initial;
  justify-content: initial;
  margin: 0;
}

.footer-nav.site-map .logo {
  margin-right: 10%;
}

footer .footer-nav .container.site-map ul {
  flex-direction: column;
  gap: 10px;
}

.site-map-list-col-01 {
  margin-right: 36px;
  padding-left: 16px;
}

.site-map-list-col-02 {
  padding-left: 16px;
  align-self: flex-start;
}

footer .footer-nav .container.site-map ul li {
  flex-direction: column;
}

.site-map-list__item {
  /* margin-bottom: 30px; */
}

footer .footer-nav .container ul li a {
  margin-left: 0;
}

.site-map-child-list {
  margin-top: 8px;
  margin-left: 20px;
}

.site-map-list__child-item {
  margin-left: 16px;
}

.site-map-list__child-item:last-child {
  margin-bottom: 0;
}

.site-map-list__item:last-child {
  margin-bottom: 0;
}

.footer-site-map.faq-bg {
  /* background-color: #dcdcdc; */
  background-color: #eaf2f7;
}
.footer-site-map {
  margin-bottom: 100px;
  padding-top: 16px;
}
.footer-site-map .footer-nav {
  margin-bottom: 16px;
}
/* * {
  outline: 1px solid blue;
} */

/* ------------------------------------
トップページバナー追加 20241023
---------------------------------------- */
.top-banner {
  width: 100%;
  /* padding: 40px 16px; */
  margin-top: 48px;
  /* background-color: #c4f0c4; */
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 32px;
}

.top-banner-left {
  width: 100%;
  /* height: 120px; */
}

.top-banner-right {
  width: 100%;
  /* height: 120px; */
}

.about-us-content .container .about-us-item .br-address {
  display: block;
}

@media screen and (max-width: 1100px) {
  .top-banner {
    gap: 20px;
  }
}

@media screen and (max-width: 900px) {
}

@media screen and (max-width: 500px) {
  .top-banner {
    flex-direction: column;
    row-gap: 20px;
  }
}

/* ------------------------------------
お知らせモーダル表示
---------------------------------------- */

.modal {
  display: none;
  /* 初期状態は非表示 */
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

.modal-content {
  width: 600px;
  min-height: 400px;
  background: #ffffff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 48px 24px 30px;
  box-sizing: border-box;
  border-radius: 16px;
  position: relative;
  border: 8px solid #b52525;
  background-color: #ffe5e5;
  text-align: center;
  font-family: "Noto Sans JP", serif;
}

.modal-inner {
  background-color: #ffe5e5;
  padding: 16px;
  color: #b52525;
  border-radius: 12px;
}

.modal-title {
  font-size: 40px;
  text-align: center;
  margin-bottom: 40px;
  font-weight: bold;
  font-weight: 900;
  padding: 16px 12px;
}

.modal-body {
  font-size: 22px;
  line-height: 1.8;
  text-align: center;
  background-color: #fff;
  padding: 16px 0;
}

.modal-contents-text {
  color: #333;
  margin-bottom: 4px;
  line-height: 1.8;
}

.modal-post-link {
  display: inline-block;
  margin-top: 40px;
  font-size: 18px;
  background-color: #b52525;

  color: #ffffff;
  padding: 12px 20px;
  letter-spacing: 0.1em;
}

.modal-post-link span {
  font-style: normal;
  margin-left: 8px;
}

.modal-post-link:hover {
  opacity: 0.7;
  transition: all 0.4s;
}

.close-modal:hover,
.close-modal:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

.close-modal {
  width: 48px;
  height: 48px;
  color: #204798;
  font-size: 36px;
  font-weight: bold;
  position: absolute;
  right: -20px;
  top: -20px;
  border: 3px solid #204798;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.close-modal span {
  margin-top: -4px;
}

.close-modal:hover,
.close-modal:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

@media screen and (max-width: 600px) {
  .modal-content {
    width: 90%;
    min-height: 300px;
    padding: 24px 8px 24px;
  }

  .modal-inner {
    padding: 18px 8px;
  }

  .modal-title {
    font-size: 24px;
    margin-bottom: 30px;
  }

  .modal-body {
    font-size: 16px;
    line-height: 1.6;
  }

  .modal-contents-text {
    margin-bottom: 6px;
  }

  .modal-post-link {
    margin-top: 30px;
    padding: 10px 16px;
    letter-spacing: 0.08em;
  }

  .close-modal {
    width: 40px;
    height: 40px;
    font-size: 32px;
    right: -16px;
    top: -20px;
  }

  .close-modal span {
    margin-top: -2px;
  }
}

/* ------------------------------------
FAQページカテゴリーリスト
---------------------------------------- */
.category-list-faq {
  padding-top: 40px;
}

.category-list-faq-wrapper {
  width: 640px;
  width: 420px;
  margin: 0 auto;
  text-align: center;
  /* border: 1px solid #000; */
}

* {
  /* outline: 1px solid blue; */
}

.nternal-ttl.faq-page {
  display: inline-block;
  position: relative;
}

.nternal-ttl.faq-page::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background-color: #b52525;
}

.faq_category-list.faq-page {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 36px 24px 0px;
  text-align: left;
}

.cat-list__item-faq {
  width: 40%;
  margin-bottom: 18px;
  font-size: 1.25rem;
  /* font-size: 1.5rem; */
}

.cat-list__item-faq:nth-child(5) {
  width: 100%;
}

.cat-list__item-faq a:hover {
  opacity: 0.7;
}

.cat-list__item-faq::before {
  font-family: FontAwesome;
  content: "\f054";
  padding-right: 4px;
  color: #b52525;
}

.cat-list__item-faq a {
  /* font-size: 1.5rem; */
}

@media screen and (max-width: 640px) {
  .cat-list__item-faq {
    font-size: 1rem;
  }
}

@media screen and (max-width: 600px) {
  .category-list-faq {
    padding-top: 0px;
  }
  .category-list-faq-wrapper {
    margin-top: 40px;
    max-width: 420px;
    width: 100%;
  }

  .nternal-ttl.faq-page {
    /* margin-left: 36px; */
  }

  .faq_category-list {
    flex-direction: column;
    align-items: center;
    padding: 8px 30px;
  }

  .cat-list__item-faq {
    width: 100%;
    font-size: 1.1rem;
  }

  /* FAQタイトルCSS調整 */
  .faq-bottom-top {
    /* margin-top: 24px; */
  }
}

@-moz-document url-prefix() {
  @media screen and (max-width: 600px) {
    .faq_category-list.faq-page {
      margin: 24px 14px;
    }
  }
}

@media screen and (max-width: 600px) {
  ::-webkit-full-page-media,
  :future,
  :root .faq_category-list.faq-page {
    margin: 24px 14px;
  }
}

/* ------------------------------------
FAQページCSS変更 20241206
---------------------------------------- */
.faq-item {
  position: relative;
}

.accordion-title span::before {
  content: "Q";
  /* display: block;
  position: absolute; */
  left: 0px;
  /* top: 50%;
  transform: translateY(-50%); */
  /* top: 24px; */
  top: 0;
  color: white;
  font-size: 2rem;
  margin-right: 6px;
}

.accordion-title {
  text-align: left;
  text-indent: -1em;
  padding-left: 1em;
}

.accordion-title::before {
}

.accordion-title::after {
}

.faq-item {
  background-color: #efefef;
}

.accordion-content {
  background-color: #fff;
}

.accordion-content p a {
  text-decoration: underline;
}

.accordion-df.last-block {
  padding-bottom: 60px;
}

@media screen and (max-width: 600px) {
  .accordion-title span::before {
    font-size: 1.5rem;
    margin-right: 6px;
  }
  .accordion-df.last-block {
    padding-bottom: 30px;
  }
}

/* ------------------------------------
header-
---------------------------------------- */
/* 
.header2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

.header2-sp-btn {
  display: none;
  position: absolute;
  top: 50%;
  right: 15%;
  transform: translateY(-50%);
  width: 30px;
  height: 22px;
  z-index: 1100;
  cursor: pointer;
}

.header2-sp-btn span {
  display: block;
  height: 2px;
  width: 24px;
  background-color: #0050c8;
  margin: 5px auto;
  transition: all 0.3s ease;
}

.header2-sp-btn .bar3 {
  display: block;
  height: 2px;
  width: 12px;
  background-color: #0050c8;
  margin: 5px 2.5px;
  transition: all 0.3s ease;
}

.header2-sp-menu {
  display: block !important;
  position: fixed;
  top: 0;
  right: 0;
  width: 80%;
  max-width: 320px;
  height: 100vh;
  background: #fff;
  z-index: 1000;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
  overflow-y: auto;
}

.header2-sp-menu.active {
  transform: translateX(0) !important;
}

.header2-sp-menu-list {
  list-style: none;
  padding: 40px 20px;
}

.header2-sp-menu-list li {
  font-size: 1rem;
  padding: 12px 0;
  border-bottom: 1px solid #eee;
}

.header2-sp-menu-list li i {
  margin-right: 8px;
  color: #555;
}
.header2-sp-menu-list li a {
  color: #b52525;
}

@media screen and (max-width: 1200px) {
  .header2-sp-btn {
    display: block;
  }

  .header2 .nav {
    display: none;
  }
} */

/* ------------------------------------
Nipponについて
---------------------------------------- */
.about-n47-top {
  background-image: url("../images/about-n47/fv-bg.png");
  background-size: cover;
  background-position: center;
  height: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px 0px;
}

.about-n47-border {
  border: 10px solid rgba(181, 37, 37, 0.6);
  padding: 25px;
  display: inline-block;
}

.about-n47-box {
  background-color: rgba(181, 37, 37, 0.6); /* 内部背景（透過赤） */
  padding: 20px 20px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 40px;
  letter-spacing: 1px;
  backdrop-filter: blur(2px);
}

@media screen and (max-width: 768px) {
  .about-n47-top {
    min-height: 200px;
    height: 150px;
    padding: 30px 10px;
  }

  .about-n47-border {
    padding: 15px;
    border-width: 6px;
  }

  .about-n47-box {
    padding: 20px 10px;
    font-size: 20px;
    letter-spacing: 0.5px;
  }

  .about-n47-box h1 {
    padding: 20px 10px;
    font-size: 20px;
    letter-spacing: 0.5px;
  }
}

.about-n47-support {
  padding: 100px 100px;
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}

.about-n47-support::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 400px;
  width: 100%;
  background: url("../images/about-n47/wave.png");
  background-size: cover;
  z-index: 0;
}

.about-n47-support .bg-left {
  position: absolute;
  z-index: 10;
  max-width: 250px;
  left: 0%;
  top: -15%;
  z-index: 999;
}

.about-n47-support .bg-right {
  position: absolute;
  z-index: 10;
  max-width: 250px;
  right: 0%;
  top: -11%;
  z-index: 999;
}

.about-n47-support .support-header {
  margin-bottom: 100px;
  position: relative;
  z-index: 1;
  font-size: 20px;
}

.about-n47-support .support-header h2 {
  margin-bottom: 50px;
}

.about-n47-support .support-header .highlight {
  color: #b52525;
  font-weight: bold;
  font-size: 35px;
}

.about-n47-support .support-header .nippon {
  font-size: 35px;
  color: #b52525;
  font-weight: bold;
}

.about-n47-support .support-header .content {
  font-size: 24px;
  max-width: 400px;
}

.about-n47-support .support-header img {
  position: absolute;
  top: 10%;
  right: 0%;
  max-width: 500px;
}

.about-n47-support .support-graphic {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 40px;
  position: relative;
  z-index: 1;
  padding-top: 200px;
}

.about-n47-support .support-graphic img {
  max-width: 440px;
  width: 100%;
  height: auto;
}

.about-n47-support .support-desc {
  max-width: 720px;
  font-size: 14px;
  color: #333;
  line-height: 1.8;
  text-align: left;
}

.about-n47-support .support-desc p {
  margin-bottom: 30px;
}

.flow-canvas {
  position: absolute;
  top: 0%;
  right: -20%;
}

@media screen and (max-width: 768px) {
  .about-n47-support {
    padding: 50px 20px;
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
  }

  .about-n47-support::before {
    background: url("../images/about-n47/wave-sp.png");
    height: 900px;
  }

  .about-n47-support .bg-left {
    display: none;
  }

  .about-n47-support .bg-right {
    display: none;
  }

  .about-n47-support .support-header .highlight {
    font-size: 25px;
  }

  .about-n47-support .support-header .nippon {
    font-size: 25px;
  }

  .about-n47-support .support-header .content {
    font-size: 15px;
  }

  .flow-canvas {
    top: 120%;
    right: -70%;
  }

  .about-n47-support .support-graphic {
    flex-direction: column;
    padding-top: 700px;
  }
}

.about-n47-service {
  padding: 80px 20px;
  background-color: #f9f9f9;
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}

.about-n47-service .inner .bg-left {
  position: absolute;
  z-index: 10;
  max-width: 250px;
  left: 0%;
  top: 0%;
  z-index: 999;
}

.about-n47-service .inner .bg-right {
  position: absolute;
  z-index: 10;
  max-width: 250px;
  right: 0%;
  top: 0%;
  z-index: 999;
}

.about-n47-service .inner .bg-left2 {
  position: absolute;
  z-index: 10;
  max-width: 250px;
  left: 0%;
  top: 50%;
  z-index: 999;
}

.about-n47-service .inner .bg-right2 {
  position: absolute;
  z-index: 10;
  max-width: 250px;
  right: 0%;
  top: 50%;
  z-index: 999;
}

.about-n47-service .label {
  text-align: center;
  color: #999;
  font-size: 14px;
  margin-bottom: 20px;
}

.section-header {
  text-align: center;
  margin-bottom: 40px;
}

.section-title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 10px;
}

.section-header .content {
  display: flex;
  flex-direction: row;
}

.section-border {
  width: 300px;
  height: 1px;
  background-color: #999;
  margin: 0 auto;
}

.about-n47-service .section-subtitle {
  text-align: center;
  font-size: 22px;
  margin-top: 30px;
  color: #3b4043 !important;
}

.service-items {
  display: flex;
  flex-wrap: wrap;
  margin-top: 50px;
  padding: 0 100px;
  gap: 0;
  margin-bottom: 250px;
}

.service-item {
  width: 50%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
}

.service-item img {
  max-width: 300px;
  height: auto;
  border-radius: 12px 12px 0 0;
}

.service-text {
  padding: 40px 20px;
  position: absolute;
  bottom: -100%;
  right: 5%;
  max-width: 350px;
  background-color: #f9f9f9e5;
  border-radius: 12px 12px 0 0;
}

.service-text2 {
  padding: 40px 20px;
  position: absolute;
  bottom: -80%;
  right: 5%;
  max-width: 350px;
  background-color: #f9f9f9e5;
  border-radius: 12px 12px 0 0;
}

.service-text h4 {
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 15px;
  text-align: center;
}

.service-text p {
  font-size: 12px;
  color: #333;
  text-align: center;
}

.service-text2 h4 {
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 15px;
  text-align: center;
}

.service-text2 p {
  font-size: 12px;
  color: #333;
  text-align: center;
}

.btn-wrap {
  text-align: center;
  margin-top: 40px;
}

.btn {
  background-color: #b52525;
  color: #fff;
  padding: 12px 32px;
  border-radius: 30px;
  display: inline-block;
  font-size: 14px;
  text-decoration: none;
  transition: background 0.3s;
  margin-bottom: 50px;
}

.btn:hover {
  background-color: #911d1d;
}

.about-n47-service .service-images {
  display: flex;
  flex-direction: row;
  gap: 40px;
  padding: 0 40px;
}

.about-n47-service .service-images img {
  max-width: 500px;
}

.about-n47-service .service-images .content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.about-n47-service .service-images .content p {
  margin-bottom: 30px;
}

.about-n47-problem {
  background-image: url("../images/about-n47/problem-bg-sp.png");
  background-size: cover;
  background-position: center;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px 10px;
  flex-direction: column;
  width: 100%;
  position: relative; /* 擬似要素のために必要 */
  z-index: 0;
}

.about-n47-problem::before {
  content: "";
  position: absolute;
  inset: 0; /* top, right, bottom, left: 0 */
  background-color: rgba(255, 255, 255, 0.6); /* 白60%透明 */
  z-index: -1;
}

.about-n47-problem .section-title {
  display: flex;
  flex-direction: row;
  gap: 40px;
  margin-bottom: 40px;
}

.about-n47-problem .section-title p {
  white-space: nowrap;
}

.about-n47-problem .section-title .line-left {
  max-width: 40px;
}

.about-n47-problem .section-title .line-right {
  max-width: 40px;
}

.about-n47-problem .content {
  max-width: 800px;
  margin: 0 auto;
}

.about-n47-problem .btn-wrap .btn {
  margin-bottom: 0px;
}

@media screen and (max-width: 768px) {
  .about-n47-service {
    padding: 80px 10px;
    background-color: #f9f9f9;
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
  }

  .about-n47-service .inner .bg-left {
    display: none;
  }

  .about-n47-service .inner .bg-right {
    display: none;
  }

  .about-n47-service .inner .bg-left2 {
    display: none;
  }

  .about-n47-service .inner .bg-right2 {
    display: none;
  }

  .service-items {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    margin-top: 50px;
    padding: 0 0px;
    gap: 0;
    margin-bottom: 0px;
  }

  .service-item {
    width: 100%;
    margin-bottom: 150px;
  }

  .service-item img {
    width: 80%;
    height: auto;
    border-radius: 12px 12px 0 0;
  }

  .service-text {
    padding: 0px 0px;
    position: absolute;
    bottom: -50%;
    right: -55%;
    max-width: 500px;
    background-color: #f9f9f9e5;
    border-radius: 12px 12px 0 0;
    font-size: 11px;
    width: 100%;
    transform: translateX(-50%); /* 真ん中揃え */
  }

  .service-text h4 {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 15px;
    text-align: center;
  }

  .service-text2 {
    padding: 0px 0px;
    position: absolute;
    bottom: -50%;
    right: -55%;
    max-width: 500px;
    background-color: #f9f9f9e5;
    border-radius: 12px 12px 0 0;
    font-size: 11px;
    width: 100%;
    transform: translateX(-50%); /* 真ん中揃え */
  }

  .service-text h4 {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 15px;
    text-align: center;
  }

  .about-n47-service .service-images {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 0 0px;
  }

  .about-n47-service .service-images img {
    max-width: 500px;
  }

  .about-n47-service .service-images .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
  }

  .about-n47-service .service-images .content p {
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 768px) {
  .about-n47-problem {
    background-image: url("../images/about-n47/problem-bg-sp.png");
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 10px;
    flex-direction: column;
    width: 100%;
    position: relative; /* 擬似要素のために必要 */
    z-index: 0;
  }

  .about-n47-problem::before {
    content: "";
    position: absolute;
    inset: 0; /* top, right, bottom, left: 0 */
    background-color: rgba(255, 255, 255, 0.6); /* 白60%透明 */
    z-index: -1;
  }

  .about-n47-problem .section-title {
    display: flex;
    flex-direction: row;
    gap: 40px;
    margin-bottom: 40px;
  }

  .about-n47-problem .section-title p {
    white-space: wrap;
  }

  .about-n47-problem .section-title .line-left {
    display: none;
  }

  .about-n47-problem .section-title .line-right {
    display: none;
  }

  .about-n47-problem .content {
    max-width: 800px;
    margin: 0 auto;
  }

  .about-n47-problem .btn-wrap .btn {
    margin-bottom: 0px;
  }
}

.fade-in-left,
.fade-in-right {
  opacity: 0;
  transition: all 1.6s ease-out;
}

.fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: all 1.6s ease-out;
}

.fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.fade-in-left {
  transform: translateX(-30px);
}
.fade-in-left.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.fade-in-right {
  transform: translateX(30px);
}
.fade-in-right.is-visible {
  opacity: 1;
  transform: translateX(0);
}

@media screen and (max-width: 768px) {
  .fade-in {
    transition: all 0.4s ease-out;
  }
}

/* ------------------------------------
事業・サービス内容
---------------------------------------- */
.mb-5 {
  margin-bottom: 20px;
}

.mb-10 {
  margin-bottom: 40px;
}

.mb-20 {
  margin-bottom: 80px;
}

.service-inner {
  padding: 80px 20px;
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .service-inner {
    padding: 40px 10px;
  }
  .sp-mb-10 {
    margin-bottom: 40px;
  }
}

.service-top {
  background-image: url("../images/service/bg.png");
  background-size: cover;
  background-position: center;
  height: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5px 0;
}

.service-top-border {
  border: 10px solid rgba(255, 255, 255, 0.6);
  width: 300px;
  max-width: 300px;
  max-height: 300px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  box-sizing: border-box;
  background: transparent;
}

.service-top-box {
  background-color: rgba(255, 255, 255, 0.6);
  width: 100%;
  height: 100%;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;

  color: #004bb1;
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 1px;
  line-height: 1.2;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

@media screen and (max-width: 768px) {
  .service-top {
    background-image: url("../images/service/bg-sp.png");
    height: 200px;
  }

  .service-top-border {
    width: 200px;
    max-width: 200px;
    max-height: 200px;
  }

  .service-top-box h1 {
    padding: 20px 0px;
    font-size: 16px;
    letter-spacing: 0.5px;
  }
}

.service-about {
  background-color: #ffffff;
}

.service-about-text {
  text-align: center;
  font-size: 24px !important;
}

@media screen and (max-width: 768px) {
  .service-about-text {
    font-size: 16px !important;
    line-height: 47px;
  }
}

.service-content {
  background-color: #f9f9f9;
}

.service-content-title-area {
  text-align: center;
  padding: 48px 16px 32px;
}

.eng-title {
  margin: 0 0 12px;
  color: #8a8f96;
  font-weight: 500;
  font-size: clamp(12px, 1.6vw, 16px);
  letter-spacing: 0.08em;
}

.jp-title {
  margin: 0 0 40px;
  color: #3a4044;
  font-weight: 600;
  font-size: clamp(24px, 3.2vw, 40px);
  letter-spacing: 0.04em;
  line-height: 1.25;
}

.title-divider {
  width: min(640px, 86%);
  height: 1px;
  margin: 0 auto;
  background: #cbd2d8;
}

.usedwear-hero {
  padding: 48px 48px;
}

.usedwear-container {
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.1fr 1.4fr;
  gap: 48px;
  align-items: start;
}

.usedwear-img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.usedwear-copy-title {
  font-size: 24px;
}

.usedwear-copy-text {
  font-size: 16px;
}

.cta-pill {
  --c: #b52525;
  position: relative;
  display: inline-block;
  border: 2px solid var(--c);
  color: var(--c);
  background: transparent;
  border-radius: 9999px;
  padding: 18px 28px 18px 72px;
  font-weight: 600;
  font-size: clamp(14px, 1.8vw, 20px);
  line-height: 1.4;
  text-decoration: none;
  transition: 0.2s ease;
  min-width: 510px;
}

.cta-pill::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--c);
}

.cta-pill::after {
  content: "➜";
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 25px;
  font-weight: bold;
  line-height: 1;
  color: #fff;
}

.cta-pill:hover {
  background: color-mix(in srgb, var(--c) 8%, transparent);
}
.cta-pill:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--c) 30%, transparent);
  outline-offset: 3px;
  border-color: var(--c);
}

.cta-red {
  --c: #b52525;
}
.cta-blue {
  --c: #145ccf;
}

/* レスポンシブ */
@media (max-width: 960px) {
  .jp-title {
    margin: 0 0 20px;
  }
  .usedwear-hero {
    padding: 0px 0px;
  }
  .usedwear-container {
    grid-template-columns: 1fr;
    gap: 0px;
  }
  .usedwear-img {
    order: -1;
  }

  .usedwear-copy-title {
    font-size: 18px;
    text-align: center;
    margin-top: 10px;
  }

  .usedwear-copy-text {
    font-size: 16px;
  }

  .cta-pill {
    min-width: 100%;
    font-size: 12px;
  }

  .cta-pill::after {
    left: 20px;
    font-size: 20px;
  }
}

:root {
  --c-accent: #b52525;
  --c-muted: #8a8f96;
  --card-bg: #f4f5f6;
}

.worries {
  padding: 72px 24px 96px;
  background: #fff;
}

/* 見出しブロック */
.worries-head {
  max-width: 1100px;
  margin: 0 auto 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
}

.worries-mascot {
  width: clamp(70px, 9vw, 110px);
  height: auto;
  display: block;
}

.worries-title {
  position: relative;
}

.worries-title h2 {
  margin-left: 40px;
  font-weight: 600;
  font-size: 32px;
  letter-spacing: 0.02em;
  line-height: 1.3;
}

.worries-lines::before,
.worries-lines::after {
  content: "";
  position: absolute;
  left: -22px;
  width: 60px;
  height: 3px;
  background: var(--c-accent);
  border-radius: 3px;
}
.worries-lines::before {
  top: -4px;
  transform: rotate(-20deg);
}
.worries-lines::after {
  top: 54px;
  transform: rotate(20deg);
}

.worries-cards {
  max-width: 900px;
  margin: 32px auto 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  gap: 40px;
}

.worry-card {
  background: var(--card-bg);
  border-radius: 22px;
  padding: 28px 28px 26px;
  text-align: center;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}

.worry-figure {
  width: 180px;
  aspect-ratio: 1/1;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
}
.worry-figure img {
  width: 75%;
  height: auto;
  display: block;
}

.worry-text {
  margin: 6px 0 18px;
  color: #4b5156;
  font-size: clamp(14px, 1.6vw, 16px);
  line-height: 1.9;
}

.btn-view {
  display: inline-block;
  background: var(--c-accent);
  color: #fff;
  text-decoration: none;
  padding: 12px 28px;
  border-radius: 9999px;
  font-weight: 600;
  width: min(260px, 80%);
  box-shadow: 0 6px 14px rgba(181, 37, 37, 0.18);
  transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s;
}
.btn-view:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(181, 37, 37, 0.22);
}
.btn-view:active {
  transform: translateY(0);
  opacity: 0.9;
}

@media (max-width: 860px) {
  .worries-cards {
    grid-template-columns: 1fr;
    gap: 24px;
    max-width: 560px;
  }
  .worries-lines::before {
    left: -10px;
    width: 45px;
  }
  .worries-lines::after {
    top: 22px;
    left: -10px;
    width: 45px;
  }
  .worry-figure {
    width: 160px;
  }
  .worries-title h2 {
    font-size: 16px;
  }
}

:root {
  --bg: #f5f6f7;
  --ink: #3a4044;
  --muted: #6b7176;
  --card: #ffffff;
  --accent: #b52525;
}

.posts {
  background: #f3f4f5;
  padding: 56px 16px 80px;
}
.posts-container {
  padding: 80px 20px;
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}

.posts-container-text {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: center;
}

.posts__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(260px, 1fr));
  gap: 36px 34px;
  align-items: stretch;
}

.card {
  background: var(--card);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06);
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* 画像（一定の高さでトリミング） */
.card__media {
  margin: 0;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 本文 */
.card__body {
  padding: 18px 20px 22px;
}
.card__title {
  margin: 0 0 10px;
  color: var(--ink);
  font-weight: 600;
  font-size: clamp(16px, 2vw, 20px);
  line-height: 1.5;
}
.card__desc {
  margin: 0;
  color: #4b5156;
  font-size: clamp(13px, 1.6vw, 15px);
  line-height: 1.9;
  opacity: 0.9;
}

/* もっと見るボタン */
.posts__more {
  display: flex;
  justify-content: center;
  margin-top: 36px;
  padding: 0 36px;
}
.btn-more {
  display: inline-block;
  background: var(--accent);
  color: #fff;
  text-decoration: none;
  padding: 14px 60px;
  border-radius: 9999px;
  font-weight: 600;
  box-shadow: 0 10px 22px rgba(181, 37, 37, 0.2);
  transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
  margin-top: 40px;
}
.btn-more:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(181, 37, 37, 0.25);
}
.btn-more:active {
  transform: none;
  opacity: 0.95;
}

/* レスポンシブ */
@media (max-width: 1024px) {
  .posts-container {
    padding: 20px 10px;
  }
  .posts__grid {
    grid-template-columns: repeat(2, minmax(240px, 1fr));
  }
}
@media (max-width: 640px) {
  .posts {
    padding: 40px 14px 64px;
  }
  .posts__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .card__title {
    text-align: left;
  }

  .top-45::after {
    top: 45px !important;
  }
}

.mb-80 {
  margin-bottom: 80px !important;
}

.faq {
  background: #fff;
  padding: 100px 0 100px;
}
.faq__wrap {
  max-width: 1100px;
  margin: 0 auto;
}

.faq__item {
  border-top: 1px solid #e5e7eb;
}
.faq__item:last-child {
  border-bottom: 1px solid #e5e7eb;
}

.faq__item > summary {
  list-style: none;
  cursor: pointer;
  padding: 22px 48px 22px 24px;
  color: #374151;
  font-size: 16px;
  line-height: 1.8;
  position: relative;
}
.faq__item > summary::-webkit-details-marker {
  display: none;
}

.faq__item > summary::after {
  content: "▾";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  color: #9aa3af;
}
.faq__item[open] > summary::after {
  content: "▴";
}

.faq__content {
  margin: 0 16px 16px;
  background: #f7f7f8;
  border-radius: 4px;
  color: #4b5563;
  padding: 18px 20px;
  line-height: 1.9;
  font-size: 15px;
}

@media screen and (max-width: 600px) {
  .mb-80 {
    margin-bottom: 40px !important;
  }
}

/* ------------------------------------

---------------------------------------- */

@media screen and (max-width: 600px) {
  #wpadminbar {
    display: none !important;
  }
}

/* Hero Message Section */
.hero-message-wrap {
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, #c3e6f7 0%, #ffffff 80%);
  position: relative;
}

.hero-message-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url(../images/hero-message-bg.png);
  background-size: contain;
  background-position: top right;
  background-repeat: no-repeat;
  z-index: 1;
  pointer-events: none;
}

.hero-message {
  width: 60%;
  height: 100%;
  padding: 100px 0 0;
  margin-left: auto;
  z-index: 3;
  display: flex;
  align-items: center;
  text-align: left;
}

.hero-message__inner {
  padding: 60px 40px;
  text-align: left;
}

.hero-message__title {
  font-size: 20px;
  font-weight: 600;
  color: #a52222;
  margin: 0 0 30px 0;
  letter-spacing: 0.1em;
  font-family: var(--garamond);
}

.hero-message__main-title {
  font-size: 24px;
  font-weight: 600;
  margin: 0 0 30px 0;
  line-height: 2;
  letter-spacing: 0.02em;
  color: #252525;
  text-align: left;
}

.hero-message__content {
  margin-bottom: 40px;
}

.hero-message__content p {
  font-size: 16px;
  font-weight: 500;
  line-height: 2.5;
  margin: 0;
}

.hero-message__bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(
      circle at 70% 20%,
      rgba(139, 0, 0, 0.03) 0%,
      transparent 50%
    ),
    radial-gradient(
      circle at 30% 80%,
      rgba(139, 0, 0, 0.03) 0%,
      transparent 50%
    );
  pointer-events: none;
  z-index: -1;
}

/* Responsive Design */
@media screen and (max-width: 1200px) {
  .hero-message-bg {
    bottom: 56%;
    background-size: cover;
  }

  .hero-message {
    width: 45%;
  }

  .hero-message__inner {
    padding: 40px 30px;
  }

  .hero-message__main-title {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  .hero-message {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 400px;
    padding-top: 240px;
  }

  .hero-message__inner {
    padding: 40px 20px;
    max-width: 100%;
  }

  .hero-message__title {
    font-size: 18px;
    margin-bottom: 5px;
  }

  .hero-message__main-title {
    font-size: 22px;
    margin-bottom: 20px;
  }
}

/* about_sec section styling */
.about_sec {
  background: linear-gradient(180deg, #fcefefa1 0%, #eabebe85 100%);
  padding: 60px 0;
  position: relative;
}

.about_sec::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 20px;
  background: linear-gradient(180deg, white 0%, transparent 100%);
  pointer-events: none;
}

.about_sec::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 20px;
  background: linear-gradient(180deg, transparent 0%, white 100%);
  pointer-events: none;
}

.about-container {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 0;
}

.about-item {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  padding: 20px;
  background-color: white;
}

.about-item:last-child {
  margin-bottom: 0;
}

.about-item-image {
  flex: 0 0 250px;
  margin-right: 20px;
  overflow: hidden;
}

.about-item-image img {
  width: 100%;
  height: auto;
  display: block;
}

.about-item-content {
  flex-grow: 1;
  text-align: left;
}

.about-item-title {
  font-size: 22px;
  font-weight: bold;
  color: #252525;
  margin-bottom: 10px;
  text-align: left;
  border-bottom: 1px solid #a52222;
  padding-bottom: 5px;
}

.about-item-description {
  font-size: 16px;
  line-height: 2.5;
  color: #252525;
  margin-bottom: 10px;
}

.about-item-button {
  text-align: right;
}

/* Responsive adjustments for about_sec */
@media (max-width: 768px) {
  .about-container {
    width: 100%;
    padding-inline: 15px;
  }

  .about-item {
    flex-direction: column;
  }

  .about-item-image {
    flex: none;
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
  }

  .about-item-description {
    margin-bottom: 30px;
  }

  .about-item-button {
    text-align: center;
  }
}

/* top-column section styling */
.top-column {
  background-color: white;
  padding: 60px 0;
}

.column-layout {
  display: flex;
  gap: 30px;
  max-width: 1100px;
  margin: 0 auto;
}

.column-sidebar {
  flex: 0 0 260px;
  padding: 20px 0;
}

.column-sidebar .section-title {
  margin-bottom: 30px;
}

.category-filters {
  margin-bottom: 30px;
}

.category-btn {
  display: block;
  width: fit-content;
  padding: 0 16px;
  margin-bottom: 10px;
  border: 1px solid #a52222;
  background-color: transparent;
  color: #a52222;
  text-align: left;
  font-size: 16px;
  letter-spacing: 0.05em;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 30px;
}

.category-btn:hover {
  background-color: #a52222;
  color: #ffffff;
}

.category-btn.active {
  background-color: #a52222;
  color: #ffffff;
}

.category-btn:nth-child(2) {
  border-color: #4f758c;
  color: #4f758c;
}

.category-btn:nth-child(2):hover,
.category-btn:nth-child(2).active {
  background-color: #4f758c;
  color: #ffffff;
}

.category-btn:nth-child(3) {
  border-color: #252525;
  color: #252525;
}

.category-btn:nth-child(3):hover,
.category-btn:nth-child(3).active {
  background-color: #252525;
  color: #ffffff;
}

.category-btn:nth-child(4) {
  border-color: #e09191;
  color: #e09191;
}

.category-btn:nth-child(4):hover,
.category-btn:nth-child(4).active {
  background-color: #e09191;
  color: #ffffff;
}

.category-btn:nth-child(5) {
  border-color: #3f67a2;
  color: #3f67a2;
}

.category-btn:nth-child(5):hover,
.category-btn:nth-child(5).active {
  background-color: #3f67a2;
  color: #ffffff;
}

.column-view-more {
  text-align: left;
}

.column-content {
  flex: 1;
}

.column-item-wrapper {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.column-item {
  flex: 1;
  max-width: calc((100% - 40px) / 3);
}

.column-item:hover {
  opacity: 0.8;
}

.column-item a {
  display: block;
  text-decoration: none;
  color: inherit;
}

.column-item-image {
  width: 100%;
  height: auto;
  aspect-ratio: 256 / 171;
  overflow: hidden;
  position: relative;
}

.column-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.column-image-placeholder {
  width: 100%;
  height: 100%;
  background-color: #fdf5f5;
  display: flex;
  align-items: center;
  justify-content: center;
}

.column-logo {
  display: flex;
  align-items: center;
  gap: 10px;
}

.logo-circle {
  width: 30px;
  height: 30px;
  background-color: #a52222;
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 16px;
}

.logo-text {
  color: #333333;
  font-weight: bold;
  font-size: 14px;
}

.column-item-info {
  padding: 15px 0;
}

.column-date {
  color: #a52222;
  font-size: 16px;
  letter-spacing: 0.05em;
  margin: 0 0 8px 0;
}

.column-category {
  display: inline-block;
  padding: 0 16px;
  border: 1px solid #a52222;
  color: #a52222;
  font-size: 16px;
  letter-spacing: 0.05em;
  font-weight: 500;
  border-radius: 30px;
  margin: 0 0 16px 0;
}

/* カテゴリー別の色設定 */
.column-category[data-category="expertise"],
.column-category[data-category="古着仕入れ・マーケット情報"] {
  border-color: #a52222;
  color: #a52222;
}

.column-category[data-category="kenpin-qc"],
.column-category[data-category="検品・倉庫・品質管理"] {
  border-color: #4f758c;
  color: #4f758c;
}

.column-category[data-category="future"],
.column-category[data-category="アパレル・ビジネス知識"] {
  border-color: #252525;
  color: #252525;
}

.column-category[data-category="import-export"],
.column-category[data-category="国際物流・輸送方法"] {
  border-color: #e09191;
  color: #e09191;
}

.column-category[data-category="cases"],
.column-category[data-category="事例紹介"] {
  border-color: #3f67a2;
  color: #3f67a2;
}

.column-item-title {
  color: #252525;
  font-size: 18px;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 2;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Responsive adjustments for top-column */
@media (max-width: 768px) {
  .column-layout {
    flex-direction: column;
    gap: 20px;
    padding: 0 20px;
  }

  .column-sidebar {
    flex: none;
  }

  .column-item-wrapper {
    flex-direction: column;
    align-items: center;
  }

  .column-item {
    min-width: auto;
    max-width: 80%;
  }

  .column-item-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }

  .column-view-more {
    text-align: center;
    margin-top: 30px;
  }
}

/* clothe_future_sec section styling */
.front_clothe_future_sec {
  background-image: url("../images/clothe-future-bg.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 80px 0;
  position: relative;
  max-width: 1300px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  color: white;
}

.front_clothe_future_sec::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #252525;
  opacity: 0.6;
  z-index: 1;
}

.front_clothe_future_sec .container {
  position: relative;
  z-index: 2;
}

.front_clothe_future_sec .clothe_future_content {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
}

.front_clothe_future_sec .clothe_future_content .section-title {
  flex: 0 0 200px;
}

.front_clothe_future_sec .clothe_future_content .section-en-title {
  color: white;
}

.front_clothe_future_sec .clothe_future_content .section-jp-title {
  color: white;
}

.front_clothe_future_sec .clothe_future_text {
  margin-top: 80px;
  flex: 1;
}

.front_clothe_future_sec .clothe_future_description {
  margin-bottom: 20px;
}

.front_clothe_future_sec .clothe_future_description p {
  font-size: 1rem;
  line-height: 2.5;
}

.front_clothe_future_sec .clothe_future_buttons {
  display: flex;
  gap: 50px;
  flex-wrap: wrap;
}

.front_clothe_future_sec .clothe_future_buttons .view-more-button {
  border-color: white;
  color: white;
  font-family: var(--noto-sans);
}

.front_clothe_future_sec .clothe_future_buttons .view-more-button:hover {
  background-color: white;
  color: #252525;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  .front_clothe_future_sec {
    padding: 60px 15px;
    min-height: 400px;
    width: 94%;
    margin: 0 auto;
    background-image: url("../images/clothe-future-bg-sp.jpg");
  }

  .front_clothe_future_sec .clothe_future_content {
    flex-direction: column;
  }

  .front_clothe_future_sec .clothe_future_content .section-title {
    flex: 0 0 100px;
  }

  .front_clothe_future_sec .clothe_future_text {
    max-width: 100%;
    margin-left: 50px;
    margin-top: 0;
  }

  .front_clothe_future_sec .clothe_future_description {
    margin-bottom: 30px;
  }

  .clothe_future_buttons {
    flex-direction: column;
    gap: 15px;
  }
}

/* ローディングとエラーメッセージのスタイル */
.loading,
.error,
.no-posts {
  text-align: center;
  padding: 40px 20px;
  color: #666;
  font-size: 16px;
}

.loading {
  color: #a52222;
}

.error {
  color: #e74c3c;
}

.no-posts {
  color: #999;
}


/* ------------------------------------
衣類と未来css開始
---------------------------------------- */

/*----------- clothe-future-common -----------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

.clothe-future-wrapper {
  font-family: 'Noto Sans JP', sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  overflow: hidden;
}

.clothe-future-h1-header {
  text-align: center;
  font-size: 4rem;
  color: #a6332d;
  letter-spacing: 0.16em;
}

.clothe-future-h2-header {
  text-align: center;
  font-size: 3rem;
  color: #a6332d;
  letter-spacing: 0.16em;
}

.clothe-future-h3-header {
  font-size: 2.25rem;
  color: #a6332d;
  text-align: left;
}

.br-pc {
  display: block;
}

.br-tb {
  display: none;
}

.br-sp {
  display: none;
}

.underline-yellow {
  background: linear-gradient(transparent 70%, #eff258 70%);
}

.text-red {
  color: #a6332d;
}

/* * {
  outline: 1px solid blue;
} */

@media screen and (max-width: 900px) {
  .clothe-future-h1-header {
    font-size: clamp(2.25rem, 0.6875rem + 5vw, 3.5rem);
    letter-spacing: 0.16em;
  }

  .clothe-future-h2-header {
    font-size: clamp(1.875rem, 0.4688rem + 4.5vw, 3rem);
    letter-spacing: 0.05em;
    padding: 0 8px;
  }

  .clothe-future-h3-header {
    font-size: clamp(1.5rem, 0.5625rem + 3vw, 2.25rem);
    margin-left: 20px;
  }

  .br-pc {
    display: none;
  }

  .br-tb {
    display: block;
  }

  .br-tb-sp {
    display: block;
  }

  .br-sp {
    display: none;
  }
}

@media screen and (max-width: 500px) {
  .clothe-future-h1-header {
    font-size: 2rem;
    letter-spacing: 0.16em;
  }

  .clothe-future-h2-header {
    font-size: 1.5rem;
    letter-spacing: -0.02em;
  }

  .clothe-future-h3-header {
    font-size: 1.25rem;
    margin-left: 0px;
    text-align: center;
  }

  .br-pc {
    display: none;
  }

  .br-tb {
    display: none;
  }

  .br-sp {
    display: block;
  }
}

/*----------- clothe-future-header -----------*/
.clothe-future-header {
  width: 100%;
  height: 720px;
  padding-top: 100px;
  background-image: url('../images/clothe-future/cf-bg_2x.png');
  background-size: cover;
  /* background-position: center -20px; */
  text-align: center;
}

.clothe-future-header-image {
  width: 1150px;
  object-fit: cover;
  margin-top: 30px;
  margin-left: 47px;
}

@media screen and (max-width: 1050px) {
  .clothe-future-header {
    height: 650px;
  }

  .clothe-future-header-image {
    width: 100%;
    object-fit: cover;
    margin-top: 30px;
    margin-left: 0px;
  }
}

@media screen and (max-width: 768px) {
  .clothe-future-header {
    height: 500px;
  }
}

@media screen and (max-width: 500px) {
  .clothe-future-header {
    height: 400px;
  }

  .clothe-future-header-image {
    margin-left: 0px;
  }
}

@media screen and (max-width: 450px) {
  .clothe-future-header {
    /* padding-top: 85px; */
  }

  .clothe-future-header {
    height: 350px;
  }
}

/*----------- clothe-future-sec-01 -----------*/
.clothe-future-sec-01 {
  padding-top: 117px;
  background-color: #fff;
}

.clothe-future-sec-01-text {
  text-align: center;
  font-size: 2.25rem;
  line-height: 1.8;
  letter-spacing: 0.03em;
}

.clothe-future-sec-01-text {
  margin-top: 65px;
  margin-bottom: 180px;
  font-weight: 700;
}

.clothe-future-sec-01-text p {
  margin-bottom: 63px;
}

.clothe-future-sec-01-text p:last-child {
  margin-bottom: 0px;
}

.clothe-future-sec-01-text .para-02 {
  line-height: 1.4;
  letter-spacing: 0em;
}

@media screen and (max-width: 900px) {
  .clothe-future-sec-01 {
    padding-top: 80px;
  }

  .clothe-future-sec-01-text {
    font-size: clamp(1rem, 0.1071rem + 3.8095vw, 2.25rem);
    font-size: 1.5rem;
  }

  .clothe-future-sec-01-text {
    margin-top: 60px;
    margin-bottom: 60px;
    font-weight: 700;
    padding: 0 8px;
  }

  .clothe-future-sec-01-text p {
    margin-bottom: 40px;
  }

  .clothe-future-sec-01-text p:last-child {
    margin-bottom: 0px;
  }

  /* // 最新のsafari用 */
  _::-webkit-full-page-media,
  _:future,
  :root .clothe-future-sec-01-text {
    font-size: 2rem;
  }

  /* // 古いsafari用 */
  @media screen and (-webkit-min-device-pixel-ratio: 0) {
    ::i-block-chrome,
    .clothe-future-sec-01-text {
      font-size: 2rem;
    }
  }
}

@media screen and (max-width: 500px) {
  .clothe-future-sec-01 {
    padding-top: 50px;
  }

  .clothe-future-sec-01-text {
    /* font-size: 1.25rem; */
    font-size: clamp(1rem, 0.25rem + 3.2vw, 1.25rem);
  }

  .clothe-future-sec-01-text {
    margin-top: 40px;
    margin-bottom: 50px;
    padding: 0 8px;
  }

  .clothe-future-sec-01-text p {
    margin-bottom: 30px;
  }

  .clothe-future-sec-01-text p:last-child {
    margin-bottom: 0px;
  }

  /* // 最新のsafari用 */
  _::-webkit-full-page-media,
  _:future,
  :root .clothe-future-sec-01-text {
    font-size: 1rem;
  }

  /* // 古いsafari用 */
  @media screen and (-webkit-min-device-pixel-ratio: 0) {
    ::i-block-chrome,
    .clothe-future-sec-01-text {
      font-size: 1rem;
    }
  }
}

/*----------- clothe-future-sec-02 -----------*/
.clothe-future-sec-02 {
  background-color: #ffe5e4;
  padding-top: 134px;
  padding-bottom: 112px;
}

.clothe-future-sec-02 .clothe-future-h3-header {
  text-align: center;
}

.clothe-future-sec-02-upper {
  width: 1200px;
  margin: 0px auto;
}

.clothe-future-sec-02-upper-image {
  max-width: 1030px;
  width: 100%;
  margin-top: 82px;
  margin-bottom: 136px;
}

.clothe-future-sec-02-lower {
  width: 1200px;
  margin: 0px auto;
}

.clothe-future-sec-02-lower-box {
  display: flex;
  justify-content: center;
  gap: 110px;
  font-size: 1.25rem;
  margin-top: 90px;
}

.clothe-future-sec-02-lower-left,
.clothe-future-sec-02-lower-right {
  /* width: 467px;
  height: 467px; */
  width: 389px;
  height: 389px;
  background-color: #fff;
  border-radius: 20px;
  padding: 20px 12px;
  font-size: 1.5rem;
  font-weight: 700;
}

.clothe-future-sec-02-lower-right {
  letter-spacing: -0.02em;
}

.clothe-future-sec-02-lower-left-image-01,
.clothe-future-sec-02-lower-right-image-01 {
  /* width: 337px;
  height: 337px; */
  width: 218px;
  height: 207px;
  margin-bottom: 8px;
}

.clothe-future-sec-02-lower-left-image-01 {
  transform: scale(130%) translateY(34px);
}

.clothe-future-sec-02-lower-right-image-01 {
  transform: scale(155%) translateY(24px);
}

.clothe-future-sec-02-lower-left p {
  letter-spacing: -0.09em;
  margin-top: 80px;
}

.clothe-future-sec-02-lower-right p {
  letter-spacing: 0em;
  margin-top: 15px;
}

@media screen and (max-width: 1200px) {
  .clothe-future-sec-02-upper {
    width: 95%;
    margin: 0px auto;
  }

  .clothe-future-sec-02-lower {
    width: 95%;
    margin: 0px auto;
  }

  .clothe-future-sec-02-lower-box {
    gap: 60px;
  }

  .clothe-future-sec-02-lower-left,
  .clothe-future-sec-02-lower-right {
    font-size: 1.25rem;
  }

  .clothe-future-sec-02-lower-left-image-01 {
    transform: scale(130%) translateY(34px);
  }

  .clothe-future-sec-02-lower-right-image-01 {
    transform: scale(155%) translateY(24px);
  }
}

@media screen and (max-width: 900px) {
  .clothe-future-sec-02 {
    padding-top: 36px;
    padding-bottom: 70px;
  }

  .clothe-future-sec-02-upper {
    width: 95%;
    width: 100%;
    margin: 0px auto;
    padding: 0 16px;
  }

  .clothe-future-sec-02-upper-image {
    margin-top: 16px;
    margin-bottom: 60px;
  }

  .clothe-future-sec-02-lower {
    width: 100%;
    margin: 0px auto;
    padding: 0 16px;
  }

  .clothe-future-sec-02-lower-box {
    gap: 30px;
    margin-top: 50px;
  }

  .clothe-future-sec-02-lower-left,
  .clothe-future-sec-02-lower-right {
    width: 350px;
    height: 350px;
    font-size: 1.125rem;
  }

  .clothe-future-sec-02-lower-left-image-01,
  .clothe-future-sec-02-lower-right-image-01 {
    width: 240px;
    height: 240px;
    margin-bottom: 16px;
  }

  .clothe-future-sec-02-lower-left-image-01 {
    transform: scale(100%) translateY(0px);
  }

  .clothe-future-sec-02-lower-right-image-01 {
    transform: scale(115%) translateY(24px);
  }

  .clothe-future-sec-02-lower-left p {
    margin-top: -16px;
  }

  .clothe-future-sec-02-lower-right p {
    margin-top: -16px;
  }
}

@media screen and (max-width: 768px) {
  .clothe-future-sec-02-lower-box {
    gap: 16px;
    margin-top: 36px;
  }

  .clothe-future-sec-02-lower-left,
  .clothe-future-sec-02-lower-right {
    width: 250px;
    height: 250px;
    padding: 16px 4px;
    font-size: 0.7875rem;
    line-height: 1.8;
    /* letter-spacing: -0.02em; */
  }

  .clothe-future-sec-02-lower-left-image-01,
  .clothe-future-sec-02-lower-right-image-01 {
    width: 170px;
    height: 170px;
    margin-bottom: 8px;
  }

  .clothe-future-sec-02-lower-right-image-01 {
    transform: scale(110%) translateY(10px);
  }

  .clothe-future-sec-02-lower-right p {
    line-height: 1.3;
  }
}

@media screen and (max-width: 500px) {
  .clothe-future-sec-02 {
    padding-top: 30px;
    padding-bottom: 40px;
  }

  .clothe-future-sec-02-lower-box {
    flex-direction: column;
    align-items: center;
  }

  .clothe-future-sec-02-lower-left,
  .clothe-future-sec-02-lower-right {
    padding: 16px 4px;
  }

  /* // 最新のsafari用 */
  _::-webkit-full-page-media,
  _:future,
  :root .clothe-future-sec-02-lower-left {
    margin-bottom: 16px;
  }

  /* // 古いsafari用 */
  @media screen and (-webkit-min-device-pixel-ratio: 0) {
    ::i-block-chrome,
    .clothe-future-sec-02-lower-left {
      margin-bottom: 16px;
    }
  }
}

/*----------- clothe-future-sec-03 -----------*/
.clothe-future-sec-03 {
  background-color: #fff;
  padding-top: 230px;
}

.cf-sec-03-figure {
  max-width: 957px;
  width: 100%;
  margin: 0 auto;
  /* transform: translateX(-20px); */
}

.clothe-future-sec-03-01-image {
  width: 100%;
  object-fit: cover;
  margin-bottom: 120px;
}

.clothe-future-sec-03 .clothe-future-h2-header {
  letter-spacing: 0em;
}

.cf-sec-03-text-box {
  background-color: #ededed;
  max-width: 946px;
  width: 100%;
  height: 1415px;
  height: auto;
  margin-top: 90px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 165px;
  padding-bottom: 8px;
}

.cf-sec-03-text {
  text-align: center;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.45;
  /* letter-spacing: 0.1em; */
  padding-top: 40px;
  /* margin-bottom: 153px; */
  letter-spacing: -0.02em;
}

.cf-sec-03-text p {
  margin-bottom: 55px;
}

.hand-image {
  max-width: 425px;
  width: 100%;
  margin: 0px 0 107px;
}

@media screen and (max-width: 1260px) {
  .clothe-future-sec-03 {
    padding-top: 80px;
  }

  .cf-sec-03-figure {
    width: 95%;
  }

  .clothe-future-sec-03 .clothe-future-h2-header {
    /* font-size: clamp(2.5rem, 1.25rem + 2.2222vw, 3rem); */
  }

  .cf-sec-03-text-box {
    max-width: initial;
    width: 96%;

    /* 20240516調整 */
    width: 90%;

    margin-left: auto;
    margin-right: auto;
    margin-top: 24px;
  }
}

@media screen and (max-width: 900px) {
  .clothe-future-sec-03 {
    padding-top: 60px;
  }

  .clothe-future-sec-03-01-image {
    margin-bottom: 80px;
  }

  .clothe-future-sec-03 .clothe-future-h2-header {
    letter-spacing: -0.08em;
  }

  .cf-sec-03-text-box {
    padding-top: 30px;
    margin-bottom: 80px;
  }

  .cf-sec-03-text {
    /* font-size: 1.75rem;

    font-size: clamp(1rem, 0.1071rem + 3.8095vw, 2.25rem); */
    font-size: clamp(1.1875rem, 0.4844rem + 2.25vw, 1.75rem);
    margin-top: 0px;
    margin-bottom: 0px;
    padding: 30px 12px;
  }

  .cf-sec-03-text p {
    margin-bottom: 40px;
  }

  .cf-sec-03-text p:first-child {
    letter-spacing: -0.085em;
  }

  .hand-image {
    /* max-width: 425px; */
    width: 60%;
    margin: 0px 0 40px;
  }
}

@media screen and (max-width: 500px) {
  .clothe-future-sec-03 {
    padding-top: 40px;
  }

  .clothe-future-sec-03-01-image {
    margin-bottom: 36px;
  }

  .cf-sec-03-text-box {
    margin-bottom: 80px;
  }

  .cf-sec-03-text {
    /* font-size: 1.25rem; */
    /* font-size: clamp(1rem, 0.25rem + 3.2vw, 1.25rem); */
    /* font-size: clamp(1.1rem, 0.75rem + 1.6vw, 1.25rem); */
    font-size: clamp(0.875rem, -0.25rem + 4.8vw, 1.25rem);
    padding: 0 4px;
    margin-bottom: 50px;
  }

  .cf-sec-03-text p {
    margin-bottom: 30px;
  }

  .hand-image {
    /* max-width: 425px; */
    width: 80%;
    margin: 0px 0 60px;
  }

  /* // 最新のsafari用 */
  _::-webkit-full-page-media,
  _:future,
  :root .cf-sec-03-text {
    font-size: 1rem;
  }

  /* // 古いsafari用 */
  @media screen and (-webkit-min-device-pixel-ratio: 0) {
    ::i-block-chrome,
    .cf-sec-03-text {
      font-size: 1rem;
    }
  }
}

/*----------- clothe-future-sec-04 -----------*/
.clothe-future-sec-04 {
  height: auto;
  background-color: #ffe5e4;
  background: linear-gradient(#fff 50%, #ffe5e4 50%);
}

.clothe-future-wrapper {
  text-align: center;
}

.cf-sec-04-btn-detail {
  width: 1156px;
  width: 900px;
  /* width: 72.3%;
  aspect-ratio: 1041 / 358; */
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  transform: translateX(34px);
}

.cf-sec-04-btn-detail-link {
  display: inline-block;
  transition: all 0.3s;
}

.cf-sec-04-btn-detail-link:hover {
  transform: translateY(6px);
}

.cf-sec-04-btn-detail-link-text {
  position: absolute;
  top: 50%;
  left: 20%;
  transform: translateY(-50%);
  text-align: center;
}

@media screen and (max-width: 1150px) {
  .cf-sec-04-btn-detail {
    width: 98%;
    transform: translateX(10px);
  }
}

@media screen and (max-width: 900px) {
  .cf-sec-04-btn-detail {
    width: 98%;
    transform: translateX(0px);
  }
}

@media screen and (max-width: 500px) {
  .clothe-future-sec-05 .clothe-future-h2-header {
    letter-spacing: -0.08em;
  }

  .cf-sec-04-btn-detail {
    width: 100%;
    /* transform: translateX(10px); */
    padding-left: 16px;
    padding-right: 16px;
  }
}

/*----------- clothe-future-sec-05 -----------*/
.clothe-future-sec-05 {
  background-color: #ffe5e4;
  padding-top: 154px;
  padding-bottom: 100px;
}

.cf-sec-05-text {
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: -0.02em;
  margin-top: 97px;
  font-weight: 700;
}

.cf-sec-05-text p {
  margin-bottom: 50px;
}

.cf-sec-05-text p:last-child {
  /* margin-bottom: 115px; */
}

.cf-sec-05-figure {
  width: 840px;
  margin-left: auto;
  margin-right: auto;
}

.cf-sec-05-image {
  width: 100%;
  object-fit: cover;
}

.clothe-future-sec-05 {
  background-color: #ffe5e4;
}

.cf-sec-05-text {
  font-size: 2.25rem;
}

.red-arrow {
  max-width: 57px;
  width: 100%;
  margin: -6px 0 23px;
}

.cf-sec-05-image {
  max-width: 840px;
  width: 100%;
  margin-top: 47px;
  margin-bottom: 94px;
}

.cf-sec-05-text .mb-adj {
  margin-bottom: 38px;
}

.lh-adj {
  line-height: 1.2;
}

@media screen and (max-width: 900px) {
  .clothe-future-sec-05 {
    padding-top: 85px;
    padding-bottom: 0px;
  }

  .cf-sec-05-text {
    font-size: 1.75rem;
    font-size: clamp(1.1875rem, 0.4844rem + 2.25vw, 1.75rem);
    padding-left: 8px;
    padding-right: 8px;
    margin-top: 60px;
  }

  .cf-sec-05-text p:last-child {
    margin-bottom: 70px;
  }

  .cf-sec-05-figure {
    width: 95%;
  }

  .red-arrow {
    max-width: 40px;
    width: 100%;
    margin: -10px 0 23px;
  }

  .cf-sec-05-image {
    margin-top: 20px;
    margin-bottom: 45px;
  }
}

@media screen and (max-width: 500px) {
  .clothe-future-sec-05 {
    padding-top: 60px;
    padding-bottom: 40px;
  }

  .cf-sec-05-text {
    /* font-size: 1.25rem; */
    font-size: clamp(1rem, 0.25rem + 3.2vw, 1.25rem);
    padding: 0 8px;
    margin-top: 50px;
  }

  .cf-sec-05-text p:last-child {
    margin-bottom: 16px;
  }

  .red-arrow {
    max-width: 40px;
    width: 100%;
    margin: -10px 0 23px;
  }

  .cf-sec-05-image {
    margin: 0px 0 50px;
    /* margin-bottom: 94px; */
  }

  .lh-adj {
    line-height: 1.4;
  }

  /* // 最新のsafari用 */
  _::-webkit-full-page-media,
  _:future,
  :root .cf-sec-05-text {
    font-size: 1rem;
    font-size: 0.97rem;
  }

  /* // 古いsafari用 */
  @media screen and (-webkit-min-device-pixel-ratio: 0) {
    ::i-block-chrome,
    .cf-sec-05-text {
      font-size: 1rem;
      font-size: 0.97rem;
    }
  }
}

/*----------- sec-contact -----------*/
.clothe-future-contact {
  height: 666px;
  padding-top: 132px;
  background-image: url('../images/clothe-future/cf-bg_2x.png');
  background-size: cover;
}

.cf-contact-text {
}

.cf-contact-link-box {
  display: flex;
  justify-content: center;
  gap: 48px;
  color: #fff;
  margin-top: 100px;
}

.cf-contact-link-line,
.cf-contact-link-mail {
  max-width: 556px;
  width: 38.6%;
  max-height: 104px;
  height: auto;
}

.cf-contact-link-image {
  width: 100%;
  /* height: 100%; */
  object-fit: cover;
}

@media screen and (max-width: 900px) {
  .clothe-future-contact {
    height: 400px;
    padding-top: 80px;
  }

  .cf-contact-link-box {
    padding: 0 20px;
  }

  .cf-contact-link-box {
    gap: 24px;
    margin-top: 60px;
  }

  .cf-contact-link-line,
  .cf-contact-link-mail {
    width: 250px;
    height: 47px;
  }
}

@media screen and (max-width: 500px) {
  .clothe-future-contact {
    height: 330px;
    padding-top: 40px;
  }

  .cf-contact-link-box {
    flex-direction: column;
    align-items: center;
    margin-top: 30px;
    gap: 16px;
  }

  /* // 最新のsafari用 */
  _::-webkit-full-page-media,
  _:future,
  :root .cf-contact-link-line {
    margin-bottom: 12px;
  }

  /* // 古いsafari用 */
  @media screen and (-webkit-min-device-pixel-ratio: 0) {
    ::i-block-chrome,
    .cf-contact-link-line {
      margin-bottom: 12px;
    }
  }
}

@media screen and (max-width: 850px) {
  .contact__mix {
    display: flex;
  }

  .contact__mix .line_contact-img-1,
  .contact__mix .mail_contact-img-1 {
    width: 300px;
    height: auto;
    margin: 0;
  }
}

@media screen and (max-width: 720px) {
  .contact__mix {
    display: flex;
  }
}

@media screen and (max-width: 620px) {
  .contact__mix {
    justify-content: space-around;
    height: 90px;
  }

  .contact__mix .line__contact,
  .contact__mix .mail__contact {
    /* 20240517修正 */
    width: 46%;
  }

  .contact__mix .line__contact {
    margin-right: 0;
  }

  .contact__mix .line_contact-img-1,
  .contact__mix .mail_contact-img-1 {
    width: 100%;
    height: auto;
  }
}

@media screen and (max-width: 480px) {
  .contact__mix {
    height: 70px;
  }
}

/* * {
  outline: 1px solid blue;
} */

/* ------------------------------------
衣類と未来css終了
---------------------------------------- */
