@charset "UTF-8";

/*
Theme Name: MASUKOH
Author: Xdesign
Description: マスコー製紙株式会社HPのオリジナルテーマ
Version: 1.0
*/

/* 共通 */
html {
  scroll-behavior: smooth;
}
* {
  color: #333333;
  font-size: 10px;
  font-family: "noto-sans-cjk-jp", sans-serif;
  font-weight: 300;
  font-style: normal;
}
a {
  color: inherit;
  text-decoration: none;
  font-size: inherit;
}
img {
  width: 100%;
}
.page-wrap {
  max-width: 1280px;
  width: 90vw;
  margin: 0 auto;
}
.page-wrap2 {
  max-width: 824px;
  width: 90vw;
  margin: 0 auto;
}
li {
  list-style: none;
}
table {
  border-spacing: 0;
}
.sp {
  display: none;
}
.page-link {
  position: relative;
  top: -40px;
}
/* パンくずリスト */
.breadcrumb ul {
  display: flex;
  border-top: 1px solid #333333;
  border-bottom: 1px solid #333333;
  padding: 1rem 0;
  margin: 3.4rem 0;
}
.breadcrumb li {
  font-size: 1.6rem;
  margin-right: 5px;
  display: flex;
  align-items: center;
}
.breadcrumb li::after {
  content: ">";
  margin-left: 5px;
}
.breadcrumb li:last-child::after {
  content: "";
  margin: 0;
}
/* END パンくずリスト */

#page-top {
  position: fixed;
  bottom: 50px;
  right: 50px;
  font-size: 14px;
  line-height: 1;
  z-index: 99;
}
#page-top a {
  text-decoration: none;
  color: #fff;
  width: 70px;
  height: 70px;
  display: block;
  border-radius: 90px;
  transition: all 0.3s ease;
}
#page-top a:hover {
  text-decoration: none;
  opacity: 0.7;
}
/* END 共通 */

/* header */
header {
  background-image: url();
  position: relative;
}
.header-contents-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1232px;
  margin: 0 auto;
  padding: 30px 0;
}
.header-logo {
  width: 300px;
  height: auto;
}

.header-menu {
  display: flex;
  gap: 15px;
  font-size: 1.6rem;
}
.header-menu li {
  border-bottom: 2px solid #ffffff00;
}
.header-menu li:hover {
  border-bottom: 2px solid #333333;
}
.header-menu li a {
  font-size: 1.6rem;
}
.header-menu-down-arrow {
  position: relative;
  top: -2px;
  width: 13px;
  height: auto;
}
.header-icons {
  display: flex;
  gap: 15px;
  align-items: center;
}
.header-icons a:hover {
  opacity: 0.7;
}
.header-icons img {
  width: 24px;
  height: auto;
}
.header-icons .icon-search {
  margin-bottom: 2px;
}
.header-logo-wrap {
  display: flex;
  align-items: center;
}
.header-logo-wrap img {
  position: relative;
  width: 100px;
  height: auto;
}
.header-logo-wrap img:hover {
  opacity: 0.7;
}
.header-down-menu {
  position: absolute;
  top: 108px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 999;
  background-color: rgb(109, 235, 143, 0.9);
  max-width: 1232px;
  margin: 0 auto;
  padding: 35px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.header-down-menu-ttl {
  display: block;
  font-size: 2.4rem;
  font-weight: 500;
  color: #fff;
  margin-bottom: 2rem;
}
.header-down-menu-ttl:hover {
  opacity: 0.8;
}
.header-down-menu-ttl img {
  width: 20px;
  height: 20px;
  position: relative;
  top: 2px;
}
.header-down-menu ul {
  display: flex;
  justify-content: center;
  gap: 13px;
}
.header-down-menu ul li {
  position: relative;
  box-sizing: border-box;
  background-color: #fff;
  text-align: center;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
  border-radius: 20px;
  width: 156px;
  height: 156px;
}
.header-down-menu ul li:hover {
  background-color: #efefef;
}
.header-down-menu-triangle {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 25px solid transparent;
  border-left: 25px solid transparent;
  border-bottom: 25px solid rgb(109, 235, 143, 0.9);
  border-top: 0;
  position: absolute;
  bottom: 10px;
  opacity: 0;
  visibility: hidden;
}
.header-down-menu ul li a {
  display: block;
  padding: 15px 0 20px;
}
.header-menu-sustainability {
  background-image: url(img/header-menu-sustainability.png);
  background-repeat: no-repeat;
  background-size: 190% 190%;
  background-position: center;
}
.header-menu-sustainability:hover {
  opacity: 0.7;
}
.header-menu-sustainability .header-menu-sustainability-content-wrap {
  position: absolute;
  bottom: 0;
  width: 100%;
  background-color: #6d6d6d7d;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  padding: 5px 0 10px !important;
}
.header-menu-sustainability .header-menu-sustainability-content-wrap h4 {
  color: #fff;
}
.header-menu-factory {
  background-image: url(img/header-menu-factory.png);
  background-repeat: no-repeat;
  background-size: 190% 190%;
  background-position: center;
}
.header-menu-factory:hover {
  opacity: 0.7;
}
.header-menu-factory .header-menu-factory-content-wrap {
  position: absolute;
  bottom: 0;
  width: 100%;
  background-color: #6d6d6d7d;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  padding: 15px 0 20px !important;
}
.header-menu-factory .header-menu-factory-content-wrap h4 {
  color: #fff;
}

.header-down-menu ul li h4 {
  font-size: 1.3rem;
  font-weight: 400;
}
.header-products-down-menu ul li:nth-of-type(5) h4 {
  color: #4aa4e6;
  line-height: 1.6rem;
}
.header-products-down-menu ul li:nth-of-type(6) h4 {
  line-height: 1.6rem;
}
.header-down-menu-img {
  width: 70%;
}
.header-down-menu .circle-arrow-right {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  width: 15px;
  height: auto;
}

.header-special-order-product-down-menu {
  padding: 45px 35px 25px;
}
.header-special-order-product-down-menu {
  display: flex;
  gap: 50px;
}
.header-special-order-product-down-menu .header-down-menu-ttl {
  font-size: 2.8rem;
  font-weight: 300;
  color: #333333;
}
.header-special-order-product-down-menu .header-down-menu-ttl:hover {
  opacity: 1;
}
.header-special-order-product-down-menu .header-down-menu-ttl {
  font-size: 2.8rem;
  font-weight: 300;
  color: #333333;
}
.header-special-order-product-down-menu ul {
  gap: 20px;
}
.header-special-order-product-down-menu ul li {
  background-color: unset;
  width: 390px;
  height: fit-content;
  box-shadow: none;
}
.header-special-order-product-down-menu ul li:hover {
  background-color: unset;
  opacity: 0.7;
}
.header-special-order-product-down-menu ul li a {
  padding: 0;
}
.header-special-order-product-down-menu ul li a .header-down-menu-img {
  width: 100%;
}
.header-special-order-product-down-menu ul li a h4 {
  font-size: 2.4rem;
  margin-top: 10px;
}
.header-special-order-product-down-menu ul li a p {
  font-size: 1.6rem;
}
.header-special-order-product-down-menu .circle-arrow-right {
  position: relative;
  right: -4px;
  bottom: -4px;
  width: 25px;
  height: auto;
}

/* 検索フォーム */
.pc-search-form {
  display: none;
}
.pc-search-form.active {
  display: flex;
  gap: 5px;
  position: absolute;
  bottom: -35px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
  border: 1px solid #333333;
  border-radius: 5px;
  width: 50vw;
  padding: 5px;
  z-index: 999;
}
.pc-search-form .search-field {
  font-size: 1.6rem;
  width: 100%;
}
/* END 検索フォーム */

/* END header */

/* TOP */
.top-slider .slick-slide img {
  border-radius: 35px;
  width: 99%;
}
.top-ttl {
  color: #4ae674;
  font-family: "Cinzel", serif;
  font-size: 9.6rem;
  font-weight: 400;
}
/* 円 */
.circle-wrapper {
  position: absolute;
  inset: 0; /* 画面全体に固定配置 */
  overflow: hidden; /* スクロール発生を防止 */
  pointer-events: none;
  z-index: -1;
  height: auto; /* 高さを決めないことが重要 */
}
.front-page-main {
  position: relative;
  z-index: 1; /* 円より前に配置 */
}

/* 円グループ */
.top-circles {
  position: absolute;
  inset: 0; /* wrapper内で画面いっぱい */
  pointer-events: none;
}

/* 円の基本サイズ */
.top-circles .circle {
  width: 600px;
  height: 600px;
  border-radius: 50%;
}

/* 左円 */
.circle-left {
  position: absolute;
  top: -42%;
  left: 50%;
  background: rgba(193, 245, 126, 0.35);
  transition: transform 1.6s ease-in-out;
}

/* 右円 */
.circle-right {
  position: absolute;
  top: -10%;
  right: -18%;
  background: rgba(147, 240, 247, 0.35);
  transition: transform 1.6s ease-in-out;
}
/* TOP-INFORMATION */
.information {
  padding: 0 2.4rem;
  margin-top: 4rem;
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.8s ease;
}
.information.show {
  opacity: 1;
  transform: translateY(0);
}
.important-notice {
  background: #e9fdec;
  border-left: 6px solid #4ae674;
  padding: 10px;
  font-size: 1.6rem;
}
.notice-label {
  background: #4ae674;
  font-size: 1.6rem;
  text-align: center;
  width: 14rem;
  padding: 1px 10px 2px;
  border: 1px solid #707070;
  border-radius: 8px;
  margin-right: 17px;
  position: relative;
  top: -3px;
}
.notice-box a {
  font-weight: bold;
  font-size: 1.6rem;
}
.information-txt {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.5rem;
  margin-top: 20px;
}
.information-txt h3 {
  font-size: 3.2rem;
  font-weight: 500;
}
.information-txt a {
  font-size: 2.4rem;
  font-weight: 500;
}
.circle-arrow-right {
  width: 30px;
  height: auto;
}
.information-txt .circle-arrow-right {
  position: relative;
  top: 0.6rem;
}
.information ul li {
  border-top: 1px solid #707070;
  padding: 6px 0;
}
.information ul li:last-child {
  border-bottom: 1px solid #707070;
}
.post-date {
  font-size: 2.4rem;
  margin-right: 15px;
}
.post-category a {
  display: inline-block;
  font-size: 1.6rem;
  text-align: center;
  width: 14rem;
  padding: 1px 0 2px;
  border: 1px solid #707070;
  border-radius: 8px;
  margin-right: 17px;
  position: relative;
  top: -3px;
}
.post-category a.category-info-product-information {
  background-color: #f8cfcf;
} /* 製品情報 */
.post-category a.category-info-news {
  background: #a3eaf7;
} /* お知らせ */
.post-category a.category-info-exhibition {
  background: #ccf7bc;
} /* 展示会 */

.post-title {
  font-size: 1.6rem;
  position: relative;
  top: -3px;
}
/* END TOP-INFORMATION */

/* FOR OUR EARTH */
.forourearth {
  padding: 0 2.4rem;
  margin-top: 10rem;
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.8s ease;
}
.forourearth.show {
  opacity: 1;
  transform: translateY(0);
}
.forourearth-contents-wrap {
  display: flex;
  justify-content: space-between;
  gap: 2vw;
}
.forourearth-contents-wrap h3 {
  font-size: 3.2rem;
  font-weight: 500;
}
.forourearth-contents-wrap p {
  font-size: 2.4rem;
  font-weight: 500;
  opacity: 0.6;
  margin-top: 1.5rem;
  margin-bottom: 4.1rem;
}
.forourearth-btn {
  display: block;
  color: #fff;
  background-color: #4ae674;
  border-radius: 16px;
  font-size: 2.4rem;
  font-weight: 400;
  width: 368px;
  margin: 0 auto;
  padding: 10px 0;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.15);
  text-align: center;
}
.forourearth-btn:hover {
  background-color: #41c965;
}
.sp-forourearth-btn {
  display: none;
}
.top-forourearth-img {
  max-width: 65.6rem;
  border-radius: 40px;
}
/* END FOR OUR EARTH */

/* OUR BRAND */
.ourbrand {
  margin-top: 10rem;
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.8s ease;
}
.ourbrand.show {
  opacity: 1;
  transform: translateY(0);
}
.ourbrand-contents-wrap {
  background-color: rgba(74, 230, 116, 0.8);
  border-radius: 16px;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  padding: 60px 80px;
}
.top-ourbrand-img {
  border-radius: 16px;
  max-width: 54.4rem;
}
.ourbrand-txt {
  text-align: center;
}
.ourbrand-txt h3 {
  color: #fff;
  font-size: 3.2rem;
  font-weight: 500;
}
.ourbrand-txt p {
  font-size: 1.6rem;
  font-weight: 500;
  opacity: 0.6;
  margin-top: 2rem;
  margin-bottom: 3rem;
}
.ourbrand-btn {
  display: block;
  background-color: #fff;
  border-radius: 16px;
  font-size: 2.4rem;
  font-weight: 400;
  width: 368px;
  margin: 0 auto;
  padding: 10px 0;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.15);
}
.ourbrand-btn:hover {
  background-color: #efefef;
}
.sp-ourbrand-btn {
  display: none;
}
/* END OUR BRAND */

/* INFORMATION */
.page-top-ttl-sec {
  margin-top: 7rem;
  margin-bottom: 5rem;
}

.page-top-ttl-sec .page-top-en-ttl {
  font-size: 5rem;
  font-family: "Cinzel", serif;
  color: #4ae674;
  border-bottom: 1px solid #707070;
  margin-bottom: 1rem;
}
.page-top-ttl-sec .page-top-ttl {
  font-size: 2.4rem;
  font-weight: 500;
}
.post-item {
  margin-bottom: 3rem;
}
.info-post-date {
  display: inline-block;
  font-size: 2.4rem;
}
.info-post-category a {
  display: inline-block;
  font-size: 1.6rem;
  text-align: center;
  width: 14rem;
  padding: 1px 0 2px;
  border: 1px solid #707070;
  border-radius: 8px;
  margin: 0 15px;
}
.info-post-category a.category-info-product-information {
  background-color: #f8cfcf;
} /* 製品情報 */
.info-post-category a.category-info-news {
  background: #a3eaf7;
} /* お知らせ */
.info-post-category a.category-info-exhibition {
  background: #ccf7bc;
} /* 展示会 */

.info-post-title {
  font-size: 1.6rem;
  display: inline-block;
}
.load-more-wrap button {
  display: block;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
  background-image: linear-gradient(#ffffff, #cccccc);
  border: 1px solid #707070;
  border-radius: 19px;
  width: fit-content;
  margin: 0 auto;
  margin-top: 100px;
  padding: 5px 100px 6px;
}
.load-more-wrap img {
  width: 20px;
  height: auto;
  position: relative;
  top: 4px;
  left: 2px;
}
/* END INFORMATION */

/* 個別ニュース */
.single-post-time {
  display: block;
  font-size: 1.6rem;
  font-weight: 400;
  text-align: right;
}
.single-post-title {
  font-size: 3.6rem;
}
.single-post-category a {
  font-size: 1.6rem;
  display: inline-block;
  text-align: center;
  width: 14rem;
  padding: 1px 0 2px;
  border: 1px solid #707070;
  border-radius: 10px;
  margin: 25px 0 50px;
  position: relative;
  top: -2px;
}
.single-post-category a.category-info-product-information {
  background-color: #f8cfcf;
} /* 製品情報 */
.single-post-category a.category-info-news {
  background: #a3eaf7;
} /* お知らせ */
.single-post-category a.category-info-exhibition {
  background: #ccf7bc;
} /* 展示会 */
.single-post-content {
  font-size: 1.6rem;
}
.single-post-content p {
  font-size: 1.6rem;
}
.wp-block-file:not(.wp-element-button) {
  font-size: 1.6rem;
}
.post-navigation {
  font-size: 1.6rem;
  font-weight: 500;
  display: block;
  margin-top: 85px;
}
.post-navigation img {
  width: 20px;
  height: 20px;
  position: relative;
  top: 4px;
  margin-right: 5px;
}
/* END 個別ニュース */

/* PRODUCT LINEUP */
.top-productlineup {
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.8s ease;
  margin-top: 10rem;
}
.top-productlineup.show {
  opacity: 1;
  transform: translateY(0);
}
.productlineup {
  max-width: 1280px;
  margin: 0 auto;
}
.productlineup1 {
  margin: 4rem auto 0;
}
.productlineup h3 {
  font-size: 3.2rem;
  font-weight: 500;
  text-align: center;
  margin-top: 3.4rem;
}
.productlineup-txt {
  font-size: 2.4rem;
  font-weight: 500;
  opacity: 0.6;
  text-align: center;
  margin-top: 1.5rem;
  margin-bottom: 10rem;
}
.productlineup-wrap {
  background-color: #efefef;
  padding: 6rem 0;
  margin: 4rem auto 0;
}
.productlineup ul {
  padding: 0 118px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4.2rem;
}
.productlineup ul li {
  width: calc((100% - 8.4rem) / 3); /* gapぶんを引いて3等分 */
  box-sizing: border-box;
  background-color: #fff;
  text-align: center;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
  border-radius: 20px;
  position: relative;
  padding: 1rem 0 2.8rem;
}
.productlineup ul li:hover {
  background-color: #efefef;
}
.productlineup ul li:nth-of-type(1) {
  background-color: #4ae674;
  position: relative;
}
.productlineup ul li:nth-of-type(1):hover {
  background-color: #41c965;
}
.productlineup ul li:nth-of-type(1) a {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}

.productlineup ul li h4 {
  font-size: 2.4rem;
  font-weight: 500;
  margin: 0;
}
.productlineup ul li:nth-of-type(1) h4 {
  color: #fff;
}
.productlineup ul li:nth-of-type(6) h4 {
  color: #4aa4e6;
}
.productlineup ul li h4 span {
  color: #4aa4e6;
  font-size: 1.6rem;
  display: block;
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  padding-bottom: 1.2rem;
}
.productlineup ul li p {
  font-size: 1.6rem;
}
.productlineup-img {
  width: 60%;
}
.productlineup .circle-arrow-right {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  width: 30px;
  height: auto;
}
.productlineup ul li:nth-of-type(1) .circle-arrow-right {
  position: relative;
  margin-top: 3.8rem;
  margin-left: 2rem;
}
/* END PRODUCT LINEUP */

/* 協業 */
.collaboration {
  padding: 0 115px;
  margin-top: 10rem;
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.8s ease;
}
.collaboration.show {
  opacity: 1;
  transform: translateY(0);
}
.collaboration h3 {
  font-size: 3.6rem;
  text-align: center;
  margin-bottom: 4.9rem;
}
.collaboration-contents-wrap {
  display: flex;
  justify-content: space-between;
  gap: 4%;
}
.novelty-img-wrap {
  position: relative;
}
.top-pb-oem-img:hover {
  opacity: 0.7;
}
.top-novelty-img:hover {
  opacity: 0.7;
}
.novelty-img-wrap h4 {
  font-size: 4.2rem;
  font-weight: 500;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.collaboration-ttl {
  display: block;
  font-size: 2.4rem;
  font-weight: 500;
  text-align: center;
  margin-top: 3.2rem;
}
.collaboration-ttl:hover {
  opacity: 0.6;
}
.collaboration-txt {
  font-size: 1.6rem;
  text-align: center;
  margin-top: 1rem;
}
.collaboration .circle-arrow-right {
  position: relative;
  top: 0.6rem;
  margin-left: 0.5rem;
}
/* END 協業 */

/* END TOP */

/* footer */
footer {
  max-width: 1232px;
  margin: 8rem auto 0;
  padding: 30px 0 30px;
  z-index: 999;
}
footer a:hover {
  opacity: 0.7;
}
.footer-logo-img {
  width: 350px;
  margin-bottom: 2.8rem;
}
.footer-menu {
  display: flex;
  justify-content: space-between;
  padding-bottom: 1rem;
}
.tokyooffice {
  margin-top: 2rem;
}
.footer-menu-1 ul li::before {
  content: "-";
  margin-right: 0.5rem;
}
.footer-menu-2 ul li::before {
  content: "・";
}
.footer-menu-3 ul li::before {
  content: "・";
}
.footer-menu-4 ul li::before {
  content: "・";
}
.footer-menu-4 a:nth-of-type(2) {
  margin-top: 2rem;
  display: block;
}
.footer-menu-4 a:nth-of-type(3) {
  margin-top: 2rem;
  display: block;
}
.footer-menu p {
  font-size: 1.6rem;
}
.footer-menu-bold {
  font-size: 1.6rem;
  font-weight: 600;
}
.footer-menu-wrap {
  width: 65%;
}
.footer-menu-list {
  display: flex;
  justify-content: space-between;
}
.footer-menu-1,
.footer-menu-2,
.footer-menu-3 {
  flex: 1;
}
.footer-menu ul li {
  font-size: 1.6rem;
}
.footer-logo-wrap {
  display: flex;
  align-items: center;
  gap: 20px;
}
.footer-logo {
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  text-decoration: none;
}
.footer-logo-wrap img {
  width: 100px;
  height: auto;
}
.footer-amazon-img {
  position: relative;
  top: 15px;
}
.footer-furusato-img {
  position: relative;
  top: 13px;
}
.footer-copyright {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #707070;
  padding: 1.25rem 0;
}
.footer-copyright a {
  font-size: 1.6rem;
}
.footer-copyright p {
  font-size: 1.6rem;
}
/* END footer */

/* Brand Message */
.brandmessage-en-ttl {
  font-size: 4.8rem;
  font-family: "Cinzel", serif;
  color: #4ae674;
  margin-top: 12.4rem;
}
.brandmessage h1 {
  font-size: 4.8rem;
  font-family: "Zen Old Mincho", serif;
  color: #1ba740;
}
.brandmessage-contents {
  max-width: 824px;
  margin: 0 auto;
  text-align: center;
}
.brandmessage-contents-img1 {
  width: 84%;
}
.brandmessage h2 {
  font-size: 4.8rem;
  font-family: "Zen Old Mincho", serif;
  color: #1ba740;
  margin-bottom: 3rem;
}
.brandmessage-txt {
  font-size: 2.4rem;
  font-weight: 500;
  color: #1ba740;
  line-height: 4.8rem;
}
.brandmessage-contents-img2 {
  margin-top: 14.5rem;
  margin-bottom: 8.1rem;
}
.vertical-line {
  width: 1px;
  height: 24rem;
  background-color: #333333;
  margin: 10rem auto;
}
.brandmessage-bg-img {
  position: relative;
  background-repeat: repeat-y;
  background-size: 21% auto;
  background-position: right top;
  z-index: 0;
}

#bg-waves-canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: -99;
  pointer-events: none;
}

#brandmessage {
  position: relative;
  z-index: 1;
}
/* Product Lineup */
#brandmessage .productlineup {
  margin-bottom: 11.3rem;
}
/* END Product Lineup */

/* END Brand Message */

/* 製品紹介 */
.page-top-mv {
  position: relative;
  max-width: 1328px;
  width: 90vw;
  margin: 0 auto -9rem;
  z-index: -1;
}
.page-top-img {
  border-radius: 40px;
}
.page-top-ttl-wrap {
  display: inline-block;
  text-align: center;
  padding: 1.4rem 3.7rem;
  position: relative;
  bottom: 15rem;
}
.page-top-ttl-wrap-blue {
  background-color: #5fb2ef;
  mix-blend-mode: multiply;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.page-top-ttl-wrap-green {
  background-color: #4ae674;
  mix-blend-mode: multiply;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.page-top-ttl-wrap .page-top-en-ttl {
  color: #fff;
  font-size: 1.8rem;
  font-family: "Cinzel", serif;
  position: relative;
  z-index: 1;
}
.page-top-ttl-wrap .page-top-ttl {
  color: #fff;
  font-size: 3.6rem;
  font-family: "Zen Old Mincho", serif;
  line-height: 3.6rem;
  position: relative;
  z-index: 1;
}

.product-section-ttl {
  font-size: 3rem;
  font-weight: 600;
  text-align: center;
}
.product-section-txt {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  margin: 2rem auto 0;
}
.product-category {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  max-width: 1000px;
  margin: 3.9rem auto 0;
}
.product-category .product-category-item {
  flex: 1;
  background-color: rgba(74, 230, 116, 0.1);
  border-radius: 10px;
  padding: 9px;
  position: relative;
  min-width: 0;
}
.product-category-item .product-category-item-img {
  display: block;
  width: 50%;
  margin: 0 auto;
}
.product-category li h3 {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 5px;
}
.product-category li p {
  font-size: 1.4rem;
}
.product-category-item .product-category-item-txt1 {
  text-align: center;
  white-space: nowrap;
  margin-bottom: 6rem;

}
.scene-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px;
  margin-top: 1rem;
  margin-bottom: 4rem;
}
.scene-wrap .scene {
  font-size: 1.3rem;
  background-color: #fff;
  border: 1px solid #707070;
  border-radius: 4px;
  text-align: center;
  padding: 0 5px 2px;
}
.product-category a {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  font-size: 1.4rem;
  background-image: linear-gradient(#ffffff, #eeeeee);
  border: 1px solid #999999;
  border-radius: 19px;
  width: fit-content;
  padding: 1px 15px 2px;
  white-space: nowrap;
}
.product-category a:hover {
  opacity: 0.8;
  transform: translateX(-50%) scale(0.95);
  transition: transform 0.1s ease;
}
.circle-arrow-down {
  width: 11px;
  height: auto;
  position: relative;
  top: 2px;
}
.product-category-usefulpaper {
  max-width: 800px;
  margin: 4rem auto 0;
  background-color: rgba(74, 164, 230, 0.1);
  border-radius: 10px;
  padding: 20px 40px;
  margin-bottom: 8.3rem;
}
.product-category-usefulpaper .product-category-item-img {
  display: block;
  width: 13%;
  margin: 0 auto;
}
.product-category-usefulpaper h3 {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 5px;
}
.product-category-usefulpaper p {
  font-size: 1.4rem;
}
.product-category-usefulpaper .product-category-item-txt1 {
  text-align: center;
  border-bottom: 1px solid #707070;
  padding-bottom: 2.16rem;
  margin-bottom: 2.65rem;
}
.product-category-usefulpaper-item-wrap {
  display: flex;
  justify-content: space-between;
  gap: 10%;
  margin-bottom: 10px;
}
.product-category-usefulpaper-item {
  width: 50%;
}
.product-category-usefulpaper-item-ttl-wrap {
  display: flex;
  align-items: center;
  gap: 1.3rem;
  margin-bottom: 1.4rem;
}
.product-category-usefulpaper-item-ttl-wrap img {
  width: 3rem;
  height: 3rem;
}
.product-category-usefulpaper-item-ttl-wrap {
  display: flex;
  margin-bottom: 1.4rem;
}
.product-category-usefulpaper h4 {
  font-size: 1.6rem;
  font-weight: 500;
}
.product-category-usefulpaper a {
  display: block;
  font-size: 1.4rem;
  background-image: linear-gradient(#ffffff, #eeeeee);
  border: 1px solid #999999;
  border-radius: 19px;
  width: fit-content;
  margin: 0 auto;
  padding: 1px 15px 2px;
}
.product-category-usefulpaper a:hover {
  opacity: 0.8;
  transform: scale(0.95);
  transition: transform 0.1s ease;
}
.product-list-wrap {
  max-width: 824px;
  margin: 0 auto;
}
.product-ttl-wrap {
  position: relative;
}
.product-ttl-img {
  position: absolute;
  left: 20px;
}
.product-list-wrap:nth-of-type(2) .product-ttl-img {
  top: -40px;
  width: 15%;
  height: auto;
}
.product-list-wrap:nth-of-type(3) .product-ttl-img {
  top: -30px;
  width: 14%;
  height: auto;
}
.product-list-wrap:nth-of-type(4) .product-ttl-img {
  top: -25px;
  width: 13%;
  height: auto;
}
.product-list-wrap:nth-of-type(5) .product-ttl-img {
  top: -25px;
  width: 14%;
  height: auto;
}
.product-list-wrap:nth-of-type(6) .product-ttl-img {
  top: -33px;
  width: 14%;
  height: auto;
}
.product-ttl {
  font-size: 3.2rem;
  font-weight: 500;
  border: 2px solid #4ae674;
  border-radius: 6rem;
  text-align: center;
  padding: 1rem 0;
  margin-bottom: 4.5rem;
}
.product-ttl-blue {
  color: #4aa4e6;
  border: 2px solid #4aa4e6;
}
.product-list {
  display: flex;
  gap: 50px;
  margin-bottom: 6rem;
}
.product-list li {
  width: calc((100% - 100px) / 3);
}
.product-list .product-img:hover {
  opacity: 0.7;
}
.product-list .product-name {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  line-height: 2rem;
  height: 4rem;
  margin-bottom: 5px;
}
.product-list .product-details {
  font-size: 1.4rem;
  text-align: center;
  height: 5rem;
}
.product-feature-wrap {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
  margin-bottom: 5px;
}
.product-feature-wrap p {
  width: 40%;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 400;
  border: 1px solid #707070;
  border-radius: 4px;
}
.product-feature-softpack {
  background-color: #f7dec1;
}
.product-feature-recycledpaper {
  background-color: #bafce5;
}
.product-feature-pulp100 {
  background-color: #cefaca;
}
.product-feature-box {
  background-color: #facdd6;
}
.product-feature-roll {
  background-color: #fdeb84;
}
.amazon-purchase-btn-img {
  display: block;
  margin: 0 auto;
  width: 80%;
  height: auto;
}
.amazon-purchase-btn-img:hover {
  opacity: 0.7;
}
.detail-btn {
  font-size: 1.6rem;
  display: block;
  text-align: right;
  margin-bottom: 4.7rem;
}
.detail-btn:hover {
  opacity: 0.7;
}
.detail-btn .circle-arrow-right {
  width: 2rem;
  height: 2rem;
  position: relative;
  top: 4px;
}

/* 動画ボタン */
.product-movie-wrap {
  display: flex;
  justify-content: space-between;
}
.product-movie-txt {
  font-size: 1.4rem;
  width: 67%;
  position: relative;
  top: 12px;
  text-align: right;
}
.movie-btn {
  font-size: 1.2rem;
  font-weight: 500;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 1) 0%,
    rgba(211, 210, 210, 1) 100%
  );
  border: 1px solid #707070;
  border-radius: 4px;
  display: block;
  margin: 0 auto;
  margin-top: 10px;
  margin-right: 0;
  padding: 0px 5px 5px;
  width: 30%;
  cursor: pointer;
}
.movie-btn-arrow {
  width: auto;
  height: 15px;
  position: relative;
  top: 3px;
  margin-left: 2px;
}

.modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
}

.modal-content {
  position: relative;
  margin: 5% auto;
  background: #fff;
  padding: 5px;
  width: 90%;
  max-width: 800px;
}

.close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 30px;
  cursor: pointer;
  z-index: 999;
}

/* END 動画ボタン */

/* END 製品紹介 */

/* 関連コンテンツ */
.relatedcontent {
  padding: 0 115px;
  margin: 13.7rem 0;
}
.relatedcontent-ttl {
  font-size: 3.6rem;
  text-align: center;
  margin-bottom: 4.9rem;
}
.relatedcontent-contents-wrap {
  display: flex;
  justify-content: space-between;
  gap: 3.4rem;
}
.relatedcontent-content {
  flex: 1;
}
.relatedcontent-content-img-wrap {
  position: relative;
}
.relatedcontent-content-img {
  border-radius: 20px;
}
.relatedcontent-content-img-wrap h4 {
  font-size: 4.2rem;
  font-weight: 500;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.relatedcontent-content-ttl {
  display: block;
  font-size: 2.4rem;
  font-weight: 500;
  text-align: center;
  margin-top: 3.2rem;
}
.relatedcontent-content-ttl .circle-arrow-right {
  position: relative;
  top: 0.7rem;
  margin-left: 0.5rem;
}
.relatedcontent-content-txt {
  font-size: 1.6rem;
  text-align: center;
  margin-top: 0.9rem;
}
.relatedcontent-contents-wrap a:hover {
  opacity: 0.7;
}
/* END 関連コンテンツ */

/* サステナビリティ */
.sustainability-top-sec {
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.8s ease;
}
.sustainability-top-sec.show {
  opacity: 1;
  transform: translateY(0);
}
.ttl-1 {
  font-size: 3rem;
  font-weight: 600;
  text-align: center;
}
.txt-1 {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  line-height: 2.8rem;
  margin-top: 2rem;
  margin-bottom: 8rem;
}
.sustainability-contents-wrap {
  max-width: 824px;
  margin: 0 auto;
}
.ttl-blue-1 {
  font-size: 2.4rem;
  font-weight: 600;
  color: #fff;
  background-color: #5fb2ef;
  text-align: center;
  border-radius: 25px;
  padding: 0.8rem 0;
  margin-bottom: 2.2rem;
}
.txt-2 {
  font-size: 1.6rem;
  text-align: center;
}
.fsc {
  margin-bottom: 7.3rem;
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.8s ease;
}
.fsc.show {
  opacity: 1;
  transform: translateY(0);
}
.fsc h4 {
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 1rem;
}
.fsc h4:nth-of-type(2) {
  margin-top: 3rem;
}
.fsc img {
  display: block;
  margin: 50px auto 30px;
  width: 120px;
  height: auto;
}
.fsc .fsc-caution {
  font-size: 1.2rem;
  text-align: right;
}
.sdgs-action {
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.8s ease;
}
.sdgs-action.show {
  opacity: 1;
  transform: translateY(0);
}
.sdgs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  margin-top: 8rem;
  margin-bottom: 7.3rem;
  position: relative;
}
/* 真ん中の縦線・横線を描く */
.sdgs::before,
.sdgs::after {
  content: "";
  position: absolute;
  background-color: #999999; /* 線の色 */
  z-index: 1;
}
/* 縦線 */
.sdgs::before {
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  transform: translateX(-50%);
}
/* 横線 */
.sdgs::after {
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  transform: translateY(-50%);
}
.sdgs-img-wap {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 3.7rem;
}
.sdgs-box:nth-of-type(1) {
  padding-right: 1.7rem;
  padding-bottom: 1rem;
}
.sdgs-box:nth-of-type(2) {
  padding-left: 1.7rem;
  padding-bottom: 1rem;
}
.sdgs-box:nth-of-type(3) {
  padding-right: 1.7rem;
  padding-top: 5rem;
}
.sdgs-box:nth-of-type(4) {
  padding-left: 1.7rem;
  padding-top: 5rem;
}
.sdgs-box h4 {
  font-size: 2.4rem;
  font-weight: 500;
}
.sdgs-box p {
  font-size: 1.4rem;
  margin-top: 0.5rem;
  margin-bottom: 2.7rem;
}
.sdgs-box h5 {
  font-size: 1.2rem;
}
.sdgs-box ul li {
  position: relative;
  font-size: 1.2rem;
  padding-left: 1.3rem;
}
.sdgs-box ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4rem;
  width: 1.2rem;
  height: 1.2rem;
  background-color: #5fb2ef;
  border-radius: 50%;
}
.ttl-2 {
  font-size: 2.4rem;
  text-align: center;
}
.sustainability-report {
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.8s ease;
}
.sustainability-report.show {
  opacity: 1;
  transform: translateY(0);
}
.sustainability-report .ttl-2 {
  margin-bottom: 10px;
}
.sustainability-report .txt-2 {
  margin-bottom: 45px;
}
.sustainability-report .sustainability-report-txt {
  font-size: 1.5rem;
  text-align: center;
  margin-bottom: 60px;
}
.sustainability-report .sustainability-report-sub-ttl {
  font-size: 2.4rem;
  font-weight: 500;
  text-align: center;
}
.recycled-product-img {
  display: block;
  width: 20rem;
  margin: 20px auto;
}
.case-study {
  background-color: rgb(95, 178, 239, 0.2);
  border-radius: 10px;
  padding: 50px;
  position: relative;
  margin-top: 65px;
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.8s ease;
}
.case-study.show {
  opacity: 1;
  transform: translateY(0);
}
.case-study-num {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -34px;
  left: -34px;
  font-size: 2.4rem;
  font-weight: 500;
  color: #fff;
  background-color: #5fb2ef;
  border-radius: 100px;
  width: 140px;
  height: 140px;
  text-align: center;
}
.case-study-ttl {
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 40px;
}
.case-study .period-amount-wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 16px;
  gap: 35px;
}
.case-study .period-amount-wrap .period {
  display: flex;
  justify-content: space-between;
  gap: 5px;
  width: 100%;
}
.case-study .period-amount-wrap .amount {
  display: flex;
  justify-content: space-between;
  gap: 5px;
  width: 100%;
}
.case-study .period-amount-wrap .period .period-blue {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 3.8rem;
  font-weight: 600;
  color: #fff;
  text-align: center;
  background-color: #5fb2ef;
  border-radius: 10px;
  width: 38%;
}
.case-study .period-amount-wrap .period .period-white {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  background-color: #fff;
  border-radius: 10px;
  width: 62%;
}
.case-study .period-amount-wrap .amount .amount-blue {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.4rem;
  font-weight: 600;
  color: #fff;
  text-align: center;
  background-color: #5fb2ef;
  border-radius: 10px;
  width: 38%;
}
.case-study .period-amount-wrap .amount .amount-white {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  background-color: #fff;
  border-radius: 10px;
  width: 62%;
}
.case-study ul li {
  font-size: 1.2rem;
}
.case-study ul li::before {
  content: "●";
  color: #5fb2ef;
}
.case-study-txt {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  margin-top: 30px;
  margin-bottom: 90px;
}
.social-contribution {
  margin-bottom: 45px;
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.8s ease;
}
.social-contribution.show {
  opacity: 1;
  transform: translateY(0);
}
.social-contribution .social-contribution-ttl {
  font-size: 3.6rem;
  font-weight: 600;
  color: #5fb2ef;
  text-align: center;
  margin-bottom: 14px;
}
.social-contribution-txt-wrap {
  background-color: rgb(95, 178, 239, 0.2);
  border-radius: 10px;
  padding: 40px;
}
.social-contribution-txt-wrap .social-contribution-sub-ttl {
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 20px;
}
.social-contribution-txt-wrap p {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 20px;
}
.social-contribution-txt-wrap ul {
  margin-bottom: 40px;
}
.social-contribution-txt-wrap ul li {
  font-size: 1.2rem;
}
.social-contribution-txt-wrap ul li::before {
  content: "●";
  color: #5fb2ef;
}
.letter-of-appreciation-wrap {
  display: flex;
  justify-content: center;
  gap: 30px;
}
.letter-of-appreciation-wrap img {
  width: auto;
  height: 200px;
}
/* END サステナビリティ */

/* 採用情報 */
.recruit-section-ttl {
  font-size: 2.4rem;
  font-weight: 500;
  background-color: #5fb2ef;
  color: #fff;
  padding: 3px 10px 4px;
  margin-bottom: 35px;
}
.recruit-section-txt {
  font-size: 2rem;
}
.recruit-anchor-wrap {
  display: flex;
  gap: 10px;
  margin-top: 30px;
  margin-bottom: 40px;
}
.recruit-anchor-wrap a {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  position: relative;
  background-image: linear-gradient(#ffffff, #eeeeee);
  border: 1px solid #999999;
  border-radius: 20px;
  font-size: 1.3rem;
  font-weight: 500;
  padding: 10px;
}
.recruit-anchor-wrap a:hover {
  opacity: 0.8;
  transform: scale(0.95);
  transition: transform 0.1s ease;
}
.recruit-anchor-wrap a img {
  width: 17px;
  height: 17px;
}
.recruitment-requirements h2 {
  font-size: 2.4rem;
  margin-top: 180px;
  margin-bottom: 6px;
}
.recruitment-requirements:nth-of-type(1) h2 {
  margin-top: 0;
}
.recruitment-requirements h2 .light-blue {
  color: #5fb2ef;
  font-size: 2.4rem;
}
.recruitment-requirements table {
  border: 1px solid #999999;
  border-bottom: none;
  width: 100%;
}
.recruitment-requirements table th {
  background-color: #eeeeee;
  border-bottom: 1px solid #999999;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: left;
  padding: 10px;
  width: 20%;
  vertical-align: top;
}
.recruitment-requirements table td {
  font-size: 1.6rem;
  padding: 10px;
  width: 80%;
  border-bottom: 1px solid #999999;
  border-left: 1px solid #999999;
}
.employee-interview {
  border: 1px solid #999999;
  padding: 17px;
  margin: 16px 0;
}
.employee-interview h2 {
  font-size: 2rem;
  text-align: center;
  background-color: rgba(95, 178, 239, 0.2);
  border: 1px solid #707070;
  border-radius: 20px;
  padding: 5px 0;
  margin-bottom: 26px;
}
.employee-interview-box {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}
.employee-interview-img-wrap {
  width: 30%;
}
.employee-interview-img-wrap p {
  text-align: center;
}
.employee-interview-txt-wrap {
  width: 70%;
}
.employee-interview-qa-ttl {
  margin-bottom: 1rem;
}
.employee-interview-qa .light-blue {
  margin-top: 1rem;
}
.employee-interview p {
  font-size: 1.6rem;
}
.employee-interview .light-blue {
  color: #5fb2ef;
  font-size: 1.6rem;
}
.employee-interview .schedule {
  margin-top: 25px;
}
.employee-interview .schedule .schedule-ttl {
  margin-bottom: 1rem;
}
.employee-interview .schedule table td {
  font-size: 1.6rem;
  padding: 2px 0;
}
.employee-interview .schedule table td:nth-of-type(1) {
  white-space: nowrap;
}
.employee-interview .schedule table td:nth-of-type(2) {
  color: #5fb2ef;
  padding: 0 15px;
}
.recruitment-img-wrap {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 40px;
}
.recruitment-img-wrap img {
  width: calc(25% - 8px);
}
.recruitment-inquiry {
  background-color: #efefef;
  padding: 60px 0 80px;
  margin-top: 160px;
}
.recruitment-inquiry h2 {
  font-size: 3.2rem;
  text-align: center;
  margin-bottom: 26px;
}
.recruitment-inquiry-btn-wrap {
  display: flex;
  justify-content: center;
  gap: 36px;
}
.recruitment-inquiry-btn {
  position: relative;
  background-image: linear-gradient(#ffffff, #cccccc);
  border: 1px solid #707070;
  border-radius: 6px;
  max-width: 500px;
  width: 35%;
  padding: 30px 0;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.recruitment-inquiry-btn:hover {
  opacity: 0.8;
  transform: scale(0.95);
  transition: transform 0.1s ease;
}
.recruitment-inquiry-btn p {
  font-size: 2.4rem;
  font-weight: 500;
  text-align: center;
  z-index: 2;
}
.recruitment-inquiry-btn p .tel {
  font-size: 3rem;
}
.recruitment-inquiry-btn img {
  position: absolute;
  width: auto;
  height: 70%;
  z-index: 1;
}
/* END 採用情報 */

/* 会社概要 */
.company-anchor-wrap {
  display: flex;
  gap: 10px;
  margin-bottom: 40px;
}
.company-anchor-wrap a {
  display: flex;
  justify-content: space-between;
  position: relative;
  flex: 1;
  background-image: linear-gradient(#ffffff, #eeeeee);
  border: 1px solid #999999;
  border-radius: 20px;
  font-size: 1.3rem;
  font-weight: 500;
  padding: 10px;
}
.company-anchor-wrap a:hover {
  opacity: 0.8;
  transform: scale(0.95);
  transition: transform 0.1s ease;
}
.company-anchor-wrap a img {
  width: 17px;
  height: 17px;
}
.company-section {
  margin-bottom: 50px;
}
.company-section-ttl {
  font-size: 2.4rem;
  font-weight: 500;
  background-color: #5fb2ef;
  color: #fff;
  padding: 3px 10px 4px;
  margin-bottom: 35px;
}
.company-section-sub-ttl {
  font-size: 2.4rem;
  font-weight: 600;
  color: #707070;
  margin-bottom: 20px;
}
.company-section-txt {
  font-size: 1.7rem;
  line-height: 3rem;
  margin-bottom: 40px;
}
.ceo-message-sign {
  text-align: right;
  width: 50%;
  height: auto;
  display: block;
  margin-right: 0;
  margin-left: auto;
}
.company-section table {
  border: 1px solid #999999;
  border-bottom: none;
  width: 100%;
}
.company-section table th {
  background-color: #eeeeee;
  border-bottom: 1px solid #999999;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: left;
  padding: 10px;
  width: 30%;
  vertical-align: top;
}
.company-section table th .wareki {
  font-size: 1.5rem;
}
.company-section table td {
  font-size: 1.6rem;
  padding: 10px;
  width: 70%;
  border-bottom: 1px solid #999999;
  border-left: 1px solid #999999;
}
.company-section table iframe {
  display: block;
}
.facility-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.facility-list .facility {
  flex: 0 0 calc(50% - 10px);
}
.facility-list .facility h4 {
  font-size: 2.4rem;
  font-weight: 500;
  margin-bottom: 16px;
}
.facility-list .facility p {
  font-size: 1.6rem;
}
.iso-wrap {
  display: flex;
  justify-content: space-between;
}
.iso-img {
  width: 140px;
  height: 197px;
  border: 1px solid #999;
  cursor: pointer;
}
.popup {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  justify-content: center;
  align-items: center;
  z-index: 99999;
}
.popup img {
  width: 500px;
  height: auto;
  max-width: 90vw;
  max-height: 90vh;
  border: 20px solid #fff;
}
.iso-txt {
  font-size: 1.6rem;
  text-indent: -1.9rem;
  padding-left: 1.9rem;
}
.iso-txt .light-blue {
  color: #5fb2ef;
  font-size: 1.7rem;
}
.iso-certification ul:nth-of-type(1) {
  margin-bottom: 20px;
}
.iso-certification ul li {
  font-size: 1.6rem;
  list-style: disc;
  margin-left: 2.5rem;
}
/* END 会社概要 */

/* END 工場施設案内 */
.factory-top-section {
  margin-bottom: 70px;
}
.factory-top-section-ttl {
  font-size: 3rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 20px;
}
.factory-top-section-txt {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 40px;
}
.facilities-list h3 {
  font-size: 2.4rem;
  font-weight: 500;
  background-color: #5fb2ef;
  color: #fff;
  padding: 3px 10px 4px;
  margin-bottom: 35px;
}
.facilities-anchor-wrap {
  margin-bottom: 70px;
}
.facilities-anchor-wrap a {
  display: block;
  border-bottom: 1px solid #707070;
  margin-top: 18px;
  padding-bottom: 15px;
}
.facilities-anchor-wrap a li {
  display: flex;
  justify-content: space-between;
}
.facilities-anchor-name {
  font-size: 1.7rem;
  font-weight: 500;
  width: 70%;
}
.facilities-anchor-box {
  display: flex;
  justify-content: space-between;
  width: 30%;
}
.facilities-anchor-box p {
  font-size: 1.1rem;
  font-weight: 500;
  border: 1px solid #333333;
  border-radius: 4px;
  padding: 0 10px 2px;
  text-align: center;
  height: fit-content;
}
.facilities-anchor-box img {
  width: 26px;
  height: 26px;
}
.facilities-list .facility {
  margin-top: 130px;
}
.facilities-list .facility h4 {
  font-size: 2rem;
  font-weight: 400;
  background-color: rgb(95, 178, 239, 0.2);
  padding: 3px 10px 4px;
  margin-bottom: 16px;
}
.facilities-list .facility p {
  font-size: 1.4rem;
}
.facility-img-wrap {
  display: flex;
  gap: 18px;
  margin-bottom: 25px;
}
.facility-img-wrap img {
  width: 50%;
}
.facility-txt-wrap {
  font-size: 1.4rem;
  font-weight: 200;
  width: 50%;
}
.facility-img-wrap2 {
  display: flex;
  justify-content: space-between;
  gap: 18px;
}
.facility-img-wrap2 img {
  width: calc(35% - 18px);
}
.factory-tour-information {
  background-image: url(img/factory-tour-information-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 50px 10px;
  text-align: center;
  margin-top: 180px;
}
.factory-tour-information h3 {
  font-size: 3rem;
  font-weight: 600;
  text-align: center;
}
.factory-tour-information h4 {
  font-size: 2.4rem;
  text-align: center;
  margin-bottom: 30px;
}
.factory-tour-information p {
  font-size: 1.8rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 45px;
}
.factory-tour-information a {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 400;
  text-align: center;
  background-image: linear-gradient(#ffffff, #eeeeee);
  border: 1px solid #999999;
  border-radius: 20px;
  padding: 5px 15px 6px;
}
.factory-tour-information a:hover {
  opacity: 0.8;
  transform: scale(0.95);
  transition: transform 0.1s ease;
}
.factory-tour-information a img {
  width: 17px;
  height: 17px;
  position: relative;
  top: 2px;
  margin-left: 1rem;
}
/* END 工場施設案内 */

/* 製品ページ */
.product-top-section {
  margin-bottom: 70px;
}
.product-top-section-ttl {
  font-size: 3rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 20px;
}
.product-top-section-txt {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 40px;
}
.product-anchor-wrap {
  display: flex;
  gap: 10px;
}
.product-anchor-wrap a {
  position: relative;
  flex: 1;
  display: block;
  text-align: center;
  background-image: linear-gradient(#ffffff, #eeeeee);
  border: 1px solid #999999;
  border-radius: 20px;
  font-size: 1.3rem;
  font-weight: 500;
  padding: 10px 0;
}
.product-anchor-wrap a:hover {
  opacity: 0.8;
  transform: scale(0.95);
  transition: transform 0.1s ease;
}
.product-anchor-wrap a img {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 17px;
  height: 17px;
}
.product .product-ttl-wrap {
  position: relative;
}
.product .product-ttl-img {
  position: absolute;
  top: -35px;
  left: 20px;
  width: 14%;
  height: auto;
}
.product .product-ttl {
  font-size: 3.2rem;
  border: 1px solid #707070;
  border-radius: 6rem;
  text-align: center;
  padding: 1rem 0;
  margin-bottom: 20px;
}
.product .product-txt {
  font-size: 2rem;
  margin-bottom: 50px;
}
.product-details-wrap {
  display: flex;
  justify-content: center;
  gap: 80px;
  margin-bottom: 120px;
}
.product-image-slick {
  flex: 1;
  width: 50%;
  max-width: 350px;
}
.product-image-slick .slick-slide {
  margin: 0 1px;
}
.product-details-wrap .product-details {
  flex: 1;
  width: 50%;
  max-width: 400px;
}
.product-details-wrap .product-details .amazon-purchase-btn-img {
  margin-top: 10px;
  margin-right: 0;
  width: 50%;
}
.product-image-slick .slick-dots {
  text-align: right;
  padding-top: 10px;
  padding-bottom: 3px;
  top: 310px;
}
.slick-dots li {
  margin: 0 !important;
}
.product-image-slick .slick-dots li button:before {
  color: #cccccc;
  font-size: 9px;
  opacity: 1;
}
.product-image-slick .slick-dots li.slick-active button:before {
  color: #999999;
}
.product-image-slick-txt {
  background-color: #eeeeee;
  padding: 10px;
  min-height: 90px;
}
.product-image-slick-txt h3 {
  font-size: 1.6rem;
  font-weight: 300;
  margin-bottom: 5px;
}
.product-image-slick-txt p {
  font-size: 1.3rem;
  font-weight: 200;
}
.product-details .product-name h3 {
  font-size: 1.8rem;
  font-weight: 400;
  text-align: center;
  background-color: rgb(143, 232, 248, 0.7);
  border: 1px solid #707070;
  padding: 10px 0;
}
.product-details .product-name p {
  font-size: 1.5rem;
  text-align: center;
  border: 1px solid #707070;
  border-top: none;
  padding: 7px 0;
}
.product-details-txt {
  font-size: 1.5rem;
  font-weight: 200;
}
.product-details-txt .caution {
  display: inline-block;
  font-size: 1.3rem;
  text-indent: -1.3rem;
  padding-left: 1.3rem;
  margin-top: 5px;
}
/* END 製品ページ */

/* お問い合わせ */
.contactform-sec-ttl {
  position: relative;
  cursor: pointer;
  font-size: 2.4rem;
  font-weight: 500;
  text-align: center;
  background-image: linear-gradient(#ffffff, #80808050);
  border: 1px solid #cccccc;
  padding: 16px 40px 17px 0;
  margin-bottom: 25px;
}
.contactform-sec-ttl1:hover {
  opacity: 0.8;
}
.contactform-sec-ttl2:hover {
  opacity: 0.8;
}
.contactform-sec-ttl3:hover {
  opacity: 0.8;
}
/* 最初は閉じた状態にする */
.contactform-contents-wrap {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
/* 表示時のクラス */
.contactform-contents-wrap.active {
  max-height: 2500px; /* 中身より少し大きければOK */
  margin-bottom: 85px;
}
/* ＋マーク（デフォルト） */
/* 棒2本 */
.contactform-sec-ttl1::before,
.contactform-sec-ttl1::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  width: 22px;
  height: 3px;
  background-color: #333;
  transform-origin: center center; /* 回転中心を真ん中に */
  transition: transform 0.4s ease;
}

/* 初期状態：＋ */
.contactform-sec-ttl1::before {
  transform: translateY(-50%) rotate(0deg); /* 横棒 */
}

.contactform-sec-ttl1::after {
  transform: translateY(-50%) rotate(90deg); /* 縦棒 */
}

/* 開いたとき：右回転で × に変化 */
.contactform-sec-ttl1.active::before {
  transform: translateY(-50%) rotate(135deg); /* 横棒を右回転 */
}

.contactform-sec-ttl1.active::after {
  transform: translateY(-50%) rotate(225deg); /* 縦棒も右回転 */
}

.contactform-sec-sub-ttl {
  font-size: 2.4rem;
  font-weight: 500;
  margin-bottom: 2rem;
}
.contactform-txt {
  font-size: 1.6rem;
  margin-bottom: 7rem;
}
.contactform7 label {
  display: block;
  font-size: 1.6rem;
  margin-top: 20px;
}
.contactform7 .contact-sec-ttl {
  display: block;
  margin-bottom: 20px;
}
.contactform7 p:nth-of-type(n + 2) > .contact-sec-ttl {
  margin-top: 20px;
}
.contactform7 label .required {
  font-size: 1.2rem;
  color: #ff0000;
  margin-left: 3px;
  position: relative;
  top: -1px;
}
.contactform7 label .ninni {
  font-size: 1.2rem;
}
.contact-privacypolicy {
  font-size: 1.6rem;
  margin-top: 5px;
}
.contact-privacypolicy a {
  text-decoration: underline;
}
.contact-privacypolicy a:hover {
  opacity: 0.7;
}
.wpcf7-form-control-wrap {
  display: block;
}
.wpcf7-list-item input {
  width: 30px;
  height: 30px;
  position: relative;
  top: 9px;
}
.wpcf7-list-item .wpcf7-list-item-label {
  font-size: 1.4rem;
}
.contactform7 .wpcf7-text {
  background-color: #efefef;
  border: none !important;
  width: 100%;
  padding: 4px 10px 5px;
}
.contactform7 .wpcf7-textarea {
  background-color: #efefef;
  border: none !important;
  width: 100%;
  padding: 4px 10px 5px;
}
.wpcf7 input,
.wpcf7 textarea {
  font-size: 1.6rem;
}
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: #cccccc;
}
.wpcf7-form-control-wrap .post-code {
  width: 30%;
  margin-bottom: 3px;
}
.wpcf7-form-control-wrap .prefectures {
  width: 30%;
  margin-bottom: 3px;
}

.contact-pboem {
  position: relative;
}
.contact-pboem img {
  position: absolute;
  width: 24px;
  height: auto;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}
.contact-novelty {
  position: relative;
}
.contact-novelty img {
  position: absolute;
  width: 24px;
  height: auto;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}
.contact-pboem:hover {
  display: block;
  opacity: 0.8;
  transform: scale(0.95);
  transition: transform 0.1s ease;
}
.contact-novelty:hover {
  display: block;
  opacity: 0.8;
  transform: scale(0.95);
  transition: transform 0.1s ease;
}
.wpcf7-submit {
  font-size: 2rem !important;
  font-weight: 500;
}
.contact-confirm-btn1 {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  margin-top: 40px;
  background-image: linear-gradient(#ffffff, #eeeeee);
  border: 1px solid #999999;
  border-radius: 19px;
  padding: 3px 55px 5px 20px;
}
.contact-confirm-btn2 {
  position: relative;
  left: 40%;
  transform: translateX(-40%);
  display: inline-block;
  margin-top: 40px;
  background-image: linear-gradient(#ffffff, #eeeeee);
  border: 1px solid #999999;
  border-radius: 19px;
  padding: 3px 55px 5px 20px;
}
.contact-confirm-btn .wpcf7-spinner {
  width: 0;
  height: 0;
  margin: 0;
}
.contact-confirm-btn:hover {
  opacity: 0.7;
}
.contact-confirm-btn1::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 7px;
  width: 24px;
  height: 24px;
  background-image: url(img/circle-arrow-right-gray1.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.contact-confirm-btn2::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 7px;
  width: 24px;
  height: 24px;
  background-image: url(img/circle-arrow-right-gray1.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.wpcf7-not-valid-tip {
  font-size: 1.2rem;
}
.recaptcha-txt {
  text-align: right;
  font-size: 1.3rem;
  margin-top: 50px;
}
.recaptcha-txt a {
  text-decoration: underline;
}
.grecaptcha-badge {
  visibility: hidden;
}
/* END お問い合わせ */

/* お問い合わせ確認 */
.contact-previous-btn {
  position: relative;
  display: inline-block;
  margin-top: 40px;
  margin-left: 25px;
}
.contact-previous-btn:hover {
  opacity: 0.7;
}
.contact-previous-btn {
  position: relative;
  margin-top: 40px;
  margin-left: 25px;
}
.contact-previous-btn p {
  font-size: 1.7rem;
  font-weight: 500;
}
.contact-previous-btn::after {
  content: "";
  position: absolute;
  left: -25px;
  top: 4px;
  width: 20px;
  height: 20px;
  background-image: url(img/circle-arrow-left-gray1.png);
  background-size: contain;
  background-repeat: no-repeat;
}
/* END お問い合わせ確認 */

/* お問い合わせ完了 */
.contact-thanks-txt {
  font-size: 1.6rem;
}
/* END お問い合わせ完了 */

/* プライバシーポリシー */
.privacypolicy-dot {
  font-size: 0.7rem;
  position: relative;
  top: -2px;
  margin-right: 2px;
}
.privacypolicy-txt p {
  font-size: 1.6rem;
  margin-bottom: 2rem;
}
.privacypolicy-google {
  margin-bottom: 0 !important;
}
.privacypolicy-txt .bold {
  font-weight: bold;
}
.privacypolicy-txt a {
  font-size: 1.6rem;
}
.privacypolicy-txt .privacypolicy-txt-blue {
  display: block;
  color: #4acee6;
  margin-bottom: 2rem;
  word-wrap: break-word;
}
.privacypolicy-txt ul {
  margin-bottom: 2rem;
}
.privacypolicy-txt ul li {
  font-size: 1.6rem;
  margin-left: 1.2rem;
  position: relative;
}
.privacypolicy-txt ul li::before {
  content: "";
  position: absolute;
  left: -0.8rem;
  top: 1.2rem;
  width: 3px;
  height: 3px;
  background-color: #333333;
  border-radius: 50%;
}
.privacypolicy-line {
  border-top: 2px dotted #333333;
  width: 70%;
  margin-top: 60px;
  margin-bottom: 10px;
}
/* END プライバシーポリシー */

/* PB・OEMのご相談 */
.pboem-top-section {
  margin-bottom: 80px;
}
.pboem-top-section-ttl {
  font-size: 3rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 20px;
}
.pboem-top-section-txt {
  font-size: 1.8rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 40px;
}
.pboem-ttl-green {
  font-size: 1.6rem;
  background-color: rgb(74, 230, 116, 0.3);
  text-align: center;
  padding: 10px 0;
  margin-bottom: 40px;
}
.pboem-example {
  margin-bottom: 80px;
}
.pboem-example table {
  width: 100%;
}
.pboem-example table th {
  border-bottom: 1px solid #cccccc;
  font-size: 1.6rem;
  text-align: left;
  padding: 10px 0;
  width: 22%;
  vertical-align: top;
}
.pboem-example table td {
  font-size: 1.6rem;
  padding: 10px 0;
  width: 78%;
  border-bottom: 1px solid #cccccc;
}

.pboem-process-of-request {
  margin-bottom: 80px;
}
.pboem-process-of-request ul {
  display: flex;
  flex-wrap: wrap;
  gap: 4.2rem;
}
.pboem-process-of-request ul li {
  text-align: center;
  padding: 20px 10px;
  width: calc((100% - 8.4rem) / 3); /* gapぶんを引いて3等分 */
  border-radius: 10px;
  box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.16);
  padding: 3rem 2rem;
}
.pboem-process-of-request ul li img {
  width: 60px;
  height: 60px;
}
.pboem-process-of-request .step-num {
  font-size: 2.4rem;
  font-weight: 500;
  color: #4ae674;
}
.pboem-process-of-request .step-sub-ttl {
  font-size: 1.2rem;
  font-weight: 500;
  margin-top: 5px;
}
.pboem-process-of-request .step-txt {
  font-size: 1.2rem;
  margin-top: 10px;
}
.pboem-contact {
  margin-bottom: 80px;
}
.pboem-contact-form {
  text-align: center;
  padding: 20px 10px;
  width: 70%;
  border-radius: 10px;
  box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.16);
  padding: 3rem 2rem;
  margin: 0 auto;
}
.pboem-contact-form img {
  width: 60px;
  height: 60px;
}
.pboem-contact-form p {
  font-size: 1.2rem;
  margin-top: 10px;
}
.pboem-contact-form h4 {
  font-size: 1.8rem;
  font-weight: 500;
}
/* END PB・OEMのご相談 */

/* ノベルティのご相談 */
.novelty-top-section {
  margin-bottom: 80px;
}
.novelty-top-section-ttl {
  font-size: 3rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 20px;
}
.novelty-top-section-txt {
  font-size: 1.8rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 40px;
}
.novelty-ttl-green {
  font-size: 1.6rem;
  background-color: rgb(74, 230, 116, 0.3);
  text-align: center;
  padding: 10px 0;
  margin-bottom: 40px;
}
.novelty-example {
  margin-bottom: 80px;
}
.novelty-example table {
  width: 100%;
}
.novelty-example table th {
  border-bottom: 1px solid #cccccc;
  font-size: 1.6rem;
  text-align: left;
  padding: 10px 0;
  width: 32%;
  vertical-align: top;
}
.novelty-example table td {
  font-size: 1.6rem;
  padding: 10px 0;
  width: 68%;
  border-bottom: 1px solid #cccccc;
}

.novelty-process-of-request {
  margin-bottom: 80px;
}
.novelty-process-of-request ul {
  display: flex;
  flex-wrap: wrap;
  gap: 4.2rem;
}
.novelty-process-of-request ul li {
  text-align: center;
  padding: 20px 10px;
  width: calc((100% - 8.4rem) / 3); /* gapぶんを引いて3等分 */
  border-radius: 10px;
  box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.16);
  padding: 3rem 2rem;
}
.novelty-process-of-request ul li img {
  width: 60px;
  height: 60px;
}
.novelty-process-of-request .step-num {
  font-size: 2.4rem;
  font-weight: 500;
  color: #4ae674;
}
.novelty-process-of-request .step-sub-ttl {
  font-size: 1.2rem;
  font-weight: 500;
}
.novelty-process-of-request .step-txt {
  font-size: 1.2rem;
}
.novelty-contact {
  margin-bottom: 80px;
}
.novelty-contact-form {
  text-align: center;
  padding: 20px 10px;
  width: 70%;
  border-radius: 10px;
  box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.16);
  padding: 3rem 2rem;
  margin: 0 auto;
}
.novelty-contact-form img {
  width: 60px;
  height: 60px;
}
.novelty-contact-form p {
  font-size: 1.2rem;
}
.novelty-contact-form h4 {
  font-size: 1.8rem;
  font-weight: 500;
}
/* END ノベルティのご相談 */

/* 検索結果 */
.search-title {
  font-size: 2rem;
  margin-bottom: 2rem;
}
.search-list .search-item {
  margin-bottom: 2rem;
}
.search-item-title {
  font-size: 1.8rem;
  font-weight: 500;
}
.search-item-excerpt p {
  font-size: 1.6rem;
}
.search-list .highlight {
  font-size: 1.6rem;
}
/*  END 検索結果 */

/* ふるさと納税ページ */
.furusato-logo-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 4rem;
}
.furusato-logo-wrap a {
  width: calc(40% - 3rem);
}
.furusato-logo-wrap a:hover {
  opacity: 0.7;
}
.furusato-logo-wrap a p {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
}
.furusato-sec h3 {
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 3rem;
}
/* END ふるさと納税ページ */

/* 共通 */
.sp {
  display: none;
}
/* END 共通 */

@media screen and (max-width: 1300px) {
  /* header */
  .header-contents-wrap {
    max-width: 90%;
    padding: 20px 0 20px;
  }
  .header-logo {
    width: 200px;
  }
  .header-menu li a {
    font-size: 1.4rem;
  }
  /* END header */

  /* footer */
  .footer-wrap {
    max-width: 90%;
    margin: 0 auto;
    padding: 20px 0 20px;
  }
  .footer-menu {
    display: block;
  }
  .footer-office {
    margin-bottom: 2rem;
    display: flex;
    gap: 4rem;
  }
  .tokyooffice {
    margin-top: 0;
  }
  .footer-menu-wrap {
    width: 100%;
  }
  /* END footer */

  /* TOPページ */
  .top-ttl {
    font-size: 7rem;
  }
  /* END TOPページ */

  /* TOP-INFORMATION */
  .top-forourearth-img {
    max-width: 50%;
    height: fit-content;
  }
  /* END TOP-INFORMATION */

  /* OUR BRAND */
  .top-ourbrand-img {
    max-width: 50%;
    height: fit-content;
  }
  /* END OUR BRAND */

  .collaboration {
    padding: 0;
  }

  /* 製品ラインナップ */
  .productlineup ul {
    padding: 0;
    width: 90%;
    margin: 0 auto;
    gap: 3rem;
  }
  .productlineup ul li {
    padding: 1rem 0 4rem;
    width: calc((100% - 6rem) / 3);
  }
  .productlineup-img {
    width: 40%;
  }
  .productlineup ul li h4 {
    font-size: 2rem;
  }
  .productlineup ul li p {
    font-size: 1.4rem;
  }
  /* END 製品ラインナップ */

  .relatedcontent {
    padding: 0;
  }
  /* 共通 */
  #page-top a {
    width: 50px;
    height: 50px;
  }
  .br-1200 {
    display: none;
  }
  /* END 共通 */
}

@media screen and (max-width: 1200px) {
  .product-category {
    max-width: none;
  }
  .product-category-item .product-category-item-img {
    width: 40%;
  }
  .product-category li h3 {
    font-size: 1.6rem;
  }
  .br-1200 {
    display: block;
  }

  /* ハンバーガーメニュー */
  #sp-menu {
    position: fixed;
    top: 0;
    right: 0;
    width: 90%;
    height: 100vh;
    background-color: #6deb8f;
    transform: translateX(100%);
    transition: transform 0.7s;
    z-index: 999;
    padding: 6rem 2rem;
  }
  #sp-menu ul li {
    list-style-type: none;
  }
  #hamburger {
    display: none;
    position: absolute;
    top: 20px;
    right: 30px;
    width: 20px;
    height: 20px;
    transition: 1s;
    z-index: 999;
  }
  .inner_line {
    display: block;
    position: absolute;
    left: 0;
    width: 25px;
    height: 2px;
    background-color: #999999;
    transition: 1s;
    border-radius: 4px;
  }
  #line1 {
    top: 0;
  }
  #line2 {
    top: 9px;
  }
  #line3 {
    bottom: 0px;
  }
  #sp-menu.in {
    transform: translateX(0);
  }
  .line_1,
  .line_2,
  .line_3 {
    background: #ffffff;
  }
  .line_1 {
    transform: translateY(8px) rotate(-45deg);
    top: 0;
  }
  .line_2 {
    opacity: 0;
  }
  .line_3 {
    transform: translateY(-10px) rotate(45deg);
    bottom: 0;
  }
  .no-scroll {
    overflow: hidden;
    height: 100vh;
  }

  /* sp-menu はスクロールさせる */
  #sp-menu {
    overflow-y: auto;
    height: 100vh; /* スマホ全画面の高さにする */
    -webkit-overflow-scrolling: touch; /* iOSの慣性スクロール対応 */
  }

  #hamburger {
    display: block;
  }
  .header-sp-menu-search-ttl {
    font-size: 1.2rem;
    font-weight: 500;
  }
  .sp-search-form {
    display: flex;
    gap: 5px;
    background-color: #fff;
    border: 1px solid #333333;
    border-radius: 3px;
    padding: 5px;
    margin: 5px 0 30px;
  }
  .sp-search-form img {
    width: 20px;
    height: 20px;
  }
  .sp-search-form .search-field {
    font-size: 1.3rem;
    width: 100%;
  }
  .header-sp-menu-ttl {
    font-size: 1.2rem;
    font-weight: 500;
    border-bottom: 2px solid #333333;
  }
  .header-sp-menu .header-sp-menu-item {
    font-size: 1.5rem;
    font-weight: 400;
    border-bottom: 1px solid #333333;
    padding: 10px 0;
  }
  .header-menu-item {
    display: block;
  }
  /* 下層メニューを最初は非表示 */
  .header-sp-menu2 {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
  }
  .header-sp-menu2 li {
    font-size: 1.3rem;
    padding: 7px 0 7px 30px;
  }
  /* 開いた時 */
  .header-sp-menu2.active {
    max-height: 1000px; /* 中身に合わせて十分大きめに */
  }
  /* 「＞」アイコン */
  .header-menu-item.has-sub {
    position: relative;
    padding-right: 30px;
  }

  .header-sp-menu-item {
    position: relative;
  }
  /* 矢印のクリックエリア */
  .header-sp-menu-arrow {
    position: absolute;
    right: 5px;
    top: 0px;
    width: 40px;
    height: 40px;
    cursor: pointer;
  }

  /* 矢印の見た目 */
  .header-sp-menu-arrow::after {
    content: "";
    position: absolute;
    right: 8px;
    top: 50%;
    width: 10px;
    height: 10px;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    transform: translateY(-50%) rotate(45deg);
    transition: transform 0.3s;
  }

  /* 開いた状態 */
  .header-sp-menu-arrow.active::after {
    transform: translateY(-50%) rotate(225deg);
  }

  .header-icons {
    justify-content: space-between;
    margin-top: 20px;
  }
  .header-logo-wrap img {
    width: 100px !important;
    height: auto !important;
  }

  /* END ハンバーガーメニュー */
  /* END header */
  .forourearth-contents-wrap h3 {
    font-size: 2.5rem;
  }
  .forourearth-contents-wrap p {
    font-size: 1.6rem;
  }
  .forourearth-btn {
    font-size: 1.8rem;
    width: 100%;
  }
  .ourbrand-txt h3 {
    font-size: 2.2rem;
  }
  .ourbrand-txt p {
    font-size: 1.2rem;
  }
  .ourbrand-contents-wrap {
    padding: 30px;
  }
  .ourbrand-btn {
    font-size: 1.8rem;
    width: 100%;
  }

  /* 共通 */
  header .pc {
    display: none;
  }
  header.sp {
    display: block;
  }
  #page-top a {
    width: 50px;
    height: 50px;
  }
  .br-1200 {
    display: none;
  }
  /* END 共通 */
}

@media screen and (max-width: 768px) {
  /* 共通 */
  #page-top {
    bottom: 40px;
    right: 20px;
  }
  #page-top a {
    width: 35px;
    height: 35px;
  }
  .page-wrap {
    max-width: 90%;
  }
  .page-wrap2 {
    max-width: 90%;
  }
  .page-wrap .page-wrap2 {
    max-width: 100%;
  }
  .page-top-ttl-sec {
    margin-top: 2rem;
    margin-bottom: 4rem;
  }
  .page-top-ttl-sec .page-top-en-ttl {
    font-size: 2.4rem;
    margin-bottom: 0;
  }
  .page-top-ttl-sec .page-top-ttl {
    font-size: 1.8rem;
  }
  .page-top-mv {
    margin: 0 auto -5rem;
  }

  .page-top-img {
    border-radius: 16px;
  }
  .page-top-ttl-wrap {
    padding: 0.5rem 1rem;
    bottom: 6rem;
  }
  .page-top-ttl-wrap .page-top-en-ttl {
    font-size: 1.2rem;
  }
  .page-top-ttl-wrap .page-top-ttl {
    font-size: 1.8rem;
    line-height: 2rem;
  }
  .breadcrumb ul {
    padding: 0.3rem 0;
    margin: 2.4rem 0;
  }
  .breadcrumb li {
    font-size: 1.1rem;
  }
  /* END 共通 */

  /* footer */
  footer {
    padding: 30px 5% 10px;
    background-color: #efefef;
    margin-top: 40px;
  }
  .footer-logo-img {
    width: 120px;
    margin-bottom: 1.4rem;
  }
  .footer-menu {
    display: block;
    padding-bottom: 5px;
  }
  .footer-menu-wrap {
    width: 100%;
    margin-top: 20px;
  }
  .footer-office {
    display: block;
  }
  .tokyooffice {
    margin-top: 2rem;
  }
  .footer-menu-list {
    flex-wrap: wrap;
  }
  .footer-menu-list div {
    width: 50%;
  }
  .footer-menu-1,
  .footer-menu-2,
  .footer-menu-3 {
    flex: none;
  }
  .footer-menu-3,
  .footer-menu-4 {
    margin-top: 20px;
  }
  .footer-menu-bold {
    font-size: 1.2rem;
  }
  .footer-menu p {
    font-size: 1.2rem;
  }
  .footer-menu ul li {
    font-size: 1.2rem;
  }
  .footer-logo-wrap {
    display: block;
    margin-bottom: 10px;
  }
  .footer-logo {
    font-size: 1.2rem;
    margin-top: 10px;
    gap: 6px;
  }
  .footer-logo-wrap img {
    width: 92px;
  }
  .footer-amazon-img {
    top: 10px;
  }
  .footer-furusato-img {
    top: 8px;
  }
  .footer-copyright {
    display: block;
  }
  .footer-copyright a {
    font-size: 1.2rem;
  }
  .footer-copyright p {
    font-size: 1.2rem;
    text-align: center;
    margin-top: 20px;
  }
  /* END footer */

  /* 関連コンテンツ */
  .relatedcontent {
    padding: 0;
    margin-top: 4rem;
    margin-bottom: 0;
  }
  .relatedcontent-ttl {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
  }
  .relatedcontent-contents-wrap {
    display: block;
  }
  .relatedcontent-content-img-wrap {
    width: 80%;
    margin: 0 auto;
  }
  .relatedcontent-content-img {
    border-radius: 10px;
  }
  .relatedcontent-content-ttl {
    font-size: 1.5rem;
    margin-top: 1rem;
  }
  .relatedcontent-content-txt {
    font-size: 1.3rem;
    margin-top: 0;
  }
  .relatedcontent-content-ttl .circle-arrow-right {
    width: 20px;
    top: 5px;
  }
  .relatedcontent-content:nth-of-type(2) {
    margin-top: 50px;
  }
  .relatedcontent-content:nth-of-type(3) {
    margin-top: 50px;
  }
  /* END 関連コンテンツ */

  /* TOP */
  .top-ttl {
    font-size: 2.4rem;
  }
  .top-slider .slick-slide img {
    border-radius: 20px;
  }
  /* TOP-INFORMATION */
  .information {
    padding: 0;
    margin-top: 4rem;
  }
  .important-notice {
    font-size: 1.4rem;
  }
  .important-notice a{
    display: block;
  }
  .notice-label {
    font-size: 0.9rem;
    border-radius: 4px;
    margin-right: 0;
  }
  .notice-box a {
    font-size: 1.4rem;
  }
  .information-txt h3 {
    font-size: 1.4rem;
  }
  .information-txt a {
    font-size: 1.4rem;
  }
  .information-txt .circle-arrow-right {
    width: 14px;
    top: 2px;
  }
  .information ul li {
    padding: 7px 0 6px;
  }
  .post-date {
    font-size: 1.2rem;
    position: relative;
    top: -2px;
  }
  .post-category a {
    font-size: 0.9rem;
    width: 5.7rem;
    border-radius: 4px;
    margin-right: 0;
    padding: 0;
    top: -3px;
  }
  .post-title {
    display: block;
    font-size: 1.3rem;
  }
  /* END TOP-INFORMATION */

  /* FOR OUR EARTH */
  .forourearth {
    padding: 0;
    margin-top: 4rem;
  }
  .forourearth-contents-wrap {
    display: block;
  }
  .forourearth-contents-wrap h3 {
    font-size: 1.6rem;
  }
  .forourearth-contents-wrap p {
    font-size: 1.2rem;
    margin-top: 0;
    margin-bottom: 2rem;
  }
  .top-forourearth-img {
    border-radius: 20px;
    width: 100%;
    max-width: none;
    height: auto;
  }
  .forourearth-btn {
    display: none;
  }
  .sp-forourearth-btn {
    display: block;
    border-radius: 12px;
    font-size: 1.8rem;
    width: 100%;
    padding: 6px 0;
    margin-top: 3rem;
  }
  /* END FOR OUR EARTH */

  /* OUR BRAND */
  .ourbrand {
    margin-top: 4rem;
  }
  .ourbrand-contents-wrap {
    display: block;
    background-color: unset;
    padding: 0;
    text-align: left;
  }
  .top-ourbrand-img {
    width: 100%;
    max-width: none;
    height: auto;
  }
  .ourbrand-txt h3 {
    color: #333333;
    font-size: 1.6rem;
    text-align: left;
  }
  .ourbrand-txt p {
    font-size: 1.2rem;
    text-align: left;
    margin-top: 0;
    margin-bottom: 2rem;
    /* opacity: 1; */
  }
  .ourbrand-btn {
    display: none;
  }
  .sp-ourbrand-btn {
    display: block;
    color: #fff;
    border-radius: 12px;
    background-color: #4ae674;
    font-size: 1.8rem;
    text-align: center;
    width: 100%;
    padding: 6px 0;
    margin-top: 3rem;
  }
  /* END OUR BRAND */

  /* PRODUCT LINEUP */
  .productlineup h3 {
    font-size: 1.6rem;
    text-align: left;
    margin-top: 1rem;
  }
  .productlineup-txt {
    font-size: 1.2rem;
    text-align: left;
    margin-top: 5px;
    margin-bottom: 2rem;
  }
  .productlineup-wrap {
    padding: 3rem 0;
    margin: 2rem auto 0;
  }
  .productlineup ul {
    padding: 0;
    gap: 1.7rem;
  }
  .productlineup ul li {
    width: calc((100% - 1.7rem) / 2); /* gapぶんを引いて3等分 */
    padding: 1rem 0 3rem;
  }
  .productlineup ul li h4 {
    font-size: 1.4rem;
  }
  .productlineup ul li h4 span {
    font-size: 1rem;
  }
  .productlineup ul li p {
    font-size: 1rem;
  }
  .productlineup .circle-arrow-right {
    width: 15px;
  }
  /* END PRODUCT LINEUP */
  /* 協業 */
  .collaboration {
    padding: 0;
    margin-top: 4rem;
    margin-bottom: 0;
  }
  .collaboration-contents-wrap {
    display: block;
  }
  .collaboration-contents-wrap div:nth-of-type(2) {
    margin-top: 30px;
  }
  .collaboration h3 {
    font-size: 1.6rem;
    text-align: left;
    margin-bottom: 2rem;
  }
  .collaboration-ttl {
    font-size: 1.5rem;
    margin-top: 1rem;
  }
  .collaboration-txt {
    font-size: 1.2rem;
    margin-top: 0.6rem;
  }
  .collaboration .circle-arrow-right {
    width: 20px;
    height: 20px;
    top: 5px;
  }
  /* END 協業 */

  /* 円 */
  .top-circles {
    position: absolute;
    top: -80px;
    right: -200px;
    width: 200px;
    height: 200px;
    pointer-events: none;
    z-index: -1;
  }
  .top-circles .circle {
    width: 180px;
    height: 180px;
    border-radius: 50%;
  }
  /* 左円*/
  .top-circles .circle-left {
    position: absolute;
    top: -20px;
    left: 170px;
    background: rgba(193, 245, 126, 0.35);
    transition: transform 0.6s ease-in-out;
  }
  /* 右円*/
  .top-circles .circle-right {
    position: absolute;
    top: 60px;
    right: -250px;
    background: rgba(147, 240, 247, 0.35);
    transition: transform 0.6s ease-in-out;
  }
  /* END 円 */

  /* END TOP */

  /* INFORMATION */

  .info-post-date {
    font-size: 1.4rem;
  }
  .info-post-category a {
    font-size: 1.2rem;
    width: 11rem;
    border-radius: 6px;
  }
  .info-post-title {
    display: block;
    font-size: 1.5rem;
  }
  .load-more-wrap button {
    font-size: 1.3rem;
    margin-top: 60px;
    padding: 3px 40px 2px;
  }
  .load-more-wrap img {
    width: 16px;
  }
  /* END INFORMATION */

  /* 個別ニュース */
  .single-post-time {
    font-size: 1.3rem;
  }
  .single-post-title {
    font-size: 1.8rem;
  }
  .single-post-category a {
    font-size: 1.2rem;
    width: 11rem;
    border-radius: 6px;
    margin: 15px 0 30px;
  }
  .single-post-content {
    font-size: 1.3rem;
  }
  .single-post-content p {
    font-size: 1.3rem;
  }
  .wp-block-file:not(.wp-element-button) {
    font-size: 1.3rem;
  }
  /* END 個別ニュース */

  /* ブランドメッセージ */
  .brandmessage-en-ttl {
    font-size: 2.4rem;
    margin-top: 0;
  }
  .brandmessage h1 {
    font-size: 1.9rem;
  }
  .brandmessage h2 {
    font-size: 1.9rem;
  }
  .brandmessage-txt {
    font-size: 1.2rem;
    line-height: 2.5rem;
  }
  .brandmessage-contents-img2 {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
  .vertical-line {
    height: 10rem;
    margin: 4rem auto;
  }
  /* END ブランドメッセージ */

  /* 製品紹介 */
  .product-section-ttl {
    font-size: 1.8rem;
  }
  .product-section-txt {
    font-size: 1.4rem;
    text-align: left;
    text-align: justify;
  }
  .product-category {
    flex-wrap: wrap;
    /* width: 70%; */
  }
  .product-category li h3 {
    font-size: 1.5rem;
  }
  .product-category li p {
    font-size: 1.2rem;
  }
  .product-category .product-category-item {
    padding: 0 9px 9px;
    margin-bottom: 10px;
    flex: 1 1 calc(50% - 10px);
    box-sizing: border-box;
  }
  .product-category a {
    width: max-content;
  }
  .product-category-usefulpaper {
    margin: 1rem auto 4rem;
  }
  .product-category-usefulpaper .product-category-item-img {
    width: 20%;
  }
  .product-category-usefulpaper h3 {
    font-size: 1.5rem;
  }
  .product-category-usefulpaper h4 {
    font-size: 1.4rem;
  }
  .product-category-usefulpaper p {
    font-size: 1.2rem;
  }
  .product-category-usefulpaper .scene-wrap {
    width: 60%;
    margin: 10px auto 30px;
  }
  .scene-wrap .scene {
    width: 100%;
  }
  .product-category-usefulpaper .product-category-item-txt1 {
    margin-bottom: 1.3rem;
  }
  .product-category-usefulpaper-item-wrap {
    display: block;
  }
  .product-category-usefulpaper-item {
    width: 100%;
  }
  .product .product-ttl-img {
    left: 3px;
    top: -5px;
    width: 12%;
  }
  .product-list-wrap:nth-of-type(2) .product-ttl-img {
    top: -30px;
    width: 14%;
  }
  .product-list-wrap:nth-of-type(3) .product-ttl-img {
    top: -32px;
    width: 14%;
  }
  .product-list-wrap:nth-of-type(4) .product-ttl-img {
    top: -22px;
    width: 12%;
  }
  .product-list-wrap:nth-of-type(5) .product-ttl-img {
    top: -22px;
    width: 14%;
  }
  .product-list-wrap:nth-of-type(6) .product-ttl-img {
    top: -33px;
    left: 0px;
    width: 14%;
  }
  .product-ttl {
    font-size: 2rem;
    padding: 3px 0;
    margin-bottom: 2.5rem;
  }
  .product-list {
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 40px;
    margin-bottom: 0;
  }
  .product-list li {
    flex: 0 0 calc(50% - 20px);
    margin-bottom: 20px;
  }
  .product-name {
    font-size: 1.4rem;
  }
  .product-list .product-name {
    font-size: 1.3rem;
  }
  .product-list .product-details {
    font-size: 1.2rem;
  }
  .product-feature-wrap {
    gap: 3px;
  }
  .detail-btn {
    font-size: 1.3rem;
  }
  .detail-btn .circle-arrow-right {
    width: 1.3rem;
    height: 1.3rem;
    top: 2px;
  }

  /* END 製品紹介 */

  /* 製品ページ */
  .product {
    width: 90%;
    margin: 0 auto;
  }
  .product-top-section-ttl {
    font-size: 1.8rem;
  }
  .product-top-section-txt {
    font-size: 1.4rem;
  }
  .product-anchor-wrap {
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 30px;
  }
  .product-anchor-wrap a {
    flex: none;
    gap: 5px;
    font-size: 1.2rem;
    white-space: nowrap;
    width: 70%;
    padding: 3px 10px 4px;
  }
  .product-anchor-wrap a img {
    position: absolute;
    top: 5px;
    right: 12px;
    width: 14px;
    height: 14px;
  }
  .product .product-ttl {
    font-size: 1.6rem;
    padding: 3px 0;
    margin-bottom: 2.5rem;
  }
  .product .product-txt {
    font-size: 1.3rem;
    text-align: justify;
    margin-bottom: 30px;
  }
  .product-feature-wrap p {
    flex: 1;
    text-align: center;
    font-size: 1.1rem;
  }
  .product-details-wrap {
    display: block;
    margin-bottom: 5rem;
  }
  .product-details-wrap .product-details {
    width: 100%;
    margin-top: 0px;
  }
  .product-image-slick {
    width: 100%;
  }
  .product-image-slick-txt h3 {
    font-size: 1.4rem;
  }
  .product-image-slick-txt p {
    font-size: 1.3rem;
    margin-bottom: 10px;
  }
  .product-image-slick .slick-dots li button:before {
    font-size: 8px;
  }
  .product-details .product-name h3 {
    font-size: 1.4rem;
    padding: 10px 0;
  }
  .product-details .product-name p {
    font-size: 1.3rem;
    padding: 5px 0;
  }
  .product-details-txt {
    font-size: 1.3rem;
  }
  .slick-dotted.slick-slider {
    margin-bottom: 10px !important;
  }
  /* END 製品ページ */

  /* PB・OEMのご相談 */
  .pboem-top-section-ttl {
    font-size: 1.8rem;
  }
  .pboem-top-section-txt {
    font-size: 1.3rem;
    text-align: left;
    text-align: justify;
    margin-bottom: 30px;
  }
  .pboem-ttl-green {
    font-size: 1.4rem;
    padding: 6px 0;
    margin-bottom: 30px;
  }
  .pboem-example table th {
    font-size: 1.3rem;
    width: 35%;
    padding: 5px;
  }
  .pboem-example table td {
    font-size: 1.3rem;
    width: 65%;
    padding: 5px;
  }
  .pboem-process-of-request ul {
    display: block;
  }
  .pboem-process-of-request ul li {
    width: 80%;
    padding: 1rem;
    margin: 0 auto 2rem;
  }
  .pboem-process-of-request ul li:nth-of-type(5) {
    margin-bottom: 0;
  }
  .pboem-process-of-request ul li img {
    width: 40px;
    height: 40px;
  }
  .pboem-process-of-request .step-num {
    font-size: 1.6rem;
  }
  .pboem-contact-form {
    width: 100%;
    padding: 1rem;
    margin: 0 auto;
  }
  .pboem-contact-form img {
    width: 40px;
    height: 40px;
  }
  .pboem-contact-form h4 {
    font-size: 1.6rem;
  }
  /* END PB・OEMのご相談 */

  /* ノベルティのご相談 */
  .novelty-top-section-ttl {
    font-size: 1.8rem;
  }
  .novelty-top-section-txt {
    font-size: 1.3rem;
    text-align: left;
    text-align: justify;
    margin-bottom: 30px;
  }
  .novelty-ttl-green {
    font-size: 1.4rem;
    padding: 6px 0;
    margin-bottom: 30px;
  }
  .novelty-example table th {
    font-size: 1.3rem;
    width: 35%;
    padding: 5px;
  }
  .novelty-example table td {
    font-size: 1.3rem;
    width: 65%;
    padding: 5px;
  }
  .novelty-process-of-request ul {
    display: block;
  }
  .novelty-process-of-request ul li {
    width: 80%;
    padding: 1rem;
    margin: 0 auto 2rem;
  }
  .novelty-process-of-request ul li:nth-of-type(5) {
    margin-bottom: 0;
  }
  .novelty-process-of-request ul li img {
    width: 40px;
    height: 40px;
  }
  .novelty-process-of-request .step-num {
    font-size: 1.6rem;
  }
  .novelty-contact-form {
    width: 100%;
    padding: 1rem;
    margin: 0 auto;
  }
  .novelty-contact-form img {
    width: 40px;
    height: 40px;
  }
  .novelty-contact-form h4 {
    font-size: 1.6rem;
  }
  /* END ノベルティのご相談 */

  /* サステナビリティ */
  .ttl-1 {
    font-size: 1.8rem;
  }
  .txt-1 {
    font-size: 1.3rem;
    text-align: left;
    text-align: justify;
    line-height: 2rem;
    margin-bottom: 4rem;
  }
  .ttl-blue-1 {
    font-size: 1.4rem;
    padding: 6px 0;
    margin-bottom: 20px;
  }
  .txt-2 {
    font-size: 1.3rem;
    text-align: left;
    text-align: justify;
  }
  .fsc h4 {
    font-size: 1.6rem;
  }
  .fsc img {
    margin: 30px auto;
    width: 30vw;
    height: auto;
  }
  .fsc .fsc-txt {
    font-size: 1.3rem;
  }
  .sdgs {
    display: block;
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
  .sdgs::before,
  .sdgs::after {
    content: none;
  }
  .sdgs-box {
    margin-bottom: 20px;
  }
  .sdgs-img-wap {
    gap: 1rem;
    margin-bottom: 1rem;
  }
  .sdgs-img-wap img {
    width: 30%;
  }
  .sdgs-box:nth-of-type(1) {
    padding-right: 0;
    padding-bottom: 0;
  }
  .sdgs-box:nth-of-type(2) {
    padding-left: 0;
    padding-bottom: 0;
  }
  .sdgs-box:nth-of-type(3) {
    padding-right: 0;
    padding-top: 0;
  }
  .sdgs-box:nth-of-type(4) {
    padding-left: 0;
    padding-top: 0;
  }

  .sdgs-box h4 {
    font-size: 1.6rem;
  }
  .sdgs-box p {
    font-size: 1.3rem;
    margin-bottom: 1.7rem;
  }
  .sdgs-box ul li::before {
    width: 1rem;
    height: 1rem;
  }
  .ttl-2 {
    font-size: 1.8rem;
  }
  .sustainability-report .sustainability-report-txt {
    font-size: 1.3rem;
  }
  .sustainability-report .sustainability-report-sub-ttl {
    font-size: 1.6rem;
  }

  .case-study {
    padding: 40px 20px;
  }
  .case-study-num {
    left: 0px;
    font-size: 1.3rem;
    width: 60px;
    height: 60px;
  }
  .case-study-ttl {
    font-size: 1.6rem;
    margin-bottom: 20px;
  }
  .case-study .period-amount-wrap {
    display: block;
  }
  .case-study .period-amount-wrap {
    display: block;
  }
  .case-study .period-amount-wrap .period {
    gap: 10px;
    margin-bottom: 10px;
  }
  .case-study .period-amount-wrap .amount {
    gap: 10px;
  }
  .case-study .period-amount-wrap .period .period-blue {
    font-size: 1.8rem;
    border-radius: 6px;
  }
  .case-study .period-amount-wrap .amount .amount-blue {
    font-size: 1.8rem;
    line-height: 2.2rem;
    border-radius: 6px;
    padding: 4px 0;
  }
  .case-study .period-amount-wrap .period .period-white {
    border-radius: 6px;
  }
  .case-study .period-amount-wrap .amount .period-white {
    border-radius: 6px;
  }
  .case-study ul li {
    text-indent: -1.2rem;
    padding-left: 1.2rem;
  }
  .case-study-txt {
    font-size: 1.3rem;
    text-align: justify;
    margin-bottom: 4rem;
  }
  .social-contribution .social-contribution-ttl {
    font-size: 1.8rem;
  }
  .social-contribution-txt-wrap .social-contribution-sub-ttl {
    font-size: 1.6rem;
  }
  .social-contribution-txt-wrap p {
    font-size: 1.3rem;
    text-align: justify;
  }
  .letter-of-appreciation-wrap img {
    width: auto;
    height: 110px;
  }
  /* END サステナビリティ */

  /* 工場施設案内 */
  .factory-top-section-ttl {
    font-size: 1.8rem;
  }
  .factory-top-section-txt {
    font-size: 1.5rem;
    text-align: justify;
  }
  .facilities-list h3 {
    font-size: 1.4rem;
    margin-bottom: 20px;
  }
  .facilities-anchor-wrap {
    margin-bottom: 4rem;
  }
  .facilities-anchor-wrap a li {
    gap: 20px;
  }

  .facilities-anchor-name {
    font-size: 1.3rem;
    width: 60%;
  }
  .facilities-anchor-box {
    display: flex;
    justify-content: space-between;
    width: 40%;
  }
  .facilities-anchor-box img {
    width: 16px;
    height: 16px;
  }
  .facilities-list .facility h4 {
    font-size: 1.4rem;
  }

  .facilities-list .facility {
    margin-top: 4rem;
  }
  .facility-img-wrap {
    display: block;
  }
  .facility-img-wrap img {
    width: 100%;
  }
  .facility-txt-wrap {
    font-size: 1.3rem;
    width: 100%;
  }
  .facilities-list .facility p {
    font-size: 1.3rem;
  }
  .facility-img-wrap2 {
    gap: 10px;
  }
  .facility-img-wrap2 img {
    width: calc(33% - 5px);
  }
  .factory-tour-information h3 {
    font-size: 1.8rem;
  }
  .factory-tour-information h4 {
    font-size: 1.3rem;
    margin-bottom: 20px;
  }
  .factory-tour-information p {
    font-size: 1.3rem;
    margin-bottom: 30px;
  }
  .factory-tour-information a {
    display: inline-block;
    font-size: 1.4rem;
    padding: 3px 15px 4px;
  }
  .factory-tour-information a img {
    width: 15px;
    height: 15px;
    top: 3px;
    margin-left: 0;
  }

  /* END 工場施設案内 */

  /* 会社概要 */
  .company-anchor-wrap {
    flex-wrap: wrap;
    margin-bottom: 30px;
  }
  .company-anchor-wrap a {
    flex: none;
    gap: 5px;
    font-size: 1.2rem;
    white-space: nowrap;
    padding: 3px 10px 4px;
  }
  .company-anchor-wrap a img {
    width: 13px;
    height: 13px;
    top: 3px;
  }
  .company-section-ttl {
    font-size: 1.4rem;
    margin-bottom: 20px;
  }
  .company-section-sub-ttl {
    font-size: 1.8rem;
  }
  .company-section-txt {
    font-size: 1.3rem;
    line-height: 1.8rem;
    text-align: justify;
    margin-bottom: 20px;
  }
  .ceo-message-sign {
    width: 100%;
  }
  .company-section table th {
    font-size: 1.3rem;
    padding: 5px;
  }
  .company-section table th .wareki {
    font-size: 1.2rem;
  }
  .company-profile iframe {
    width: 100%;
    height: auto;
  }
  .company-section table td {
    font-size: 1.3rem;
    padding: 5px;
  }
  .facility-list .facility h4 {
    font-size: 1.4rem;
    line-height: 1.6rem;
    margin-bottom: 5px;
  }
  .facility-list .facility p {
    font-size: 1.3rem;
  }
  .iso-wrap {
    display: block;
  }
  .iso-wrap:nth-of-type(2) {
    margin-top: 30px;
  }
  .iso-wrap .iso-img {
    width: 100px;
    height: auto;
    margin: 0 auto;
    display: block;
  }
  .iso-txt {
    font-size: 1.3rem;
  }
  .iso-txt .light-blue {
    font-size: 1.2rem;
  }
  .iso-certification ul li {
    font-size: 1.3rem;
    margin-left: 2.2rem;
  }
  /* END 会社概要 */

  /* 採用情報 */
  .recruit-section-ttl {
    font-size: 1.4rem;
    margin-bottom: 20px;
  }
  .recruit-section-txt {
    font-size: 1.3rem;
  }
  .recruit-anchor-wrap {
    flex-wrap: wrap;
    margin-bottom: 30px;
  }
  .recruit-anchor-wrap a {
    flex: none;
    gap: 5px;
    font-size: 1.2rem;
    white-space: nowrap;
    padding: 3px 10px 4px;
  }
  .recruitment-requirements h2 {
    font-size: 1.6rem;
    margin-top: 4rem;
  }
  .recruitment-requirements h2 .light-blue {
    color: #5fb2ef;
    font-size: 1.6rem;
  }
  .recruitment-requirements table th {
    font-size: 1.3rem;
    padding: 5px;
    width: 30%;
  }
  .recruitment-requirements table td {
    font-size: 1.3rem;
    padding: 5px;
    width: 70%;
  }
  .employee-interview h2 {
    font-size: 1.5rem;
    padding: 3px 0;
    margin-bottom: 20px;
  }
  .employee-interview-box {
    display: block;
  }
  .employee-interview-img-wrap {
    width: 100%;
    margin-bottom: 20px;
  }
  .employee-interview-img-wrap img {
    max-width: 150px;
    margin: 0 auto;
    display: block;
  }
  .employee-interview p {
    font-size: 1.3rem;
  }
  .employee-interview-txt-wrap {
    width: 100%;
  }
  .employee-interview .light-blue {
    font-size: 1.3rem;
  }
  .employee-interview .schedule table td {
    font-size: 1.3rem;
  }
  .recruitment-inquiry {
    padding: 20px 0 30px;
    margin-top: 4rem;
  }
  .recruitment-inquiry h2 {
    font-size: 1.8rem;
  }
  .recruitment-inquiry-btn-wrap {
    display: block;
  }
  .recruitment-inquiry-btn {
    width: 70%;
    padding: 10px 0;
    margin: 0 auto;
  }
  .recruitment-inquiry-btn:nth-of-type(1) {
    margin-bottom: 20px;
  }
  .recruitment-inquiry-btn p {
    font-size: 1.4rem;
  }
  .recruitment-inquiry-btn p .tel {
    font-size: 1.6rem;
  }
  /* END 採用情報 */

  /* お問い合わせ */
  .contactform-sec-ttl {
    font-size: 1.6rem;
    padding: 7px 0 8px;
  }
  /* 棒2本 */
  .contactform-sec-ttl1::before,
  .contactform-sec-ttl1::after {
    right: 10px;
    width: 14px;
    height: 2px;
  }
  .contactform-txt {
    font-size: 1.3rem;
    margin-bottom: 2rem;
  }
  .contactform-sec-sub-ttl {
    font-size: 1.6rem;
  }

  .contactform7 label {
    font-size: 1.3rem;
    margin-bottom: 10px;
  }
  .wpcf7-form-control-wrap {
    margin-top: 0;
  }
  .wpcf7-list-item input {
    width: 20px;
    height: 20px;
    top: 4px;
  }
  .wpcf7-list-item .wpcf7-list-item-label {
    font-size: 1.3rem;
  }
  .contactform7 .wpcf7-text {
    padding: 2px 10px 3px;
  }
  .wpcf7 input,
  .wpcf7 textarea {
    font-size: 1.3rem;
  }
  .contactform7 .wpcf7-textarea {
    padding: 2px 10px 3px;
    margin-top: 5px;
  }
  .wpcf7-form-control-wrap .post-code {
    width: 40%;
  }
  .wpcf7-form-control-wrap .prefectures {
    width: 40%;
  }

  .contact-privacypolicy {
    font-size: 1.3rem;
  }
  .wpcf7-submit {
    font-size: 1.3rem !important;
  }
  .contact-confirm-btn1 {
    padding: 3px 40px 5px 20px;
    margin-top: 30px;
  }
  .contact-confirm-btn1::after {
    top: 5px;
    right: 15px;
    width: 18px;
    height: 18px;
  }
  .contact-confirm-btn2 {
    padding: 3px 40px 5px 20px;
  }
  .contact-confirm-btn2::after {
    right: 17px;
    top: 5px;
    width: 18px;
    height: 18px;
  }
  .contact-previous-btn {
    display: block;
  }
  .contact-previous-btn::after {
    top: 6px;
    width: 18px;
    height: 18px;
  }
  .contact-pboem img {
    width: 16px;
    right: 10px;
  }
  .contact-novelty img {
    width: 16px;
    right: 10px;
  }
  .recaptcha-txt {
    text-align: left;
    font-size: 1rem;
  }
  /* END お問い合わせ */

  /* お問い合わせ完了画面 */
  .contact-thanks-txt {
    font-size: 1.3rem;
  }
  /* END お問い合わせ完了画面 */

  /* プライバシーポリシー */
  .privacypolicy-txt p {
    font-size: 1.2rem;
  }
  .privacypolicy-txt .bold {
    margin-bottom: 0.5rem;
  }
  .privacypolicy-txt ul li {
    font-size: 1.2rem;
  }
  .privacypolicy-txt a {
    font-size: 1.2rem;
  }
  .privacypolicy-line {
    width: 100%;
  }
  /* END プライバシーポリシー */

  /* ふるさと納税ページ */
  .furusato-logo-wrap {
    gap: 4rem;
  }
  .furusato-logo-wrap a {
    width: calc(50% - 2rem);
  }
  .furusato-logo-wrap a p {
    font-size: 1.4rem;
  }
  .furusato-sec h3 {
    font-size: 1.6rem;
  }
  /* END ふるさと納税ページ */

  /* 共通 */
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .page-wrap-sp {
    width: 90%;
    margin: 0 auto;
  }
  /* END 共通 */
}

@media screen and (max-width: 500px) {
  .product-ttl {
    font-size: 1.6rem;
  }
  .product-list-wrap:nth-of-type(2) .product-ttl-img {
    top: -20px;
    width: 18%;
  }
  .product-list-wrap:nth-of-type(3) .product-ttl-img {
    top: -17px;
    width: 18%;
  }
  .product-list-wrap:nth-of-type(4) .product-ttl-img {
    top: -14px;
    width: 16%;
  }
  .product-list-wrap:nth-of-type(5) .product-ttl-img {
    top: -14px;
    width: 18%;
  }
  .product-list-wrap:nth-of-type(6) .product-ttl-img {
    top: -21px;
    left: 0px;
    width: 18%;
  }
}
